PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › PBXB64 Übersicht Hilfe zum PBXB64-Compiler

PBXB64-Compiler-Hilfe

Kategorie: PBXB64 Übersicht

Nach oben


Befehlszeilenoptionen - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

Befehlszeilenoptionen

Themen in diesem Kapitel

--asm:<Pfad> - Assemblerausgabe speichern --asmout <path> - Save Assembly to File --crt=<mode> - CRT Mode --dump-ir - Dump IR --dump-ir-after=<pass> - Dump IR After Pass --dump-ir-before=<pass> - Dump IR Before Pass --dump-tokens - Dump Tokens --emit-asm - Emit Assembly Dump --emit-ast, --dump-ast - Emit AST Dump --emit-ir - Emit IR --emit-map - Emit Map File --emit-mir - Emit MIR Dump --emit-obj - Emit Object File --entry - Entry Symbol --no-default-crt - No Default CRT --NoOpt - Disable Optimizations --print-pipeline - Print Pipeline --stats - Print Statistics --stop-after=<stage> - Stop After Stage --target - Target Triple --time-stages - Time Stages --trace-passes - Trace Passes --verify-after-each-pass - Verify After Each Pass --verify-ir - Verify IR --verify-mir, --verify-machine - Verify MIR --version - Print Version -c - Compile Only -con, --console - Force Console Subsystem -D - Define Macro -E - Preprocess Only -ffreestanding - Freestanding Mode -fhosted - Hosted Mode -fno-builtin - Disable Builtins -fsyntax-only, --syntax-only - Syntax Check Only -g, --debug - Debug Information -gui, --gui - Force GUI Subsystem -h, --help - Show Help -I - Include Path -isystem - System Include Path -o - Output Path -O0 - No Optimization -O1 - Basic Optimization -O2 - Aggressive Optimization -O3 - Maximum Optimization -pedantic - Pedantic Mode -S - Stop After Assembly -std= - C Standard Mode -U - Undefine Macro -v, --verbose - Verbose Output -Wall - Enable All Warnings -Werror - Warnings as Errors -Wextra - Extra Warnings


--asm:<Pfad> - Assemblerausgabe speichern - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--asm:<Pfad> - Assemblerausgabe speichern

Speichert die erzeugte Assemblerliste im angegebenen Pfad und beendet den Ablauf nach der Codeerzeugung. Dabei wird weder eine Objektdatei noch eine ausfuehrbare Datei erzeugt.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 program.c --asm:output.asm

Beschreibung

Speichert die erzeugte Assemblerliste im angegebenen Pfad und beendet den Ablauf nach der Codeerzeugung. Dabei wird weder eine Objektdatei noch eine ausfuehrbare Datei erzeugt.

Kategorie: Ausgabesteuerung | Option: --asm:<Pfad>

PBXB64-Status: VERFUEGBAR

PBXB64-Qualifikation: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Pfad folgt unmittelbar auf den Doppelpunkt. Die Option eignet sich fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte.

Standardverhalten

Ohne diese Option wird keine Assemblerdatei gespeichert; PBXB64 verwendet den normalen Pipeline- und Ausgabemodus.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --asm:<path> uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Die gespeicherte Datei verwendet dasselbe x64-Intel-Syntaxformat wie -S: section .text, .globl-Direktiven, Funktions- und Blocklabels sowie eingerueckte Anweisungen.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurueck zum Befehlsindex

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--asmout <path> - Save Assembly to File - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--asmout <path> - Save Assembly to File

Diese Option steuert den PBXB64-Kommandozeilenmodus --asmout &lt;path&gt;. Technischer Zweck: Saves the generated assembly listing to the specified file path and stops after code generation. This is the space-separated long-form spelling of --asm:&lt;path&gt;. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 program.pb --asmout output.asm
PBXB64 program.pb --asm:output.asm

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --asmout <path>. Technischer Zweck: Saves the generated assembly listing to the specified file path and stops after code generation. This is the space-separated long-form spelling of --asm:<path>. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: --asmout <path>

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --asmout <path>. Technischer Zweck: Saves the generated assembly listing to the specified file path and stops after code generation. This is the space-separated long-form spelling of --asm:<path>. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: No assembly file is saved unless this option is used. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --asmout <path> uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The saved file uses the same Intel-syntax x64 assembly format as -S: section .text, .globl directives, function and block labels, and indented instructions. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Back to command index

Beispiel

PBXB64 example.pb --asmout example.asm

Siehe auch

  • -S - Stop After Assembly
  • --emit-asm - Emit Assembly Dump
  • -c - Compile Only
  • -o - Output Path
  • Hilfe zum PBXB64-Compiler


--crt=<mode> - CRT Mode - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--crt=<mode> - CRT Mode

Diese Option steuert den PBXB64-Kommandozeilenmodus --crt=&lt;mode&gt;. Technischer Zweck: Selects the C runtime import policy. Accepted modes are auto (let the compiler choose), ucrt (Universal C Runtime), msvcrt (legacy MSVCRT), or none (no CRT imports). Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --crt=ucrt program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --crt=<mode>. Technischer Zweck: Selects the C runtime import policy. Accepted modes are auto (let the compiler choose), ucrt (Universal C Runtime), msvcrt (legacy MSVCRT), or none (no CRT imports). Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Target & Linking | Option: --crt=<mode>

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --crt=<mode>. Technischer Zweck: Selects the C runtime import policy. Accepted modes are auto (let the compiler choose), ucrt (Universal C Runtime), msvcrt (legacy MSVCRT), or none (no CRT imports). Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Default: auto. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --crt=<mode> uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Affects the import table and undefined-symbol list emitted into the PE file. ucrt and msvcrt add the corresponding C runtime import library references. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--dump-ir - Dump IR - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--dump-ir - Dump IR

Diese Option steuert den PBXB64-Kommandozeilenmodus --dump-ir. Technischer Zweck: Emits a sidecar IR dump without changing the normal compilation flow. The build continues through optimization, code generation, and linking as usual. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --dump-ir program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --dump-ir. Technischer Zweck: Emits a sidecar IR dump without changing the normal compilation flow. The build continues through optimization, code generation, and linking as usual. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: --dump-ir

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --dump-ir. Technischer Zweck: Emits a sidecar IR dump without changing the normal compilation flow. The build continues through optimization, code generation, and linking as usual. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --dump-ir uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Identical to the --emit-ir IR text format: one function per function NAME header, blocks introduced by block NAME, and instructions as OPCODE [-> RESULT_ID] OPERANDS. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--dump-ir-after=<pass> - Dump IR After Pass - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--dump-ir-after=<pass> - Dump IR After Pass

Diese Option steuert den PBXB64-Kommandozeilenmodus --dump-ir-after=&lt;pass&gt;. Technischer Zweck: Requests an IR snapshot immediately after a named optimization pass has completed. Compare it with --dump-ir-before=&lt;pass&gt; to isolate the exact effect of one optimizer pass. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen

Syntax

PBXB64 -O2 --dump-ir-after=instcombine-light sample.c -o sample.exe

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --dump-ir-after=<pass>. Technischer Zweck: Requests an IR snapshot immediately after a named optimization pass has completed. Compare it with --dump-ir-before=<pass> to isolate the exact effect of one optimizer pass. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: --dump-ir-after=<pass>

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --dump-ir-after=<pass>. Technischer Zweck: Requests an IR snapshot immediately after a named optimization pass has completed. Compare it with --dump-ir-before=<pass> to isolate the exact effect of one optimizer pass. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: No per-pass IR dump is produced unless this option names a pass. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --dump-ir-after=<pass> uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The pass name is matched against the optimizer pass identifiers printed by --print-pipeline. The resulting dump is textual IR with function headers, block labels, and line-oriented instructions. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index


--dump-ir-before=<pass> - Dump IR Before Pass - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--dump-ir-before=<pass> - Dump IR Before Pass

Diese Option steuert den PBXB64-Kommandozeilenmodus --dump-ir-before=&lt;pass&gt;. Technischer Zweck: Requests an IR snapshot immediately before a named optimization pass executes. It is a focused debugging option for finding which pass introduces or removes a specific IR shape. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen

Syntax

PBXB64 -O2 --dump-ir-before=gvn-conservative sample.c -o sample.exe

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --dump-ir-before=<pass>. Technischer Zweck: Requests an IR snapshot immediately before a named optimization pass executes. It is a focused debugging option for finding which pass introduces or removes a specific IR shape. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: --dump-ir-before=<pass>

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --dump-ir-before=<pass>. Technischer Zweck: Requests an IR snapshot immediately before a named optimization pass executes. It is a focused debugging option for finding which pass introduces or removes a specific IR shape. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: No per-pass IR dump is produced unless this option names a pass. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --dump-ir-before=<pass> uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The pass name is the textual pass identifier printed by --print-pipeline, for example constant-fold, cfg-simplify, sroa-light, gvn-conservative, or instcombine-light. The dump uses the same textual IR format as --emit-ir. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index


--dump-tokens - Dump Tokens - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--dump-tokens - Dump Tokens

Diese Option steuert den PBXB64-Kommandozeilenmodus --dump-tokens. Technischer Zweck: Prints the lexer token stream to stdout. Each token is shown with its kind and source position, which is helpful for diagnosing lexer-level issues. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --dump-tokens program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --dump-tokens. Technischer Zweck: Prints the lexer token stream to stdout. Each token is shown with its kind and source position, which is helpful for diagnosing lexer-level issues. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: --dump-tokens

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --dump-tokens. Technischer Zweck: Prints the lexer token stream to stdout. Each token is shown with its kind and source position, which is helpful for diagnosing lexer-level issues. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Token dumping is disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --dump-tokens uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

When implemented, token dumps will list tokens in source order, typically as KIND VALUE pairs (e.g. TOKEN_KW_INT "int", TOKEN_IDENTIFIER "main", TOKEN_NUMBER 42). Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--emit-asm - Emit Assembly Dump - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--emit-asm - Emit Assembly Dump

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-asm. Technischer Zweck: Emits the generated assembly listing and stops after code generation. Similar to -S, but the output is written to a file rather than stdout. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --emit-asm program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-asm. Technischer Zweck: Emits the generated assembly listing and stops after code generation. Similar to -S, but the output is written to a file rather than stdout. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: --emit-asm

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-asm. Technischer Zweck: Emits the generated assembly listing and stops after code generation. Similar to -S, but the output is written to a file rather than stdout. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --emit-asm uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The assembly file starts with section .text. Each function is exported with .globl NAME and labeled NAME:. Basic blocks are labeled (e.g. entry:, c_if_then_0:). Instructions are indented and use Intel syntax: mnemonic destination, source for two-operand forms. Floating-point SSE instructions are selected by operand size (movss/movsd, addss/addsd, etc.). Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--emit-ast, --dump-ast - Emit AST Dump - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--emit-ast, --dump-ast - Emit AST Dump

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-ast, --dump-ast. Technischer Zweck: Prints the compiler's Abstract Syntax Tree (AST) to stdout after parsing. The AST shows the structured representation of declarations, statements, and expressions before intermediate code generation. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --emit-ast program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-ast, --dump-ast. Technischer Zweck: Prints the compiler's Abstract Syntax Tree (AST) to stdout after parsing. The AST shows the structured representation of declarations, statements, and expressions before intermediate code generation. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: --emit-ast, --dump-ast

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-ast, --dump-ast. Technischer Zweck: Prints the compiler's Abstract Syntax Tree (AST) to stdout after parsing. The AST shows the structured representation of declarations, statements, and expressions before intermediate code generation. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: AST dumping is disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --emit-ast, --dump-ast uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

When available, the AST dump writes one line per top-level declaration: decl NAME kind=N, where NAME is the declaration name and N is the numeric AstDeclKind enumerator. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--emit-ir - Emit IR - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--emit-ir - Emit IR

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-ir. Technischer Zweck: Emits the intermediate representation (IR) text and stops compilation after the frontend / IR construction stage. This is useful for debugging how source constructs are lowered to IR. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --emit-ir program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-ir. Technischer Zweck: Emits the intermediate representation (IR) text and stops compilation after the frontend / IR construction stage. This is useful for debugging how source constructs are lowered to IR. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: --emit-ir

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-ir. Technischer Zweck: Emits the intermediate representation (IR) text and stops compilation after the frontend / IR construction stage. This is useful for debugging how source constructs are lowered to IR. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: IR emission is disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --emit-ir uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The IR dump is textual and line-oriented:

  • function NAME begins a function.
  • block NAME begins a basic block.
  • Instructions are indented with four spaces: OPCODE [-> RESULT_ID] OPERAND1,OPERAND2,....
  • Operands use vN for value IDs, integer literals for constants, block names for branches, and symbol names for calls.
  • Common opcodes: arg, alloca, load, store, add, sub, mul, div, rem, cmp_eq/ne/lt/le/gt/ge, br, brcond, ret, call, gep, cast, phi.
Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--emit-map - Emit Map File - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--emit-map - Emit Map File

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-map. Technischer Zweck: Requests that the linker produce a map file alongside the executable. The map file contains symbol addresses and section layout information. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --emit-map program.pb

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-map. Technischer Zweck: Requests that the linker produce a map file alongside the executable. The map file contains symbol addresses and section layout information. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: --emit-map

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-map. Technischer Zweck: Requests that the linker produce a map file alongside the executable. The map file contains symbol addresses and section layout information. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Map-file emission is disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --emit-map uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

When generated, the map file lists sections with their virtual addresses and lengths, followed by public symbols sorted by address. The exact format matches the PBXB64 linker's internal map writer. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--emit-mir - Emit MIR Dump - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--emit-mir - Emit MIR Dump

Emit machine IR dump to stdout.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --emit-mir program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-mir. Technischer Zweck: Emits the machine intermediate representation (MIR) instead of textual assembly when combined with an assembly-producing option such as --emit-asm or -S. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: --emit-mir

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-mir. Technischer Zweck: Emits the machine intermediate representation (MIR) instead of textual assembly when combined with an assembly-producing option such as --emit-asm or -S. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --emit-mir uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

MIR output has the same structural layout as assembly (functions and labeled blocks) but uses pre-register-allocation virtual operands and pseudo-instructions such as load / store for stack accesses and jcc / setcc for conditionals. Operands can be physical registers (rax, rbx, ...), virtual registers (%vN), stack slots ([rbp-N]), immediates, or labels. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--emit-obj - Emit Object File - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--emit-obj - Emit Object File

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-obj. Technischer Zweck: Forces object-file emission. This is an alias for -c and produces a COFF .obj file without linking. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --emit-obj program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-obj. Technischer Zweck: Forces object-file emission. This is an alias for -c and produces a COFF .obj file without linking. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: --emit-obj

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --emit-obj. Technischer Zweck: Forces object-file emission. This is an alias for -c and produces a COFF .obj file without linking. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Object emission only occurs when requested. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --emit-obj uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Produces a 64-bit COFF object file. The file layout follows the standard PE/COFF specification: file header, optional section headers, raw section data (.text, .data, .rdata), symbol table, string table, and relocation entries. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--entry - Entry Symbol - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--entry - Entry Symbol

Diese Option steuert den PBXB64-Kommandozeilenmodus --entry &lt;symbol&gt;. Technischer Zweck: Overrides the default program entry point symbol used by the linker. For C programs the default is main; for other frontends the compiler supplies its own runtime entry point. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --entry MyStart program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --entry <symbol>. Technischer Zweck: Overrides the default program entry point symbol used by the linker. For C programs the default is main; for other frontends the compiler supplies its own runtime entry point. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Target & Linking | Option: --entry <symbol>

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --entry <symbol>. Technischer Zweck: Overrides the default program entry point symbol used by the linker. For C programs the default is main; for other frontends the compiler supplies its own runtime entry point. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: The default entry symbol is determined by the frontend and target. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --entry <symbol> uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Affects only the linker symbol resolution. The emitted executable will use the specified symbol as the entry point in the PE optional header. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--no-default-crt - No Default CRT - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--no-default-crt - No Default CRT

Diese Option steuert den PBXB64-Kommandozeilenmodus --no-default-crt. Technischer Zweck: Prevents the compiler from automatically linking the default C runtime imports. Use this for freestanding programs or when you provide your own runtime imports. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --no-default-crt program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --no-default-crt. Technischer Zweck: Prevents the compiler from automatically linking the default C runtime imports. Use this for freestanding programs or when you provide your own runtime imports. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Target & Linking | Option: --no-default-crt

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --no-default-crt. Technischer Zweck: Prevents the compiler from automatically linking the default C runtime imports. Use this for freestanding programs or when you provide your own runtime imports. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Default CRT linking is enabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --no-default-crt uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Affects linker symbol tables. With this flag, no automatic __imp_ symbols for UCRT/MSVCRT are added to the import table. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--NoOpt - Disable Optimizations - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--NoOpt - Disable Optimizations

Diese Option steuert den PBXB64-Kommandozeilenmodus --NoOpt. Technischer Zweck: Disables all middle-end and backend optimizations. Equivalent to -O0 but provided as an explicit, self-documenting switch. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --NoOpt program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --NoOpt. Technischer Zweck: Disables all middle-end and backend optimizations. Equivalent to -O0 but provided as an explicit, self-documenting switch. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Optimization | Option: --NoOpt

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --NoOpt. Technischer Zweck: Disables all middle-end and backend optimizations. Equivalent to -O0 but provided as an explicit, self-documenting switch. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: The default is -O0, so optimizations are already off unless a higher level is requested. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --NoOpt uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

No emitted-format change; the compiler simply skips the optimization pipeline. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--print-pipeline - Print Pipeline - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--print-pipeline - Print Pipeline

Diese Option steuert den PBXB64-Kommandozeilenmodus --print-pipeline. Technischer Zweck: Displays the enabled middle-end optimization passes for the current optimization level and exits. No input files are required. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --print-pipeline

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --print-pipeline. Technischer Zweck: Displays the enabled middle-end optimization passes for the current optimization level and exits. No input files are required. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Pipeline Control | Option: --print-pipeline

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --print-pipeline. Technischer Zweck: Displays the enabled middle-end optimization passes for the current optimization level and exits. No input files are required. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --print-pipeline uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Output format: PBXB64 optimization pipeline (-OX): followed by one pass per line: [NN] kind name, where kind is either module or function, and name is the pass identifier. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--stats - Print Statistics - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--stats - Print Statistics

Diese Option steuert den PBXB64-Kommandozeilenmodus --stats. Technischer Zweck: Prints compact IR and MIR statistics after compilation, including function, block, instruction, and frame-object counts at different pipeline points. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --stats program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --stats. Technischer Zweck: Prints compact IR and MIR statistics after compilation, including function, block, instruction, and frame-object counts at different pipeline points. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Verification | Option: --stats

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --stats. Technischer Zweck: Prints compact IR and MIR statistics after compilation, including function, block, instruction, and frame-object counts at different pipeline points. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --stats uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--stop-after=<stage> - Stop After Stage - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--stop-after=<stage> - Stop After Stage

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --stop-after=opt program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --stop-after=<stage>. Technischer Zweck: Stops compilation after a specific pipeline stage. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Pipeline Control | Option: --stop-after=<stage>

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --stop-after=<stage>. Technischer Zweck: Stops compilation after a specific pipeline stage. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: The default stop stage is link, producing an executable. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --stop-after=<stage> uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--target - Target Triple - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--target - Target Triple

Diese Option steuert den PBXB64-Kommandozeilenmodus --target &lt;triple&gt;. Technischer Zweck: Sets the target triple for cross-compilation or for selecting a specific ABI. The default is the native Windows x64 MinGW target. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --target x86_64-w64-windows-gnu program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --target <triple>. Technischer Zweck: Sets the target triple for cross-compilation or for selecting a specific ABI. The default is the native Windows x64 MinGW target. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Target & Linking | Option: --target <triple>

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --target <triple>. Technischer Zweck: Sets the target triple for cross-compilation or for selecting a specific ABI. The default is the native Windows x64 MinGW target. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Default: x86_64-w64-windows-gnu. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --target <triple> uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The target triple is parsed into architecture, vendor, OS, and environment components. It controls ABI selection (e.g. Win64 calling convention), object file format (COFF/PE32+), and runtime assumptions. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--time-stages - Time Stages - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--time-stages - Time Stages

Print timing information for each compilation stage.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --time-stages program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --time-stages. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Verification | Option: --time-stages

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --time-stages. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --time-stages uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The output is printed to stderr at the end of compilation. The final line shows the total wall-clock time in milliseconds: PBXB64 total compile time: X.X ms. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--trace-passes - Trace Passes - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--trace-passes - Trace Passes

Diese Option steuert den PBXB64-Kommandozeilenmodus --trace-passes. Technischer Zweck: Prints the name of each middle-end optimization pass to stderr as it executes. Helps identify which passes run and in what order. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --trace-passes program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --trace-passes. Technischer Zweck: Prints the name of each middle-end optimization pass to stderr as it executes. Helps identify which passes run and in what order. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Verification | Option: --trace-passes

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --trace-passes. Technischer Zweck: Prints the name of each middle-end optimization pass to stderr as it executes. Helps identify which passes run and in what order. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --trace-passes uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Each pass is printed as a single line to stderr, using the same pass name displayed by --print-pipeline. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--verify-after-each-pass - Verify After Each Pass - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--verify-after-each-pass - Verify After Each Pass

Diese Option steuert den PBXB64-Kommandozeilenmodus --verify-after-each-pass. Technischer Zweck: Enables IR verification after every individual optimizer pass. This is stricter than --verify-ir and is useful for tracking down which pass introduces an invalid transformation. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --verify-after-each-pass program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --verify-after-each-pass. Technischer Zweck: Enables IR verification after every individual optimizer pass. This is stricter than --verify-ir and is useful for tracking down which pass introduces an invalid transformation. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Verification | Option: --verify-after-each-pass

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --verify-after-each-pass. Technischer Zweck: Enables IR verification after every individual optimizer pass. This is stricter than --verify-ir and is useful for tracking down which pass introduces an invalid transformation. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --verify-after-each-pass uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

No output on success. Verification failures stop compilation and report the failing invariant. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--verify-ir - Verify IR - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--verify-ir - Verify IR

Diese Option steuert den PBXB64-Kommandozeilenmodus --verify-ir. Technischer Zweck: Runs the IR verifier after frontend construction and after optimization. The verifier checks structural invariants such as dominated uses, valid block terminators, and type consistency. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --verify-ir program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --verify-ir. Technischer Zweck: Runs the IR verifier after frontend construction and after optimization. The verifier checks structural invariants such as dominated uses, valid block terminators, and type consistency. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Verification | Option: --verify-ir

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --verify-ir. Technischer Zweck: Runs the IR verifier after frontend construction and after optimization. The verifier checks structural invariants such as dominated uses, valid block terminators, and type consistency. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default in release builds. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --verify-ir uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

No output is produced on success. Failures are reported as compiler diagnostics and cause a non-zero exit code. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--verify-mir, --verify-machine - Verify MIR - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--verify-mir, --verify-machine - Verify MIR

Run the verifier on machine IR.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --verify-mir program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --verify-mir, --verify-machine. This catches target-specific issues such as invalid register operands or frame-object references. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Verification | Option: --verify-mir, --verify-machine

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --verify-mir, --verify-machine. This catches target-specific issues such as invalid register operands or frame-object references. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --verify-mir, --verify-machine uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

No output is produced on success. Failures are reported as compiler diagnostics and cause a non-zero exit code. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


--version - Print Version - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

--version - Print Version

Diese Option steuert den PBXB64-Kommandozeilenmodus --version. Technischer Zweck: Prints the PBXB64 compiler version string and exits. No input files are required. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --version

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --version. Technischer Zweck: Prints the PBXB64 compiler version string and exits. No input files are required. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Information | Option: --version

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus --version. Technischer Zweck: Prints the PBXB64 compiler version string and exits. No input files are required. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne --version uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

A single line to stdout: PBXB64 version VERSION-STRING. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-c - Compile Only - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-c - Compile Only

Diese Option steuert den PBXB64-Kommandozeilenmodus -c. Technischer Zweck: Compile the input source files into COFF object files and stop before linking. This is the standard way to produce individual .obj files that are later linked by a separate tool or by PBXB64. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -c module.c -o module.obj

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -c. Technischer Zweck: Compile the input source files into COFF object files and stop before linking. This is the standard way to produce individual .obj files that are later linked by a separate tool or by PBXB64. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: -c

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -c. Technischer Zweck: Compile the input source files into COFF object files and stop before linking. This is the standard way to produce individual .obj files that are later linked by a separate tool or by PBXB64. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Without -c, PBXB64 continues through the link stage and produces an executable. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -c uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The emitted file is a standard AMD64 COFF object (.obj). It contains .text, .data, and .rdata sections together with symbol and relocation tables. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-con, --console - Force Console Subsystem - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-con, --console - Force Console Subsystem

Diese Option steuert den PBXB64-Kommandozeilenmodus -con, -console, --console. Technischer Zweck: Forces the Windows console subsystem value in the linked PE header. Use this for command-line utilities that should always get console process semantics. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen

Syntax

PBXB64 -con sample.pb -o sample.exe

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -con, -console, --console. Technischer Zweck: Forces the Windows console subsystem value in the linked PE header. Use this for command-line utilities that should always get console process semantics. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Target & Linking | Option: -con, -console, --console

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -con, -console, --console. Technischer Zweck: Forces the Windows console subsystem value in the linked PE header. Use this for command-line utilities that should always get console process semantics. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: By default PBXB64 chooses GUI or console from the PB source metadata and detected console output use. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -con, -console, --console uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The PE optional header Subsystem field is written as 3 (IMAGE_SUBSYSTEM_WINDOWS_CUI). Command-line subsystem options override source directives such as #GUI. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index


-D - Define Macro - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-D - Define Macro

Diese Option steuert den PBXB64-Kommandozeilenmodus -DNAME, -DNAME=value. Technischer Zweck: Defines a C preprocessor macro. If no value is given, the macro is defined as 1. Use -DNAME=value to supply an explicit value. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -DDEBUG=1 program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -DNAME, -DNAME=value. Technischer Zweck: Defines a C preprocessor macro. If no value is given, the macro is defined as 1. Use -DNAME=value to supply an explicit value. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Preprocessor | Option: -DNAME, -DNAME=value

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -DNAME, -DNAME=value. Technischer Zweck: Defines a C preprocessor macro. If no value is given, the macro is defined as 1. Use -DNAME=value to supply an explicit value. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: No extra macros are defined by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -DNAME, -DNAME=value uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

No direct output; macro definitions affect conditional compilation and macro expansion in the preprocessor output. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-E - Preprocess Only - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-E - Preprocess Only

Diese Option steuert den PBXB64-Kommandozeilenmodus -E. Technischer Zweck: Runs the C preprocessor and writes the expanded source to stdout. Macros are expanded, #include files are inserted, and conditional compilation is resolved. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -E program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -E. Technischer Zweck: Runs the C preprocessor and writes the expanded source to stdout. Macros are expanded, #include files are inserted, and conditional compilation is resolved. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Preprocessor | Option: -E

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -E. Technischer Zweck: Runs the C preprocessor and writes the expanded source to stdout. Macros are expanded, #include files are inserted, and conditional compilation is resolved. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -E uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The output is valid (expanded) C source. It contains the resolved contents of all included headers, expanded macros, and stripped conditional blocks. Line directives are not emitted. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-ffreestanding - Freestanding Mode - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-ffreestanding - Freestanding Mode

Diese Option steuert den PBXB64-Kommandozeilenmodus -ffreestanding. Technischer Zweck: Compiles in freestanding mode, where the full C standard library may not be available. Implies that main is not necessarily the program entry point. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -ffreestanding program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -ffreestanding. Technischer Zweck: Compiles in freestanding mode, where the full C standard library may not be available. Implies that main is not necessarily the program entry point. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Diagnostics | Option: -ffreestanding

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -ffreestanding. Technischer Zweck: Compiles in freestanding mode, where the full C standard library may not be available. Implies that main is not necessarily the program entry point. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default; hosted mode is the default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -ffreestanding uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Affects preprocessor predefined macros and linker assumptions. No direct change to emitted file format. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-fhosted - Hosted Mode - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-fhosted - Hosted Mode

Diese Option steuert den PBXB64-Kommandozeilenmodus -fhosted. Technischer Zweck: Explicitly selects hosted mode, confirming that the program will run under an operating system with a full C runtime. This is the normal mode for application development. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -fhosted program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -fhosted. Technischer Zweck: Explicitly selects hosted mode, confirming that the program will run under an operating system with a full C runtime. This is the normal mode for application development. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Diagnostics | Option: -fhosted

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -fhosted. Technischer Zweck: Explicitly selects hosted mode, confirming that the program will run under an operating system with a full C runtime. This is the normal mode for application development. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Hosted mode is the default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -fhosted uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Affects preprocessor predefined macros and linker assumptions. No direct change to emitted file format. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-fno-builtin - Disable Builtins - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-fno-builtin - Disable Builtins

Diese Option steuert den PBXB64-Kommandozeilenmodus -fno-builtin. Technischer Zweck: Disables compiler builtin function optimizations. Calls to functions such as strlen or memcpy are not replaced with inline sequences or special handling. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -fno-builtin program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -fno-builtin. Technischer Zweck: Disables compiler builtin function optimizations. Calls to functions such as strlen or memcpy are not replaced with inline sequences or special handling. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Diagnostics | Option: -fno-builtin

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -fno-builtin. Technischer Zweck: Disables compiler builtin function optimizations. Calls to functions such as strlen or memcpy are not replaced with inline sequences or special handling. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Builtins are enabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -fno-builtin uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Affects IR generation. With builtins disabled, calls remain as ordinary function calls in the emitted IR/assembly. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-fsyntax-only, --syntax-only - Syntax Check Only - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-fsyntax-only, --syntax-only - Syntax Check Only

Diese Option steuert den PBXB64-Kommandozeilenmodus -fsyntax-only, --syntax-only. Technischer Zweck: Parse and type-check the source, then stop before any code generation. This is the fastest way to verify that source code is valid without producing output files. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -fsyntax-only program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -fsyntax-only, --syntax-only. Technischer Zweck: Parse and type-check the source, then stop before any code generation. This is the fastest way to verify that source code is valid without producing output files. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Pipeline Control | Option: -fsyntax-only, --syntax-only

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -fsyntax-only, --syntax-only. Technischer Zweck: Parse and type-check the source, then stop before any code generation. This is the fastest way to verify that source code is valid without producing output files. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -fsyntax-only, --syntax-only uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

No intermediate or object output is produced. Success is indicated by exit code 0 with no diagnostics on stderr/stdout. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-g, --debug - Debug Information - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-g, --debug - Debug Information

Diese Option steuert den PBXB64-Kommandozeilenmodus -g, --debug. Technischer Zweck: Requests emission of debug information in the output object/executable. This enables source-level debugging in compatible debuggers. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -g program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -g, --debug. Technischer Zweck: Requests emission of debug information in the output object/executable. This enables source-level debugging in compatible debuggers. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Verification | Option: -g, --debug

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -g, --debug. Technischer Zweck: Requests emission of debug information in the output object/executable. This enables source-level debugging in compatible debuggers. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Debug information is disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -g, --debug uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Debug information is emitted in the PBXB64 internal SDBG format and stored in the generated object/executable. It maps machine-code addresses back to source file names and line numbers. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-gui, --gui - Force GUI Subsystem - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-gui, --gui - Force GUI Subsystem

Diese Option steuert den PBXB64-Kommandozeilenmodus -gui, --gui. Technischer Zweck: Forces the Windows GUI subsystem value in the linked PE header. Use this when a program should behave like a PB/Win application even if the compiler auto-detection would otherwise choose console. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen

Syntax

PBXB64 -gui sample.pb -o sample.exe

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -gui, --gui. Technischer Zweck: Forces the Windows GUI subsystem value in the linked PE header. Use this when a program should behave like a PB/Win application even if the compiler auto-detection would otherwise choose console. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Target & Linking | Option: -gui, --gui

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -gui, --gui. Technischer Zweck: Forces the Windows GUI subsystem value in the linked PE header. Use this when a program should behave like a PB/Win application even if the compiler auto-detection would otherwise choose console. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: By default PBXB64 chooses GUI or console from the PB source metadata and detected console output use. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -gui, --gui uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The PE optional header Subsystem field is written as 2 (IMAGE_SUBSYSTEM_WINDOWS_GUI). Command-line subsystem options override source directives such as #CONSOLE. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index


-h, --help - Show Help - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-h, --help - Show Help

Diese Option steuert den PBXB64-Kommandozeilenmodus -h, --help. Technischer Zweck: Prints a concise summary of all command-line options and exits. No input files are required. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 --help

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -h, --help. Technischer Zweck: Prints a concise summary of all command-line options and exits. No input files are required. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Information | Option: -h, --help

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -h, --help. Technischer Zweck: Prints a concise summary of all command-line options and exits. No input files are required. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -h, --help uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The help text is written to stdout. It lists usage, all flags, and a brief one-line description per option. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-I - Include Path - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-I - Include Path

Diese Option steuert den PBXB64-Kommandozeilenmodus -I &lt;path&gt;. Technischer Zweck: Adds a directory to the user include search path. User paths are searched before system paths. The option can be given as -I path (with space) or -Ipath (without space). Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -I./include program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -I <path>. Technischer Zweck: Adds a directory to the user include search path. User paths are searched before system paths. The option can be given as -I path (with space) or -Ipath (without space). Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Preprocessor | Option: -I <path>

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -I <path>. Technischer Zweck: Adds a directory to the user include search path. User paths are searched before system paths. The option can be given as -I path (with space) or -Ipath (without space). Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Only the compiler's built-in include directories are searched by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -I <path> uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

No direct output; influences the files selected by #include "..." and #include <...> during preprocessing. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-isystem - System Include Path - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-isystem - System Include Path

Diese Option steuert den PBXB64-Kommandozeilenmodus -isystem &lt;path&gt;. Technischer Zweck: Adds a system include search path. Headers found through -isystem have warnings suppressed, matching GCC/Clang behavior. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -isystem./sdk program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -isystem <path>. Technischer Zweck: Adds a system include search path. Headers found through -isystem have warnings suppressed, matching GCC/Clang behavior. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Preprocessor | Option: -isystem <path>

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -isystem <path>. Technischer Zweck: Adds a system include search path. Headers found through -isystem have warnings suppressed, matching GCC/Clang behavior. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: No extra system paths by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -isystem <path> uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

No direct output; behaves like -I for header lookup but marks the path as system for diagnostic purposes. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-o - Output Path - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-o - Output Path

Diese Option steuert den PBXB64-Kommandozeilenmodus -o &lt;file&gt;. Technischer Zweck: Sets the path and name of the output file produced by the compiler. The exact file type depends on the stop-after stage: executable (.exe) for a full build, object file (.obj) with -c, or assembly listing (.asm) with -S. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 program.pb -o myapp.exe

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -o <file>. Technischer Zweck: Sets the path and name of the output file produced by the compiler. The exact file type depends on the stop-after stage: executable (.exe) for a full build, object file (.obj) with -c, or assembly listing (.asm) with -S. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: -o <file>

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -o <file>. Technischer Zweck: Sets the path and name of the output file produced by the compiler. The exact file type depends on the stop-after stage: executable (.exe) for a full build, object file (.obj) with -c, or assembly listing (.asm) with -S. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: If -o is omitted, the default output name is a.exe for a full link and a.asm / a.obj for early-stop modes. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -o <file> uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-O0 - No Optimization - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-O0 - No Optimization

Diese Option steuert den PBXB64-Kommandozeilenmodus -O0. Technischer Zweck: Runs no optimizations. This gives the fastest compile times and the most straightforward mapping between source code and generated assembly, which is ideal for debugging. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -O0 program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -O0. Technischer Zweck: Runs no optimizations. This gives the fastest compile times and the most straightforward mapping between source code and generated assembly, which is ideal for debugging. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Optimization | Option: -O0

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -O0. Technischer Zweck: Runs no optimizations. This gives the fastest compile times and the most straightforward mapping between source code and generated assembly, which is ideal for debugging. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: This is the default optimization level. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -O0 uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

At -O0 the optimization pipeline is empty. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-O1 - Basic Optimization - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-O1 - Basic Optimization

Diese Option steuert den PBXB64-Kommandozeilenmodus -O1. Technischer Zweck: Enables basic optimizations such as dead code elimination, constant folding, and simple algebraic simplifications. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -O1 program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -O1. Technischer Zweck: Enables basic optimizations such as dead code elimination, constant folding, and simple algebraic simplifications. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Optimization | Option: -O1

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -O1. Technischer Zweck: Enables basic optimizations such as dead code elimination, constant folding, and simple algebraic simplifications. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Not the default; requires explicit selection. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -O1 uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The emitted IR and assembly are transformed by the -O1 pipeline. Expect fewer redundant instructions and folded constants compared to -O0. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-O2 - Aggressive Optimization - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-O2 - Aggressive Optimization

Diese Option steuert den PBXB64-Kommandozeilenmodus -O2. Technischer Zweck: Enables aggressive optimizations including inlining, loop unrolling, mem2reg, GVN, local CSE, strength reduction, and dead store elimination. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -O2 program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -O2. Technischer Zweck: Enables aggressive optimizations including inlining, loop unrolling, mem2reg, GVN, local CSE, strength reduction, and dead store elimination. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Optimization | Option: -O2

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -O2. Technischer Zweck: Enables aggressive optimizations including inlining, loop unrolling, mem2reg, GVN, local CSE, strength reduction, and dead store elimination. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Not the default; requires explicit selection. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -O2 uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The emitted IR and assembly are transformed by the full -O2 pipeline. Local variables are promoted to registers where possible, common subexpressions are eliminated, and small functions may be inlined. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-O3 - Maximum Optimization - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-O3 - Maximum Optimization

Diese Option steuert den PBXB64-Kommandozeilenmodus -O3. Technischer Zweck: Enables the maximum optimization level. This may include more aggressive inlining and loop transformations and can increase binary size. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -O3 program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -O3. Technischer Zweck: Enables the maximum optimization level. This may include more aggressive inlining and loop transformations and can increase binary size. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Optimization | Option: -O3

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -O3. Technischer Zweck: Enables the maximum optimization level. This may include more aggressive inlining and loop transformations and can increase binary size. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Not the default; requires explicit selection. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -O3 uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

The emitted IR and assembly receive the strongest set of available transformations. The exact pass list is the same as -O2 in the current implementation, but individual passes may be run more aggressively. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-pedantic - Pedantic Mode - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-pedantic - Pedantic Mode

Diese Option steuert den PBXB64-Kommandozeilenmodus -pedantic. Technischer Zweck: Enables strict standard-compliance warnings. Issues diagnostics for language extensions and constructs that are not part of the selected C standard. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -pedantic program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -pedantic. Technischer Zweck: Enables strict standard-compliance warnings. Issues diagnostics for language extensions and constructs that are not part of the selected C standard. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Diagnostics | Option: -pedantic

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -pedantic. Technischer Zweck: Enables strict standard-compliance warnings. Issues diagnostics for language extensions and constructs that are not part of the selected C standard. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -pedantic uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Diagnostics are emitted in the standard PBXB64 format (file:line:column: warning: message). Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-S - Stop After Assembly - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-S - Stop After Assembly

Diese Option steuert den PBXB64-Kommandozeilenmodus -S. Technischer Zweck: Run the compiler through code generation, emit an x64 assembly listing, and stop before assembling or linking. Useful for inspecting the generated machine code in human-readable form. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -S program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -S. Technischer Zweck: Run the compiler through code generation, emit an x64 assembly listing, and stop before assembling or linking. Useful for inspecting the generated machine code in human-readable form. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Output Control | Option: -S

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -S. Technischer Zweck: Run the compiler through code generation, emit an x64 assembly listing, and stop before assembling or linking. Useful for inspecting the generated machine code in human-readable form. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Without -S, assembly output is kept internal and the build continues to object/executable stages. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -S uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

PBXB64 assembly listings use Intel-style x64 syntax. Each file begins with section .text, followed by one function per .globl symbol. Functions contain labeled basic blocks and indented instruction lines: mnemonic op1, op2, .... Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-std= - C Standard Mode - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-std= - C Standard Mode

Diese Option steuert den PBXB64-Kommandozeilenmodus -std=&lt;mode&gt;. Technischer Zweck: Selects the C language standard mode. Supported modes include c89/c90, c99, c11, c17/c18, and the corresponding GNU dialects. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -std=c17 program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -std=<mode>. Technischer Zweck: Selects the C language standard mode. Supported modes include c89/c90, c99, c11, c17/c18, and the corresponding GNU dialects. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Preprocessor | Option: -std=<mode>

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -std=<mode>. Technischer Zweck: Selects the C language standard mode. Supported modes include c89/c90, c99, c11, c17/c18, and the corresponding GNU dialects. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Default: c17. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -std=<mode> uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Affects preprocessor predefined macros (e.g. __STDC_VERSION__) and parser acceptance of language features. Does not change the format of emitted object/assembly files. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-U - Undefine Macro - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-U - Undefine Macro

Diese Option steuert den PBXB64-Kommandozeilenmodus -UNAME. Technischer Zweck: Undefines a previously defined preprocessor macro. Useful for canceling a macro defined earlier on the command line or in a pre-include. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -UNDEBUG program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -UNAME. Technischer Zweck: Undefines a previously defined preprocessor macro. Useful for canceling a macro defined earlier on the command line or in a pre-include. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Preprocessor | Option: -UNAME

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -UNAME. Technischer Zweck: Undefines a previously defined preprocessor macro. Useful for canceling a macro defined earlier on the command line or in a pre-include. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: No macros are undefined by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -UNAME uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

No direct output; removes the macro from the preprocessor symbol table. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-v, --verbose - Verbose Output - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-v, --verbose - Verbose Output

Diese Option steuert den PBXB64-Kommandozeilenmodus -v, --verbose. Technischer Zweck: Prints the name of each input file as it is compiled and shows the active compilation stages and paths. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -v program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -v, --verbose. Technischer Zweck: Prints the name of each input file as it is compiled and shows the active compilation stages and paths. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Information | Option: -v, --verbose

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -v, --verbose. Technischer Zweck: Prints the name of each input file as it is compiled and shows the active compilation stages and paths. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -v, --verbose uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Verbose messages are written to stderr. The primary message is compiling PATH, one line per source file. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-Wall - Enable All Warnings - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-Wall - Enable All Warnings

Diese Option steuert den PBXB64-Kommandozeilenmodus -Wall. Technischer Zweck: Enables the most common compiler warnings for C source files, including unused variables, suspicious conversions, and missing prototypes. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -Wall program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -Wall. Technischer Zweck: Enables the most common compiler warnings for C source files, including unused variables, suspicious conversions, and missing prototypes. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Diagnostics | Option: -Wall

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -Wall. Technischer Zweck: Enables the most common compiler warnings for C source files, including unused variables, suspicious conversions, and missing prototypes. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Warnings are not enabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -Wall uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Warnings are emitted as PBXB64 diagnostics (file:line:column: severity: message). With -Werror they become errors. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-Werror - Warnings as Errors - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-Werror - Warnings as Errors

Diese Option steuert den PBXB64-Kommandozeilenmodus -Werror. Technischer Zweck: Treats every warning as a fatal error, causing the compiler to exit with a non-zero status if any warning is emitted. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -Werror program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -Werror. Technischer Zweck: Treats every warning as a fatal error, causing the compiler to exit with a non-zero status if any warning is emitted. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Diagnostics | Option: -Werror

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -Werror. Technischer Zweck: Treats every warning as a fatal error, causing the compiler to exit with a non-zero status if any warning is emitted. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -Werror uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

No change to diagnostic text; only the severity is promoted to error and the exit code becomes non-zero. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.

Back to command index

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


-Wextra - Extra Warnings - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Befehlszeilenoptionen Hilfe zum PBXB64-Compiler

-Wextra - Extra Warnings

Diese Option steuert den PBXB64-Kommandozeilenmodus -Wextra. Technischer Zweck: Enables extra warnings beyond those enabled by -Wall. These catch additional stylistic and potentially error-prone constructs. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Kategorie: Befehlszeilenoptionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PBXB64 -Wextra program.c

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -Wextra. Technischer Zweck: Enables extra warnings beyond those enabled by -Wall. These catch additional stylistic and potentially error-prone constructs. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Category: Diagnostics | Option: -Wextra

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Option steuert den PBXB64-Kommandozeilenmodus -Wextra. Technischer Zweck: Enables extra warnings beyond those enabled by -Wall. These catch additional stylistic and potentially error-prone constructs. Sie ist fuer reproduzierbare Builds, lokale Diagnose, Batch-Dateien und CI-Skripte dokumentiert.

Standardverhalten

Standardverhalten: Disabled by default. Wenn die Option nicht angegeben wird, bleibt PBXB64 beim normalen Pipeline-, Ausgabe- oder Diagnoseverhalten fuer die ausgewaehlte Eingabe.

Arbeitsablauf

Typischer Ablauf: zuerst denselben Quelltext ohne -Wextra uebersetzen, dann die Option gezielt einschalten und Ausgabedateien, Diagnosen und Exitcode vergleichen. Fuer Diagnoseoptionen empfiehlt sich ein kleiner Quelltext, damit die Ausgabe uebersichtlich bleibt.

Ausgabeformat

Diagnostics are emitted in the same format as -Wall. Beachten Sie diese Ausgabeform: einige Optionen erzeugen Dateien, andere schreiben stdout/stderr, und einige beeinflussen nur die interne Pipeline.

Siehe auch

  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


Über diese Hilfe - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Über diese Hilfe Hilfe zum PBXB64-Compiler

Über diese Hilfe

Themen in diesem Kapitel

Über diese Hilfe


Über diese Hilfe - PBXB64-Compiler-Hilfe

Startseite › Willkommen & Erste Schritte › Über diese Hilfe Hilfe zum PBXB64-Compiler

Über diese Hilfe

Informationen zur PBXB64-Hilfedatei, ihrer Struktur und zum Ursprung der Inhalte.

Kategorie: Über diese Hilfe

Beschreibung

Diese Hilfedatei ist die Hauptreferenz für PBXB64. Sie ist nach Themen und Sprach-Frontends gegliedert, damit Sie Befehle, Datentypen und Sprachmerkmale nach Verwendung finden können – nicht nur nach Namen.

Wie die Hilfedatei entsteht

Die Hilfeinhalte werden als strukturierter Datensatz gepflegt. Aus diesem Datensatz werden die HTML-Seiten, das Inhaltsverzeichnis, der Stichwortindex und die fertige kompilierte CHM-Datei automatisch erzeugt. So ist sichergestellt, dass jede Sprachversion dieselbe Kapitelstruktur besitzt und Aktualisierungen konsistent angewendet werden.

KI-generierte Inhalte

Teile der Texte und mehrere Diagramme in dieser Hilfe wurden mit Verfahren der künstlichen Intelligenz erstellt oder aufbereitet (ChatGPT für Texte, DALL-E bzw. Bildgenerierungswerkzeuge für Diagramme). Alle generierten Inhalte wurden auf technische Richtigkeit geprüft, die letzte Verantwortung für die Korrektheit liegt jedoch bei den PBXB64-Dokumentationsverantwortlichen.

Bedienung dieser Hilfedatei

  • Im Register Inhalt browsen Sie thematisch nach Kategorien.
  • Im Register Index springen Sie direkt zu einem Befehl oder Schlüsselwort.
  • Im Register Suchen finden Sie Text über alle Seiten hinweg.
  • Jede Befehlsseite zeigt Syntax, Beschreibung, geprüfte Beispiele und verwandte Themen.

Rückmeldungen und Aktualisierungen

Wenn Sie einen Fehler oder ein fehlendes Thema finden, melden Sie dies bitte über den PBXB64- Issue-Tracker. Änderungen werden immer im zugrundeliegenden Datensatz vorgenommen und dann neu erstellt; eine nachträgliche Bearbeitung der kompilierten CHM-Datei ist nicht vorgesehen.

Das Hilfefenster bietet die Register Inhalt, Index, Suchen und Favoriten.

Das Hilfefenster bietet die Register Inhalt, Index, Suchen und Favoriten.

Überblicksdarstellung der für Benutzer sichtbaren PBXB64-Komponenten.

Überblicksdarstellung der für Benutzer sichtbaren PBXB64-Komponenten.

PBXB64-Feature-Übersicht als Kurzreferenz.

PBXB64-Feature-Übersicht als Kurzreferenz.

Nach oben


Übersicht - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Übersicht Hilfe zum PBXB64-Compiler

Übersicht

Themen in diesem Kapitel

BASIC-Deklarationen BASIC-Eingabe/Ausgabe BASIC-Operatoren BASIC-String-Funktionen BASIC-Variablen und -Bereich GRUNDLEGENDE Fehlerbehandlung GRUNDLEGENDE mathematische Funktionen GRUNDLEGENDER Kontrollfluss PBXB64 - BASIC-Sprachreferenz


BASIC-Deklarationen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Übersicht Hilfe zum PBXB64-Compiler

BASIC-Deklarationen

Anweisungen, die Prozeduren, Typen und Variablen deklarieren.

Kategorie: Übersicht

Beschreibung

Anweisungen, die Prozeduren, Typen und Variablen deklarieren.

Aufgabe dieses Kapitels

Dieses Kapitel sammelt die BASIC-Sprachmittel zu einem zusammenhängenden Arbeitsbereich. Es dient als Einstieg, wenn Sie nicht den exakten Befehlsnamen kennen, sondern eine Spracheigenschaft suchen.

Verwendung

Beginnen Sie mit der Tabelle unten und wechseln Sie dann zur Detailseite des einzelnen Befehls. Die Detailseiten enthalten Syntax, Hinweise zur PBXB64-Unterstützung, Getestetes Beispiel und Querverweise.

Befehlsübersicht

Befehl | Bereich
SUB / END SUB | Anweisungen, die Prozeduren, Typen und Variablen deklarieren.
FUNCTION / ENDFUNKTION | Anweisungen, die Prozeduren, Typen und Variablen deklarieren.
ERKLÄREN | Anweisungen, die Prozeduren, Typen und Variablen deklarieren.
DIM | Anweisungen, die Prozeduren, Typen und Variablen deklarieren.
LOCAL | Anweisungen, die Prozeduren, Typen und Variablen deklarieren.
GLOBAL | Anweisungen, die Prozeduren, Typen und Variablen deklarieren.
STATIC | Anweisungen, die Prozeduren, Typen und Variablen deklarieren.
GETEILT | Anweisungen, die Prozeduren, Typen und Variablen deklarieren.
REDIM / ERHALTEN | Anweisungen, die Prozeduren, Typen und Variablen deklarieren.
TYP / ENDTYP | Anweisungen, die Prozeduren, Typen und Variablen deklarieren.
UNION / END UNION | Anweisungen, die Prozeduren, Typen und Variablen deklarieren.
ENUM | Anweisungen, die Prozeduren, Typen und Variablen deklarieren.

Getestetes Beispiel

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Status: Uebersicht / Navigation; keine eigenstaendige Laufzeitbehauptung ohne Unterseitenbeleg.

Praktische Hinweise

BASIC-Quelltext wird im PBXB64-Frontend direkt in die gemeinsame Zwischenrepräsentation übersetzt. Achten Sie deshalb besonders auf Datentypen, ByVal/ByRef-Übergabe, Zeichenkettenlängen und Laufzeitfehlerpfade.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • PBXB64 - BASIC-Sprachreferenz


BASIC-Eingabe/Ausgabe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Übersicht Hilfe zum PBXB64-Compiler

BASIC-Eingabe/Ausgabe

Konsolen- und Datei-E/A-Anweisungen.

Kategorie: Übersicht

Beschreibung

Konsolen- und Datei-E/A-Anweisungen.

Aufgabe dieses Kapitels

Dieses Kapitel sammelt die BASIC-Sprachmittel zu einem zusammenhängenden Arbeitsbereich. Es dient als Einstieg, wenn Sie nicht den exakten Befehlsnamen kennen, sondern eine Spracheigenschaft suchen.

Verwendung

Beginnen Sie mit der Tabelle unten und wechseln Sie dann zur Detailseite des einzelnen Befehls. Die Detailseiten enthalten Syntax, Hinweise zur PBXB64-Unterstützung, Getestetes Beispiel und Querverweise.

Befehlsübersicht

Befehl | Bereich
PRINT | Konsolen- und Datei-E/A-Anweisungen.
EINGABE | Konsolen- und Datei-E/A-Anweisungen.
OFFEN | Konsolen- und Datei-E/A-Anweisungen.
CLOSE | Konsolen- und Datei-E/A-Anweisungen.
ERHALTEN | Konsolen- und Datei-E/A-Anweisungen.
SETZEN | Konsolen- und Datei-E/A-Anweisungen.
SUCHEN | Konsolen- und Datei-E/A-Anweisungen.
ZEILENEINGABE | Konsolen- und Datei-E/A-Anweisungen.

Getestetes Beispiel

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Status: Uebersicht / Navigation; keine eigenstaendige Laufzeitbehauptung ohne Unterseitenbeleg.

Praktische Hinweise

BASIC-Quelltext wird im PBXB64-Frontend direkt in die gemeinsame Zwischenrepräsentation übersetzt. Achten Sie deshalb besonders auf Datentypen, ByVal/ByRef-Übergabe, Zeichenkettenlängen und Laufzeitfehlerpfade.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • PBXB64 - BASIC-Sprachreferenz


BASIC-Operatoren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Übersicht Hilfe zum PBXB64-Compiler

BASIC-Operatoren

Logische, bitweise und Vergleichsoperatoren.

Kategorie: Übersicht

Beschreibung

Logische, bitweise und Vergleichsoperatoren.

Aufgabe dieses Kapitels

Dieses Kapitel sammelt die BASIC-Sprachmittel zu einem zusammenhängenden Arbeitsbereich. Es dient als Einstieg, wenn Sie nicht den exakten Befehlsnamen kennen, sondern eine Spracheigenschaft suchen.

Verwendung

Beginnen Sie mit der Tabelle unten und wechseln Sie dann zur Detailseite des einzelnen Befehls. Die Detailseiten enthalten Syntax, Hinweise zur PBXB64-Unterstützung, Getestetes Beispiel und Querverweise.

Befehlsübersicht

Befehl | Bereich
UND | Logische, bitweise und Vergleichsoperatoren.
ODER | Logische, bitweise und Vergleichsoperatoren.
NICHT | Logische, bitweise und Vergleichsoperatoren.
XOR | Logische, bitweise und Vergleichsoperatoren.
EQV | Logische, bitweise und Vergleichsoperatoren.
IMP | Logische, bitweise und Vergleichsoperatoren.
MOD | Logische, bitweise und Vergleichsoperatoren.
WIE | Logische, bitweise und Vergleichsoperatoren.
IS | Logische, bitweise und Vergleichsoperatoren.

Getestetes Beispiel

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Status: Uebersicht / Navigation; keine eigenstaendige Laufzeitbehauptung ohne Unterseitenbeleg.

Praktische Hinweise

BASIC-Quelltext wird im PBXB64-Frontend direkt in die gemeinsame Zwischenrepräsentation übersetzt. Achten Sie deshalb besonders auf Datentypen, ByVal/ByRef-Übergabe, Zeichenkettenlängen und Laufzeitfehlerpfade.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • PBXB64 - BASIC-Sprachreferenz


BASIC-String-Funktionen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Übersicht Hilfe zum PBXB64-Compiler

BASIC-String-Funktionen

H&auml;ufige String-Manipulationsfunktionen.

Kategorie: Übersicht

Beschreibung

Häufige String-Manipulationsfunktionen.

Aufgabe dieses Kapitels

Dieses Kapitel sammelt die BASIC-Sprachmittel zu einem zusammenhängenden Arbeitsbereich. Es dient als Einstieg, wenn Sie nicht den exakten Befehlsnamen kennen, sondern eine Spracheigenschaft suchen.

Verwendung

Beginnen Sie mit der Tabelle unten und wechseln Sie dann zur Detailseite des einzelnen Befehls. Die Detailseiten enthalten Syntax, Hinweise zur PBXB64-Unterstützung, Getestetes Beispiel und Querverweise.

Befehlsübersicht

Befehl | Bereich
MITTLERER $ | Häufige String-Manipulationsfunktionen.
LINKS$ | Häufige String-Manipulationsfunktionen.
RECHTS$ | Häufige String-Manipulationsfunktionen.
INSTR | Häufige String-Manipulationsfunktionen.
LEN | Häufige String-Manipulationsfunktionen.
ASC | Häufige String-Manipulationsfunktionen.
CHR$ | Häufige String-Manipulationsfunktionen.
UCASE$ | Häufige String-Manipulationsfunktionen.
LCASE$ | Häufige String-Manipulationsfunktionen.
TRIM$ | Häufige String-Manipulationsfunktionen.
LTRIM$ | Häufige String-Manipulationsfunktionen.
RTRIM$ | Häufige String-Manipulationsfunktionen.
ERSETZEN$ | Häufige String-Manipulationsfunktionen.
STR$ | Häufige String-Manipulationsfunktionen.
VAL | Häufige String-Manipulationsfunktionen.

Getestetes Beispiel

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Status: Uebersicht / Navigation; keine eigenstaendige Laufzeitbehauptung ohne Unterseitenbeleg.

Praktische Hinweise

BASIC-Quelltext wird im PBXB64-Frontend direkt in die gemeinsame Zwischenrepräsentation übersetzt. Achten Sie deshalb besonders auf Datentypen, ByVal/ByRef-Übergabe, Zeichenkettenlängen und Laufzeitfehlerpfade.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • PBXB64 - BASIC-Sprachreferenz


BASIC-Variablen und -Bereich - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Übersicht Hilfe zum PBXB64-Compiler

BASIC-Variablen und -Bereich

Variablenmodifikatoren, &Uuml;bergabemodi und Lebensdauer.

Kategorie: Übersicht

Beschreibung

Variablenmodifikatoren, Übergabemodi und Lebensdauer.

Aufgabe dieses Kapitels

Dieses Kapitel sammelt die BASIC-Sprachmittel zu einem zusammenhängenden Arbeitsbereich. Es dient als Einstieg, wenn Sie nicht den exakten Befehlsnamen kennen, sondern eine Spracheigenschaft suchen.

Verwendung

Beginnen Sie mit der Tabelle unten und wechseln Sie dann zur Detailseite des einzelnen Befehls. Die Detailseiten enthalten Syntax, Hinweise zur PBXB64-Unterstützung, Getestetes Beispiel und Querverweise.

Befehlsübersicht

Befehl | Bereich
AS | Variablenmodifikatoren, Übergabemodi und Lebensdauer.
BYVAL | Variablenmodifikatoren, Übergabemodi und Lebensdauer.
BYREF | Variablenmodifikatoren, Übergabemodi und Lebensdauer.
ALIAS | Variablenmodifikatoren, Übergabemodi und Lebensdauer.
LIB | Variablenmodifikatoren, Übergabemodi und Lebensdauer.
NEU | Variablenmodifikatoren, Übergabemodi und Lebensdauer.
END | Variablenmodifikatoren, Übergabemodi und Lebensdauer.

Getestetes Beispiel

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Status: Uebersicht / Navigation; keine eigenstaendige Laufzeitbehauptung ohne Unterseitenbeleg.

Praktische Hinweise

BASIC-Quelltext wird im PBXB64-Frontend direkt in die gemeinsame Zwischenrepräsentation übersetzt. Achten Sie deshalb besonders auf Datentypen, ByVal/ByRef-Übergabe, Zeichenkettenlängen und Laufzeitfehlerpfade.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • PBXB64 - BASIC-Sprachreferenz


GRUNDLEGENDE Fehlerbehandlung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Übersicht Hilfe zum PBXB64-Compiler

GRUNDLEGENDE Fehlerbehandlung

Laufzeitfehlerkontrolle.

Kategorie: Übersicht

Beschreibung

Laufzeitfehlerkontrolle.

Aufgabe dieses Kapitels

Dieses Kapitel sammelt die BASIC-Sprachmittel zu einem zusammenhängenden Arbeitsbereich. Es dient als Einstieg, wenn Sie nicht den exakten Befehlsnamen kennen, sondern eine Spracheigenschaft suchen.

Verwendung

Beginnen Sie mit der Tabelle unten und wechseln Sie dann zur Detailseite des einzelnen Befehls. Die Detailseiten enthalten Syntax, Hinweise zur PBXB64-Unterstützung, Getestetes Beispiel und Querverweise.

Befehlsübersicht

Befehl | Bereich
FEHLER | Laufzeitfehlerkontrolle.
AUF FEHLER | Laufzeitfehlerkontrolle.
WIEDER AUFNEHMEN | Laufzeitfehlerkontrolle.
ERR | Laufzeitfehlerkontrolle.

Getestetes Beispiel

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Status: Uebersicht / Navigation; keine eigenstaendige Laufzeitbehauptung ohne Unterseitenbeleg.

Praktische Hinweise

BASIC-Quelltext wird im PBXB64-Frontend direkt in die gemeinsame Zwischenrepräsentation übersetzt. Achten Sie deshalb besonders auf Datentypen, ByVal/ByRef-Übergabe, Zeichenkettenlängen und Laufzeitfehlerpfade.

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.

Siehe auch

  • PBXB64 - BASIC-Sprachreferenz


GRUNDLEGENDE mathematische Funktionen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Übersicht Hilfe zum PBXB64-Compiler

GRUNDLEGENDE mathematische Funktionen

Numerische Funktionen und Konstanten.

Kategorie: Übersicht

Beschreibung

Numerische Funktionen und Konstanten.

Aufgabe dieses Kapitels

Dieses Kapitel sammelt die BASIC-Sprachmittel zu einem zusammenhängenden Arbeitsbereich. Es dient als Einstieg, wenn Sie nicht den exakten Befehlsnamen kennen, sondern eine Spracheigenschaft suchen.

Verwendung

Beginnen Sie mit der Tabelle unten und wechseln Sie dann zur Detailseite des einzelnen Befehls. Die Detailseiten enthalten Syntax, Hinweise zur PBXB64-Unterstützung, Getestetes Beispiel und Querverweise.

Befehlsübersicht

Befehl | Bereich
ABS | Numerische Funktionen und Konstanten.
SGN | Numerische Funktionen und Konstanten.
INT | Numerische Funktionen und Konstanten.
FIX | Numerische Funktionen und Konstanten.
RUNDEN | Numerische Funktionen und Konstanten.
DECKE | Numerische Funktionen und Konstanten.
BODEN | Numerische Funktionen und Konstanten.
SIN | Numerische Funktionen und Konstanten.
COS | Numerische Funktionen und Konstanten.
TAN | Numerische Funktionen und Konstanten.
ATN | Numerische Funktionen und Konstanten.
SQR | Numerische Funktionen und Konstanten.
EXP | Numerische Funktionen und Konstanten.
PROTOKOLL | Numerische Funktionen und Konstanten.
RND | Numerische Funktionen und Konstanten.
RANDOMISIEREN | Numerische Funktionen und Konstanten.

Getestetes Beispiel

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Status: Uebersicht / Navigation; keine eigenstaendige Laufzeitbehauptung ohne Unterseitenbeleg.

Praktische Hinweise

BASIC-Quelltext wird im PBXB64-Frontend direkt in die gemeinsame Zwischenrepräsentation übersetzt. Achten Sie deshalb besonders auf Datentypen, ByVal/ByRef-Übergabe, Zeichenkettenlängen und Laufzeitfehlerpfade.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • PBXB64 - BASIC-Sprachreferenz


GRUNDLEGENDER Kontrollfluss - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Übersicht Hilfe zum PBXB64-Compiler

GRUNDLEGENDER Kontrollfluss

Anweisungen, die die Programmausf&uuml;hrung steuern.

Kategorie: Übersicht

Beschreibung

Anweisungen, die die Programmausführung steuern.

Aufgabe dieses Kapitels

Dieses Kapitel sammelt die BASIC-Sprachmittel zu einem zusammenhängenden Arbeitsbereich. Es dient als Einstieg, wenn Sie nicht den exakten Befehlsnamen kennen, sondern eine Spracheigenschaft suchen.

Verwendung

Beginnen Sie mit der Tabelle unten und wechseln Sie dann zur Detailseite des einzelnen Befehls. Die Detailseiten enthalten Syntax, Hinweise zur PBXB64-Unterstützung, Getestetes Beispiel und Querverweise.

Befehlsübersicht

Befehl | Bereich
IF...THEN...ELSE | Anweisungen, die die Programmausführung steuern.
SELECT CASE | Anweisungen, die die Programmausführung steuern.
FOR...WEITER | Anweisungen, die die Programmausführung steuern.
DO...LOOP | Anweisungen, die die Programmausführung steuern.
WHILE...WENDE | Anweisungen, die die Programmausführung steuern.
GOTO | Anweisungen, die die Programmausführung steuern.
GOSUB...RÜCKKEHR | Anweisungen, die die Programmausführung steuern.
VERSUCHEN...FANGEN...ENDLICH | Anweisungen, die die Programmausführung steuern.
AUSFAHRT | Anweisungen, die die Programmausführung steuern.
WEITER | Anweisungen, die die Programmausführung steuern.

Getestetes Beispiel

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Status: Uebersicht / Navigation; keine eigenstaendige Laufzeitbehauptung ohne Unterseitenbeleg.

Praktische Hinweise

BASIC-Quelltext wird im PBXB64-Frontend direkt in die gemeinsame Zwischenrepräsentation übersetzt. Achten Sie deshalb besonders auf Datentypen, ByVal/ByRef-Übergabe, Zeichenkettenlängen und Laufzeitfehlerpfade.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • PBXB64 - BASIC-Sprachreferenz


PBXB64 - BASIC-Sprachreferenz - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Übersicht Hilfe zum PBXB64-Compiler

PBXB64 - BASIC-Sprachreferenz

PBXB64 unterst&uuml;tzt einen wachsenden PowerBASIC-kompatiblen Dialekt. V12+ f&uuml;gt Typsuffixe, Literalpr&auml;fixe, #DEFINE/#COMPILE, dynamische Arrays (DIM/REDIM/ERASE), OPTIONALE Parameter, SELECT CASE mit IS/TO, ON GOTO/GOSUB, DATA/READ/RESTORE, CODEPTR/FUNCPTR und &uuml;ber 60 integrierte Funktionen hinzu.

Kategorie: Übersicht

Beschreibung

PBXB64 unterstützt einen wachsenden PowerBASIC-kompatiblen Dialekt. V12+ fügt Typsuffixe, Literalpräfixe, #DEFINE/#COMPILE, dynamische Arrays (DIM/REDIM/ERASE), OPTIONALE Parameter, SELECT CASE mit IS/TO, ON GOTO/GOSUB, DATA/READ/RESTORE, CODEPTR/FUNCPTR und über 60 integrierte Funktionen hinzu.

Referenzseiten

Diese Seite ist die Uebersicht zum Frontend. Die verlinkten Einzelseiten enthalten Syntax, getestete Beispiele, Status und Grenzen fuer die jeweiligen Befehle oder Sprachkonstrukte.

  • Kontrollfluss
  • Deklarationen
  • Variablen und Bereich
  • Eingabe/Ausgabe
  • Operatoren
  • String-Funktionen
  • Mathematik-Funktionen
  • Fehlerbehandlung

Programm-Einstiegspunkt

FUNCTION PBMAIN() AS LONG ... END FUNCTION
FUNCTION PBMAIN() AS LONG
    FUNCTION = 0   ' Return code
END FUNCTION

Variablendeklarationen

LOCAL x AS LONG          ' Stack variable (explicit type)
LOCAL s AS STRING        ' Heap-managed string
LOCAL f AS SINGLE        ' 32-bit float
DIM arr(10) AS LONG      ' Static array (0-10)
GLOBAL g AS LONG         ' Module-level global

' Type suffixes (PBWin style)
LOCAL intvar%            ' INTEGER via % suffix
LOCAL longvar&           ' LONG via & suffix
LOCAL sngvar!            ' SINGLE via ! suffix
LOCAL dblvar#            ' DOUBLE via # suffix
LOCAL strvar$            ' STRING via $ suffix
LOCAL curvar##           ' CURRENCY via ## suffix
LOCAL cuxvar?#           ' CURRENCYX via ?# suffix
LOCAL extvar??           ' EXTENDED via ?? suffix

Literale Präfixe

x = &HFF                 ' Hex: 255
x = &O77                 ' Octal: 63
x = &B1010               ' Binary: 10

Entspricht

%WIN_WIDTH  = 800        ' Integer equate
%MAX_ITEMS  = 100
$APP_NAME   = "MyApp"    ' String equate

' Usage in expressions:
w = %WIN_WIDTH
n = %MAX_ITEMS

Zuweisung und Betreiber

x = 42
s = "Hello World"
x = x + 1
y = a * b - c / d
z = (x > 0) AND (y < 10)

PRINT-Anweisung

PRINT-Ausdruck [; Ausdruck] [, Ausdruck]
PRINT "Hello"
PRINT "A"; "B"       ' Semicolon: no separator
PRINT "A", "B"       ' Comma: tab stop (~8 chars)
PRINT TAB(4); "D"    ' TAB(n): pad with spaces

Kontrollfluss

' IF/THEN/ELSE
IF x > 0 THEN
    PRINT "positive"
ELSE
    PRINT "negative"
END IF

' FOR/NEXT
FOR i = 1 TO 10 STEP 2
    PRINT i
NEXT i

' WHILE/WEND
WHILE x < 100
    x = x * 2
WEND

WinAPI-Integration

#INCLUDE "windows_core.pbi"

FUNCTION PBMAIN() AS LONG
    CALL MessageBoxA(0, "Hello", "PBXB64", 0)
    CALL Sleep(1000)
    FUNCTION = 0
END FUNCTION

String-Operationen (V7/V8)

LOCAL s AS STRING, t AS STRING
s = "Hello"
t = s + " World"     ' Concatenation
s = ""               ' Reassignment frees old heap string automatically
s = LEFT$(t, 5)      ' Built-in string functions

Makros (V9+)

PBXB64 unterstützt mehrzeilige MACRO-Definitionen mit Parameterersetzung, lokalen Labels und MACROTEMP-Variablen.

Mehrzeiliges MAKRO

MACRO AddEm(a, b, result)
    result = a + b
END MACRO

' Usage:
AddEm x, y, z         ' Expands to: z = x + y

MACROTEMP (lokale Variablen)

MACROTEMP deklariert Variablen, die pro Erweiterung eindeutige Namen erhalten, wodurch Kollisionen verhindert werden.

MACRO DoSwap(p, q)
    MACROTEMP t
    LOCAL t AS LONG
    t = p : p = q : q = t
END MACRO

DoSwap x, y          ' t_1 = x; x = y; y = t_1
DoSwap a, b          ' t_2 = a; a = b; b = t_2

Lokale Etiketten

Beschriftungen in Makros werden automatisch entstellt, um Konflikte zwischen Erweiterungen zu vermeiden.

MACRO CheckVal(n)
    IF n > 0 THEN GOTO Done
    n = 0
    Done:
END MACRO

CheckVal 42           ' goto Done_1 ... Done_1:
CheckVal -1           ' goto Done_2 ... Done_2:

%PARAMCOUNT

Gibt die Anzahl der an das Makro übergebenen Argumente zurück.

MACRO LogArgs(a, b, c)
    x = %PARAMCOUNT     ' x = 3
END MACRO

Präprozessoranweisungen (V12+)

#COMPILE EXE              ' Output type (EXE/DLL/CONSOLE)
#DEFINE MAX_SIZE 100       ' Text replacement (resolved in expressions)
#UNDEF MAX_SIZE            ' Remove a #DEFINE
#INCLUDE ONCE "file.pbi"  ' Include with guard against re-inclusion

' Conditional compilation with comparison operators
%VERSION = 5
#IF %VERSION >= 3
    PRINT "Version 3+"
#ELSEIF %VERSION = 2
    PRINT "Version 2"
#ELSE
    PRINT "Version 1"
#ENDIF

Dynamische Arrays (V12+)

DIM arr(5) AS LONG         ' Allocate 5-element heap array
arr(2) = 100                ' Write to element
x = arr(2)                  ' Read from element
REDIM arr(10) AS LONG       ' Resize (discards old data)
REDIM PRESERVE arr(20)     ' Resize (preserves old data)
ERASE arr()                 ' Free heap buffer

' Bounds
n = LBOUND(arr())           ' Lower bound (usually 0)
n = UBOUND(arr())           ' Upper bound = element count - 1

OPTIONALE Parameter (V12+)

FUNCTION add(a AS LONG, OPTIONAL b AS LONG) AS LONG
    FUNCTION = a + b        ' b defaults to 0 if not passed
END FUNCTION

result = add(10)            ' b = 0
result = add(10, 20)        ' b = 20

ON GOTO / ON GOSUB (V12+)

ON choice GOTO lab1, lab2, lab3     ' Computed goto
ON choice GOSUB sub1, sub2, sub3    ' Computed gosub
DATA 1, 2, 3, 4, 5                   ' Data block
READ a, b, c                         ' Read from data
RESTORE                              ' Reset to start of data

Verschachtelung und Grenzen

  • Maximale Verschachtelungstiefe: 16 Ebenen
  • Makros werden vor dem Hauptdurchlauf vorab gescannt (Weiterleitungsreferenzen OK)
  • Bei der Parameterersetzung wird an der Wortgrenze die Groß-/Kleinschreibung nicht beachtet
Notiz:Einzeilige MACRO-SyntaxMACRO name(x) = expressiongibt ein C ab#defineund wird auch unterstützt.
String-Lifetime-Management:V7/V8 gibt automatisch Heap-gestützte STRING-Werte bei Neuzuweisung vor RETURN, EXIT FUNCTION und natürlichem Funktionsende frei. Kein manuelles STRFREE erforderlich.

Wide-Integer-Typen (V8+)

PBXB64 unterstützt native 128-Bit-, 256-Bit- und 512-Bit-Ganzzahlen mit und ohne Vorzeichen mit Inline-x64-Arithmetik – keine Laufzeitbibliotheksaufrufe.

LOCAL a AS INT128          ' 128-bit signed
LOCAL b AS I128            ' Alias for INT128
LOCAL c AS UINT128         ' 128-bit unsigned
LOCAL d AS U128            ' Alias for UINT128

LOCAL e AS INT256          ' 256-bit signed
LOCAL f AS I256            ' Alias for INT256
LOCAL g AS UINT256         ' 256-bit unsigned
LOCAL h AS U256            ' Alias for UINT256

LOCAL i AS INT512          ' 512-bit signed
LOCAL j AS I512            ' Alias for INT512
LOCAL k AS UINT512         ' 512-bit unsigned
LOCAL l AS U512            ' Alias for UINT512

' All standard arithmetic operators are supported:
a = 1000000000000000000000  ' 10^21
b = a + a                   ' 2*10^21
c = a * b                   ' 2*10^42 (fits in 128 bits)

MODUL-System (V8+)

Kapseln Sie Code mit Sichtbarkeitskontrolle in benannte Bereiche.

MODULE MyModule
  ' Private by default — only visible inside this module
  FUNCTION PrivateHelper() AS LONG
      FUNCTION = 42
  END FUNCTION

  ' Public — callable from outside via module prefix
  PUBLIC FUNCTION PublicFunc() AS LONG
      FUNCTION = PrivateHelper()
  END FUNCTION

  ' Module-scoped equates and globals
  %MY_CONST = 100
  GLOBAL gCounter AS LONG
END MODULE

' Call from another module or the main program:
FUNCTION PBMAIN() AS LONG
    result = MyModule.PublicFunc()   ' OK: PUBLIC
    ' result = MyModule.PrivateHelper()  ' ERROR: PRIVATE
    FUNCTION = result
END FUNCTION

Native H-Lib-Container (V8+)

23 Containerfamilien mit automatischer Initialisierung, Methodenverteilungssyntax und UDT-Nutzlastunterstützung.

LOCAL q AS LNQUE        ' FIFO queue of LONGs
q = q.New
q.Push 10
q.Push 20
PRINT q.Pop             ' 10
q.Final

LOCAL h AS LNHSH        ' Hash table (LONG key, LONG value)
h = h.New
h.Set(1, 100)
PRINT h.Get(1)          ' 100
h.Final

' Subscript access:
LOCAL a AS LNARR
a = a.New
a[0] = 42
PRINT a[0]              ' 42
a.Final

LIKE/ALIKE-Operator (V8+)

Mustervergleich mit Platzhaltern und Zeichenklassen.

IF "Hello" LIKE "H*" THEN          ' true: * matches any sequence
IF "abc" LIKE "a[bc]c" THEN       ' true: bracket list
IF "abc" LIKE "a[!b]c" THEN       ' false: complemented class
IF "abc" LIKE "a[a-z]c" THEN       ' true: character range
IF "test.txt" LIKE "*.txt" THEN    ' true: wildcard extension

' ALIKE is always case-insensitive:
IF "Hello" ALIKE "h*" THEN         ' true

Qualifizierte V15-Erweiterungen

  • Native DLL-/Export-Ausgabe und Import-Library-Erzeugung sind durch fokussierte Linker-Spuren belegt. #COMPILE SLL bleibt eine getrennte native Archiv-Kompatibilitätsoberfläche.
  • Die StringX-Funktionen COMPARE, COMPARE$, LIKE$, MATCH$, REGEX$, REGEXREPLACE$, FIND$, FINDREV$, REPLACES$ und REMOVES$ besitzen positive und negative Tests.
  • REGEXPR und REGREPL verwenden die eingebettete REGEXPR-v1.25.0-Engine über die PB-Dialektschicht.
  • TIMEBASE unterstützt Abfrage und Zuweisung. ROTATE besitzt getestete Ausdrucks- und Anweisungsformen mit strikten Fehlerdiagnosen.
  • Fokussierte native Abdeckung umfasst TAB-Steuerelemente, begrenzte DIALOG-/GUI-Operationen, XPRINT/LPRINT-Druckerfunktionen, Preview-Callbacks und SAPI-gestütztes SAY.
  • COM/OOP-Abdeckung umfasst Vererbung/Override, ausgewählte echte Automation-Server-Proben, BYREF-Ausgaben, OBJRESULT$ und threadlokale IDISPINFO/EXCEPINFO-Details.
  • Qualifizierte Metaanweisungen erzeugen Code oder Konfiguration wie dokumentiert. Nicht unterstützte Typbibliotheks-Ausgabe bricht mit klarer Diagnose ab.

Bekannte Einschränkungen (V15)

  • Vollständige WinAPI .pbi-Include-Bibliothek verfügbar inincludes/(1.272 Header)
  • DLL-Ausgabe mit #COMPILE DLL und exportierten PB-Funktionen ist fuer den getesteten nativen PE-/Exporttabellen-Teil verfuegbar; #COMPILE SLL bleibt offen
  • Die vollständige PowerBASIC-Kompatibilität ist noch in Arbeit
← B64-Referenz C-Sprachreferenz → Beispiele ansehen
PBXB64-Compiler-Dokumentation · V15 · Zuletzt aktualisiert am 28.07.2026
Für Fragen und Beiträge:smart-package.com

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Überblick vom Quelltext bis zur ausführbaren Datei über die PBXB64-Frontends.

Überblick vom Quelltext bis zur ausführbaren Datei über die PBXB64-Frontends.


Variablen & Gültigkeitsbereich - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Variablen & Gültigkeitsbereich Hilfe zum PBXB64-Compiler

Variablen & Gültigkeitsbereich

Themen in diesem Kapitel

ALIAS AS BYREF BYVAL END ? PBXB64-Compiler-Hilfe LIB NEU


ALIAS - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Variablen & Gültigkeitsbereich Hilfe zum PBXB64-Compiler

ALIAS

Weist einer Prozedur einen alternativen Export- oder Importnamen zu.

Kategorie: Variablen & Gültigkeitsbereich

Syntax

DECLARE SUB ProcName ALIAS "ExportName" (...)
DECLARE FUNCTION ProcName ALIAS "ExportName" (...) AS Type

Beschreibung

Weist einer Prozedur einen alternativen Export- oder Importnamen zu.

Kind: Modifikator | Category: Procedures

PBXB64 Status: VERFÜGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Description

ALIAS bindet einen PowerBASIC-Bezeichner an einen bestimmten externen Symbolnamen. Das ist der Name, der in der DLL-Exporttabelle oder bei der Importauflösung verwendet wird.

Nutzen Sie ALIAS, wenn der externe Name case-sensitiv ist, Zeichen enthält, die in PowerBASIC-Bezeichnern unzulässig sind, oder einfach aus Gründen der Lesbarkeit abweichen soll.

Der interne Name und der externe Name müssen nicht identisch sein. In der Praxis ist ALIAS das Schlüsselwort, das DECLARE-Zeilen für echte WinAPI- und DLL-Imports brauchbar macht.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


AS - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Variablen & Gültigkeitsbereich Hilfe zum PBXB64-Compiler

AS

H&auml;ngt einen expliziten Typ an eine Variable, einen Parameter, einen R&uuml;ckgabewert oder ein Feld.

Kategorie: Variablen & Gültigkeitsbereich

Syntax

name AS TypeName
FUNCTION Name(...) AS TypeName
DECLARE SUB Proc(BYVAL value AS LONG)

Beschreibung

Hängt einen expliziten Typ an eine Variable, einen Parameter, einen Rückgabewert oder ein Feld.

Kind: Modifikator | Category: Variables & Scope

PBXB64 Status: VERFÜGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Description

AS ist das moderne Typ-Annotation-Schlüsselwort in PowerBASIC. Es erscheint in Deklarationen, Prozedursignaturen, UDT-Feldern und Array-Definitionen.

Verwenden Sie AS, wenn der Typ an der Deklarationsstelle klar sichtbar sein soll und nicht über ein Suffix erraten werden muss. Das macht gemischte Deklarationen leichter lesbar.

AS arbeitet mit normalen Skalar-Typen, Zeichenketten, Zeigern, OBJECT, TYPEs und UNIONs. Es ist auch die Form, die in den stärkeren DECLARE- und FUNCTION-Beispielen benutzt wird.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


BYREF - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Variablen & Gültigkeitsbereich Hilfe zum PBXB64-Compiler

BYREF

&Uuml;bergibt die Adresse der Variablen des Aufrufers, damit die Prozedur sie direkt lesen oder &auml;ndern kann.

Kategorie: Variablen & Gültigkeitsbereich

Syntax

SUB Proc(BYREF value AS LONG)
FUNCTION Proc(BYREF value AS STRING) AS LONG

Beschreibung

Übergibt die Adresse der Variablen des Aufrufers, damit die Prozedur sie direkt lesen oder ändern kann.

Kind: Modifikator | Category: Procedures

PBXB64 Status: VERFÜGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Description

BYREF übergibt die Speicherstelle des Aufrufers statt einer Kopie. Die Prozedur sieht und ändert damit dieselbe Variable, die der Aufrufer besitzt.

Verwenden Sie BYREF, wenn die Prozedur mehr als einen Ergebniswert zurückgeben, einen Puffer des Aufrufers in place ändern oder eine große Struktur bzw. Zeichenkette nicht kopieren soll.

Wenn ein BYREF-Parameter optional ist, prüfen Sie ihn mit ISMISSING, bevor Sie darauf zugreifen. Wurde der Parameter weggelassen, kann der Slot Null sein und darf nicht blind dereferenziert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


BYVAL - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Variablen & Gültigkeitsbereich Hilfe zum PBXB64-Compiler

BYVAL

&Uuml;bergibt ein Argument als Wert statt als Verweis auf den Speicher des Aufrufers.

Kategorie: Variablen & Gültigkeitsbereich

Syntax

SUB Proc(BYVAL value AS LONG)
FUNCTION Proc(BYVAL value AS STRING) AS LONG

Beschreibung

Übergibt ein Argument als Wert statt als Verweis auf den Speicher des Aufrufers.

Kind: Modifikator | Category: Procedures

PBXB64 Status: VERFÜGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Description

BYVAL übergibt eine Kopie des Arguments an die Prozedur. Änderungen in der Prozedur wirken nicht auf die Variable des Aufrufers zurück.

Verwenden Sie BYVAL für kleine Skalarwerte, wenn der Aufruf isoliert bleiben soll oder die Prozedur den Wert nur lesen muss. Es ist auch die normale Form für rohe numerische Handles und viele API-Parameter.

Wenn eine Prozedur einen zeigerartigen Wert erwartet, deklarieren Sie diesen Parameter ausdrücklich BYVAL. So bleibt der Aufrufvertrag klar.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


END ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Variablen & Gültigkeitsbereich Hilfe zum PBXB64-Compiler

END ? PBXB64-Compiler-Hilfe

Programm sofort beenden.

Kategorie: Variablen & Gültigkeitsbereich | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

END [ nErrorLevel& ]

Beschreibung

Programm sofort beenden.

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Normalerweise werden PowerBASIC-Programme beendet, wenn Sie die Funktion PBMAIN oder WINMAIN() beenden. Es sollte immer Ihr Ziel sein, Programme auf diese Weise zu beenden, damit der Compiler und das Betriebssystem alles tun k?nnen, um alles in einem geordneten Zustand zu belassen.

Die END-Anweisung ist eine alternative Beendigungsmethode, die nur in begrenzten F?llen verwendet werden sollte. Dies kann in Notsituationen hilfreich sein, beispielsweise bei einem schwerwiegenden Fehler wie ?Nicht gen?gend Speicher?. Aus Gr?nden der Kompatibilit?t ist es auch (vor?bergehend) bei der Konvertierung von DOS-Programmen n?tzlich. Sobald die Konvertierung jedoch abgeschlossen ist, sollten Sie sie so schnell wie m?glich entfernen.

Der optionale nErrorLevel&-Wert hat einen effektiven Bereich von 0 bis 255. Batch-Dateien k?nnen ?ber den Batch-Befehl IF [NOT] ERRORLEVEL auf das Ergebnis reagieren.

Einschr?nkungen

END darf in einer DLL nicht verwendet werden. END ist nur f?r die vor?bergehende Verwendung bei der Konvertierung von DOS-Programmen in Windows vorgesehen. Sie sollten es so schnell wie m?glich in die Standard-EXIT-FUNCTION-Methode konvertieren. Dies sollte vermieden werden, solange COM-Objekte aktiv sind.

Praktische Verwendung

END gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Siehe auch

  • EXIT � PBXB64-Compiler-Hilfe
  • PBMAIN " PBXB64-Compiler-Hilfe
  • WINMAIN
  • Hilfe zum PBXB64-Compiler


LIB - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Variablen & Gültigkeitsbereich Hilfe zum PBXB64-Compiler

LIB

Nimmt den Modulnamen auf, der eine importierte Prozedur enth&auml;lt.

Kategorie: Variablen & Gültigkeitsbereich

Syntax

DECLARE FUNCTION ProcName LIB "module.dll" ALIAS "ExportName" (...) AS Type

Beschreibung

Nimmt den Modulnamen auf, der eine importierte Prozedur enthält.

Kind: Modifikator | Category: Procedures

PBXB64 Status: VERFÜGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Description

LIB gibt die DLL oder das Modul an, aus dem eine importierte Routine aufgelöst wird. In modernerem Code ist es die alte Schreibweise von IMPORT, bleibt aber für die Kompatibilität wichtig.

Die meisten externen Funktionsdeklarationen benutzen LIB zusammen mit ALIAS, damit der Compiler sowohl den Bibliotheksnamen als auch den exakten Exportnamen kennt.

Verwenden Sie den vollständigen Modulnamen, wenn es darauf ankommt. Zur Laufzeit wird das Modul geladen und das Symbol aufgelöst.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


NEU - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Variablen & Gültigkeitsbereich Hilfe zum PBXB64-Compiler

NEU

Erzeugt eine neue Objektinstanz oder einen kompatiblen Referenzwert.

Kategorie: Variablen & Gültigkeitsbereich

Syntax

objectVar = NEW PROGID("Class.Name")
objectVar = NEW ClassName

Beschreibung

Erzeugt eine neue Objektinstanz oder einen kompatiblen Referenzwert.

Kind: Operator | Category: Data Types & Variables

PBXB64 Status: VERFÜGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Description

NEU ist der Erzeugungsschritt im objektorientierten Teil von PBXB64. Er erstellt eine frische Instanz und liefert eine Referenz, die einer OBJECT-Variablen zugewiesen werden kann.

Verwenden Sie NEU zusammen mit OBJECT, PROGID$ und den klassenbezogenen Anweisungen, wenn Sie eine reale Instanz statt eines Null-Platzhalters brauchen.

Andere Befehlsfamilien haben ihre eigenen NEU-Formen, zum Beispiel DIALOG NEW, FONT NEW, GRAPHIC BITMAP NEW und MENU NEW. Diese Seiten dokumentieren ihre eigenen Formen; diese Seite behandelt das Objektkonstrukt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


Deklarationen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Deklarationen Hilfe zum PBXB64-Compiler

Deklarationen

Themen in diesem Kapitel

DECLARE ? PBXB64-Compiler-Hilfe DIM ? PBXB64-Compiler-Hilfe ENUM/END ENUM-Anweisungen ? PBXB64-Compiler-Hilfe FUNCTION / END FUNCTION GETEILT GLOBAL ? PBXB64-Compiler-Hilfe LOCAL � PBXB64-Compiler-Hilfe REDIM ? PBXB64-Compiler-Hilfe STATIC ? PBXB64-Compiler-Hilfe SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe TYP/ENDTYP ? PBXB64-Compiler-Hilfe UNION / END UNION


DECLARE ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Deklarationen Hilfe zum PBXB64-Compiler

DECLARE ? PBXB64-Compiler-Hilfe

Deklarieren Sie explizit a

Kategorie: Deklarationen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DECLARE SUB ProcName [ALIAS " AliasName "] [( arguments )] < Descriptors >
DECLARE FUNCTION ProcName [ALIAS " AliasName "] [( arguments )] < Descriptors > AS RetType
DECLARE CALLBACK FUNCTION ProcName [[()] AS LONG]
DECLARE THREAD FUNCTION ProcName (BYVAL var AS (LONG | DWORD}) AS {LONG | DWORD}

Beschreibung

Deklarieren Sie explizit a

Typ:Anweisung |Kategorie: Procedures

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die DECLARE-Anweisung besteht aus folgenden Teilen:

ProcName

Der Name der Sub oder Funktion, die deklariert werden soll. Bei Funktionen kann anstelle der [AS RetType]-Klausel ein Typbezeichner angeh?ngt werden (genau wie ein gew?hnlicher Variablenname), um den Datentyp des R?ckgabewerts der Funktion anzugeben.

Zuk?nftige Versionen von PowerBASIC unterst?tzen keine Typspezifizierersymbole f?r den Funktionsr?ckgabetyp. Geben Sie den R?ckgabedatentyp mit einer expliziten AS RetType-Klausel in allen DECLARE- und FUNCTION-Definitionen an, um zuk?nftige Kompatibilit?t sicherzustellen.

Eine Alias-Klausel kann verwendet werden, um einen alternativen Namen anzugeben, der f?r importierte oder exportierte Prozeduren verwendet werden soll. Dadurch k?nnen Sie mit externen Modulen (DLL oder EXE) unter Verwendung eines anderen Prozedurnamens interagieren. Der Aliasname muss durch ein Zeichenfolgenliteral angegeben werden, das den Namen und die Gro?-/Kleinschreibung der Prozedur in der externen DLL bereitstellt.

Diese Option ist besonders n?tzlich, wenn Sie einen langen Namen abk?rzen m?chten oder wenn der urspr?ngliche Name einer Funktion Zeichen enth?lt, die in PowerBASIC unzul?ssig sind. Der Aliasname ist der tats?chliche Name, der im anderen Modul verwendet wird, w?hrend ProcName das Wort ist, das Sie in Ihrem PowerBASIC-Programm verwenden. Zum Beispiel:

DECLARE SUB ShortName ALIAS ?VeryLongProcName?()

DECLARE FUNCTION LegalName ALIAS ?Illegal$Name?()

Obwohl ein Proc-Name eindeutig sein muss, k?nnen Sie denselben AliasName in mehreren Deklarationen verwenden. Dies ist besonders n?tzlich, um AS ANY in F?llen zu vermeiden, in denen eine Prozedur darauf ausgelegt ist, mehrere unterschiedliche Parametertypen zu empfangen.

DEKLARIEREN SIE DIE FUNCTION AddAtom LIB ?KERNEL32.DLL? ALIAS ?AddAtomA? (lpString AS STRINGZ) ALS WORD

Deklarieren Sie die Funktion AddIntAtom LIB ?KERNEL32.DLL? ALIAS ?AddAtomA? (BYVAL lpString AS DWORD) ALS WORD

Die ALIAS-Klausel ist sehr wichtig beim Importieren oder Exportieren von Subs und Funktionen aus DLLs. Das Weglassen der ALIAS-Klausel oder die falsche Gro?schreibung des Aliasnamens sind h?ufige Ursachen f?r Probleme beim Laden von DLLs. Weitere Informationen finden Sie in den Abschnitten SUB und FUNCTION.

Deskriptoren

Sie k?nnen optional ein oder mehrere Deskriptorw?rter hinzuf?gen (Import, Export, Common, Private, ThreadSafe, BDecl, CDecl, SDecl), um bestimmte Funktionen bereitzustellen. Sie k?nnen der DECLARE als durch Kommas getrennte Liste hinzugef?gt werden. Sie sollten beachten, dass sich einige davon gegenseitig ausschlie?en.

IMPORT

Ein Zeichenfolgenliteral oder Equate, das den Namen des Moduls angibt, in dem sich eine importierte Prozedur befindet. Dadurch k?nnen Sie Subs oder Funktionen aufrufen, die sich in DLLs befinden. Das alte Wort LIB kann durch IMPORT ersetzt werden.

EXPORT

Dieser Deskriptor identifiziert eine Unter- oder Funktion, auf die zwischen Dynamic Link Libraries (DLLs) zugegriffen werden kann, und/oder die ausf?hrbare Hauptdatei, die sie verkn?pft. Wenn eine Prozedur nicht mit EXPORT markiert ist, wird sie vor diesen anderen Modulen ausgeblendet. Das EXPORT-Attribut kann zu einer an anderer Stelle definierten Unter-/Funktion hinzugef?gt werden, indem EXPORT in einer DECLARE-Anweisung angegeben wird. EXPORT kann sogar zu einer Unterfunktion/Funktion in einer SLL mit einer DECLARE im Hostmodul hinzugef?gt werden.

COMMON

Eine GEMEINSAME Subfunktion/Funktion ist eine Funktion, die zwischen verkn?pften Einheitenmodulen (Host oder SLL) aufgerufen werden kann. Wenn die gemeinsame Unter-/Funktionseinheit in diesem Modul nicht vorhanden ist, wird davon ausgegangen, dass sie in einem separaten verkn?pften Modul (Host oder SLL) gefunden wird. Es ist nicht erforderlich, eine gemeinsame Sub- oder Funktion im Host-Modul zu deklarieren. Wenn Sie sich daf?r entscheiden, ist es im Allgemeinen ratsam, den COMMON-Deskriptor wegzulassen, da sein Vorhandensein eine Verkn?pfung der SLL erzwingt, unabh?ngig davon, ob dies erforderlich ist oder nicht.

PRIVAT

Eine private Unter-/Funktionsfunktion ist eine Funktion, auf die nur innerhalb des aktuellen PowerBASIC-Programms oder der aktuellen PowerBASIC-Bibliothek zugegriffen werden kann. Auch wenn nichts angegeben ist, ist dies der Standardbetriebsmodus.

FADENSICHER

Mit der THREADSAFE-Option richtet PowerBASIC automatisch eine Semaphore ein, die es jeweils nur einem Thread erm?glicht, die Sub/Funktion auszuf?hren. Andere Aufrufer m?ssen warten, bis der erste Thread die THREADSAFE-Prozedur verl?sst, bevor sie beginnen d?rfen.

Gibt an, dass die deklarierte Prozedur die alte BASIC/Pascal-Aufrufkonvention verwendet. Parameter werden von links nach rechts auf dem Stapel abgelegt und die aufgerufene Prozedur ist f?r deren Entfernung verantwortlich. BDECL sollte nur verwendet werden, wenn dies zur Anpassung an externe Module erforderlich ist.

Gibt an, dass die deklarierte Prozedur die C-Aufrufkonvention verwendet. Parameter werden von rechts nach links auf den Stapel verschoben und der aufrufende Code ist f?r deren Entfernung verantwortlich. CDECL sollte nur verwendet werden, wenn dies zur Anpassung an externe Module erforderlich ist.

Wenn eine Prozedur importiert oder exportiert wird, erstellt PowerBASIC automatisch einen ALIAS in Kleinbuchstaben, dem ein Unterstrich vorangestellt ist. Die folgenden beiden Deklarationen sind ?quivalent und geben an, wie der Standard-ALIAS-Name von PowerBASIC erstellt wird:

DECLARE SUB C_Function CDECL ()

DECLARE SUB C_Function CDECL ALIAS ?_c_function? ()

Dies ist die Standardkonvention und sollte nach M?glichkeit verwendet werden. SDECL (und sein Synonym STDCALL) spezifiziert die ?Standard Calling Convention? f?r Windows. Parameter werden von rechts nach links auf den Stapel verschoben und die aufgerufene Prozedur ist f?r deren Entfernung verantwortlich.

R?CKRUF

R?ckruffunktionen sind f?r die Verwendung mit Dynamic Dialog Tools (DDT)-Funktionen reserviert. Es sollten keine Parameter angegeben werden, da Daten mit den CALLBACK-Funktionen ( CB ) abgerufen werden. Aus Gr?nden der ?bersichtlichkeit k?nnen Klammern und der R?ckgabetyp AS LONG hinzugef?gt werden.

FADEN

Thread-Funktionen sind f?r die Verwendung mit der THREAD CREATE-Anweisung reserviert. Es muss genau einen Long-Integer-Parameter als Wert annehmen (BYVAL LONG) und einen Long-Integer-Wert zur?ckgeben (AS LONG). Es ist zul?ssig, diese beiden Elemente durch DWORD zu ersetzen.

?bergabe von Parametern

Argumente

Enth?lt den/die Namen oder den Typ jedes Parameters in der Reihenfolge seiner ?bergabe f?r bis zu 32 Parameter. Wenn Sie eine SUB oder FUNCTION in einer DLL aufrufen m?chten, m?ssen Sie die Ziel-SUB oder FUNCTION mit einer expliziten DECLARE-Anweisung beschreiben. Die DECLARE-Anweisung muss jedem Verweis auf die Zielprozedur physisch vorangehen.

In fr?heren Versionen von PowerBASIC mussten Sie eine explizite DECLARE-Anweisung erstellen, wenn Sie ein SUB oder eine Funktion ausf?hren wollten, die dem Verweis darauf nicht physisch vorausging. Diese zus?tzliche Arbeit ist nicht mehr erforderlich, da PowerBASIC alle Weiterleitungsverweise auf interne Prozeduren automatisch aufl?st.

F?r jede Routine muss die vollst?ndige Argumentenliste angegeben werden. Jeder Parameter kann auf eine von drei Arten definiert werden:

Zul?ssige Typnamen f?r Argumente sind ANY, ASCIIZ, BYTE, CUR, CUX, DOUBLE, DWORD, EXT, INTEGER, LONG, PTR, QUAD, SINGLE, STRING, STRINGZ, WORD, WSTRING, WSTRINGZ und ARRAY. Das Schl?sselwort ARRAY wird in Verbindung mit einem der anderen Typen verwendet, um ein gesamtes Array dieses Typs anzugeben. Zum Beispiel:

DECLARE SUB KerPlunk(INTEGER ARRAY, DOUBLE)

deklariert eine Prozedur namens KerPlunk , die ein gesamtes Integer-Array und eine Variable mit doppelter Genauigkeit als Parameter akzeptiert. Sie k?nnen die Parameter auch mit dem Schl?sselwort AS benennen:

DECLARE SUB KerPlunk(iArray() AS INTEGER, dVar AS DOUBLE)

Die folgenden vier Declare-Anweisungen sind ?quivalent:

DECLARE SUB KerPlunk(x) ', wenn DEFINT A-Z wirksam ist

DECLARE SUB KerPlunk(x%)

SUB Plunk(x ALS INTEGER) DEKL?RIEREN

DECLARE SUB KerPlunk(INTEGER)

Bei der ?bergabe von Parametern per Referenz (BYREF) wird die Adresse der an die Routine ?bergebenen Variablen auf dem Stapel abgelegt. Wenn sie als Wert (BYVAL) ?bergeben werden, werden die tats?chlichen Daten auf dem Stapel abgelegt. Mit den Schl?sselw?rtern BYVAL oder BYREF k?nnen Sie angeben, dass ein Parameter immer in einem bekannten Format ?bergeben werden soll.

Durch die Verwendung von ANY wird die Typpr?fung f?r einen bestimmten Parameter deaktiviert und die Adresse der Variablen auf dem Stapel ?bergeben. Da sich das interne Format von Variablen je nach Typ stark unterscheidet, m?ssen Sie vorsichtig sein und sicherstellen, dass Ihr Code den Datentyp bei jedem Aufruf kennt. Normalerweise wird ein zweiter Parameter verwendet, um den tats?chlichen Typ des ANY-Parameters anzugeben.

Wenn eine Unter-/Funktionsdefinition entweder einen BYREF-Parameter oder einen Zeigervariablenparameter angibt, kann der aufrufende Code stattdessen frei ein BYVAL DWORD oder einen Zeiger ?bergeben. Obwohl die Verwendung der expliziten BYVAL-?berschreibung im aufrufenden Code optional ist, wird sie aus Gr?nden der ?bersichtlichkeit empfohlen. Es ist notwendig, alle Zeigerparameter explizit als BYVAL zu deklarieren (BYVAL x AS BYTE PTR). Andernfalls wird beim Kompilieren der Fehler 549 (?BYVAL erforderlich mit Zeigern?) generiert.

Weitere Informationen zur Parameter?bergabe BYVAL/BYREF/BYCOPY finden Sie im Thema CALL-Anweisung.

Mit OPTIONAL/OPT

DECLARE-Anweisungen k?nnen einen oder mehrere Parameter als optional angeben, indem sie dem Parameter entweder das Schl?sselwort OPTIONAL (oder die Abk?rzung OPT) voranstellen. Optionale Parameter sind nur mit den Aufrufkonventionen CDECL oder SDECL zul?ssig, nicht mit BDECL.

Wenn ein Parameter als optional deklariert wird, sind alle nachfolgenden Parameter in der Deklaration ebenfalls optional, unabh?ngig davon, ob sie eine explizite OPTIONAL- oder OPT-Direktive angeben oder nicht. Die folgenden zwei Zeilen sind ?quivalent, wobei sowohl der zweite als auch der dritte Parameter optional sind:

DECLARE SUB sABC(a&, OPTIONAL BYVAL b&, OPTIONAL BYVAL c&) AS LONG

DECLARE SUB sABC(a&, OPT BYVAL b&, BYVAL c&) AS LONG

VARIANT-Variablen eignen sich besonders gut zur Verwendung als optionaler Parameter. Wenn der aufrufende Code einen optionalen VARIANT-Parameter (BYVAL oder BYREF) wegl?sst, ersetzen PowerBASIC (und die meisten anderen Compiler) eine Variante vom Typ %VT_ERROR, die einen Fehlerwert von %DISP_E_PARAMNOTFOUND (&H80020004) enth?lt. In diesem Fall k?nnen Sie diesen Wert direkt pr?fen oder mit der Funktion ISMISSING() ermitteln, ob der Parameter physisch ?bergeben wurde oder nicht.

Wenn optionale Parameter (au?er VARIANT) im aufrufenden Code weggelassen werden, wird der normalerweise f?r diese Parameter reservierte Stapelbereich mit Nullen gef?llt.

Wenn der Parameter als BYVAL-Parameter definiert ist, hat er den Wert Null. F?r TYPE- oder UNION-Variablen, die BYVAL ?bergeben werden, ?bergibt der Compiler eine Zeichenfolge bin?rer Nullen der L?nge SIZEOF (Typ _oder_ Union _var).

Wenn der Parameter als BYREF-Parameter definiert ist, ist VARPTR (Varname) gleich Null; Wenn dies zutrifft, f?hrt jeder Versuch, Varname in Ihrem Code zu verwenden, zu einer allgemeinen Schutzverletzung oder einer Speicherbesch?digung. Sie sollten zun?chst die Funktion ISMISSING() verwenden, um festzustellen, ob der Zugriff auf den Parameter sicher ist.

AS-Typ

Sie k?nnen den Datentyp angeben, den eine Funktion an den aufrufenden Code zur?ckgibt. Wenn Sie keinen Typ angeben, geht PowerBASIC davon aus, dass die Funktion den durch eine DEF-Typanweisung angegebenen Datentyp zur?ckgibt. Wenn jedoch kein DEF-Typ oder AS-Typ angegeben wurde, wird ein Fehler bei der Kompilierung generiert.

Daher gibt es zwei M?glichkeiten, den R?ckgabetyp einer Funktion anzugeben:

Beispielsweise sind die folgenden Anweisungn ?quivalent:

DECLARE FUNCTION aFunction?()

FUNCTION aFunction() ALS BYTE DEKLARIEREN

W?hrend die meisten FUNCTION-Aufrufkonventionen in der Branche ziemlich genau definiert sind, gibt es einige Ausnahmen. Bei Funktionen, die einen Quad-Integer-Wert zur?ckgeben, geben einige Programmiersprachen (einschlie?lich PowerBASIC) den Quad-Wert in der FPU zur?ck, w?hrend andere ihn in EDX:EAX zur?ckgeben. PowerBASIC erkennt automatisch die von importierten Funktionen verwendete Methode und passt sich entsprechend an. Diese Funktion gibt es jedoch nicht bei anderen Compilern. Daher empfehlen wir Ihnen, QUAD FUNCTIONS nicht zu EXPORTIEREN, es sei denn, auf sie wird nur von PowerBASIC-Programmen zugegriffen. Eine einfache ?quivalente Funktionalit?t w?re die R?ckgabe des quad-ganzzahligen Werts an den Aufrufer in einem BYREF QUAD-Parameter.

Einschr?nkungen

Eine Unter-/Funktion kann innerhalb desselben Moduls importiert und exportiert werden. Das hei?t, eine Funktion im Modul kann als EXPORT angegeben werden, w?hrend eine DECLARE-Anweisung im selben Modul sie durch die Option LIB ?filename.dll? als importierte Funktion angibt, solange FILENAME.DLL der Name des Moduls ist. Dies kann besonders n?tzlich sein, wenn Sie eine #INCLUDE-Datei mit allen DECLARE-Anweisungen f?r ein Projekt erstellen m?chten.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • #EXPORT
  • #LINK " PBXB64-Compiler-Hilfe
  • CALL
  • CALL DWORD
  • FASTPROC/END FASTPROC-Anweisungen
  • FUNCTION/END FUNCTION-Anweisungen
  • ADDR IMPORTIEREN
  • ISMISSING
  • SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe
  • THREAD CREATE
  • Hilfe zum PBXB64-Compiler


DIM ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Deklarationen Hilfe zum PBXB64-Compiler

DIM ? PBXB64-Compiler-Hilfe

Deklarieren und dimensionieren

Kategorie: Deklarationen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIM var [( subscripts )] [AS [GLOBAL | INSTANCE | LOCAL | STATIC | THREADED] type ] [PTR | POINTER] [AT address ] [, ...]
DIM var[( subscripts )] ' var may include a type-specifier
Scalar variables:
DIM var AS [GLOBAL | INSTANCE | LOCAL | STATIC | THREADED] type [PTR |POINTER] [, ...]
DIM var ' var must include a type-specifier

Beschreibung

Deklarieren und dimensionieren

Typ:Anweisung |Kategorie:Variablen und Umfang

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DIM deklariert var als eine Variable oder ein Array, dessen Typ durch Anh?ngen eines Typbezeichners an den Namen oder durch Verwendung des AS-Typschl?sselworts angegeben wird. Wenn die AS-Klausel verwendet wird, darf der Variablenname nicht mit einem Typspezifizierzeichen enden.

DIM kann nur innerhalb eines SUB , FUNCTION , METHOD oder PROPERTY verwendet werden. Au?erhalb von Subs, Funktionen, Methoden oder Eigenschaften verwenden Sie GLOBAL oder INSTANCE, um Variablen und Arrays zu deklarieren.

DIM kann auch zur Dimensionierung eines ?absoluten Arrays? verwendet werden ? eines Arrays, das einen bestimmten Speicherort einnimmt. Dies kann n?tzlich sein, um einen Array-Typ dynamisch direkt ?ber einen vorhandenen Speicherblock zu ??berlagern? (bei dem es sich um einen anderen Array-Typ oder eine andere Datenstruktur handeln kann). Dies w?rde eine Union-?hnliche Overlay-Struktur bilden. Siehe unten.

Dar?ber hinaus ist es m?glich, mit der DIM-Anweisung ein Array von Zeigern zu erstellen, und zwar auch an einer bestimmten Stelle im Speicher. Dies wird als ?absolutes Zeiger-Array? bezeichnet.

Dimensionierung von Arrays

Indizes k?nnen f?r jedes dimensionierte Array eine der folgenden Formen annehmen:

(a) Eine durch Kommas getrennte Liste von einem oder mehreren Long-Integer-Ausdr?cken, die jeweils eine Dimension des Arrays definieren. Dieses Formular wird verwendet, um Arrays zu deklarieren, deren Indexbereich bei 0 beginnt. Die folgenden Zeilen sind beispielsweise ?quivalente M?glichkeiten zur Dimensionierung desselben Arrays:

DIM lArray(20) AS LONG ' Mit einer Klausel vom Typ AS

DIM lArray&(20) ' Mit einem Typbezeichner

Beide Zeilen oben definieren ein eindimensionales Long-Integer-Array mit 21 Elementen, von lArray(0) bis einschlie?lich lArray(20). Die zweite Zeile verwendet ein Typspezifizierersymbol, um den Datentyp anzugeben, und verwendet eine vereinfachte Syntax (nachgestellte Klauseln/Schl?sselw?rter sind nicht zul?ssig). Die vereinfachte Syntax ist nur f?r Datentypen g?ltig, die ein Typspezifizierersymbol haben ($, !, @, @@, #, ##, %, &, &&, ?, ??, ???), oder der Spezifizierer kann weggelassen werden, wenn eine DEF-Typanweisung in Kraft ist. Der Spezifizierer muss weggelassen werden, wenn #DIM ALL wirksam ist.

Deklarationen mehrdimensionaler Arrays haben die folgenden Formen:

DIM sArray(20,40,2) ALS STRING

DIM sArray$(20,40,2)

Diese beiden Codezeilen definieren ein dynamisches String-Array mit drei Dimensionen, 21 Elemente mal 41 Elemente mal 3 Elemente, also insgesamt 2583 String-Elemente. Wie zuvor verwendet die zweite Zeile die vereinfachte Syntaxform.

(b) Eine durch Kommas getrennte Liste, in der sowohl die obere als auch die untere tiefgestellte Grenze explizit f?r jede Dimension des Arrays deklariert werden. F?r jede Dimension wird zuerst die Untergrenze aufgef?hrt, gefolgt vom Schl?sselwort TO und anschlie?end die Obergrenze. Zum Beispiel:

DIMME MyArray(1 BIS 20) SO LANG

definiert ein eindimensionales Array mit 20 Elementen, von MyArray(1) bis MyArray(20). Die Untergrenze muss nicht Null oder Eins sein; zum Beispiel:

DIM SalesByYear(1980 TO 2000) ALS INTEGER

DIM SalesByYear%(1980 BIS 2000)

Jedes Array kann auf Elemente im Bereich von -2.147.483.648 bis 2.147.483.647 zugreifen. Es wird empfohlen, jeder DIM-Anweisung, die eine explizite Typklausel verwendet, eine explizite Variablenbereichsklausel ( GLOBAL / LOCAL / STATIC , THREADED, INSTANCE ) hinzuzuf?gen. Siehe Einschr?nkungen unten.

Array-Initialisierung und absolute Arrays

PowerBASIC generiert eine Fehlermeldung, wenn es auf ein Array trifft, das nicht dimensioniert wurde. Wenn das Array bereits dimensioniert wurde, wird die DIM-Anweisung ignoriert. Es wird kein neues Array erstellt und kein Laufzeitfehler generiert.

Wenn ein Programm zum ersten Mal ausgef?hrt wird, setzt PowerBASIC jedes Element eines numerischen Arrays auf Null und jedes Element regul?rer String-Arrays auf einen Null-String (L?nge Null). Wenn jedoch ein absolutes Array dimensioniert ist (an einer bestimmten Stelle im Speicher unter Verwendung der AT-Adresssyntax), initialisiert PowerBASIC den vom Array belegten Speicher nicht. Wenn ein absolutes Array gel?scht wird, wird der Speicher au?erdem nicht freigegeben. Dies bietet einen leistungsstarken Mechanismus zum Erstellen von Union-?hnlichen Overlay-Strukturen im Speicher.

Die h?ufigste Verwendung eines absoluten Arrays ist die direkte Bearbeitung von Visual Basic-Arrays aus einer DLL. Dazu m?ssen ein Zeiger auf das Array, die Elementgr??e und die Anzahl der Elemente ermittelt werden. Mit diesen Informationen kann in PowerBASIC ein absolutes Array dimensioniert und der Array-Speicher direkt manipuliert werden. Eine weitere h?ufige Verwendung besteht in der Verwendung eines gro?en dynamischen oder String-Speicherblocks mit fester L?nge, ?berlagert mit einem absoluten numerischen Array.

Bei der Verwendung absoluter Arrays ist Vorsicht geboten, da der Inhalt eines absoluten Arrays nur f?r den Speicherbereich g?ltig sein kann, auf den das Array verweist. Wenn ein absolutes Array auf Speicher verweist, der f?r die Prozedur LOCAL ist, werden die Array-Inhalte ung?ltig, wenn der Zielspeicherblock freigegeben wird. Beispielsweise durch explizites Freigeben des Speicherblocks oder Beenden der Prozedur selbst. Der Versuch, auf den freigegebenen absoluten Array-Speicher zuzugreifen, l?st wahrscheinlich eine allgemeine Schutzverletzung (GPF) aus. Auf dieser Grundlage sollten absolute Arrays LOCAL f?r die Prozedur sein, in der sie verwendet werden sollen.

W?hrend PowerBASIC LBOUND-Werte ungleich Null unterst?tzt, generiert PowerBASIC den effizientesten Code, wenn der LBOUND-Parameter weggelassen wird (d. h. das Array verwendet den Standard-LBOUND von Null). Sie sollten auch vermeiden, einen expliziten LBOUND von Null anzugeben, da dies zu einer geringen Effizienzeinbu?e ohne nennenswerte Vorteile f?hrt

Deklarieren von Skalarvariablen (Nicht-Array-Variablen).

Wenn Sie #DIM ALL oder OPTION EXPLICIT angegeben haben, m?ssen Sie alle in Ihren Programmen verwendeten Variablen deklarieren. PowerBASIC stellt f?r diesen Job eine Variante der DIM-Anweisung bereit, da f?r Skalarvariablen eine geringere Syntax erforderlich ist. Das Folgende ist eine vereinfachte Syntax f?r DIM, die nur f?r Skalarvariablen gilt:

DIM var AS [GLOBAL | INSTANZ | LOCAL | STATIC | GEWINDE] Typ [PTR | ZEIGER] [, ...]

DIM var ' var muss einen Typbezeichner enthalten

Hier sind einige Beispiele f?r Variablendeklarationen:

DIM a AS LOCAL INTEGER

DIM b ALS STATISCHES WORT

DIM c ALS GLOBAL DOUBLE POINTER

DIM d AS STRINGZ * 255

Abmessung als Gewindeschnur

DIM f ALS INSTANZ SINGLE

AS-Typ

GANZE ZAHL

Ganze Zahl

Doppelwort

Lange Ganzzahl

Quad-Ganzzahl

EINZEL

Single-precision floating-point

DOPPELT

Double-precision floating-point

Extended-precision floating-point

ERWEITERT

Extended-precision floating-point

W?hrung

W?HRUNG

W?hrung

Extended-currency

W?HRUNGX

Extended-currency

STRING

Dynamische Zeichenfolge (variable L?nge).

WSTRING

Dynamische Unicode-Zeichenfolge

STRING * x

Zeichenfolge mit fester L?nge

ASCIIZ * x

Mit Null terminierte Zeichenfolge

ASCIZ * x

Mit Null terminierte Zeichenfolge

STRINGZ * x

Mit Null terminierte Zeichenfolge

WSTRINGZ * x

Unicode-Null-terminierte Zeichenfolge

Zeiger

Zeiger

Zeiger

VARIANTE

Variante

IAUTOMATION

Automatisierungsschnittstelle

IDISPATCH

Versandschnittstelle

UNBEKANNT

Direkte Schnittstelle

16-Byte-GUID-Zeichenfolge

Feldzeichenfolge

Einschr?nkungen

LOCAL ASCIIZ, LOCAL-Strings mit fester L?nge und LOCAL UDTs werden im Stapelrahmen der Unterfunktion/Funktion/Methode/Eigenschaft erstellt, in der sie deklariert sind. Sie m?ssen daher darauf achten, dass die kombinierte Gr??e der lokalen Variablen die zugewiesene Stapelgr??e nicht ?berschreitet. Sofern Sie nichts anderes angeben, legt PowerBASIC eine Standard-Stack-Gr??e von 1 MB fest. Wenn mehr Stapelplatz ben?tigt wird, k?nnen Sie diesen mit dem #STACK-Metastament zuweisen. Bei GLOBAL-, INSTANCE-, THREADED- oder STATIC-Variablen gibt es keine derartigen Einschr?nkungen.

Wenn eine DIM-Anweisung (ohne explizite G?ltigkeitsbereichsklausel) verwendet wird, um eine Variable in einer Prozedur zu deklarieren, und eine identische Variable bereits als GLOBAL deklariert wurde, erh?lt die Variable in der Prozedur den G?ltigkeitsbereich GLOBAL. Zum Beispiel:

GLOBAL xyz SO LANG

SUB MySub

DIM xyz SO LANG

' Hier ist xyz eine GLOBALE Variable

END SUB

Um sicherzustellen, dass der Variablenbereich LOCAL f?r die Unterfunktion/Funktion/Methode/Eigenschaft ist, verwenden Sie eine LOCAL-Anweisung anstelle einer DIM-Anweisung. Alternativ k?nnen Sie der DIM-Anweisung eine explizite Bereichsklausel hinzuf?gen. Zum Beispiel:

GLOBAL xyz SO LANG

[Anweisungn]

SUB MySub

DIM xyz AS LOCAL LONG

' Hier ist xyz eine LOKALE Variable

END SUB

Zeigervariablen deklarieren

Ein Zeiger muss deklariert werden, bevor er verwendet werden kann. Mit der DIM-Anweisung deklarieren Sie Zeiger und beschreiben den Datentyp, auf den sie verweisen. Wenn ein Zeiger deklariert wird, wird er automatisch auf den Wert Null initialisiert. Dies wird als Nullzeiger bezeichnet. Sie m?ssen daran denken, es mit einer g?ltigen Adresse zu initialisieren, sonst erhalten Sie eine allgemeine Schutzverletzung (GPF). Die Syntax zum Deklarieren von Zeigervariablen ?hnelt der von regul?ren Variablen:

DIM var[(subscripts)] AS [GLOBAL | INSTANZ | LOCAL | STATIC | GEWINDE] Typ [PTR | ZEIGER] [, ...]

Hier sind einige Beispiele f?r Zeigervariablendeklarationen:

DIM a AS BYTE PTR

DIM b ALS INTEGER-ZEIGER

DIM c AS STRING PTR * 25

DIM d AS MyType POINTER

DIM e(500) AS INTEGER PTR

Zeiger selbst werden als DWORD-Werte gespeichert.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ARRAYATTR
  • ERASE
  • GLOBAL ? PBXB64-Compiler-Hilfe
  • INSTANZ
  • Was ist COM?
  • LOCAL � PBXB64-Compiler-Hilfe
  • REDIM ? PBXB64-Compiler-Hilfe
  • RESET
  • STATIC ? PBXB64-Compiler-Hilfe
  • THREADED
  • Variablen
  • Variablenbereich
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


ENUM/END ENUM-Anweisungen ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Deklarationen Hilfe zum PBXB64-Compiler

ENUM/END ENUM-Anweisungen ? PBXB64-Compiler-Hilfe

Erstellt eine Gruppe logisch verkn?pfter numerischer Konstanten

Kategorie: Deklarationen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ENUM Name [SINGULAR] [BITS] [AS COM]
EquateName [= value ]
...
END ENUM

Beschreibung

Erstellt eine Gruppe logisch verkn?pfter numerischer Konstanten

Typ:Anweisung |Kategorie:Typen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerENUM...END ENUM block deklariert einen Satz benannter Ganzzahlkonstanten unter einem gemeinsamen Typ. Enum-Deklarationen m?ssen im Modulbereich (au?erhalb jeder Prozedur) erscheinen. Das erste Equate ist standardm??ig 0, sofern kein expliziter Wert angegeben wird. Nachfolgend entspricht der Erh?hung um 1.

Der Enum-Name kann als Typ f?r LOCAL-, GLOBAL- und Parameterdeklarationen verwendet werden.

Generierter Assembler-Code

Kompilieren mit:

PBXB64 example.pb --asmout example.asm

Aufz?hlungen werden zu ganzzahligen Sofortwerten kompiliert. Die Zuweisung an die lokale Variable ist eine direkte, unmittelbare Bewegung:

    mov rbx, 2
    mov [rbp-24], rbx

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FUNCTION / END FUNCTION - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Deklarationen Hilfe zum PBXB64-Compiler

FUNCTION / END FUNCTION

Definiert eine Prozedur, die einen Wert zur&uuml;ckgibt und in Ausdr&uuml;cken verwendet werden kann.

Kategorie: Deklarationen

Syntax

FUNCTION ProcName [ALIAS "AliasName"] [( arguments )] [AS Type]
  [ statements ]
  [ FUNCTION = ReturnValue ]
END FUNCTION

Beschreibung

Definiert eine Prozedur, die einen Wert zurückgibt und in Ausdrücken verwendet werden kann.

Kind: Anweisung | Category: Procedures

PBXB64 Status: VERFÜGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Description

FUNCTION definiert einen aufrufbaren Block, der einen Wert zurückgibt. Sie können ihn in jedem Ausdruck verwenden, oder ihn wie eine normale Prozedur aufrufen, wenn nur Nebenwirkungen nötig sind.

Der Rückgabetyp wird mit AS Type angegeben. Parameter können BYVAL, BYREF, OPTIONAL und Typmodifikatoren verwenden. Interne Funktionen brauchen vor dem ersten Gebrauch kein ausdrückliches DECLARE; importierte DLL-Prozeduren schon.

Ein Funktionswert kann durch Zuweisung an den Funktionsnamen oder an FUNCTION gesetzt werden. EXIT FUNCTION verlässt die Prozedur vorzeitig. Arrays können nicht direkt zurückgegeben werden; übergeben Sie sie stattdessen BYREF.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


GETEILT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Deklarationen Hilfe zum PBXB64-Compiler

GETEILT

Kompatibilit&auml;tsalias f&uuml;r GLOBAL.

Kategorie: Deklarationen

Syntax

SHARED variable [AS Type]
SHARED variable [, variable ...] AS Type

Beschreibung

Kompatibilitätsalias für GLOBAL.

Kind: Anweisung | Category: Variables & Scope

PBXB64 Status: VERFÜGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Description

PBXB64 akzeptiert SHARED als Synonym für GLOBAL in BASIC-Code. Damit wird modulgültiger Speicher deklariert, der in den Prozeduren desselben Programms oder derselben Bibliothek sichtbar ist.

Verwenden Sie SHARED, wenn Sie alten PowerBASIC-Quelltext übersetzen und das ursprüngliche Schlüsselwort im Code sichtbar lassen wollen.

Für neuen Code ist GLOBAL die klarere Schreibweise. Beide Formen erzeugen in PBXB64 dasselbe Speicherverhalten.

Praktische Verwendung

GETEILT gehoert zur Kategorie Variables & Scope. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.


GLOBAL ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Deklarationen Hilfe zum PBXB64-Compiler

GLOBAL ? PBXB64-Compiler-Hilfe

Global deklarieren (gemeinsam genutzt)

Kategorie: Deklarationen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GLOBAL variable [()] [ AS type ] [, variable [()]] [, ...]
GLOBAL variable [()] [, variable [()]] [, ...] AS type

Beschreibung

Global deklarieren (gemeinsam genutzt)

Typ:Anweisung |Kategorie:Variablen und Umfang

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GLOBAL deklariert die angegebene(n) Variable(n) als global f?r das gesamte Programm. Dadurch erh?lt eine Prozedur Zugriff auf Variable(n), ohne diese als Parameter ?bergeben zu m?ssen. Um ein Array als globale Variable zu deklarieren, verwenden Sie einen leeren Satz Klammern in der Variablenliste:

GLOBAL MyArray%()

GLOBAL StringArray() AS STRING

Anschlie?end m?ssen Sie die DIM- oder REDIM-Anweisungen verwenden, um das Array innerhalb einer Prozedur zu dimensionieren. Ein guter Ort hierf?r ist Ihre WINMAIN- oder PBMAIN-Funktion.

Wenn ein Array au?erhalb einer Prozedur als GLOBAL definiert ist, sollten Sie aus Gr?nden der ?bersichtlichkeit und der Kompatibilit?t mit zuk?nftigen Versionen von PowerBASIC das Schl?sselwort GLOBAL in die DIM-Anweisung aufnehmen:

GLOBAL a() ALS STRING

FUNCTION PBMAIN

DIMMEN Sie a(1 BIS 500) ALS GLOBAL STRING

[Anweisungn]

ENDFUNKTION

Die GLOBAL-Anweisung akzeptiert m?glicherweise eine Liste von Variablen, die alle durch die darauf folgenden Typdeskriptorschl?sselw?rter definiert werden. Zum Beispiel:

GLOBAL aaa, bbb, ccc ALS INTEGER

GLOBAL vptr, aptr() AS LONG PTR

Einschr?nkungen

GLOBAL-Variablen werden nicht zwischen Programmen und DLLs oder zwischen mehreren Instanzen derselben DLL gemeinsam genutzt. Das hei?t, eine GLOBAL-Variable ist nur innerhalb ihres eigenen Moduls global. Der einfachste Weg, eine Variable einer DLL zug?nglich zu machen, besteht darin, die Variable BYREF (als Referenz) an die Ziel-DLL zu ?bergeben. Der DEF-Typ hat keine Auswirkung auf Variablen, die durch eine GLOBAL-Anweisung definiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • INSTANZ
  • LOCAL � PBXB64-Compiler-Hilfe
  • STATIC ? PBXB64-Compiler-Hilfe
  • THREADED
  • Hilfe zum PBXB64-Compiler


LOCAL � PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Deklarationen Hilfe zum PBXB64-Compiler

LOCAL � PBXB64-Compiler-Hilfe

Als lokal deklarieren

Kategorie: Deklarationen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LOCAL variable [()] [AS type ] [, variable [()]] [...]
LOCAL variable [()] [, variable [()]] [, ...] AS type

Beschreibung

Als lokal deklarieren

Typ:Anweisung |Kategorie:Variablen und Umfang

PBXB64-Status:VERF�GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die LOCAL-Anweisung ist nur innerhalb einer Sub, Funktion, Methode oder Eigenschaft g�ltig. Lokale Variablen verlieren ihre Werte, wenn die Prozedur endet. Speicherplatz f�r lokale Variablen wird auf dem Stapel zugewiesen, und jede lokale Variable wird bei jedem Aufruf der einschlie�enden Prozedur auf Null (oder bei String-Variablen auf einen leeren String) initialisiert.

Um ein Array als lokale Variable zu deklarieren, verwenden Sie einen leeren Satz Klammern in der Variablenliste: Anschlie�end k�nnen Sie das Array mit der DIM-Anweisung dimensionieren.

LOCAL MyArray%()

LOKALES StringArray() ALS STRING

Die LOCAL-Anweisung kann optional eine Liste von Variablen akzeptieren, die alle durch das ihnen folgende Typdeskriptor-Schl�sselwort definiert werden. Zum Beispiel:

LOCAL aaa, bbb, ccc ALS INTEGER

LOKALER vptr, aptr() AS LONG PTR

Generierter Assembler-Code

PBXB64 example.pb --asmout example.asm

Der Compiler reserviert Stapelplatz f�r die beiden lokalen Variablen und initialisiert sie auf Null. Der Zugriff auf die Variablen erfolgt �ber [rbp-N] Slots:

    xor rbx, rbx
    mov [rbp-24], rbx    ; zero a
    xor rbx, rbx
    mov [rbp-32], rbx    ; zero b
    mov rbx, 3
    mov [rbp-24], rbx    ; a = 3
    mov rbx, 4
    mov [rbp-32], rbx    ; b = 4
    mov r10, [rbp-24]
    mov rbx, r10
    mov r10, [rbp-32]
    add rbx, r10
    mov [rbp-16], rbx    ; return slot

Einschr�nkungen

Der DEF-Typ hat keine Auswirkung auf Variablen, die durch eine LOCAL-Anweisung definiert werden.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • GLOBAL ? PBXB64-Compiler-Hilfe
  • INSTANZ
  • STATIC ? PBXB64-Compiler-Hilfe
  • THREADED
  • Hilfe zum PBXB64-Compiler


REDIM ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Deklarationen Hilfe zum PBXB64-Compiler

REDIM ? PBXB64-Compiler-Hilfe

Wird auf der Prozedurebene verwendet

Kategorie: Deklarationen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

REDIM [PRESERVE] array ([ subscripts ] ) [AS type ] [AT address ] [, ...]

Beschreibung

Wird auf der Prozedurebene verwendet

Typ:Anweisung |Kategorie:Variablen und Umfang

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit der REDIM-Anweisung k?nnen dynamische Arrays (einschlie?lich String-Arrays) gel?scht und neu dimensioniert werden. Es ist eigentlich nur eine Abk?rzung f?r den zweistufigen Prozess ERASE x(), gefolgt von DIM x(). REDIM verwendet dieselbe grundlegende Syntax wie die DIM-Anweisung.

array ist der Name des Arrays, und subscripts ist entweder eine Gruppe einzelner Ganzzahlen (eine pro Dimension eines bestimmten Arrays) oder eine Gruppe von Bereichen (REDIM arr1(5 TO 25, 1 TO 4, 3 TO 8)), getrennt durch Kommas.

AS-Typ

Die AS-Typklausel ist optional, es wird jedoch empfohlen, jeder REDIM-Anweisung, die eine explizite Typklausel verwendet, eine explizite Variablenbereichsklausel (LOCAL/STATIC/GLOBAL/THREADED/INSTANCE) hinzuzuf?gen.

AT-Adresse

Die AT-Adressklausel gibt an, dass das Array ein absolutes Array sein soll. Absolute Arrays werden durch die REDIM-Anweisung nicht zur?ckgesetzt, und sie werden auch nicht zur?ckgesetzt, wenn die Unter-/Funktions-/Methoden-/Eigenschaftsfunktion beendet wird, sie k?nnen jedoch mit der RESET-Anweisung zur?ckgesetzt werden. Weitere Informationen zu absoluten Arrays finden Sie in der Diskussion im DIM-Thema.

BEWAHREN

Das Schl?sselwort PRESERVE weist den Compiler an, die Werte aller vorhandenen Elemente im Array beizubehalten. Wenn Sie beispielsweise ein Array mit 10 Elementen auf 20 Elemente REDIM PRESERVE setzen, behalten die ersten 10 Elemente ihren urspr?nglichen Wert. Die verbleibenden 10 Elemente werden auf Null initialisiert (oder null/leer im Fall eines String-Arrays). Wenn die Gr??e des Arrays auf eine kleinere Gr??e ge?ndert wird, bleibt die angegebene Anzahl von Elementen erhalten und die verbleibenden Elemente werden verworfen. Wenn PRESERVE angegeben ist, k?nnen Sie nur die Gr??e der oberen Grenze der letzten (?u?eren) Dimension des Arrays ?ndern. Arrays mit nur einer Dimension k?nnen jederzeit in der Gr??e ge?ndert werden.

In einer Prozedur k?nnen Sie REDIM verwenden, um ein Array, das als Argument ?bergeben wurde, neu zu dimensionieren. Das hei?t, wenn das komplette Array an die Prozedur ?bergeben wurde:

CALL RemoveDuplicates( CustomerNames$() )

' Mehr Code hier

SUB RemoveDuplicates( a$() )

' Doppelte Array-Werte entfernen

REDIM PRESERVE a$(1 TO NewCount&)

END SUB

REDIM kann auch verwendet werden, um die Gr??e von Static-, Global- und Instance-Arrays zu ?ndern.

Bei Verwendung ohne Indexparameter l?scht REDIM den gesamten Inhalt eines Arrays und gibt den verwendeten Speicher frei:

REDIM xyz&() ' Entspricht ERASE xyz&()

Einschr?nkungen

Bei Angabe von PRESERVE darf nur die Obergrenze der letzten (?u?eren) Dimension neu definiert werden.

Wenn eine REDIM-Anweisung ausgef?hrt wird, verschiebt sich die Position der Array-Elemente immer im Speicher; Der Deskriptorspeicherort des Arrays ( VARPTR ( arrayname ()) bleibt jedoch am urspr?nglichen Speicherort festgelegt. Wenn Sie REDIM verwenden, muss Ihr Code sicherstellen, dass alle Zeiger aktualisiert werden, die auf die Array-Datenspeicherorte ( STRPTR ( arrayname ( subscript )) f?r dynamische String-Arrays und VARPTR( arrayname ( subscript )) f?r alle anderen Array-Typen zielen.

W?hrend PowerBASIC untere Grenzwerte ungleich Null unterst?tzt, generiert PowerBASIC den effizientesten Code, wenn der untere Grenzwertparameter weggelassen wird (d. h. das Array verwendet den standardm??igen unteren Grenzwert von Null).

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ARRAYATTR
  • DIM ? PBXB64-Compiler-Hilfe
  • ERASE
  • RESET
  • Hilfe zum PBXB64-Compiler


STATIC ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Deklarationen Hilfe zum PBXB64-Compiler

STATIC ? PBXB64-Compiler-Hilfe

Erkl?ren

Kategorie: Deklarationen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

STATIC variable [()] [AS type ] [, variable [()]]
STATIC variable [()] [, variable [()]] [, ...] AS type

Beschreibung

Erkl?ren

Typ:Anweisung |Kategorie:Variablen und Umfang

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die STATIC-Anweisung ist nur innerhalb einer Prozedur g?ltig. Statische Variablen behalten ihre Werte auch nach Beendigung der Prozedur. Eine statische Variable ist lokal f?r ihre Prozedur und kann ohne Konflikt denselben Namen wie andere Variablen in anderen Teilen des Programms haben.

Um ein Array als statische Variable zu deklarieren, verwenden Sie einen leeren Satz Klammern in der Variablenliste: Anschlie?end k?nnen Sie das Array mit der DIM-Anweisung dimensionieren.

STATIC MyArray%()

STATIC StringArray() AS STRING

Die STATIC-Anweisung kann optional eine Liste von Variablen akzeptieren, die alle durch das ihnen folgende Typdeskriptor-Schl?sselwort definiert werden. Zum Beispiel:

STATIC aaa, bbb, ccc ALS INTEGER

STATIC vptr, aptr() AS LONG PTR

Einschr?nkungen

Der DEF-Typ hat keine Auswirkung auf Variablen, die durch eine STATIC-Anweisung definiert werden.

Getesteter PBXB64-Umfang: Skalare prozedurlokale STATIC-Variablen behalten ihren Wert zwischen Aufrufen. Gleich benannte STATIC-Variablen in verschiedenen Prozeduren verwenden getrennten versteckten Speicher. Konstante skalare Initialisierer werden einmal auf diesen Speicher angewendet und nicht bei jedem Prozedureintritt erneut ausgefuehrt. Statische Arrays, UDT/static-string-Kombinationen und die vollstaendige Deklarationsmatrix bleiben breitere Kompatibilitaetsarbeit.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • GLOBAL ? PBXB64-Compiler-Hilfe
  • LOCAL � PBXB64-Compiler-Hilfe
  • THREADED
  • Hilfe zum PBXB64-Compiler


SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Deklarationen Hilfe zum PBXB64-Compiler

SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe

Definieren Sie einen Subcode-Abschnitt.

Kategorie: Deklarationen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SUB ProcName [ALIAS " AliasName "] [( arguments )] < Descriptors >
[ statements ]
END SUB

Beschreibung

Definieren Sie einen Subcode-Abschnitt.

Typ:Anweisung |Kategorie: Procedures

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der gesamte ausf?hrbare Code muss sich in einem Sub, Function befinden. Methode, Eigenschaft oder FastProc-Block. Subs d?rfen nicht verschachtelt sein. Das hei?t, Sie k?nnen keinen Codeblock (Sub, Funktion, Methode, FastProc, Eigenschaft) innerhalb eines anderen Codeblocks definieren.

SUB und END SUB definieren einen unterprogramm?hnlichen Block von Anweisungen, der als Prozedur (oder Unterprogramm) bezeichnet wird und mit der CALL-Anweisung aufgerufen wird. Parameter k?nnen als Wert oder als Referenz ?bergeben werden. Ein Sub kann auch ohne die Verwendung der CALL-Anweisung aufgerufen werden. Wenn das CALL-Wort weggelassen wird, m?ssen auch die Klammern um die Argumentliste weggelassen werden.

In fr?heren Versionen von PowerBASIC mussten Sie eine explizite DECLARE-Anweisung erstellen, wenn Sie eine SUB- oder FUNCTION-Anweisung ausf?hren wollten, die nicht physisch vor dem Verweis darauf stand. Diese zus?tzliche Arbeit ist nicht mehr erforderlich, da PowerBASIC alle Weiterleitungsverweise auf interne Prozeduren automatisch aufl?st.

DECLARE-Anweisungen f?r eine aus einer DLL importierte Unterfunktion/Funktion m?ssen weiterhin vor jedem Verweis auf die Prozedur stehen.

ProcName

Der Name des Subs. ProcName muss eindeutig sein: Keine andere Variable, Funktion, Sub, Methode, Eigenschaft, FastProc oder Label kann ihn gemeinsam nutzen.

Zeichenfolgenliteral, das einen alternativen Namen f?r das Sub angibt, bei dem die Gro?-/Kleinschreibung beachtet wird. Dadurch k?nnen Sie ein Sub unter einem anderen eindeutigen Namen exportieren. Dies kann n?tzlich sein, wenn Sie einen langen Namen abk?rzen, einen aussagekr?ftigeren Namen angeben m?chten oder wenn der exportierte Name Zeichen enthalten muss, die in PowerBASIC unzul?ssig sind. AliasName ist der tats?chliche Name der Routine, wie er in der Exporttabelle angezeigt wird, und ProcName ist der Titel, den Sie in PowerBASIC verwenden k?nnen. Zum Beispiel:

SUB ShortName ALIAS ?LongProcName? () EXPORT STATIC

Die ALIAS-Klausel ist beim Exportieren von Prozeduren sehr wichtig. Das Weglassen der ALIAS-Klausel oder die falsche Gro?schreibung des Aliasnamens sind h?ufige Ursachen f?r ?Missing Export?-Fehler. Weitere Informationen finden Sie im Thema DECLARE.

Deskriptoren

Sie k?nnen optional ein oder mehrere Deskriptorw?rter hinzuf?gen (Export, Common, Private, ThreadSafe, Local, Static, BDecl, CDecl, SDecl), um bestimmte Funktionen bereitzustellen. Sie k?nnen dem SUB als durch Kommas getrennte Liste hinzugef?gt werden. Sie sollten beachten, dass sich einige davon gegenseitig ausschlie?en.

EXPORT

Dieser Deskriptor identifiziert eine Unter- oder Funktion, auf die zwischen Dynamic Link Libraries (DLLs) zugegriffen werden kann, und/oder die ausf?hrbare Hauptdatei, die sie verkn?pft. Wenn eine Prozedur nicht mit EXPORT markiert ist, wird sie vor diesen anderen Modulen ausgeblendet. Das EXPORT-Attribut kann zu einer an anderer Stelle definierten Unter-/Funktion hinzugef?gt werden, indem EXPORT in einer DECLARE-Anweisung angegeben wird. EXPORT kann sogar zu einer Unterfunktion/Funktion in einer SLL mit einer DECLARE im Hostmodul hinzugef?gt werden.

COMMON

Eine GEMEINSAME Unter-/Funktion ist eine Funktion, auf die von und zwischen verkn?pften Einheitenmodulen (Host oder SLL) verwiesen werden kann. Wenn Sie eine gemeinsame Sub- oder Funktion DEKLARIEREN, die in diesem Modul nicht vorhanden ist, wird davon ausgegangen, dass sie in einem separaten verkn?pften Modul (Host oder SLL) gefunden wird.

PRIVAT

Eine private Unter-/Funktionsfunktion ist eine Funktion, auf die nur innerhalb des aktuellen PowerBASIC-Programms oder der aktuellen PowerBASIC-Bibliothek zugegriffen werden kann. Auch wenn nichts angegeben ist, ist dies der Standardbetriebsmodus.

FADENSICHER

Mit der THREADSAFE-Option richtet PowerBASIC automatisch eine Semaphore ein, die es jeweils nur einem Thread erm?glicht, die Sub/Funktion auszuf?hren. Andere Aufrufer m?ssen warten, bis der erste Thread die THREADSAFE-Prozedur verl?sst, bevor sie beginnen d?rfen.

Dieser Deskriptor gibt an, dass alle nicht deklarierten Variablen in einem Sub LOCAL sind. Dies ist die Standardbedingung, wenn weder LOCAL noch STATIC angegeben ist.

Lokale Variablen und Array-Variablen werden automatisch freigegeben, wenn die Prozedur beendet wird. LOKALE Skalarvariablen (au?er dynamische Zeichenfolgen) werden auf dem Stapel gespeichert und sind nur innerhalb des Sub sichtbar.

STATIC

Dieser Deskriptor gibt an, dass alle nicht deklarierten Variablen in einem Sub STATIC sind. Statische Variablen behalten ihren Wert, solange das Programm l?uft. Sie sind nur innerhalb des Subs sichtbar.

Gibt an, dass die deklarierte Prozedur die alte BASIC/Pascal-Aufrufkonvention verwendet. Parameter werden von links nach rechts auf dem Stapel abgelegt und die aufgerufene Prozedur ist f?r deren Entfernung verantwortlich. BDECL sollte nur verwendet werden, wenn dies zur Anpassung an externe Module erforderlich ist.

Gibt an, dass die deklarierte Prozedur die C-Aufrufkonvention verwendet. Parameter werden von rechts nach links auf den Stapel verschoben und der aufrufende Code ist f?r deren Entfernung verantwortlich. CDECL sollte nur verwendet werden, wenn dies zur Anpassung an externe Module erforderlich ist.

Dies ist die Standardkonvention und sollte nach M?glichkeit verwendet werden. SDECL (und sein Synonym STDCALL) spezifiziert die ?Standard Calling Convention? f?r Windows. Parameter werden von rechts nach links auf den Stapel verschoben und die aufgerufene Prozedur ist f?r deren Entfernung verantwortlich.

Passing Parameters

Argumente

Eine optionale, durch Kommas getrennte Folge formaler Parameter. Die in der Argumentliste verwendeten Parameter dienen nur zur Definition der Funktion; Sie haben keine Beziehung zu anderen Variablen im aufrufenden Code mit demselben Namen.

Normalerweise ?bergibt PowerBASIC Parameter entweder per Referenz (BYREF) oder per Wert (BYVAL) an einen Sub. Wenn Sie die Parameter nicht ?ndern m?ssen (was in vielen F?llen der Fall ist), k?nnen Sie Ihre Aufrufe beschleunigen, indem Sie die Parameter mit dem Schl?sselwort BYVAL als Wert ?bergeben. Sie k?nnen klarstellen, dass ein Parameter als Referenz ?bergeben wird, indem Sie das optionale Schl?sselwort BYREF verwenden.

Der Typ des Parameters wird entweder durch Anh?ngen eines Typspezifizierzeichens an den Namen oder durch Verwendung einer AS-Klausel angegeben. Zum Beispiel:

SUB Test(A AS INTEGER) ' Ganzzahl, die als Referenz ?bergeben wird

SUB Test(A%) ' Ganzzahl, die als Referenz ?bergeben wird

SUB Test(BYREF A%) ' Ganzzahl, die als Referenz ?bergeben wird

SUB Test(BYVAL A%) ' Ganzzahl, die als Wert ?bergeben wird

Parametereinschr?nkungen

PowerBASIC-Compiler haben ein Limit von 32 Parametern pro Sub. Um mehr als 32 Parameter an eine FUNCTION zu ?bergeben, erstellen Sie einen benutzerdefinierten Typ (UDT) und ?bergeben Sie den UDT stattdessen als Referenz (BYREF).

Zeigerparameter

Wenn eine Unterdefinition entweder einen BYREF-Parameter oder einen Zeigervariablenparameter angibt, kann der aufrufende Code stattdessen frei ein BYVAL DWORD oder einen Zeiger ?bergeben. Zeigervariablenparameter m?ssen immer als BYVAL-Parameter deklariert werden.

' Ganzzahliger Zeiger (als Wert ?bergeben)

SUB-Test (BYVAL A AS INTEGER PTR)

@A = 56

END SUB

Weitere Informationen zur Parameter?bergabe BYVAL/BYREF/BYCOPY finden Sie im Thema CALL-Anweisung.

Mit OPTIONAL/OPT

SUB-Anweisungen k?nnen einen oder mehrere Parameter als optional angeben, indem sie dem Parameter entweder das Schl?sselwort OPTIONAL oder OPT voranstellen. Optionale Parameter sind nur mit den Aufrufkonventionen CDECL oder SDECL zul?ssig, nicht mit BDECL.

Wenn ein Parameter als optional deklariert wird, sind alle nachfolgenden Parameter in der Deklaration ebenfalls optional, unabh?ngig davon, ob sie eine explizite OPTIONAL- oder OPT-Direktive angeben oder nicht. Die folgenden zwei Zeilen sind ?quivalent, wobei sowohl der zweite als auch der dritte Parameter optional sind:

SUB sABC(a&, OPTIONAL BYVAL b&, OPTIONAL BYVAL c&)

SUB sABC(a&, OPT BYVAL b&, BYVAL c&)

VARIANT-Variablen eignen sich besonders gut zur Verwendung als optionaler Parameter. Wenn der aufrufende Code einen optionalen VARIANT-Parameter (BYVAL oder BYREF) wegl?sst, ersetzen PowerBASIC (und die meisten anderen Compiler) eine Variante vom Typ VT_ERROR, die einen Fehlerwert von %DISP_E_PARAMNOTFOUND (&H80020004) enth?lt. In diesem Fall k?nnen Sie diesen Wert direkt pr?fen oder mit der Funktion ISMISSING() ermitteln, ob der Parameter physisch ?bergeben wurde oder nicht.

Wenn optionale Parameter (au?er VARIANT) im aufrufenden Code weggelassen werden, wird der Stapelbereich, der normalerweise f?r diese Parameter reserviert ist, mit Nullen gef?llt. Dadurch k?nnen Sie testen, ob ein optionaler Parameter ?bergeben wurde oder nicht.

Wenn der Parameter als BYVAL-Parameter definiert ist, hat er den Wert Null. F?r TYPE- oder UNION-Variablen, die BYVAL ?bergeben werden, ?bergibt der Compiler eine Zeichenfolge bin?rer Nullen der L?nge SIZEOF (Typ _oder_union_var).

Wenn der Parameter als BYREF-Parameter definiert ist, ist VARPTR (Varname) gleich Null; Wenn dies zutrifft, f?hrt jeder Versuch, varname in Ihrem Code zu verwenden, zu Fehler Nr. 9 (Nullzeiger); Wenn dieser Fehler nicht mithilfe der Fehlererkennung erkannt wird, kann dies zu einer allgemeinen Schutzverletzung oder einer Speicherbesch?digung f?hren. Sie sollten zun?chst die Funktion ISMISSING() verwenden, um festzustellen, ob der Zugriff auf den Parameter sicher ist.

Da die aufgerufene Funktion, SUB, FASTPROC, METHOD oder PROPERTY zum Zeitpunkt des Aufrufs nicht wei?, wie viele Parameter ?bergeben werden, sollten Sie die Anzahl der Parameter als einen der erforderlichen Parameter in der Liste ?bergeben.

Variablen innerhalb von Subs

LOKALE Variablen werden innerhalb des Prozedurstapelrahmens erstellt. Wenn eine LOCAL-Variable den verf?gbaren Stapelspeicherplatz ?berschreitet, muss m?glicherweise stattdessen eine STATIC- oder GLOBAL-Variable verwendet werden. Beispielsweise kann das Erstellen einer LOCAL-Zeichenfolge mit Nullterminierung oder einer LOCAL-Zeichenfolge fester L?nge, die sehr gro? ist (z. B. fast 1 MB), eine allgemeine Schutzverletzung (GPF) ausl?sen, da sie m?glicherweise den Stapelrahmen ?berl?uft.

Prozedurdefinitionen und Programmablauf

Die Stellung von Prozedurdefinitionen ist meist unerheblich. Normalerweise sind sie in einem Bereich des Quellcodes gruppiert, Prozedurdefinitionen k?nnen jedoch nicht verschachtelt werden. Das hei?t, Sie k?nnen eine Prozedur nicht innerhalb einer anderen Prozedur definieren (obwohl eine Prozedurdefinition Aufrufe anderer Prozeduren enthalten kann). Im Gegensatz zu Unterprogrammen (siehe GOSUB) kann die Programmausf?hrung nicht versehentlich in eine Prozedur ?fallen?, selbst wenn sie sich vor der PBMAIN- oder WINMAIN-Funktion in Ihrem Code befindet. Zum Beispiel:

#COMPILE EXE

SUB DisplayInfo(a$)

' Code kommt hierher

END SUB

FUNCTION PBMAIN

' Hier steht der Hauptprogrammcode

ENDFUNKTION

Wenn dieses Programm ausgef?hrt wird, wird der Code in DisplayInfo nur ausgef?hrt, wenn die Prozedur explizit aufgerufen wird, auch wenn sie sich weiter oben in der Quellcodedatei befindet. Prozedurdefinitionen sollten wie isolierte Codeinseln behandelt werden; Springen Sie nicht mit GOTO , GOSUB oder RETURN hinein oder heraus. Innerhalb eines Verfahrensblocks sind solche Anweisungn zul?ssig.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CALL
  • DECLARE ? PBXB64-Compiler-Hilfe
  • EXIT � PBXB64-Compiler-Hilfe
  • FASTPROC/END FASTPROC-Anweisungen
  • FUNCNAME$
  • FUNCTION/END FUNCTION-Anweisungen
  • GLOBAL ? PBXB64-Compiler-Hilfe
  • GOSUB � PBXB64-Compiler-Hilfe
  • ISMISSING
  • LOCAL � PBXB64-Compiler-Hilfe
  • RETURN
  • STATIC ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


TYP/ENDTYP ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Deklarationen Hilfe zum PBXB64-Compiler

TYP/ENDTYP ? PBXB64-Compiler-Hilfe

Definieren Sie a

Kategorie: Deklarationen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TYPE MyType [BYTE | WORD | DWORD | QWORD] [FILL]
[ MemberName [( subscripts )] AS] TypeName
[ MemberName [(subscripts)] AS TypeName ]
[...]
END TYPE

Beschreibung

Definieren Sie a

Typ:Struktur |Kategorie:Typen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die TYPE-Anweisung besteht aus folgenden Teilen:

Der Anfang einer benutzerdefinierten Typdefinition.

MeinTyp

Der Name des benutzerdefinierten Typs, der den Standardkonventionen zur Variablenbenennung entsprechen muss.

Mitgliederausrichtung

TYPE-Definitionen k?nnen optional eine Ausrichtung von BYTE (Standard), WORD, DWORD oder QWORD sowie FILL-Merkmalen angeben. Bei der Standardausrichtung befindet sich jedes Mitglied einer Typstruktur an der angegebenen Grenze. Bei DWORD k?nnen beispielsweise bis zu 3 Bytes zwischen Mitgliedern ?bersprungen werden, um eine Ausrichtung zu erreichen.

Wenn jedoch ein benutzerdefinierter Typ als Mitglied eines gr??eren benutzerdefinierten Typs definiert wird, beh?lt dieser ?Untertyp? seine urspr?ngliche Gr??e und Ausrichtung bei, genau wie bei der ersten Deklaration.

Jedes Mitglied wird an einer BYTE-Grenze ausgerichtet ? es wird keine Auff?llung oder Ausrichtung auf die Struktur angewendet. Dies ist die Standardausrichtungsmethode.

Jedes Mitglied wird an einer WORD-Grenze ausgerichtet. Jedes ungerade Byte zwischen Mitgliedern von TYPE wird automatisch ?bersprungen und ignoriert. Die UDT-Struktur kann auch mit einem abschlie?enden Byte aufgef?llt werden, um sicherzustellen, dass die Gesamtstrukturgr??e ein Vielfaches von 2 Bytes ist.

Jedes Mitglied wird an einer DWORD-Grenze ausgerichtet. F?r diese Ausrichtung werden bis zu drei Bytes ?bersprungen. Die UDT-Struktur wird au?erdem mit bis zu drei nachfolgenden Bytes aufgef?llt, um sicherzustellen, dass die Gesamtstrukturgr??e ein Vielfaches von 4 Bytes ist.

Aus Gr?nden der Kompatibilit?t mit Windows ist die QWORD-Ausrichtung enthalten. Sie kann in einem 32-Bit-Betriebssystem nicht vollst?ndig implementiert werden. Mit QWORD werden einzelne Mitglieder auf die entsprechende Strukturgr??e 64-Bit ausgerichtet, Variablen dieses Typs d?rfen jedoch nur an 32-Bit-Grenzen ausgerichtet werden, da die Stapelzeigerausrichtung nicht garantiert ist.

Wenn die FILL-Option angegeben ist, z. B. TYPE xxx DWORD FILL, gelten die folgenden Regeln:

1. Es werden keine Bytes ?bersprungen, wenn das n?chste Mitglied des Typs vollst?ndig in den zu ?berspringenden Raum passt.

2. Zeichenfolgen fester L?nge werden als Array von Bytes betrachtet, sodass keine Bytes vor ihnen ?bersprungen werden.

3. Die Gesamtgr??e eines Arrays wird ber?cksichtigt, um zu bestimmen, ob FILL seine Platzierung innerhalb der Struktur beeinflussen soll. Mit DWORD FILL w?rde beispielsweise ein Array aus zwei Ganzzahlen an einer 4-Byte-Grenze beginnen, auch wenn zwei oder drei Bytes ?bersprungen werden m?ssen.

Typmitglieder

Mitgliedsname

Der Name eines Mitglieds des benutzerdefinierten Typs. Auch dies muss den Standardkonventionen zur Variablenbenennung entsprechen.

Indizes

Die Dimensionen eines Mitgliedsarrays. Ein- und zweidimensionale Arrays werden unterst?tzt, m?ssen jedoch mit konstanten oder numerischen Literalwerten definiert werden. Das hei?t, die Gesamtgr??e eines UDT muss zur Kompilierungszeit bekannt sein, sodass Elemente wie dynamische Zeichenfolgen, die in der Gr??e variieren, nicht Teil einer TYPE-Struktur sein k?nnen. Ein STRING-PTR kann dies jedoch, da ein Zeiger als DWORD implementiert ist.

Wie bei herk?mmlichen Arrays ist die untere Array-Grenze standardm??ig Null, aber positive Werte ungleich Null k?nnen verwendet werden, um einen bestimmten Bereich von Indexindexwerten f?r das Array anzugeben, getrennt vom Index der oberen Array-Grenze mit dem Schl?sselwort TO. Dar?ber hinaus m?ssen sowohl der untere als auch der obere Indexwert des Indexes Null oder gr??er sein (dh negative Indexwerte sind nicht zul?ssig). Es folgen Beispiele f?r g?ltige Syntax:

TYP MYTYPE

id AS INTEGER ' Skalares UDT-Mitglied

Styles(6) AS DWORD ' 7 Elemente (0 BIS 6)

Jahre (1980 bis 2010) so lang wie 31 Elemente

Team(100 TO 101) AS BYTE ' 2 Elemente

Bewertung (1 bis 10) AS DWORD ' 10 Elemente

X(1 TO 5, 0 TO 5) AS EXT ' 30 Elemente (5x6)

Y(4,3) AS QUAD ' 20 Elemente (5x4)

END-TYP

Einzelne UDT-Strukturen k?nnen jeweils bis zu 16 MB gro? sein. Ein einzelnes Mitgliedselement eines UDT kann auch die gesamten 16 MB belegen. Zum Beispiel Arrays innerhalb eines UDT, nullterminierte Zeichenfolgen und Zeichenfolgen fester L?nge. Die Gr??e von UDT-Mitgliedsarrays kann zur Laufzeit nicht ge?ndert werden. Dar?ber hinaus kann das nicht direkt auf einem UDT-Mitgliedsarray verwendet werden. Verwenden Sie stattdessen DIM..AT, um ein herk?mmliches Array an derselben Speicheradresse wie das UDT-Mitgliedsarray zu deklarieren, und die ARRAY-Anweisung kann dann f?r dieses Array verwendet werden.

Typname

Einer der unterst?tzten Datentypen, einschlie?lich benutzerdefinierter Typen und Unions, mit Ausnahme von Arrays.

END-TYP

Markiert das Ende der Definition des benutzerdefinierten Typs.

Es ist oft sehr praktisch, mehrere verschiedene Arten von Dingen als eine einzige Einheit oder Datenstruktur bezeichnen zu k?nnen. In einem Buchhaltungsprogramm sind beispielsweise eine Kontonummer und ein Betrag Teil dessen, was einen einzelnen Journaleintrag ausmacht. Die TYPE/END TYPE-Blockanweisungen erleichtern die Erstellung eines einzelnen UDT, der solche Informationen enth?lt.

TYPE JournalType DWORD 'Typname und Ausrichtung

AccountNumber AS LONG ' Mitgliedsname und Datentyp

Betrag AS CUR ' das ist noch einer

END TYPE ' Ende der Typdeklaration

DIM JournalEntry AS JournalType ' einen Datensatz deklarieren

TYPE/END TYPE-Bl?cke m?ssen au?erhalb einer Sub , Function oder Class definiert werden und d?rfen in jedem Programm nur einmal definiert werden. Normalerweise ist es am einfachsten, Ihre TYPE/END TYPE-Blockdefinitionen in eine Include-Datei einzuf?gen und die Metaanweisung #INCLUDE in jedem Modul zu verwenden, das sie m?glicherweise verwenden muss.

TYPE/END TYPE-Bl?cke deklarieren keine Variablen; Stattdessen definieren sie einfach einen neuen Typ. Sie k?nnen Variablen dieses Typs mithilfe der DIM- oder REDIM-Anweisungen oder einer beliebigen Anweisung deklarieren, die die Verwendung einer AS-Klausel erm?glicht:

DIM TypeVariable als TypeVariableType

Sobald Sie eine Variable vom Typ ?Benutzerdefiniert? deklariert haben, k?nnen Sie auf deren Mitgliedselemente im folgenden Format zugreifen:

TypeVariable.Element

Um beispielsweise die Kontonummer im JournalEntryType-Typ zu ?ndern, k?nnen Sie eine Anweisung wie die folgende verwenden:

JournalEntry.AccountNumber = 1000

Ein benutzerdefinierter Typ kann wie jeder integrierte PowerBASIC-Typ verwendet werden. Sie k?nnen beispielsweise ein Array von Datensatzvariablen definieren:

DIM JournalEntries(1 TO 100) AS JournalEntryType

oder erstellen Sie sogar eine Prozedur, die eine Datensatzvariable akzeptiert:

SUB PrintJournalEntry(aJournalEntry AS JournalEntryType)

' Journal drucken

END SUB

Sie k?nnen auch Zeiger in einer TYPE-Definition verwenden. Beachten Sie, dass das erste Mitglied im n?chsten Beispiel automatisch so ausgerichtet wird, dass es an einer DWORD-Grenze beginnt, und drei Bytes ?bersprungen werden, sodass das zweite Mitglied ebenfalls an einer DWORD-Grenze ausgerichtet wird:

Geben Sie MyType DWORD ein

Count AS BYTE ' An einer DWORD-Grenze ausgerichtet

y AS INTEGER PTR ' An der n?chsten DWORD-Grenze ausgerichtet

z AS STRING PTR

END-TYP

Da Zeiger als DWORD gespeichert werden, betr?gt ihre L?nge bei Verwendung in einem TYPE/END TYPE 4 Bytes, unabh?ngig von der L?nge ihres Ziels. Um auf das Ziel eines Zeigers zuzugreifen, m?ssen Sie das At-Zeichen vor dem TYPE/END TYPE-Mitglied platzieren, nicht den Namen des TYPE selbst:

iResult% = @MyType.y ' Ung?ltig

iResult% = MyType.@y ' G?ltig

Sie k?nnen auch eine Variable deklarieren, die ein Zeiger auf einen TYPE ist:

Geben Sie ?Meine Daten? ein

Wert1 als Ganzzahl

Wert2 als Ganzzahl

Val3 ALS INTEGER

Val4 ALS INTEGER

END-TYP

DIM Info AS MyData PTR

Info = VARPTR(IhreDaten)

Nachricht$ = HEX$(@Info.Val1) + $CRLF + _

HEX$(@Info.Val2) + $CRLF + _

HEX$(@Info.Val3) + $CRLF + _

HEX$(@Info.Val4)

Beachten Sie, dass der Zielspezifizierer vor dem TYPE-Namen steht, da es sich um den Zeiger handelt. Val1, Val2, Val3 und Val4 stellen Offsets von diesem Zeiger dar. PowerBASIC unterst?tzt zwar einen Zeiger innerhalb eines Strukturzeigers, Sie sollten jedoch bei der Verwendung sehr vorsichtig sein. Eine ?nderung des Strukturzeigers selbst k?nnte dazu f?hren, dass alle Mitgliedszeiger ung?ltig werden. Weitere Informationen finden Sie im Thema zu Zeigern.

Bitvariablen

TYPE-Strukturen k?nnen Bitvariablen enthalten, die BIT (Werte ohne Vorzeichen) oder SBIT (Werte mit Vorzeichen) hei?en. Jede Bitvariable kann 1 bis 31 Bits belegen und sie k?nnen nacheinander bis zu insgesamt 32 Bits pro Bitfeld gepackt werden. Die Gr??e einer Bitvariablen ist wie folgt definiert:

var AS BIT * nlit [IN BYTE|WORD|DWORD]

Dabei definiert der Begriff ?* nlit? die Anzahl der Bits (1 bis 31) und der optionale Begriff ?IN BYTE|WORD|DWORD?, falls vorhanden, definiert den Beginn eines neuen Bitfelds von 1, 2 oder 4 Bytes. Zum Beispiel:

TYP ABCD

Valu2 AS BIT * 31 IN DWORD

Sign1 AS SBIT * 1

nybl2 AS BIT * 4 IN BYTE

nybl1 AS BIT * 4

END-TYP

Die obige Beispiel-TYPE-Struktur ist 5 Byte gro? und enth?lt ein 4-Byte-Bitfeld und ein 1-Byte-Bitfeld. In diesem Fall enth?lt jede zwei Bitvariablen unterschiedlicher Gr??e. Der Wertebereich, der gespeichert werden kann, h?ngt von der Anzahl der verf?gbaren Bits ab. Beispielsweise hat ?BIT * 4? einen Bereich von 0 bis 15, ?SBIT * 1? einen Bereich von -1 bis 0 und ?SBIT * 5? einen Bereich von -16 bis +15.

Strukturen innerhalb von Strukturen

Strukturen (TYPE/UNION) k?nnen zur Vereinfachung der Referenzierung tief verschachtelter Elemente in eine andere Struktur eingebettet werden, indem einfach nur der Strukturname an der entsprechenden Position angegeben wird. Die interne Ausrichtung der Mitgliederstruktur wird unabh?ngig von anderen Ausrichtungsspezifikationen pr?zise beibehalten, um Vererbungsproblemen vorzubeugen. Zum Beispiel:

TYP ABCD3

A SO LANG

C SO LANG

END-TYP

TYP ABCD2

D ALS DWORD

E AS DOPPELT

END-TYP

UNION ABCD1

F ALS DWORD

G SO LANG

H ALS EINZELN

END UNION

In diesem Fall k?nnten Sie sehr einfach auf das einzelne Float-Element mit einfacher Genauigkeit dieser Struktur zugreifen. Unter der Annahme, dass DIM

Weitere Informationen finden Sie in den Abschnitten UNION/END UNION und Benutzerdefinierte Typen und Unions.

Einschr?nkungen

Wenn Sie die Gr??e einer aufgef?llten (ausgerichteten) UDT-Struktur mit den Anweisungen LEN oder SIZEOF messen, umfasst die gemessene L?nge alle Auff?llungen, die der Struktur hinzugef?gt wurden. Beispielsweise die folgende UDT-Struktur:

TYP L?ngeTestTyp DWORD

a AS INTEGER

END-TYP

' Mehr Code hier

DIM abc AS LengthTestType

x& = LEN(abc)

Gibt eine L?nge von 4 Bytes in x& zur?ck, da der UDT mit 2 zus?tzlichen Bytes aufgef?llt wurde, um die DWORD-Ausrichtung zu erzwingen. Beachten Sie, dass LEN und SIZEOF einzelner UDT-Mitglieder die wahre Gr??e des Mitglieds zur?ckgeben, unabh?ngig von Auff?llung oder Ausrichtung. Im vorherigen Beispiel gibt LEN(abc.a) 2 zur?ck.

Einzelne UDT-Strukturen k?nnen jeweils bis zu 16 MB gro? sein. Arrays innerhalb eines UDT, nullterminierte Zeichenfolgen und Zeichenfolgen fester L?nge k?nnen die volle Strukturgr??enbeschr?nkung von 16 MB belegen.

Feldleisten und dynamische Zeichenfolgen k?nnen nicht in UDT- oder UNION-Strukturen verwendet werden. Der Versuch, dies zu tun, f?hrt zur Kompilierungszeit zu einem Fehler 485 (?Dynamik/Feldzeichenfolgen nicht zul?ssig?).

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • LEN ? PBXB64-Compiler-Hilfe
  • REDIM ? PBXB64-Compiler-Hilfe
  • LET-Anweisung (mit Typen)
  • SIZEOF
  • TYPE SET
  • UNION/END UNION
  • Benutzerdefinierte Typen (UDTs)
  • Gewerkschaften
  • Hilfe zum PBXB64-Compiler


UNION / END UNION - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Deklarationen Hilfe zum PBXB64-Compiler

UNION / END UNION

Definiert ein &uuml;berlappendes Record-Layout f&uuml;r verschiedene Sichtweisen auf denselben Speicher.

Kategorie: Deklarationen

Syntax

UNION UnionName
    MemberName [()] AS TypeName
    [ MemberName [()] AS TypeName ]
END UNION

Beschreibung

Definiert ein überlappendes Record-Layout für verschiedene Sichtweisen auf denselben Speicher.

Kind: Struktur | Category: Types

PBXB64 Status: VERFÜGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Description

Eine UNION ist wie ein TYPE, mit dem Unterschied, dass alle Mitglieder denselben Speicher teilen. Wenn Sie über ein Mitglied schreiben, sehen die anderen Mitglieder dieselben Bytes.

Verwenden Sie UNION, wenn Sie alternative Interpretationen derselben Daten brauchen, etwa numerische Überlagerungen, Byte-Packung oder eine kompakte Sicht auf eine getaggte Struktur.

Mitglieder können Arrays oder verschachtelte TYPE/UNION-Definitionen sein. Bit-Felder werden ebenfalls unterstützt, wenn Sie dicht gepackte Kontrollwerte benötigen.

Einschränkungen

  • Die Größe der UNION entspricht immer dem größten Mitglied.
  • Dynamische Feldzeichenketten sind in TYPE- und UNION-Speicher nicht erlaubt.
  • Verwenden Sie TYPE, wenn Mitglieder unabhängigen Speicher statt überlappender Bytes brauchen.

Praktische Verwendung

UNION / END UNION gehoert zur Kategorie Types. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.


Datentypen & Variablen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datentypen & Variablen Hilfe zum PBXB64-Compiler

Datentypen & Variablen

Themen in diesem Kapitel

Lange Ganzzahlen (&) " PBXB64-Compiler-Hilfe


Lange Ganzzahlen (&) " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datentypen & Variablen Hilfe zum PBXB64-Compiler

Lange Ganzzahlen (&) " PBXB64-Compiler-Hilfe

Wie regul&auml;re Integers k&ouml;nnen Long Integers keine Dezimalstellen enthalten. Sie umfassen jedoch einen viel gr&ouml;&#195;&#376;eren Bereich, von -2.147.483.648 bis +2.147.483.647 ( -2^31 bis 2^31 - 1), belegen jedoch nur 4 Bytes (32-Bit).

Kategorie: Datentypen & Variablen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wie reguläre Integers können Long Integers keine Dezimalstellen enthalten. Sie umfassen jedoch einen viel gröÃŸeren Bereich, von -2.147.483.648 bis +2.147.483.647 ( -2^31 bis 2^31 - 1), belegen jedoch nur 4 Bytes (32-Bit).

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Lange Ganzzahlen werden identifiziert, indem dem Variablennamen ein kaufmännisches Und (d. h. var&) folgt oder indem die DEFLNG-Anweisung verwendet wird, wie in der vorherigen Diskussion von Ganzzahlen beschrieben. Sie können Long-Integer-Variablen auch mit dem Schlüsselwort LONG mit der DIM-Anweisung deklarieren. Zum Beispiel:

Lange Ganzzahlen sind der effizienteste numerische Datentyp in PowerBASIC und sollten in allen Fällen verwendet werden, in denen Geschwindigkeit wichtig ist und kein gröÃŸerer numerischer Bereich erforderlich ist. (Die Verwendung von Byte- und Integer-Variablen in FOR/NEXT-Schleifen ist tatsächlich langsamer als die Verwendung einer Long-Ganzzahl.)

Eine PowerBASIC-Long-Integer-Variable entspricht dem BOOL-Datentyp (in GroÃŸbuchstaben), der üblicherweise von C/C++-Compilern verwendet wird. Beachten Sie, dass ein Bool (Kleinbuchstabe) ein nicht-traditioneller Datentyp ist, der einem Byte in PowerBASIC entspricht. Beachten Sie, dass einige ältere C-Compiler die Schlüsselwörter bool und BOOL frei austauschen können.

Description

LONG is the signed 32-bit integer type used by the BASIC frontend for arithmetic, counters, status codes, and many Windows return values. It is the default integral type for much of the classic PowerBASIC surface.

Validation Evidence

Validation evidence: The numeric-type pages and basic arithmetic regressions prove the current LONG size and signed behavior.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' numeric_type_long
FUNCTION PBMAIN() AS LONG
  LOCAL a AS LONG
  a = 10
  IF (a) <> (10) THEN FUNCTION = 1: EXIT FUNCTION
  a = a + 5
  IF (a) <> (15) THEN FUNCTION = 2: EXIT FUNCTION
  a = a * 2
  IF (a) <> (30) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION
Nach oben


Operatoren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Operatoren Hilfe zum PBXB64-Compiler

Operatoren

Themen in diesem Kapitel

EQV ? PBXB64-Compiler-Hilfe IMP ? PBXB64-Compiler-Hilfe IS LIKE MOD ? PBXB64-Compiler-Hilfe NICHT ? PBXB64-Compiler-Hilfe ODER UND XOR ? PBXB64-Compiler-Hilfe


EQV ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Operatoren Hilfe zum PBXB64-Compiler

EQV ? PBXB64-Compiler-Hilfe

Der EQV-Operator funktioniert sowohl logisch als auch bitweise

Kategorie: Operatoren | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

p EQV q

Beschreibung

Der EQV-Operator funktioniert sowohl logisch als auch bitweise

Typ:Betreiber |Kategorie:Betreiber

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Verwendung von EQV als logischen Operator

EQV gibt TRUE (ungleich Null) zur?ck, wenn mindestens ein Bit in einem Operanden denselben Wert enth?lt wie die identische Bitposition im anderen Operanden. Dar?ber hinaus gibt EQV genau dann Null zur?ck, wenn zwischen den beiden Operanden keine ?bereinstimmenden Bitwerte vorhanden sind. Dies kann auftreten, wenn ein Operand gleich dem bitweisen NOT-Wert des anderen Operanden ist. Zum Beispiel:

IF x EQV y = 0 THEN-Anweisung

is equivalent to:

IF x = NOT y THEN-Anweisung

Der EQV-Operator kann zum Vergleichen von vorzeichenbehafteten und vorzeichenlosen Werten derselben Bitgr??e verwendet werden, z. B. Long-integer und Double-word . Diese Verwendung von EQV ?hnelt der Verwendung der BITS-Funktionen; Es muss jedoch darauf geachtet werden, den R?ckgabewert von EQV korrekt zu testen, da EQV nur dann einen vorzeichenlosen Wert mit allen gesetzten Bits zur?ckgibt, wenn die Bitmuster der beiden Operanden genau ?bereinstimmen.

Die EQV-Wahrheitstabelle sieht folgenderma?en aus:

Wahrheitstabelle

x EQV y

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Arithmetische Operatoren - Hilfe zum PBXB64-Compiler
  • UND
  • IMP ? PBXB64-Compiler-Hilfe
  • ISFALSE- und ISTRUE-Operatoren
  • LET
  • NICHT ? PBXB64-Compiler-Hilfe
  • ODER
  • XOR ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


IMP ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Operatoren Hilfe zum PBXB64-Compiler

IMP ? PBXB64-Compiler-Hilfe

Der IMP-Operator funktioniert sowohl logisch als auch bitweise

Kategorie: Operatoren | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

p IMP q

Beschreibung

Der IMP-Operator funktioniert sowohl logisch als auch bitweise

Typ:Betreiber |Kategorie:Betreiber

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

IMP als logischer Operator

Der IMP-Operator gibt genau dann FALSE (Null) zur?ck, wenn sein erster Operand TRUE (ungleich Null) und sein zweiter Operand FALSE ist. In allen anderen F?llen wird TRUE zur?ckgegeben.

Wahrheitstabelle

x IMP y

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Arithmetische Operatoren - Hilfe zum PBXB64-Compiler
  • UND
  • EQV ? PBXB64-Compiler-Hilfe
  • ISFALSE- und ISTRUE-Operatoren
  • NICHT ? PBXB64-Compiler-Hilfe
  • ODER
  • XOR ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


IS - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Operatoren Hilfe zum PBXB64-Compiler

IS

Vergleicht zwei Werte als exakten Treffer in Ausdrucksform.

Kategorie: Operatoren

Syntax

result = expr1 IS expr2
CASE IS comparison_expression

Beschreibung

Vergleicht zwei Werte als exakten Treffer in Ausdrucksform.

Kind: Operator | Category: Operators

PBXB64 Status: VERFÜGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Description

IS ist der exakte Vergleichsoperator, der in PBXB64-BASIC-Ausdrücken verwendet wird. Er liefert ein boolesches Ergebnis, das zu den übrigen Operatoren passt.

In SELECT CASE-Blocken führt dasselbe Schlüsselwort auch relationale Tests wie CASE IS > 5 oder CASE IS < 0 ein. Diese Form gehört zur CASE-Syntax und nicht zu einem eigenen Ausdrucksoperator.

Der Operator ist nützlich, wenn Sie einen klaren Vergleich wollen, der sich eher wie Identität oder exakter Treffer liest als wie eine lockerere numerische Kurzform.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


LIKE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Operatoren Hilfe zum PBXB64-Compiler

LIKE

Vergleicht eine Zeichenfolge mit einem Muster unter Verwendung von Platzhalterzeichen.

Kategorie: Operatoren

Syntax

result = text LIKE pattern

Beschreibung

Vergleicht eine Zeichenfolge mit einem Muster unter Verwendung von Platzhalterzeichen.

Typ:Betreiber |Kategorie: String-Operationen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Beispiel

IF "hello" LIKE "h*o" THEN PRINT "matched"


MOD ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Operatoren Hilfe zum PBXB64-Compiler

MOD ? PBXB64-Compiler-Hilfe

Gibt den Rest der Division zwischen zwei Zahlen zur?ck.

Kategorie: Operatoren | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

p MOD q

Beschreibung

Gibt den Rest der Division zwischen zwei Zahlen zur?ck.

Typ:Betreiber |Kategorie:Betreiber

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der MOD-Operator dividiert die beiden Operanden p und q und gibt den Rest dieser Division zur?ck. Das Ergebnis der anf?nglichen Division wird auf einen ganzzahligen Wert gek?rzt, bevor der Rest berechnet wird. Siehe das Beispiel unten.

Der Rest kann ein Gleitkommawert sein. MOD wird oft als Erg?nzung zur Integraldivision angesehen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' numeric_mod_0_1
FUNCTION PBMAIN() AS LONG
  IF (0 MOD 1) <> (0) THEN FUNCTION = 245: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • LET


NICHT ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Operatoren Hilfe zum PBXB64-Compiler

NICHT ? PBXB64-Compiler-Hilfe

Der NOT-Operator funktioniert bitweise

Kategorie: Operatoren | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

NOT p

Beschreibung

Der NOT-Operator funktioniert bitweise

Typ:Betreiber |Kategorie:Betreiber

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der NOT-Operator von PowerBASIC gibt das Einerkomplement eines Integralausdrucks zur?ck. Beim Umgang mit den absoluten Werten 0 und -1 ?kehrt? der NOT-Operator die beiden Werte um und f?hrt eine boolesche Operation aus.

PowerBASIC akzeptiert jeden Wert ungleich Null als logischen TRUE-Wert; Daher k?nnen in einem Programm subtile Logikprobleme auftreten, wenn der NOT-Operator verwendet wird, um boolesche Logiktests mit Operandenwerten durchzuf?hren, die nicht nur auf 0 und -1 beschr?nkt sind.

Betrachten Sie die folgenden zwei Testbedingungen:

test1 = 0 ' test1 ist FALSCH (Null)

IF NICHT test1 THEN ' TRUE (-1 ist ungleich Null)

test2 = 1 ' test2 ist WAHR (1 ist ungleich Null)

IF NICHT test2 THEN ' immer noch TRUE (-2 ist ungleich Null)

Da NOT eine bitweise Operation f?r test2 ausf?hrt, wird der logische TRUE/FALSE-Wert von test2 nicht umgekehrt, sondern -2 (das Einserkomplement von 1) zur?ckgegeben, was als logischer TRUE-Wert ausgewertet wird.

In F?llen, in denen eine ordnungsgem??e logische (boolesche) Auswertung erforderlich ist und der Operand einen anderen Wert als 0 und -1 haben kann, sollte der ISFALSE-Operator anstelle des NOT-Operators verwendet werden:

test3 = 1 ' test3 ist WAHR (ungleich Null)

IF ISFALSE test3 THEN ' ISFALSE erkennt test3

[Anweisungen] 'WAHR, sodass der IF-Test fehlschl?gt

Das Zweierkomplement eines Wertes kann mit dem folgenden Algorithmus ermittelt werden:

y = (NICHT x) + 1

Verwendung von NOT als logischen Operator

NOT gibt genau dann 0 (FALSE) zur?ck, wenn sein Operand genau -1 (TRUE) ist. Im Allgemeinen sollten Sie den ISFALSE-Operator anstelle von NOT verwenden, wenn Sie auf logische Falschheit testen.

Wahrheitstabelle

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' numeric_logical_1
FUNCTION PBMAIN() AS LONG
  IF NOT (((5 > 3) AND (2 < 4)) = TRUE) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • Arithmetische Operatoren - Hilfe zum PBXB64-Compiler
  • UND
  • EQV ? PBXB64-Compiler-Hilfe
  • IMP ? PBXB64-Compiler-Hilfe
  • ISFALSE- und ISTRUE-Operatoren
  • ODER
  • IF/END IF
  • XOR ? PBXB64-Compiler-Hilfe


ODER - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Operatoren Hilfe zum PBXB64-Compiler

ODER

Der ODER-Operator funktioniert sowohl logisch als auch bitweise

Kategorie: Operatoren | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

p OR q

Beschreibung

Der ODER-Operator funktioniert sowohl logisch als auch bitweise

Typ:Betreiber |Kategorie:Betreiber

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Verwendung von OR als logischen Operator

OR gibt genau dann TRUE (ungleich Null) zur?ck, wenn einer oder beide seiner Operanden TRUE sind. Hier ist die Wahrheitstabelle von OR:

Wahrheitstabelle

x ODER y

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' numeric_logical_1
FUNCTION PBMAIN() AS LONG
  IF NOT (((5 > 3) AND (2 < 4)) = TRUE) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • Arithmetische Operatoren - Hilfe zum PBXB64-Compiler
  • UND
  • EQV ? PBXB64-Compiler-Hilfe
  • IMP ? PBXB64-Compiler-Hilfe
  • ISFALSE- und ISTRUE-Operatoren
  • LET
  • NICHT ? PBXB64-Compiler-Hilfe
  • XOR ? PBXB64-Compiler-Hilfe


UND - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Operatoren Hilfe zum PBXB64-Compiler

UND

Der AND-Operator funktioniert sowohl als logischer als auch als bitweiser arithmetischer Operator.

Kategorie: Operatoren | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

p AND q

Beschreibung

Der AND-Operator funktioniert sowohl als logischer als auch als bitweiser arithmetischer Operator.

Typ:Betreiber |Kategorie:Betreiber

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Beispiel

#COMPILE EXE
#DIM ALL
' numeric_logical_1
FUNCTION PBMAIN() AS LONG
  IF NOT (((5 > 3) AND (2 < 4)) = TRUE) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • Arithmetische Operatoren - Hilfe zum PBXB64-Compiler
  • EQV ? PBXB64-Compiler-Hilfe
  • IMP ? PBXB64-Compiler-Hilfe
  • ISFALSE- und ISTRUE-Operatoren
  • NICHT ? PBXB64-Compiler-Hilfe
  • ODER
  • XOR ? PBXB64-Compiler-Hilfe


XOR ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Operatoren Hilfe zum PBXB64-Compiler

XOR ? PBXB64-Compiler-Hilfe

Der XOR-Operator funktioniert sowohl logisch als auch bitweise

Kategorie: Operatoren | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

p XOR q

Beschreibung

Der XOR-Operator funktioniert sowohl logisch als auch bitweise

Typ:Betreiber |Kategorie:Betreiber

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XOR als logischer Operator

XOR gibt genau dann FALSE (Null) zur?ck, wenn beide Operanden denselben Wert haben. Hier ist die Wahrheitstabelle von XOR:

Wahrheitstabelle

x XOR y

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Arithmetische Operatoren - Hilfe zum PBXB64-Compiler
  • UND
  • EQV ? PBXB64-Compiler-Hilfe
  • IMP ? PBXB64-Compiler-Hilfe
  • NICHT ? PBXB64-Compiler-Hilfe
  • ODER
  • Hilfe zum PBXB64-Compiler


Kontrollfluss - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Kontrollfluss Hilfe zum PBXB64-Compiler

Kontrollfluss

Themen in diesem Kapitel

DO ? PBXB64-Compiler-Hilfe EXIT � PBXB64-Compiler-Hilfe FOR � PBXB64-Compiler-Hilfe GOSUB � PBXB64-Compiler-Hilfe GOTO ? PBXB64-Compiler-Hilfe IF � PBXB64-Compiler-Hilfe SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe TRY/END TRY ? Hilfe zum PBXB64-Compiler WEITER WHILE � PBXB64-Compiler-Hilfe


DO ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Kontrollfluss Hilfe zum PBXB64-Compiler

DO ? PBXB64-Compiler-Hilfe

Beginnen Sie eine DO-Schleife

Kategorie: Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DO [{WHILE | UNTIL} condition]
  [statements]
LOOP

Beschreibung

Beginnen Sie eine DO-Schleife

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerDO Die Anweisung beginnt eine flexible Schleife. Ohne Klausel bildet es eine Endlosschleife, die mit verlassen werden muss EXIT DO. DO WHILEUndDO UNTIL Testen Sie die Bedingung am Anfang der Schleife.

Generierter Assembler-Code

Kompilieren mit:

PBXB64 example.pb --asmout example.asm
pb_do_cond_PBMAIN_0:
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 5
    setle r10
    mov rbx, r10
    test rbx, rbx
    jne pb_do_body_PBMAIN_1
    jmp pb_do_end_PBMAIN_2
pb_do_body_PBMAIN_1:
    mov r10, [rbp-32]
    mov rbx, r10
    mov r10, [rbp-24]
    add rbx, r10
    mov [rbp-32], rbx
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, 1
    mov [rbp-24], rbx
    jmp pb_do_cond_PBMAIN_0
pb_do_end_PBMAIN_2:

Praktische Verwendung

DO gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL n AS LONG
    LOCAL sum AS LONG
    n = 1
    sum = 0
    DO WHILE n <= 5
        sum = sum + n
        n = n + 1
    LOOP
    FUNCTION = sum
END FUNCTION

Siehe auch

  • LOOP
  • WHILE � PBXB64-Compiler-Hilfe
  • EXIT � PBXB64-Compiler-Hilfe
  • ITERATE � PBXB64-Compiler-Hilfe
  • GRUNDLEGENDER Kontrollfluss


EXIT � PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Kontrollfluss Hilfe zum PBXB64-Compiler

EXIT � PBXB64-Compiler-Hilfe

&#65533;bertragen Sie die Programmausf&#65533;hrung aus einer Blockstruktur

Kategorie: Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

EXIT FASTPROC ' FastProc / End FastProc
EXIT FOR ' For / Next Loop
EXIT FUNCTION ' Function / End Function
EXIT IF ' If / End If
EXIT DO ' Do / Loop or While / Wend
EXIT LOOP ' Do / Loop or While / Wend
EXIT MACRO ' Macro / End Macro
EXIT METHOD ' Method / End Method
EXIT PROPERTY ' Property / End Property
EXIT SELECT ' Select / End Select
EXIT SUB ' Sub / End Sub
EXIT TRY ' Try / End Try
EXIT [,ITERATE] ' Exit one loop and immediately iterate another
EXIT [,EXIT...] ' The nearest enclosing block structure

Beschreibung

�bertragen Sie die Programmausf�hrung aus einer Blockstruktur

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF�GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Anweisung EXIT verlaesst sofort die umschliessende Blockstruktur. EXIT FOR, EXIT DO/EXIT LOOP und EXIT WHILE verlassen Schleifen; EXIT IF verlaesst den aktuellen mehrzeiligen IF...END IF-Block; EXIT FUNCTION, EXIT SUB und EXIT FASTPROC kehren aus Prozeduren zurueck. Mehrere durch Kommas getrennte EXIT-Schluesselwoerter verlassen verschachtelte Strukturen von innen nach aussen.

Generierter Assembler-Code

Kompilieren mit:

PBXB64 example.pb --asmout example.asm

EXIT FOR f�hrt zu einem bedingungslosen Sprung zum Endlabel der Schleife:

    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 10
    setg r10
    mov rbx, r10
    test rbx, rbx
    jne pb_if_then_PBMAIN_0
    jmp pb_if_else_PBMAIN_1
pb_if_then_PBMAIN_0:
    jmp pb_for_end_PBMAIN_2
pb_if_else_PBMAIN_1:
    jmp pb_for_step_PBMAIN_3

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DO/LOOP-Anweisungen � PBXB64-Compiler-Hilfe
  • FASTPROC/END FASTPROC-Anweisungen
  • FOR EACH/NEXT-Anweisungen
  • FOR/NEXT-Anweisungen ? PBXB64-Compiler-Hilfe
  • FUNCTION/END FUNCTION-Anweisungen
  • IF/END IF
  • ITERATE � PBXB64-Compiler-Hilfe
  • MAKRO/ENDMAKRO
  • METHOD/END METHOD-Anweisungen
  • PROPERTY / END PROPERTY
  • SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe
  • SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe
  • TRY/END TRY ? Hilfe zum PBXB64-Compiler
  • WHILE/WEND-Anweisungen ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


FOR � PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Kontrollfluss Hilfe zum PBXB64-Compiler

FOR � PBXB64-Compiler-Hilfe

Beginnen Sie eine gez&#65533;hlte Schleife

Kategorie: Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FOR counter = start TO end [STEP increment]
  [statements]
NEXT [counter]

Beschreibung

Beginnen Sie eine gez�hlte Schleife

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF�GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerFOR...NEXT Die Anweisung f�hrt einen Anweisungsblock mit einer festen Anzahl von Malen aus. Die counter Variable wird initialisiert auf start, getestet gegen endund erh�ht um increment (oder um 1, wenn STEP wird weggelassen) nach jeder Iteration.

Die Schleife endet, wenn der Test fehlschl�gt. Wenn STEP negativ ist, z�hlt die Schleife abw�rts und der Test wird umgekehrt.

Parameter

Parameter | Beschreibung
counter | Eine numerische Variable. Unterst�tzte Typen: LONG, INTEGER, QUAD, DWORD, WORD, BYTE, CURRENCY, SINGLE, DOUBLE, EXTENDED.
start | Der dem Z�hler zugewiesene Anfangswert.
end | Der Grenzwert, der am Anfang jeder Iteration getestet wird.
increment | Optional. Der Betrag, der nach jeder Iteration zum Z�hler hinzugef�gt wird. Der Standardwert ist 1.

Generierter Assembler-Code

Kompilieren mit:

PBXB64 example.pb --asmout example.asm

Die Schleife wird auf einen Bedingungsblock, einen Hauptblock und einen Schrittblock reduziert. Der Z�hler befindet sich in einem Stapelsteckplatz:

pb_for_cond_PBMAIN_0:
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 5
    setle r10
    mov rbx, r10
    test rbx, rbx
    jne pb_for_body_PBMAIN_1
    jmp pb_for_end_PBMAIN_3
pb_for_body_PBMAIN_1:
    ; sum = sum + i
    mov r10, [rbp-32]
    mov rbx, r10
    mov r10, [rbp-24]
    add rbx, r10
    mov [rbp-32], rbx
    jmp pb_for_step_PBMAIN_2
pb_for_step_PBMAIN_2:
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, 1
    mov [rbp-24], rbx
    jmp pb_for_cond_PBMAIN_0
pb_for_end_PBMAIN_3:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL i AS LONG
    LOCAL sum AS LONG
    sum = 0
    FOR i = 1 TO 5
        sum = sum + i
    NEXT i
    FUNCTION = sum
END FUNCTION

Siehe auch

  • WEITER
  • EXIT � PBXB64-Compiler-Hilfe
  • ITERATE � PBXB64-Compiler-Hilfe
  • WHILE � PBXB64-Compiler-Hilfe
  • DO ? PBXB64-Compiler-Hilfe
  • GRUNDLEGENDER Kontrollfluss


GOSUB � PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Kontrollfluss Hilfe zum PBXB64-Compiler

GOSUB � PBXB64-Compiler-Hilfe

Rufen Sie eine Unterroutine auf.

Kategorie: Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GOSUB { label | linenumber }
GOSUB DWORD dwpointer

Beschreibung

Rufen Sie eine Unterroutine auf.

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF�GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GOSUB bewirkt, dass die Ausf�hrung zu der Anweisung verzweigt, der die Bezeichnung oder Zeilennummer vorangestellt ist, nachdem zun�chst der aktuelle Speicherort auf dem Stapel gespeichert wurde. Die Bezeichnung oder Zeilennummer muss lokal f�r die Sub , Function , Method oder Property sein, in der sich die GOSUB-Anweisung befindet. Das Ausf�hren einer RETURN-Anweisung gibt die Kontrolle an die Anweisung zur�ck, die unmittelbar auf GOSUB folgt.

Stellen Sie bei der Verwendung von GOSUB sicher, dass jede Unterroutine �ber eine RETURN-Anweisung ordnungsgem�� zu ihrem Aufrufer zur�ckkehrt. Au�er Kontrolle geratene (rekursive) GOSUBs, die sich selbst in einer Schleife ausf�hren, verbrauchen gro�e Teile des Stapelspeichers und verringern so den verf�gbaren Speicher.

Alle Beschriftungen und Zeilennummern sind privat. Sie k�nnen kein GOSUB zu einem Label au�erhalb der aktuellen Prozedur verwenden.

Bei zeitkritischem oder leistungsstarkem Code ist die Verwendung eines GOSUB zum Ausf�hren einer sich wiederholenden Aufgabe fast immer schneller als der Aufruf einer Prozedur, da beim Einrichten eines Stapelrahmens f�r ein GOSUB kein Overhead entsteht.

GOSUB DWORD bewirkt, dass die Ausf�hrung zur im DW-Zeiger gespeicherten Adresse verzweigt, nachdem zun�chst der aktuelle Speicherort auf dem Stapel gespeichert wurde. dwpointer muss eine Double Word-, Long Integer- oder Zeigervariable sein, die die Adresse einer Bezeichnung enth�lt, die sich in derselben Prozedur wie die GOSUB DWORD-Anweisung befindet. Das Ausf�hren einer RETURN-Anweisung gibt die Kontrolle an die Anweisung zur�ck, die unmittelbar auf die GOSUB DWORD-Anweisung folgt.

Fokussierte V14-Validierung: tests/pb/test_control_flow_core.pb prueft, dass laufzeitbestimmtes ON choice GOSUB label1, label2, label3 PBWin-kompatible 1-basierte Auswahl verwendet, jeder gewaehlte Zweig mit RETURN zurueckkehrt und Werte ausserhalb des Bereichs durchfallen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' controlflow_gosub
FUNCTION PBMAIN() AS LONG
  LOCAL s AS LONG
  s = 0
  GOSUB AddFive
  s = s + 1
  IF (s) <> (6) THEN FUNCTION = 1: EXIT FUNCTION
  EXIT FUNCTION
AddFive:
  s = s + 5
  RETURN
  FUNCTION = 0
END FUNCTION

Siehe auch

  • #STACK
  • FUNCTION/END FUNCTION-Anweisungen
  • METHOD/END METHOD-Anweisungen
  • ON GOSUB
  • PROPERTY / END PROPERTY
  • SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe
  • RETURN


GOTO ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Kontrollfluss Hilfe zum PBXB64-Compiler

GOTO ? PBXB64-Compiler-Hilfe

Unbedingte Verzweigung zu einem Label

Kategorie: Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GOTO label
label:

Beschreibung

Unbedingte Verzweigung zu einem Label

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerGOTO Die Anweisung ?bertr?gt die Ausf?hrung an eine gekennzeichnete Anweisung in derselben Prozedur. Beschriftungen sind Bezeichner, denen ein Doppelpunkt folgt, und m?ssen innerhalb der Prozedur eindeutig sein.

Generierter Assembler-Code

Kompilieren mit:

PBXB64 example.pb --asmout example.asm
start_PBMAIN_0:
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, 1
    mov [rbp-24], rbx
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 5
    setl r10
    mov rbx, r10
    test rbx, rbx
    jne start_PBMAIN_0
    jmp pb_goto_after_PBMAIN_1
pb_goto_after_PBMAIN_1:

Praktische Verwendung

GOTO gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL n AS LONG
    n = 0
start:
    n = n + 1
    IF n < 5 THEN GOTO start
    FUNCTION = n
END FUNCTION

Siehe auch

  • GOSUB � PBXB64-Compiler-Hilfe
  • RETURN
  • WHILE � PBXB64-Compiler-Hilfe
  • FOR � PBXB64-Compiler-Hilfe
  • GRUNDLEGENDER Kontrollfluss


IF � PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Kontrollfluss Hilfe zum PBXB64-Compiler

IF � PBXB64-Compiler-Hilfe

Bedingter Ausf&#65533;hrungsblock

Kategorie: Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

IF condition THEN
  [statements]
[ELSEIF condition THEN
  [statements] ...]
[ELSE
  [statements]]
END IF

Beschreibung

Bedingter Ausf�hrungsblock

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF�GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerIF...THEN...END IF Die Anweisung f�hrt einen von mehreren Anweisungsbl�cken basierend auf einer booleschen Bedingung aus. Die Bedingung kann ein beliebiger numerischer Ausdruck oder ein Zeichenfolgenausdruck sein. Numerische Nullen und leere Zeichenfolgen werden als falsch behandelt. Nicht null und nicht leer werden als wahr behandelt.

Mehrere ELSEIF Zweige und eine einzelne ELSE Zweig werden unterst�tzt. Nur der erste Zweig, dessen Bedingung wahr ist, wird ausgef�hrt.

Generierter Assembler-Code

PBXB64 example.pb --asmout example.asm

Jede Bedingung wird auf einen Vergleich, eine boolesche Konvertierung und einen bedingten Sprung reduziert. Die THEN, ELSEIF, UndELSE K�rper werden zu beschrifteten Basisbl�cken, die in einem einzigen Zusammenf�hrungsblock zusammenlaufen:

    mov rbx, 10
    mov [rbp-32], rbx
    mov r10, [rbp-32]
    mov rbx, r10
    cmp rbx, 5
    setg r10
    mov rbx, r10
    test rbx, rbx
    jne pb_if_then_PBMAIN_0
    jmp pb_if_else_PBMAIN_1
pb_if_then_PBMAIN_0:
    mov [rbp-24], 1
    jmp pb_if_end_PBMAIN_2
pb_if_else_PBMAIN_1:
    ; ELSEIF x = 5 ...
    jmp pb_elseif_else_PBMAIN_4
pb_if_end_PBMAIN_2:
    mov r10, [rbp-24]
    mov rax, r10
    ; function epilogue

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 10
    IF x > 5 THEN
        FUNCTION = 1
    ELSEIF x = 5 THEN
        FUNCTION = 2
    ELSE
        FUNCTION = 3
    END IF
END FUNCTION

Siehe auch

  • ELSEIF
  • ELSE
  • THEN
  • SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe


SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Kontrollfluss Hilfe zum PBXB64-Compiler

SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe

Steuern Sie den Programmfluss basierend auf dem Wert eines Ausdrucks.

Kategorie: Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SELECT CASE [AS] [LONG | CONST | CONST$ | CONST$$] expression
CASE [IS] testlist
[ statements ]
[CASE [IS] testlist
[ statements ]]
[CASE ELSE
END SELECT

Beschreibung

Steuern Sie den Programmfluss basierend auf dem Wert eines Ausdrucks.

Typ:Schl?sselwort |Kategorie: Control Flow

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

testlist ist ein oder mehrere durch Kommas getrennte Tests, die f?r expression ausgef?hrt werden sollen. Der Ausdruck kann entweder eine Zeichenfolge oder eine Zahl sein.

Wenn eine SELECT-Anweisung auftritt, wird der Ausdruck mithilfe der Testliste in der ersten CASE-Klausel ausgewertet. Wenn die Bewertung FALSE ist, wird die Bewertung mit der n?chsten Testliste wiederholt. Sobald eine Auswertung TRUE (ungleich Null) ist, werden die auf diese CASE-Klausel folgenden Anweisungen bis zur n?chsten CASE-Klausel ausgef?hrt.

Die Ausf?hrung geht dann zu der Anweisung ?ber, die auf die END SELECT-Anweisung folgt. Wenn keine der Auswertungen TRUE ist, werden die Anweisungen nach der optionalen CASE ELSE-Klausel ausgef?hrt.

Zu den Tests, die von einer CASE-Klausel durchgef?hrt werden k?nnen, geh?ren: Gleichheits-, Ungleichheits-, Gr??er-als-, Kleiner-als- und Bereichstests (?von-bis?). Der Block SELECT CASE kann Zeichenfolgen- oder numerische Tests durchf?hren, diese k?nnen jedoch nicht ausgetauscht werden.

Beispiele f?r numerische CASE-Klauseltests sind:

SELECT CASE numerischer_Ausdruck

CASE > b ' relational; ist Ausdruck > b?

CASE 14 ' Gleichheit (= wird vorausgesetzt); Ist Ausdruck gleich 14?

CASE b BIS 99 'Bereich; ist ein Ausdruck zwischen dem Wert des

' Variable b und 99 (einschlie?lich)?

CASE 14, b ' zwei Gleichheitstests; ist Ausdruck gleich

' 14 oder gleich b?

CASE 25 BIS 99,14 ' Kombinationsbereich und Gleichheit; ist Ausdruck

' zwischen 25 und 99 (einschlie?lich) oder gleich 14?

Beispiele f?r String-CASE-Klauseltests sind:

SELECT CASE string_expression

CASE > b$ ' relational; ist Ausdruck > b$?

CASE "X" ' Gleichheit (= wird vorausgesetzt); ist Ausdruck gleich

' zu ?X??

CASE ?A? BIS ?C? ' Bereich; ist ein Ausdruck zwischen ?A? und

' ?C?(inklusive)?

CASE "Y", b$ ' zwei Gleichheitstests; ist Ausdruck gleich

' ?Y? oder gleich b$?

CASE ?A? BIS ?C?, ?Q? ' Kombinationsbereich und Gleichheit; ist Ausdruck

' zwischen ?A? und ?C? (einschlie?lich) oder gleich

' zu ?Q??

Wenn eine CASE-Klausel mehrere durch Kommas getrennte Tests enth?lt, wird ein logisches ODER durchgef?hrt. Das hei?t, wenn einer (oder mehrere) der Tests WAHR ist, gilt die gesamte Klausel als WAHR.

Mit EXIT SELECT springen Sie vorzeitig aus einem SELECT-Block heraus.

Standardm??ig werden numerische Ausdr?cke entweder als Gleitkommawerte (um den gr??tm?glichen Kompatibilit?tsbereich f?r alle m?glichen Umst?nde zu bieten) oder als Integer-Klasse ausgewertet (z. B. wenn PowerBASIC feststellen kann, dass alle Case-Klauseln Integer-Klassenwerte sind usw.). Dar?ber hinaus werden Zeichenfolgenausdr?cke dynamisch ausgewertet, um praktisch alle Daten zu erm?glichen. Wenn jedoch die Beschr?nkungen f?r Typ und Bereich der f?r den CASE-Vergleich verwendeten Daten eingeschr?nkt sind, kann die Leistung mit den Klauseln LONG, CONST, CONST$ oder CONST$$ erheblich verbessert werden.

SO LANG

In diesem Fall m?ssen der Steuerausdruck und die CASE-Ausdr?cke im Bereich eines Long-integer ausgewertet werden. Jeder dieser Ausdr?cke wird dynamisch berechnet, sodass alle normalen Operatoren weiterhin verf?gbar sind. Beispielsweise werden DWORD-Werte als Long-Integer-Werte behandelt, also &H0FFFFFFFF??? und -1& w?rden als gleiche Werte betrachtet. Dies kann dazu beitragen, dass bei Vergleichen zwischen vorzeichenbehafteten und vorzeichenlosen Werten keine Funktionen wie BITS mehr erforderlich sind.

AS CONST

In diesem Fall muss der steuernde Ausdruck im Bereich einer langen Ganzzahl ausgewertet werden. Allerdings muss jeder der Fallwerte streng durch ein numerisches Literal (oder numerisches Equate) im Bereich einer langen Ganzzahl angegeben werden. Es k?nnen mehrere Case-Werte angegeben werden (CASE 2,3,7), Operatoren und Wertebereiche sind jedoch nicht zul?ssig. CASE ELSE ist zul?ssig. Die Leistung wird durch die interne Erstellung einer Vektorsprungtabelle verbessert, die einen Eintrag f?r jede Zahl vom kleinsten bis zum gr??ten Fallwert enth?lt.

W?hrend diese Form der Struktur die gr??tm?gliche Leistung bietet, muss die Ausf?hrungsgeschwindigkeit sorgf?ltig gegen die erh?hte Programmgr??e abgewogen werden, insbesondere bei Verwendung von Werten mit geringer Fallzahl. Mit nur zwei CASE-Werten von 2 und 1000 w?rde die generierte Sprungtabelle beispielsweise 999 Tabelleneintr?ge (3996 Byte gro?) ben?tigen. Die gr??te zul?ssige Sprungtabelle f?r dieses Formular umfasst etwa 3200 Eintr?ge (12 KB). Bei ?berschreitung wird ein Fehler 402 generiert (?Anweisung zu lang/komplex?).

AS CONST$

In diesem Fall muss der steuernde Ausdruck eine ANSI-Zeichenfolge mit einer L?nge von null bis 255 Byte ergeben. Allerdings muss jeder der Case-Werte strikt durch ein String-Literal (einen ANSI-String in Anf?hrungszeichen oder ein ANSI-String-Equate) spezifiziert werden. Es k?nnen mehrere Case-Werte angegeben werden (CASE ?a?, ?Bob?, ?$value?), Operatoren und Wertebereiche sind jedoch nicht zul?ssig. Die Leistung wird durch die interne Erstellung einer vektorisierten Scantabelle mit acht Bytes f?r jeden angegebenen Fallwert verbessert.

AS CONST$$

In diesem Fall muss der steuernde Ausdruck eine WIDE-Zeichenfolge (Unicode) mit einer L?nge von null bis 127 Zeichen ergeben. Allerdings muss jeder der Case-Werte streng durch ein String-Literal (einen Wide-String in Anf?hrungszeichen oder ein Wide-String-Equate) spezifiziert werden. Es k?nnen mehrere Case-Werte angegeben werden (CASE ?a?$$,?Bob?$$,$$value), Operatoren und Wertebereiche sind jedoch nicht zul?ssig. Die Leistung wird durch die interne Erstellung einer vektorisierten Scantabelle mit acht Bytes f?r jeden angegebenen Fallwert verbessert.

Fokussierte V14-Validierung: tests/pb/test_control_flow_core.pb prueft SELECT CASE AS LONG, passende CASE-Zweige, CASE ELSE und EXIT SELECT.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' controlflow_select_0
FUNCTION PBMAIN() AS LONG
  LOCAL x AS LONG
  SELECT CASE 2
  CASE 1
    x = 10
  CASE 2
    x = 20
  CASE ELSE
    x = 30
  END SELECT
  IF (x) <> (20) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • CHOOSE
  • EXIT � PBXB64-Compiler-Hilfe
  • IF/END IF
  • IIF
  • MAX ? PBXB64-Compiler-Hilfe
  • MIN ? PBXB64-Compiler-Hilfe
  • ON GOTO
  • ON GOSUB
  • SWITCH


TRY/END TRY ? Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Kontrollfluss Hilfe zum PBXB64-Compiler

TRY/END TRY ? Hilfe zum PBXB64-Compiler

Eine strukturierte Methode zum Einfangen und Reagieren

Kategorie: Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TRY
[ statements ]
[EXIT TRY]
CATCH
[ error handling statements ]
[FINALLY
[ statements ]]
END TRY

Beschreibung

Eine strukturierte Methode zum Einfangen und Reagieren

Typ:Schl?sselwort |Kategorie: Control Flow

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Anweisungen im TRY-Abschnitt werden normal ausgef?hrt. Beim ersten Auftreten eines Laufzeitfehlers wird die Steuerung an den CATCH-Abschnitt ?bergeben. Wenn im TRY-Abschnitt keine Laufzeitfehler generiert werden, wird der CATCH-Abschnitt vollst?ndig ?bersprungen.

Anschlie?end wird unabh?ngig vom Fehlerstatus der Abschnitt FINALLY ausgef?hrt, sofern er vorhanden ist. Fehlerabfangen und Kontroll?bertragung sind in den Abschnitten CATCH und FINALLY deaktiviert, daher w?rden Sie normalerweise herk?mmliche ?IF ERR =?-Tests verwenden, um den Erfolg fehleranf?lliger Vorg?nge in diesen Abschnitten zu ?berpr?fen.

Allerdings k?nnen TRY-Strukturen auf jeder Ebene verschachtelt werden, daher kann es w?nschenswert sein, innerhalb dieser Klauseln einen weiteren TRY-Block zu verwenden.

Einschr?nkungen

CATCH ist ein obligatorischer Abschnitt dieser Struktur, obwohl der Abschnitt FINALLY optional ist.

Aufgrund der Verschachtelungsanforderungen ist der ERR-Wert lokal f?r die TRY-Struktur. Beim Beenden wird der vorherige ERR-Wert wiederhergestellt. Stellen Sie daher sicher, dass Sie den ERR-Wert speichern, wenn er au?erhalb der TRY-Struktur ben?tigt wird.

Um die TRY-Struktur zu verlassen, muss die Ausfuehrung normal ueber END TRY oder eine EXIT TRY-Anweisung erfolgen. In PBXB64 verlaesst EXIT TRY den aktiven TRY-Block, ueberspringt die restlichen TRY-Anweisungen und den CATCH-Abschnitt, fuehrt FINALLY aus, falls vorhanden, und setzt danach hinter END TRY fort. EXIT TRY ausserhalb eines TRY-Blocks ist ein Kompilierfehler.

Es wird dringend davon abgeraten, einen TRY-Block auf andere Weise zu verlassen, da das Fehler-Trapping deaktiviert bleiben kann und der vorherige ERR-Wert moeglicherweise nicht wiederhergestellt wird.

ON ERROR GOTO ist innerhalb einer TRY-Struktur ung?ltig, kann aber innerhalb derselben Sub / Function / Method / Property verwendet werden.

Praktische Verwendung

VERSUCHEN/END VERSUCHEN gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Siehe auch

  • #DEBUG-FEHLER
  • ERL-Systemvariable
  • ERR-Systemvariable
  • ERROR$ ? PBXB64-Compiler-Hilfe
  • Fehlerübersicht
  • Fehler-Trapping
  • BEI FEHLER ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


WEITER - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Kontrollfluss Hilfe zum PBXB64-Compiler

WEITER

Kompatibilit&auml;tsthema f&uuml;r Schleifen-Fortsetzungssemantik; PBXB64-BASIC verwendet ITERATE als echte Anweisung.

Kategorie: Kontrollfluss

Syntax

ITERATE FOR
ITERATE DO
ITERATE LOOP

Beschreibung

Kompatibilitätsthema für Schleifen-Fortsetzungssemantik; PBXB64-BASIC verwendet ITERATE als echte Anweisung.

Kind: Anweisung | Category: Control Flow

PBXB64 Status: TEILWEISE

PBXB64 Certification: [TEILWEISE GETESTET]

Description

Die BASIC-Frontend-Implementierung von PBXB64 setzt das Verhalten von CONTINUE mit ITERATE um. Diese Seite existiert, damit die Kontrollfluss-Gliederung das Konzept an einer Stelle zeigen kann, auch wenn andere Dialekte CONTINUE nennen.

Bei FOR/NEXT-Schleifen springt die Fortsetzungsaktion in den Schrittblock. Bei DO/LOOP- und WHILE/WEND-Schleifen springt sie zur Bedingungsprüfung.

Wenn Sie PBXB64-BASIC schreiben, verwenden Sie ITERATE FOR, ITERATE DO oder ITERATE LOOP. Genau diese Syntax wird vom Compiler umgesetzt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


WHILE � PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Kontrollfluss Hilfe zum PBXB64-Compiler

WHILE � PBXB64-Compiler-Hilfe

Loop while a condition is true

Kategorie: Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

WHILE condition
  [statements]
WEND

Beschreibung

Loop while a condition is true

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF�GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerWHILE...WEND Die Anweisung f�hrt einen Anweisungsblock aus, solange condition ist wahr. Die Bedingung wird vor jeder Iteration getestet, sodass der K�rper m�glicherweise null Mal ausgef�hrt wird.

Generierter Assembler-Code

Kompilieren mit:

PBXB64 example.pb --asmout example.asm
    mov rbx, 1
    mov [rbp-24], rbx
    xor rbx, rbx
    mov [rbp-32], rbx
pb_while_cond_PBMAIN_0:
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 5
    setle r10
    mov rbx, r10
    test rbx, rbx
    jne pb_while_body_PBMAIN_1
    jmp pb_while_end_PBMAIN_2
pb_while_body_PBMAIN_1:
    mov r10, [rbp-32]
    mov rbx, r10
    mov r10, [rbp-24]
    add rbx, r10
    mov [rbp-32], rbx
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, 1
    mov [rbp-24], rbx
    jmp pb_while_cond_PBMAIN_0
pb_while_end_PBMAIN_2:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL n AS LONG
    LOCAL sum AS LONG
    n = 1
    sum = 0
    WHILE n <= 5
        sum = sum + n
        n = n + 1
    WEND
    FUNCTION = sum
END FUNCTION

Siehe auch

  • DO ? PBXB64-Compiler-Hilfe
  • LOOP
  • EXIT � PBXB64-Compiler-Hilfe
  • ITERATE � PBXB64-Compiler-Hilfe
  • GRUNDLEGENDER Kontrollfluss


Fehlerbehandlung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Fehlerbehandlung Hilfe zum PBXB64-Compiler

Fehlerbehandlung

Themen in diesem Kapitel

BEI FEHLER ? PBXB64-Compiler-Hilfe ERR-Systemvariable ERROR$ ? PBXB64-Compiler-Hilfe RESUME ? PBXB64-Compiler-Hilfe


BEI FEHLER ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Fehlerbehandlung Hilfe zum PBXB64-Compiler

BEI FEHLER ? PBXB64-Compiler-Hilfe

Geben Sie eine an

Kategorie: Fehlerbehandlung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ON ERROR GOTO { label | line_number }
ON ERROR RESUME NEXT
ON ERROR GOTO 0

Beschreibung

Geben Sie eine an

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

label oder line_number identifiziert die erste Zeile der Fehler-Trapping-Routine. Sobald die Fehlerbehandlung mit dieser Anweisung aktiviert wurde, f?hren alle Laufzeitfehler zu einem Sprung zu Ihrem Fehlerbehandlungscode. Wenn die Fehlerbehandlungsroutine mit der Ausf?hrung beginnt, wird die zus?tzliche Fehlerunterdr?ckung vor?bergehend ausgesetzt. Wenn Ihre Fehlerbehandlung abgeschlossen ist, m?ssen Sie die RESUME-Anweisung (in beliebiger Form) verwenden, um die Ausf?hrung fortzusetzen. RESUME reaktiviert die vor?bergehende Aussetzung des Fehler-Trappings.

Sie m?ssen besonders vorsichtig sein, wenn Sie einen Fehler in einem GOSUB-Codeblock abfangen, da eine RETURN-Adresse auf dem Systemstapel gespeichert wurde. Wenn Sie eine Form von RESUME verwenden, die erneut in den GOSUB-Block eintritt, wird sp?ter trotzdem ein RETURN ausgef?hrt und der Stapel ausgeglichen. Wenn RESUME <Label> oder RESUME FLUSH die Ausf?hrung jedoch an eine andere Stelle umleitet, m?ssen Sie RETURN FLUSH verwenden, um die R?cksprungadresse vom Stapel zu entfernen.

Um das Fehler-Trapping zu deaktivieren, verwenden Sie ON ERROR GOTO 0 oder ON ERROR RESUME NEXT. Sie k?nnen diese Technik verwenden, wenn ein Fehler auftritt, f?r den Sie keinen Wiederherstellungspfad definiert haben; Sie k?nnen zu diesem Zeitpunkt auch w?hlen, ob der Inhalt von ERR oder ERRCLEAR angezeigt werden soll.

Die Standardeinstellung f?r die Fehlerunterdr?ckung ist deaktiviert. Wenn ein Fehler auftritt, w?hrend das Fehler-Trapping deaktiviert ist, wird der Fehlercode in die Systemvariable ERR eingef?gt und die Ausf?hrung fortgesetzt. Fehler k?nnen weiterhin abgefangen werden, indem der Wert der Variablen ERR oder ERRCLEAR mit den Anweisungen IF ERR THEN oder SELECT CASE ERR ?berpr?ft wird.

Das Fehlerabfangen erfolgt lokal f?r jedes Sub, jede Funktion, jede Methode und jede Eigenschaft. PowerBASIC unterst?tzt kein globales Fehler-Trapping.

Numerische Fehler wie Division durch Null, ?berlauf und Unterlauf werden nicht abgefangen. Array-Out-of-Bounds und Nullzeiger-Trapping sind nur aktiviert, wenn #DEBUG ERROR ON verwendet wird.

Wenn Sie ein Programm mit deaktivierter Fehlerunterdr?ckung ausf?hren, kann ein Laufzeitfehler eine allgemeine Schutzverletzung (GPF) verursachen. Ein GPF kann nicht mit ON ERROR abgefangen werden.

Es ist nicht m?glich, innerhalb eines Ausdrucks zu einem Fehlerbehandler zu verzweigen. Der Compiler pr?ft erst, ob ein Fehler vorliegt, nachdem die Anweisung abgeschlossen ist. Dies bedeutet, dass eine Anweisung wie:

ON ERROR GOTO ErrorHandlerLabel

IF GETATTR( sFile ) THEN

?Tu etwas

END IF

generiert einen Fehler 53, wenn sFile nicht vorhanden ist, verzweigt jedoch nicht zum ErrorHandlerLabel . Dies liegt daran, dass GETATTR (sFile) ein Ausdruck im IF/END IF-Block ist. Du k?nntest eins machen

ON ERROR GOTO ErrorHandlerLabel

a& = GETATTR(sFile)f

IF und THEN

?Tu etwas

END IF

Dies verzweigt zum ErrorHandlerLabel, wenn sFile nicht vorhanden ist. Sie k?nnen auch den Wert der ERR-Variablen ?berpr?fen oder einen TRY/END TRY-Block verwenden, um zu sehen, ob bei der Pr?fung auf Fehler, die w?hrend eines Ausdrucks auftreten, ein Fehler aufgetreten ist.

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.

Siehe auch

  • #DEBUG DISPLAY
  • #DEBUG-FEHLER
  • ERR-Systemvariable
  • ERROR$ ? PBXB64-Compiler-Hilfe
  • Fehlerübersicht
  • Fehler-Trapping
  • RESUME ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


ERR-Systemvariable - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Fehlerbehandlung Hilfe zum PBXB64-Compiler

ERR-Systemvariable

Liest oder setzt den aktuellen Laufzeit-Fehlercode.

Kategorie: Fehlerbehandlung

Syntax

x = ERR
ERR = ErrNum
x = ERRCLEAR
ERRCLEAR

Beschreibung

Liest oder setzt den aktuellen Laufzeit-Fehlercode.

Kind: Schlüsselwort | Category: Error Reference

PBXB64 Status: VERFÜGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Description

ERR gibt den Code des letzten Laufzeitfehlers in der aktuellen Prozedur zurück. Eine Zuweisung an ERR setzt den aktuellen Fehlerwert, ohne zu einem Fehlerhandler zu verzweigen.

ERRCLEAR gibt den aktuellen Fehlercode zurück und setzt dann den internen Fehlerstatus zurück. Verwenden Sie es, wenn Sie den letzten Fehler ansehen und den Zustand in einem Schritt zurücksetzen wollen.

Diese beiden Formen sind der normale Niedriglevel-Zugriff auf Laufzeitfehler in PBXB64. Das ist besonders nützlich bei Datei-E/A, Objektaufrufen und allen Operationen, die fehlschlagen können, ohne das Programm zu beenden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


ERROR$ ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Fehlerbehandlung Hilfe zum PBXB64-Compiler

ERROR$ ? PBXB64-Compiler-Hilfe

Gibt eine Zeichenfolge zur?ck

Kategorie: Fehlerbehandlung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

msg$ = ERROR$[( ErrNum )]

Beschreibung

Gibt eine Zeichenfolge zur?ck

Typ:Funktion |Kategorie: Control Flow

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ERROR$ gibt den ausf?hrlichen Texttitel eines durch ErrNum identifizierten PowerBASIC-Laufzeitfehlers zur?ck.

ErrNum muss im Bereich von 1 bis einschlie?lich 255 liegen. Werte au?erhalb dieses Bereichs geben ?Kein Fehler? zur?ck. Wenn ErrNum nicht angegeben ist, gibt ERROR$ die Beschreibung des aktuellen Werts von ERR zur?ck.

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.

Siehe auch

  • #DEBUG DISPLAY
  • ERL-Systemvariable
  • ERR-Systemvariable
  • Fehlerübersicht
  • Fehler-Trapping
  • BEI FEHLER ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


RESUME ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Fehlerbehandlung Hilfe zum PBXB64-Compiler

RESUME ? PBXB64-Compiler-Hilfe

Starten Sie anschlie?end die Programmausf?hrung neu

Kategorie: Fehlerbehandlung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

RESUME
RESUME NEXT
RESUME FLUSH
RESUME < Label >

Beschreibung

Starten Sie anschlie?end die Programmausf?hrung neu

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die RESUME-Anweisung wird verwendet, um die Ausf?hrung eines Programms fortzusetzen, nachdem ein Laufzeitfehler abgefangen und mit einem ON ERROR-Handler verarbeitet wurde. RESUME (in beliebiger Form) teilt PowerBASIC mit, dass die Fehlerverarbeitung abgeschlossen ist und es nun an der Zeit ist, mit der normalen Ausf?hrung der Programmierung fortzufahren. Immer wenn ein Fehler von ON ERROR GOTO abgefangen und verarbeitet wird, ist die Ausf?hrung eines passenden RESUME obligatorisch.

WIEDER AUFNEHMEN

Wenn die erste Form von RESUME (ohne Modifikator) verwendet wird, wird die Anweisung, die den Fehler erzeugt hat, erneut ausgef?hrt und der Programmablauf l?uft normal weiter. Stellen Sie sicher, dass Sie die Bedingung, die den Fehler verursacht hat, behoben haben, bevor Sie dies tun!

Als n?chstes fortfahren

Wenn Sie RESUME NEXT ausf?hren, wird die Programmausf?hrung in der Zeile fortgesetzt, die unmittelbar auf die Zeile folgt, die den Fehler verursacht hat. Danach l?uft der Programmablauf normal weiter. Stellen Sie sicher, dass Ihr Fehlerbehandler alles Erforderliche getan hat, um durch neue Aktionen das zu ersetzen, was von dem fehlerhaften Code erwartet wurde.

FLUSH FORTSETZEN

Wenn Sie RESUME FLUSH ausf?hren, erfolgt keine ?bergabe der Kontrolle an eine andere Zeile. Die Programmausf?hrung wird einfach in der Zeile fortgesetzt, die unmittelbar auf den RESUME FLUSH folgt.

RESUME < Label >

Wenn ein Label angegeben ist, wird die Programmausf?hrung an der angegebenen Label-Position fortgesetzt. Die Bezeichnung muss ?lokal? sein; das hei?t, es muss sich in derselben Prozedur wie der RESUME befinden.

Einschr?nkungen

ON ERROR und RESUME d?rfen nicht innerhalb eines TRY/END TRY-Blocks oder einer FASTPROC-Prozedur verwendet werden.

Validierungsbeleg

PBXB64 registriert test_resume_flush und test_resume_flush_reject_extra in der pb_linkrun-Lane. Diese Tests pruefen, dass RESUME FLUSH den aktiven Fehlerzustand loescht und direkt nach der Anweisung fortsetzt, und dass ueberzaehlige Tokens mit einer gezielten Diagnose abgewiesen werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ERL-Systemvariable
  • ERR-Systemvariable
  • ERROR$ ? PBXB64-Compiler-Hilfe
  • Fehlerübersicht
  • Fehler-Trapping
  • BEI FEHLER ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


Prozeduren & Gültigkeitsbereich - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Prozeduren & Gültigkeitsbereich Hilfe zum PBXB64-Compiler

Prozeduren & Gültigkeitsbereich

Themen in diesem Kapitel

#LINK " PBXB64-Compiler-Hilfe PBMAIN " PBXB64-Compiler-Hilfe


#LINK " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Prozeduren & Gültigkeitsbereich Hilfe zum PBXB64-Compiler

#LINK " PBXB64-Compiler-Hilfe

LINK ein vorkompiliertes

Kategorie: Prozeduren & Gültigkeitsbereich | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#LINK " filespec.SLL "
#LINK " filespec.PBLIB "

Beschreibung

LINK ein vorkompiliertes

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die #LINK-Metaanweisung fuegt vorkompilierte Objekt-, Ressourcen- oder Archiveingaben zu einem PBXB64-Link hinzu. EXE- und DLL-Hosts verwenden sie fuer den finalen Link. Eine #COMPILE SLL-Quelle darf mit #LINK auch ein anderes PBXB64-natives Archiv einbinden; diese Eingaben werden in den finalen Host uebernommen, der die SLL linkt.

PBXB64 akzeptiert COFF-Objekt- und Ressourceneingaben .obj, .o, .res und .pbr sowie Archive .sll, .pblib, .lib und .a. PBXB64-.sll- und .pblib-Dateien sind deterministische COFF-Archive fuer PBXB64-unterstuetzte Objekte; sie sind keine opaken alten PowerBASIC-SLL-Binaerdateien.

Relative Pfade werden relativ zu der Quelldatei aufgeloest, die die #LINK-Direktive enthaelt. Fehlende Dateien, nicht unterstuetzte Archive, doppelte Symbole und nicht aufgeloeste Host-Symbole werden als Linkerdiagnosen gemeldet.

Fuer einen Static-Library-Ablauf kompilieren Sie zuerst die Blatt-Units mit #COMPILE SLL und danach eine hoeher liegende SLL- oder Host-Quelle mit einer oder mehreren #LINK-Direktiven. Die SLL enthaelt weder das PBXB64-Startup-Objekt noch die eingebettete Laufzeit; diese Teile werden einmal vom finalen Host-Link bereitgestellt, damit mehrere Bibliotheken keinen Laufzeitcode duplizieren.

Der Linker laedt nur unterstuetzte AMD64-COFF-Objekte und deterministische Archiv-Member. Alte SLL-Binaerdateien, Short-Import-Library-Pseudomember, Nicht-AMD64-COFF, BigObj, COMDAT, TLS, Delay-Import, Load-Config und externe CodeView/PDB-Sektionen bleiben ausserhalb der Release-Oberflaeche und schlagen geschlossen fehl.

Wenn mehrere gelinkte Eingaben dasselbe oeffentliche Symbol definieren, wird dies als Linkerfehler behandelt. Wenn ein Host eine Funktion deklariert, die keine gelinkte Eingabe bereitstellt, meldet der finale Link ein nicht aufgeloestes externes Symbol.

Description

LINK selects an external module or library dependency for the current compilation unit. Use it when the program needs to bind a referenced symbol or an external object file into the final output.

Validation Evidence

Validation evidence: Linker regression coverage and the current module/import tests prove the active module-binding path.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • COMPILE-Metaanweisung
  • #EXPORT
  • Hilfe zum PBXB64-Compiler


PBMAIN " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Prozeduren & Gültigkeitsbereich Hilfe zum PBXB64-Compiler

PBMAIN " PBXB64-Compiler-Hilfe

PBMAIN ist eine benutzerdefinierte Funktion, die von Windows aufgerufen wird, um mit der Ausf&uuml;hrung einer ausf&uuml;hrbaren Anwendung zu beginnen. Jede ausf&uuml;hrbare PowerBASIC-Datei (EXE) muss entweder eine PBMAIN oder eine enthalten

Kategorie: Prozeduren & Gültigkeitsbereich | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FUNCTION PBMAIN [()] [AS LONG]

Beschreibung

PBMAIN ist eine benutzerdefinierte Funktion, die von Windows aufgerufen wird, um mit der Ausführung einer ausführbaren Anwendung zu beginnen. Jede ausführbare PowerBASIC-Datei (EXE) muss entweder eine PBMAIN oder eine enthalten

Typ:Funktion |Kategorie: Procedures

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Rückgabewert: Der Rückgabewert von PBMAIN hat einen effektiven Bereich von 0 bis 255. Batchdateien können über den Batchbefehl IF [NOT] ERRORLEVEL auf das Ergebnis reagieren.

In jeder PowerBASIC-Anwendung (.EXE) ist entweder eine PBMAIN- oder WINMAIN-Funktion erforderlich. Wenn Sie PBMAIN verwenden, werden keine Parameter übergeben und Sie können das Instanzhandle Ihrer Anwendung oder den Zeiger auf Befehlszeilenparameter nicht direkt abrufen.

Sie können jedoch COMMAND$ verwenden, um die an Ihr Programm übergebene Befehlszeile abzurufen, und die GetModuleHandle-API-Funktion, um das Anwendungsinstanz-Handle abzurufen.

Einschränkungen

Mit PowerBASIC erstellte DLLs sollten eine DLLMAIN-, LIBMAIN- oder PBLIBMAIN-Funktion anstelle von PBMAIN/WINMAIN enthalten.

Description

PBMAIN is the EXE entry procedure. It starts the program, returns the process exit code, and defines where top-level initialization and cleanup belong in a PBXB64 application.

Validation Evidence

Validation evidence: PBMAIN is backed by the executable entry-point tests and the current WINMAIN/PBMAIN selection rules. Use the page to decide whether the program is an EXE or a DLL and to keep command-line handling on the correct side of the entry point.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • COMMAND$
  • DLLMAIN
  • PBLIBMAIN - Hilfe zum PBXB64-Compiler
  • WINMAIN
  • Hilfe zum PBXB64-Compiler


Zeichenkettenverarbeitung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

Zeichenkettenverarbeitung

Themen in diesem Kapitel

ASC ? PBXB64-Compiler-Hilfe CHR$ INSTR ? PBXB64-Compiler-Hilfe LCASE$ ? PBXB64-Compiler-Hilfe LEFT$ ? PBXB64-Compiler-Hilfe LEN ? PBXB64-Compiler-Hilfe LTRIM$ ? PBXB64-Compiler-Hilfe MID$ ? PBXB64-Compiler-Hilfe PARSE$ " PBXB64-Compiler-Hilfe PARSECOUNT " PBXB64-Compiler-Hilfe REPLACE ? PBXB64-Compiler-Hilfe RIGHT$ ? PBXB64-Compiler-Hilfe RTRIM$ ? PBXB64-Compiler-Hilfe STR$ ? PBXB64-Compiler-Hilfe TRIM$ ? PBXB64-Compiler-Hilfe UCASE$ ? PBXB64-Compiler-Hilfe VAL ? PBXB64-Compiler-Hilfe


ASC ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

ASC ? PBXB64-Compiler-Hilfe

Ersetzt ein Zeichen in einer Zeichenfolge

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ASC( stringvar , position& ) = CharCode&

Beschreibung

Ersetzt ein Zeichen in einer Zeichenfolge

Typ:Anweisung |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die ASC-Anweisung ersetzt ein Zeichen in einer String-Variablen. Der Parameter position& bestimmt, welches Zeichen ersetzt wird. Das erste Zeichen ist eins, das zweite zwei usw. Wenn position& negativ ist, z?hlt ASC vom Ende der Zeichenfolge in umgekehrter Reihenfolge. Das hei?t, -1 gibt das letzte Zeichen an, -2 gibt das vorletzte Zeichen an usw.

Wenn die Zeichenfolgenvariable ANSI ist, muss der CharCode im Bereich von 0 bis 255 liegen. Bei Unicode muss der CharCode im Bereich von 0 bis 65535 liegen.

Einschr?nkungen

Mit der ASC-Anweisung kann die L?nge einer Zeichenfolge nicht verl?ngert werden. Wenn string null (L?nge Null) oder position null oder gr??er als die L?nge von stringvar ist, wird der Vorgang ignoriert.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CHR$
  • MID$ ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


CHR$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

CHR$

Converts one or more numeric character codes (

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = CHR$( expression [, expression ] [,...])
s$ = CHR$( string_expression [,...])
s$$ = CHR$$( x& TO y& , ...)

Beschreibung

Converts one or more numeric character codes (

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

The CHR$() form of the function creates a string of ANSI (1- byte ) characters. Arguments must be ANSI (1-byte) characters, or codes in the range of 0 to 255. The CHR$$() form of the function creates a string of WIDE (2-byte) characters. Arguments must be WIDE (2-byte) characters, or codes in the range of 0 to 65535.

Generally speaking, PowerBASIC handles ANSI/WIDE conversions for you, automatically and transparently. However, there are just a few functions (CHR$, PEEK$ , POKE$ , STRING$ , etc.) which are ambiguous, by definition, and require that the programmer choose the appropriate result type (ANSI or WIDE). Use CHR$ for ANSI results, or use CHR$$ for Unicode results. In the remainder of these remarks, CHR$ is used to represent both CHR$ and CHR$$.

CHR$ creates and returns a string. There are three forms of arguments available, and they may be intermixed in a single CHR$ function. The created string may contain no characters, one character, or multiple characters, depending upon the arguments you use. You may specify any number of arguments for this function.

If the argument is a numeric expression, it is translated into the character defined by that number. A character code of -1 is treated as a special case. If you use it as an argument, CHR$ returns an empty (zero length) string for that character. For example, CHR$(65, -1, 66) returns "AB".

CHR$(x& TO y&) returns a sequence of all characters from CHR$(x&) through CHR$(y&) inclusive. The characters may be ascending or descending in sequence. For example, CHR$(65 TO 70) returns the string "ABCDEF". CHR$(52 T0 50) returns the string "432", and CHR$(65 TO 65) returns the string "A".

If the argument is a string expression, the characters are simply copied into the newly created string at the specified position. The expanded CHR$ definition is intended to assist in the encoding of longer strings, to avoid the need for concatenation operations.

For example, the CHR$ function can be used to create COLLATE strings for the ARRAY SORT and ARRAY SCAN statements at run-time, and can be used to create string equates at compile time:

$colstring = CHR$(0 TO 131, 97, 133 TO 255)

The following lines are functionally equivalent, and return the same string result:

a$ = CHR$("Line1", 13, 10, "Line2")

a$ = "Line1" & CHR$(13) & CHR$(10) & "Line2"

a$ = "Line1" & $CRLF & "Line2"

CHR$ complements the ASC function, which returns the numeric character code of a nominated character in a string.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • ARRAY-SCAN
  • ARRAY SORT
  • ASC ? PBXB64-Compiler-Hilfe
  • NUL$
  • SPACE$ - Hilfe zum PBXB64-Compiler
  • STRING$ - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


INSTR ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

INSTR ? PBXB64-Compiler-Hilfe

Suchen Sie eine Zeichenfolge

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y& = INSTR([ Position& ,] MainStr$ , [ANY] MatchStr$ )

Beschreibung

Suchen Sie eine Zeichenfolge

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

INSTR gibt die Position von MatchStr$ innerhalb von MainStr$ zur?ck. Der R?ckgabewert ist auf eins indiziert, w?hrend Null ?nicht gefunden? bedeutet.

Position& gibt die Zeichenposition an, an der die Suche beginnen soll. Wenn Position& eins oder gr??er ist, wird MainStr$ von links nach rechts durchsucht. Der Wert eins beginnt beim ersten Zeichen, zwei beim zweiten usw. Wenn Position& -1 oder kleiner ist, wird MainStr$ von rechts nach links durchsucht. Der Wert -1 beginnt beim letzten Zeichen, -2 beim vorletzten usw. Wenn Position& nicht angegeben ist, wird der Standardwert +1 angenommen.

x& = INSTR("xyz", "y") ' gibt 2 zur?ck

x& = INSTR("xyz", "a") ' gibt 0 zur?ck

a$ = "Mein Hund" : b$ = " "

x& = INSTR(a$, b$) ' gibt 3 zur?ck

Es ist wichtig zu beachten, dass der R?ckgabewert von INSTR() in allen F?llen, auch wenn Position& negativ ist, die absolute Position der ?bereinstimmung ist, von links nach rechts, beginnend mit dem ersten Zeichen.

Wenn das Schl?sselwort ANY enthalten ist, gibt MatchStr$ eine Liste einzelner Zeichen an. INSTR sucht nach jedem dieser Zeichen einzeln. Sobald eines dieser Zeichen gefunden wird, gibt INSTR die Position der ?bereinstimmung zur?ck.

x& = INSTR(-2, ?efcdef?, ANY ?ef?) gibt ein Ergebnis von 5 zur?ck

INSTR unterscheidet zwischen Gro?- und Kleinschreibung, was bedeutet, dass Gro?- und Kleinbuchstaben in MatchStr$ und MainStr$ genau ?bereinstimmen m?ssen.

PBXB64 validiert den Vorw?rts-Suchpfad zur Laufzeit f?r dynamische String-Operanden und Startausdr?cke zur Laufzeit. Die registrierte Regression tests/pb/test_instr_dynamic.pb deckt INSTR(text$, "Alpha"), INSTR(text$, needle$), INSTR(start&, text$, "Alpha"), INSTR(start&, text$, needle$) und das Ergebnis Null bei einem fehlenden Teilstring ab.

Einschr?nkungen

Spezielle Suchbegriffe werden in dieser Reihenfolge ausgewertet:

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • EXTRACT$
  • LCASE$ ? PBXB64-Compiler-Hilfe
  • LEFT$ ? PBXB64-Compiler-Hilfe
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • MID$ ? PBXB64-Compiler-Hilfe
  • RIGHT$ ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • SHRINK$
  • TALLY " PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • UCASE$ ? PBXB64-Compiler-Hilfe
  • ÜBERPRÜFEN " Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


LCASE$ ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

LCASE$ ? PBXB64-Compiler-Hilfe

Gibt eine kleingeschriebene Version einer Zeichenfolge zur?ck

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = LCASE$( string_expression [,ANSI | OEM])

Beschreibung

Gibt eine kleingeschriebene Version einer Zeichenfolge zur?ck

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

LCASE$ gibt eine Zeichenfolge zur?ck, die string_expression entspricht, mit der Ausnahme, dass Gro?buchstaben in string_expression in Kleinbuchstaben umgewandelt werden. Der optionale ANSI- oder OEM-Parameter gibt an, ob die Konvertierung unter Verwendung des ANSI-Zeichensatzes f?r das System oder des urspr?nglichen IBM OEM-Zeichensatzes erfolgt. Wenn kein Zeichensatz angegeben ist, verwendet PowerBASIC f?r Windows den System-ANSI-Zeichensatz, w?hrend PB/CC den IBM OEM-Zeichensatz verwendet. Von diesem Parameter sind nur ?internationale? Zeichen im Bereich von CHR$ (128) bis CHR$(255) betroffen.

Der OEM-Zeichensatz basiert auf dem urspr?nglichen IBM OEM-Zeichensatz, um die Kompatibilit?t mit Programmen sicherzustellen, die f?r alle fr?heren Versionen des PowerBASIC-Compilers geschrieben wurden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • MCASE$
  • UCASE$ ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


LEFT$ ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

LEFT$ ? PBXB64-Compiler-Hilfe

Geben Sie ganz links zur?ck

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = LEFT$( string _ expression , n& )

Beschreibung

Geben Sie ganz links zur?ck

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

n& ist ein Long-Integer-Ausdruck und gibt die Anzahl der Zeichen in string_expression an, die zur?ckgegeben werden sollen.

LEFT$ gibt einen String zur?ck, der aus den am weitesten links stehenden n& Zeichen seines String-Arguments besteht. Wenn n& gr??er oder gleich der L?nge von string_expression ist, wird die gesamte L?nge von string_expression zur?ckgegeben. Wenn n& Null ist, gibt LEFT$ eine leere Zeichenfolge zur?ck. Wenn der L?ngenwertparameter negativ ist, wird er als LEN (string_expression)-ABS (n&) interpretiert. Beispielsweise gibt LEFT$("1234567890",-2) ?12345678? zur?ck.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • EXTRACT$
  • INSTR ? PBXB64-Compiler-Hilfe
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • MID$ ? PBXB64-Compiler-Hilfe
  • RIGHT$ ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • SPLIT
  • TALLY " PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • ÜBERPRÜFEN " Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


LEN ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

LEN ? PBXB64-Compiler-Hilfe

Gibt die logische L?nge von a zur?ck

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y& = LEN( target )

Beschreibung

Gibt die logische L?nge von a zur?ck

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn ?target? eine Zeichenfolgenvariable oder ein Zeichenfolgenausdruck ist, gibt LEN einen Wert von 0 bis zur aktuellen Zeichenfolgenl?nge zur?ck, der die Anzahl der Zeichen in ?target? darstellt. Wenn das Ziel eine Zeichenfolge fester L?nge ist, wird die L?nge des festen Puffers zur?ckgegeben. Wenn das Ziel eine mit NULL terminierte Zeichenfolge ist, wird die L?nge der in der mit NULL terminierten Zeichenfolge gespeicherten Daten zur?ckgegeben, nicht die maximale Gr??e der mit NULL terminierten Zeichenfolge. Verwenden Sie SIZEOF, um die maximale Gr??e einer mit Null terminierten Zeichenfolge zu bestimmen.

Bei Verwendung mit Zeigern gibt LEN den Wert 4 zur?ck, da ein Zeiger immer als DWORD gespeichert wird. Sie k?nnen LEN mit dem Ziel eines Zeigers verwenden, um die Gr??e des Ziels zur?ckzugeben. Wenn das Ziel ein dynamischer String ist, erhalten Sie die L?nge des Strings, nicht die L?nge des Handles.

target kann auch ein beliebiger anderer Variablentyp sein, einschlie?lich numerischer und benutzerdefinierter Typen (definiert mit TYPE/END TYPE ). In diesem Fall gibt PowerBASIC die Anzahl der Bytes zur?ck, die zum Speichern einer Variablen dieses Typs erforderlich sind.

Wenn Sie die Gr??e einer aufgef?llten (ausgerichteten) UDT-Struktur mit der LEN- (oder SIZEOF-)Anweisung messen, umfasst die gemessene L?nge alle Auff?llungen, die der Struktur hinzugef?gt wurden. Beispielsweise die folgende UDT-Struktur:

TYP L?ngeTestTyp DWORD

a AS INTEGER

END-TYP

' Code hier

DIM abc AS LengthTestType

x& = LEN(abc)

Gibt eine L?nge von 4 Bytes in x& zur?ck, da der UDT mit 2 zus?tzlichen Bytes aufgef?llt wurde, um die DWORD-Ausrichtung zu erzwingen. Beachten Sie, dass die LEN einzelner UDT-Mitglieder die wahre Gr??e des Mitglieds zur?ckgibt, ohne Ber?cksichtigung von Auff?llung oder Ausrichtung. Im vorherigen Beispiel gibt LEN(abc.a) 2 zur?ck.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CHRBYTES
  • SIZEOF
  • Hilfe zum PBXB64-Compiler


LTRIM$ ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

LTRIM$ ? PBXB64-Compiler-Hilfe

Gibt eine Kopie einer Zeichenfolge zur?ck

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x$ = LTRIM$( MainString [, [ANY] MatchString ])

Beschreibung

Gibt eine Kopie einer Zeichenfolge zur?ck

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

MainString ist der Zeichenfolgenausdruck, aus dem Zeichen entfernt werden sollen, und MatchString ist der Zeichenfolgenausdruck, der die zu entfernenden Zeichen enth?lt.

Wenn MatchString nicht angegeben ist, entfernt LTRIM$ f?hrende Leerzeichen. LTRIM$ gibt einen Teilstring von MainString zur?ck, vom ersten Nicht-MatchString (oder Nicht-Leerzeichen) bis zum Ende des Strings. Wenn MatchString (oder ein Leerzeichen) am Anfang von MainString nicht vorhanden ist, wird der gesamte MainString zur?ckgegeben.

Wenn das Schl?sselwort ANY enthalten ist, gibt MatchString eine Liste einzelner Zeichen an, nach denen einzeln gesucht werden soll. Eine ?bereinstimmung mit einem dieser Zeichen als Hauptzeichen f?hrt dazu, dass das Zeichen aus dem Ergebnis entfernt wird.

Bei LTRIM$ muss die Gro?-/Kleinschreibung beachtet werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CLIP$
  • EXTRACT$
  • INSTR ? PBXB64-Compiler-Hilfe
  • LEFT$ ? PBXB64-Compiler-Hilfe
  • MID$ ? PBXB64-Compiler-Hilfe
  • REMOVE$
  • REPLACE ? PBXB64-Compiler-Hilfe
  • RIGHT$ ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • SHRINK$
  • STRDELETE$
  • STRINSERT$
  • STRREVERSE$ - Hilfe zum PBXB64-Compiler
  • TALLY " PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • UNWRAP$
  • ÜBERPRÜFEN " Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


MID$ ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

MID$ ? PBXB64-Compiler-Hilfe

Ersetzen Sie Zeichen in einer Zeichenfolge

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MID$( StringVar , Start& [, Count& ]) = replacement
M ID$( StringVar , Start& TO End& = replacement

Beschreibung

Ersetzen Sie Zeichen in einer Zeichenfolge

Typ:Anweisung |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die MID$-Anweisung ersetzt Zeichen in einer String-Variablen. Das erste Formular gibt die Anzahl der zu ersetzenden Zeichen an, w?hrend das zweite Formular stattdessen die Start- und Endposition angibt. Beide Formen bieten die gleiche Funktionalit?t, sodass die Wahl nur eine Frage der Bequemlichkeit des Programmierers ist.

Start& und End& sind Positionen in der Zeichenfolge, beginnend mit 1 als erstem Zeichen. Count& gibt die Anzahl der zu ersetzenden Zeichen an.

Wenn Count& weggelassen wird oder nicht gen?gend Zeichen in StringVar vorhanden sind, werden alle verbleibenden Zeichen ersetzt. Wenn an der Start&-Position keine Zeichen vorhanden sind, wird keine Operation ausgef?hrt.

Wenn Start& oder End& negativ sind, werden die Positionen vom Ende der Zeichenfolge r?ckw?rts gez?hlt (-1 ist das letzte Zeichen). Wenn Count& negativ ist, wird es als LEN( string_expression )-ABS( Count& ) interpretiert.

Die Ersetzung wird niemals ?ber das Ende von StringVar hinausgehen. Mit anderen Worten: MID$ kann die L?nge einer Zeichenfolge nicht ?ndern.

Einschr?nkungen

Wenn Start& auf einer Seite eine Position au?erhalb der Zeichenfolge ergibt oder wenn Start& Null ist, wird keine Operation ausgef?hrt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BUILD$
  • INSTR ? PBXB64-Compiler-Hilfe
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • REMOVE$
  • REPLACE ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • TALLY " PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • ÜBERPRÜFEN " Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


PARSE$ " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

PARSE$ " PBXB64-Compiler-Hilfe

Gibt ein durch Trennzeichen getrenntes Feld von a zur&uuml;ck

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

a$ = PARSE$( string_expr [, {[ANY] string_delimiter | BINARY }] , index& )

Beschreibung

Gibt ein durch Trennzeichen getrenntes Feld von a zurück

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PARSE$ verwendet die folgenden Parameter:

string_expr

Die zu analysierende Zeichenfolge. Wenn string_expr leer ist (eine Nullzeichenfolge) oder keine Trennzeichen enthält, wird davon ausgegangen, dass die Zeichenfolge genau ein Feld enthält. In diesem Fall gibt PARSE$ string_expr zurück.

string_delimiter

Enthält Trennzeichen. Ein Trennzeichen ist ein Zeichen, eine Liste von Zeichen oder eine Zeichenfolge, die verwendet wird, um das Ende eines Felds in string_expr zu markieren. Wenn Sie beispielsweise einen Satz als eine Liste von Wörtern betrachten, ist das Trennzeichen zwischen den Werken ein Leerzeichen (oder möglicherweise ein Satzzeichen). Textdateien bestehen normalerweise aus Zeilen, die durch CR/LF-Zeichen ( $CRLF oder CHR$ (13,10)) getrennt sind; Eine Datenbankdatei kann aus durch Kommas getrennten Elementen bestehen. usw. Ein Trennzeichen wird nicht als Teil eines Feldes betrachtet, sondern als Teiler zwischen Feldern, sodass das Trennzeichen niemals von PARSE$ zurückgegeben wird.

Wenn delim$ nicht angegeben ist oder null (Länge Null) ist, werden durch Kommas getrennte (optional in Anführungszeichen gesetzte) Standardfelder angenommen. Nur in diesem Fall gelten die folgenden Parsing-Regeln. Wenn ein Standardfeld in optionale Anführungszeichen eingeschlossen ist, werden diese entfernt. Wenn zwischen einem Feld in Anführungszeichen und dem nächsten Kommatrennzeichen Zeichen erscheinen, werden diese verworfen. Wenn kein führendes Anführungszeichen gefunden wird, werden alle führenden oder nachfolgenden Leerzeichen entfernt, bevor das Feld zurückgegeben wird.

Bei Trennzeichen muss die GroÃŸ-/Kleinschreibung beachtet werden, daher kann die GroÃŸ-/Kleinschreibung eine Ãœberlegung sein.

Wenn das Schlüsselwort ANY verwendet wird, enthält string_delimiter eine Reihe von Zeichen, von denen jedes als Trennzeichen fungieren kann. Wenn das Schlüsselwort ANY weggelassen wird, fungiert die gesamte Zeichenfolge string_delimiter als einzelnes Trennzeichen.

BINÃ„R

Die Option BINARY geht davon aus, dass string_expr mit der Funktion JOIN$/BINARY oder einer entsprechenden Funktion erstellt wurde, die eine Zeichenfolge als Binärbild oder im gepackten Zeichenfolgenformat von PowerBASIC und/oder Visual Basic erstellt: Wenn eine Zeichenfolge kürzer als 65535 Bytes ist, beginnt sie mit einem 2 Byte langen WORD, gefolgt von den Zeichenfolgendaten. Andernfalls beginnt es mit einem 2-Byte-Wert von 65535, gefolgt von einem DWORD, das die String-Länge angibt, und schlieÃŸlich den String-Daten selbst.

index&

Eine ganzzahlige Variable oder ein ganzzahliger Ausdruck, der die durch Trennzeichen getrennte Feldnummer angibt, die zurückgegeben werden soll. Das erste Feld ist 1 und so weiter bis zur maximalen Anzahl von Feldern, die in string_expr enthalten sind, die mit der PARSECOUNT-Funktion bestimmt werden kann. Wenn index& negativ ist, wird string_expr von rechts nach links analysiert. In diesem Fall gibt index& = -1 das letzte Feld in string_expr zurück, -2 das vorletzte usw. Wenn index& als Null ausgewertet wird oder auÃŸerhalb der tatsächlichen Feldanzahl liegt, wird eine leere Zeichenfolge zurückgegeben.

Description

PARSE splits a string into fields using a delimiter string or ANY-delimiter set. It is the control function for field selection, quoted fields, and reverse-index access in the string parser family.

Validation Evidence

Validation evidence: The parser-family tests and the current PARSE$/PARSECOUNT pages prove delimiter handling, ANY parsing, and reverse indexing.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • JOIN$
  • PARSECOUNT " PBXB64-Compiler-Hilfe
  • PATHNAME$
  • PATHSCAN$ " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


PARSECOUNT " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

PARSECOUNT " PBXB64-Compiler-Hilfe

Gibt die Anzahl der durch Trennzeichen getrennten Zeichenfolgen in a zur&uuml;ck

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x& = PARSECOUNT( string_expr [, {[ANY] string_delimiter | BINARY}])

Beschreibung

Gibt die Anzahl der durch Trennzeichen getrennten Zeichenfolgen in a zurück

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PARSECOUNT verwendet bei der Bestimmung der Felder innerhalb von string_expr dieselben Regeln wie PARSE$. Einzelne Felder innerhalb von string_expr werden ausgewertet und die Summe der Felder bildet den Ergebniswert.

Es ist wichtig zu beachten, dass PARSECOUNT nur mit Zeichenfolgendaten verwendet werden darf, die Unterfelder variabler Länge enthalten, die jeweils durch ein Trennzeichen getrennt sind. Um die Anzahl der Daten fester Länge zu bestimmen, dividieren Sie die StringExpr-Länge durch die Unterfeldlänge. Wenn diese Funktion mit Daten fester Länge verwendet wird, sind die Ergebnisse undefiniert.

string_expr

Dies ist die Zeichenfolge, die untersucht und analysiert werden soll. Wenn StringExpr leer ist (eine Nullzeichenfolge) oder keine Trennzeichen enthält, wird davon ausgegangen, dass die Zeichenfolge genau ein Unterfeld enthält. In diesem Fall gibt PARSECOUNT den Wert 1 zurück.

string_delimiter

Dies definiert ein oder mehrere Zeichen, die als Trennzeichen verwendet werden sollen. Um gültig zu sein, muss das gesamte Trennzeichen genau übereinstimmen, das Trennzeichen selbst wird jedoch niemals als Teil des Felds zurückgegeben.

Wenn string_delimiter nicht angegeben ist oder eine leere Zeichenfolge enthält, gelten besondere Regeln. Als Trennzeichen wird ein Komma angenommen. Felder können optional in Anführungszeichen gesetzt werden und werden ignoriert, bevor die Ergebniszeichenfolge zurückgegeben wird. Alle Zeichen, die zwischen einem Anführungszeichen und dem nächsten Komma-Trennzeichen stehen, werden verworfen. Wenn kein führendes Anführungszeichen gefunden wird, werden alle führenden oder nachgestellten Anführungszeichen gekürzt, bevor die Ergebniszeichenfolge zurückgegeben wird.

Wenn das Schlüsselwort ANY verwendet wird, enthält string_delimiter eine Reihe von Zeichen, von denen jedes als Trennzeichen fungieren kann. Wenn das Schlüsselwort ANY weggelassen wird, fungiert die gesamte Zeichenfolge string_delimiter als einzelnes Trennzeichen.

BINÃ„R

Die Option BINARY gibt die Anzahl der Unterfelder zurück und geht davon aus, dass StringExpr mit der Funktion JOIN$/BINARY oder einer entsprechenden Funktion erstellt wurde, die eine Zeichenfolge im PowerBASIC- und/oder Visual Basic-Format für gepackte Zeichenfolgen erstellt: Wenn eine Zeichenfolge kürzer als 65535 Bytes ist, beginnt sie mit einem 2 Byte langen WORD, gefolgt von den Zeichenfolgendaten. Andernfalls beginnt es mit einem 2-Byte-Wert von 65535, gefolgt von einem DWORD, das die String-Länge angibt, und dann den tatsächlichen String-Daten.

Description

PARSECOUNT counts the fields that PARSE$ can return for the current delimiter rule. Use it before indexing into a parsed string so the caller can validate the field number first.

Validation Evidence

Validation evidence: The current string-parser regression coverage verifies field counting and reverse field access alongside PARSE$.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • JOIN$
  • PARSE$ " PBXB64-Compiler-Hilfe
  • PATHNAME$
  • PATHSCAN$ " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


REPLACE ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

REPLACE ? PBXB64-Compiler-Hilfe

Innerhalb einer angegebenen Zeichenfolge

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

REPLACE [ANY] MatchString WITH NewString IN MainString

Beschreibung

Innerhalb einer angegebenen Zeichenfolge

Typ:Anweisung |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die REPLACE-Anweisung ersetzt alle Vorkommen von MatchString in MainString durch NewString. Der Ersatz kann dazu f?hren, dass MainString gr??er oder kleiner wird. MainString muss eine String-Variable sein; MatchString und NewString k?nnen Zeichenfolgenausdr?cke sein. Bei REPLACE wird die Gro?-/Kleinschreibung beachtet. Wenn eine ?bereinstimmung gefunden wird, beginnt die Suche nach der n?chsten ?bereinstimmung an der Position, die unmittelbar auf die vorherige ?bereinstimmung folgt.

Wenn Sie die Option ANY innerhalb von MainString verwenden, wird jedes Vorkommen jedes Zeichens in MatchString durch das entsprechende Zeichen in NewString ersetzt. In diesem Fall m?ssen MatchString und NewString die gleiche L?nge haben, da zwischen ihren Zeichen eine Eins-zu-eins-Entsprechung besteht.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • EXTRACT$
  • INSTR ? PBXB64-Compiler-Hilfe
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • MID$ ? PBXB64-Compiler-Hilfe
  • REMOVE$
  • RETAIN$
  • RIGHT$ ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • SHRINK$
  • TALLY " PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • UNWRAP$
  • ÜBERPRÜFEN " Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


RIGHT$ ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

RIGHT$ ? PBXB64-Compiler-Hilfe

Geben Sie ganz rechts zur?ck

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = RIGHT$( string_expression , n& )

Beschreibung

Geben Sie ganz rechts zur?ck

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn n& positiv ist, gibt RIGHT$ die angegebene Anzahl von Zeichen aus der Zeichenfolge zur?ck, beginnend von rechts und nach links arbeitend. Wenn n& gr??er als die L?nge von string_expression ist, wird der gesamte string_expression zur?ckgegeben.

Wenn n& 0 ist, gibt RIGHT$ eine leere Zeichenfolge zur?ck. Wenn n& negativ ist, wird es als ( LEN ( string_expression ) - ABS ( n& )) interpretiert. Beispielsweise gibt RIGHT$("1234567890", -2) ?34567890? zur?ck.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • EXTRACT$
  • INSTR ? PBXB64-Compiler-Hilfe
  • LEFT$ ? PBXB64-Compiler-Hilfe
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • MID$ ? PBXB64-Compiler-Hilfe
  • REMOVE$
  • REPLACE ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • SPLIT
  • TALLY " PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • ÜBERPRÜFEN " Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


RTRIM$ ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

RTRIM$ ? PBXB64-Compiler-Hilfe

Gibt eine Kopie einer Zeichenfolge zur?ck

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x$ = RTRIM$( MainString [, [ANY] MatchString ])

Beschreibung

Gibt eine Kopie einer Zeichenfolge zur?ck

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

MainString ist der Zeichenfolgenausdruck, aus dem Zeichen entfernt werden sollen, und MatchString ist der Zeichenfolgenausdruck, der die Zeichen angibt, die von der rechten Seite von MainString entfernt werden sollen.

Wenn MatchString nicht angegeben ist, entfernt RTRIM$ nachgestellte Leerzeichen. RTRIM$ gibt einen Teilstring von MainString zur?ck, vom Anfang des Strings bis zum Zeichen vor den aufeinanderfolgenden Vorkommen von MatchString (oder Leerzeichen), der bis zum Ende des urspr?nglichen Strings fortgesetzt wird. Wenn MatchString (oder ein Leerzeichen) am Ende von MainString nicht vorhanden ist, wird der gesamte MainString zur?ckgegeben.

Bei RTRIM$ wird die Gro?-/Kleinschreibung beachtet.

Wenn das Schl?sselwort ANY enthalten ist, gibt MatchString eine Liste einzelner Zeichen an, nach denen einzeln gesucht werden soll ? eine ?bereinstimmung mit einem dieser Zeichen als nachgestelltes Zeichen f?hrt dazu, dass das Zeichen aus dem Ergebnis entfernt wird.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CLIP$
  • EXTRACT$
  • INSTR ? PBXB64-Compiler-Hilfe
  • LEFT$ ? PBXB64-Compiler-Hilfe
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • MID$ ? PBXB64-Compiler-Hilfe
  • REMOVE$
  • REPLACE ? PBXB64-Compiler-Hilfe
  • RIGHT$ ? PBXB64-Compiler-Hilfe
  • STRDELETE$
  • STRINSERT$
  • STRREVERSE$ - Hilfe zum PBXB64-Compiler
  • TALLY " PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • ÜBERPRÜFEN " Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


STR$ ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

STR$ ? PBXB64-Compiler-Hilfe

Gibt die Zeichenfolge zur?ck

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = STR$( numeric_expression [, digits ])

Beschreibung

Gibt die Zeichenfolge zur?ck

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

STR$ gibt die Zeichenfolgenform einer numerischen Variablen oder eines Ausdrucks in druckbarer Textform zur?ck. digits ist ein optionaler Integralausdruck, der die maximale Gesamtzahl der im Ergebnis erscheinenden Ziffern angibt. Wenn numeric_expression gr??er oder gleich Null ist, f?gt STR$ ein f?hrendes Leerzeichen hinzu; Wenn numeric_expression kleiner als Null ist, f?gt STR$ ein f?hrendes Negationszeichen (Minuszeichen) hinzu.

Beispielsweise gibt STR$(14) eine Zeichenfolge mit drei Zeichen zur?ck, wobei das erste Zeichen ein Leerzeichen und das zweite und dritte Zeichen die ASCII-Zeichen ?1? und ?4? sind. Mit LTRIM$ k?nnen f?hrende Leerzeichen entfernt werden.

digits gibt die maximale Anzahl der im Ergebnis gew?nschten signifikanten Ziffern (1 bis 18) an.

STR$ kann auch verwendet werden, um numerische Werte mit mehr als 16 signifikanten Ziffern (d. h. Gleitkommazahlen mit erweiterter Genauigkeit und Quad-Ganzzahlen) in eine druckbare Form umzuwandeln. Zum Beispiel:

a## = 2,0/3,0

x$ = STR$(a##,18)

gibt 0,666666666666666667 zur?ck.

Die Komplement?rfunktion ist VAL , die ein String-Argument entgegennimmt und das numerische ?quivalent zur?ckgibt. Somit ist Zahl = VAL(STR$( Zahl )).

Ein numerischer Wert der Integer-Klasse kann auch mit den Funktionen FORMAT$ und USING$ in eine Zeichenfolge konvertiert werden; Allerdings kann FORMAT$ problemlos eine Zeichenfolge zur?ckgeben, die keine f?hrenden Leerzeichen enth?lt. Beispiel: x$ = FORMAT$(a&).

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • BIN$
  • FORMAT$
  • HEX$
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • OCT$
  • ROUND ? PBXB64-Compiler-Hilfe
  • USING$
  • VAL ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


TRIM$ ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

TRIM$ ? PBXB64-Compiler-Hilfe

Entfernt f?hrende und nachfolgende Zeichen oder Teilzeichenfolgen.

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

NewString$ = TRIM$( OldString$ [, [ANY] CharsToTrim$ ])
NewString$ = TRIM$( NumrExpr [, Digits& ])

Beschreibung

Entfernt f?hrende und nachfolgende Zeichen oder Teilzeichenfolgen.

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

TRIM$ vereint die Funktionalit?t von LTRIM$ und RTRIM$ in einer einzigen Funktion. OldString$ ist der Zeichenfolgenausdruck, aus dem Zeichen entfernt werden sollen, und CharsToTrim$ ist der Zeichenfolgenausdruck zum Entfernen f?hrender und nachfolgender Vorkommen. Wenn CharsToTrim$ nicht angegeben ist, entfernt TRIM$ f?hrende und nachfolgende Leerzeichen.

Wenn das Schl?sselwort ANY enthalten ist, gibt CharsToTrim$ eine Liste einzelner Zeichen an, nach denen einzeln gesucht werden soll. Eine ?bereinstimmung mit einem dieser Zeichen als f?hrendes oder nachfolgendes Zeichen f?hrt dazu, dass das Zeichen aus dem Ergebnis entfernt wird.

NumrExpr

Wenn als Parameter ein numerischer Ausdruck angegeben wird, wird dieser in eine Zeichenfolge umgewandelt (genau wie STR$ ), jedoch ohne f?hrende oder nachgestellte Leerzeichen.

Ziffern&

Die maximale Anzahl signifikanter Ziffern im Bereich von 1 bis 18. Wenn nicht angegeben, liefert PowerBASIC einen Standardwert von 7 f?r Werte mit einfacher Genauigkeit oder 16 f?r genauere Werte. Achten Sie darauf, dass digits& gro? genug ist, um den ganzzahligen Teil einer Zahl aufzunehmen, andernfalls muss zur Sch?tzung die wissenschaftliche Notation verwendet werden. Beispielsweise gibt TRIM$(123.456, 2) ?1.2E+2? zur?ck, w?hrend FORMAT$ (123.456, 5) die Zeichenfolge ?123.45? zur?ckgibt.

Einschr?nkungen

TRIM$ unterscheidet zwischen Gro?- und Kleinschreibung, daher ist die Gro?- und Kleinschreibung wichtig.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CLIP$
  • FORMAT$
  • INSTR ? PBXB64-Compiler-Hilfe
  • LCASE$ ? PBXB64-Compiler-Hilfe
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • MCASE$
  • MID$ ? PBXB64-Compiler-Hilfe
  • REMOVE$
  • REPLACE ? PBXB64-Compiler-Hilfe
  • RIGHT$ ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • SHRINK$
  • TALLY " PBXB64-Compiler-Hilfe
  • UCASE$ ? PBXB64-Compiler-Hilfe
  • UNWRAP$
  • ÜBERPRÜFEN " Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


UCASE$ ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

UCASE$ ? PBXB64-Compiler-Hilfe

Gibt eine vollst?ndig in Gro?buchstaben (Gro?buchstaben) geschriebene Version einer Zeichenfolge zur?ck

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = UCASE$( string_expression [,ANSI | OEM])

Beschreibung

Gibt eine vollst?ndig in Gro?buchstaben (Gro?buchstaben) geschriebene Version einer Zeichenfolge zur?ck

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

UCASE$ gibt eine Zeichenfolge zur?ck, die string_expression entspricht, mit der Ausnahme, dass Kleinbuchstaben in string_expression in Gro?buchstaben umgewandelt werden. Der optionale ANSI- oder OEM-Parameter gibt an, ob die Konvertierung unter Verwendung des ANSI-Zeichensatzes f?r das System oder des urspr?nglichen IBM OEM-Zeichensatzes erfolgt. Wenn kein Zeichensatz angegeben ist, verwendet PowerBASIC f?r Windows den System-ANSI-Zeichensatz, w?hrend PB/CC den IBM OEM-Zeichensatz verwendet. Von diesem Parameter sind nur ?internationale? Zeichen im Bereich von CHR$ (128) bis CHR$(255) betroffen.

Der OEM-Zeichensatz basiert auf dem urspr?nglichen IBM OEM-Zeichensatz, um die Kompatibilit?t mit Programmen sicherzustellen, die f?r alle fr?heren Versionen des PowerBASIC-Compilers geschrieben wurden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ASC ? PBXB64-Compiler-Hilfe
  • LCASE$ ? PBXB64-Compiler-Hilfe
  • MCASE$
  • Hilfe zum PBXB64-Compiler


VAL ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Zeichenkettenverarbeitung Hilfe zum PBXB64-Compiler

VAL ? PBXB64-Compiler-Hilfe

Konvertieren Sie einen Textstreifen

Kategorie: Zeichenkettenverarbeitung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

VAL StrgExpr [, offset ] TO ValueVar [, DigitsVar& , UnusedVar& ]

Beschreibung

Konvertieren Sie einen Textstreifen

Typ:Anweisung |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die VAL-Anweisung wandelt ein Zeichenfolgenargument in eine Zahl um, f?gt jedoch zus?tzliche Informationen zur Konvertierung hinzu. Sowohl f?hrende als auch nachfolgende Leerzeichen (Leerzeichen, Tabulatoren, Wagenr?cklauf und Zeilenvorschub) werden ?bersprungen und ignoriert. Wird keine Zahl gefunden, wird der Wert Null (0) zur?ckgegeben. Formatzeichen (wie Kommas) sind nicht zul?ssig und f?hren zum vorzeitigen Abbruch der Auswertung.

VAL interpretiert die Buchstaben ?e? und ?d? (und ?E? und ?D?) als Symbole f?r Potenzierung und wissenschaftliche Notation:

VAL "10.101e3" TO i& ' 10101 ~ 10.101*(10^3)

VAL ?2D4? TO j& ' 20000 ~ 2 * (10 ^ 4)

Hexadezimale, bin?re und oktale Konvertierungen

VAL kann auch zum Konvertieren von Zeichenfolgenargumenten in Form von Hexadezimal-, Bin?r- und Oktalzahlen verwendet werden. Hexadezimalwerten sollte das Pr?fix ?&H? und Bin?rwerten das Pr?fix ?&B? vorangestellt werden. Oktalwerten kann das Pr?fix ?&O?, ?&Q? oder nur ?&? vorangestellt werden. Wenn StrgExpr eine f?hrende Null enth?lt, wird das Ergebnis als vorzeichenloser Wert zur?ckgegeben. andernfalls wird ein vorzeichenbehafteter Wert zur?ckgegeben. Zum Beispiel:

VAL ?&HF5F3? TO i& ' Hex, gibt -2573 (mit Vorzeichen) zur?ck

VAL ?&H0F5F3? TO j& ' Hex, gibt 62963 zur?ck (ohne Vorzeichen)

VAL ?&B0100101101? TO x& ' Bin?r, gibt 301 zur?ck (ohne Vorzeichen)

VAL ?&O4574514? TO y& ' Oktal, gibt 1243468 (signiert) zur?ck

Zu den g?ltigen Hexadezimalzeichen geh?ren 0 bis 9, A bis F (und a bis f). G?ltige Oktalzeichen sind 0 bis 7 und Bin?rzeichen 0 bis 1.

Verwenden Sie die Funktionen STR$ , DEC$ , FORMAT$ und USING$, um numerische Werte in Dezimalzeichenfolgen umzuwandeln. Verwenden Sie BIN$, HEX$ und OCT$, um sie in bin?re, hexadezimale und oktale Darstellungen umzuwandeln.

Versatz

Wenn der optionale Offset-Parameter enthalten ist, gibt er die Position in der Zeichenfolge an, an der die Konvertierung beginnen soll. Wenn nicht angegeben, ist der Wert standardm??ig eins (1) und beginnt beim ersten Zeichen.

WertVar

Eine numerische Variable, die das Ergebnis der Konvertierung empf?ngt.

ZiffernVar

Eine optionale lange Ganzzahlvariable, die die Anzahl der in der Auswertung gefundenen signifikanten Ziffern empf?ngt. Wenn dieser Wert Null (0) ist, wurde keine g?ltige Zahl gefunden und ValueVar wurde auch Null (0) zugewiesen.

UnbenutzteVar

Eine optionale lange Ganzzahlvariable, die die Anzahl der nicht verwendeten Zeichen empf?ngt. Da bei der Auswertung sowohl f?hrende als auch nachfolgende Leerzeichen ?bersprungen werden, weist ein Wert ungleich Null darauf hin, dass m?glicherweise zus?tzliche Zeichen von gewisser Bedeutung vorhanden sind. Sie k?nnen RIGHT$(StrgExpr, UnUsedVar) verwenden, um die nicht verwendeten Zeichen zu trennen.

Einschr?nkungen

VAL stoppt die Analyse von string_expression, wenn nicht numerische Zeichen gefunden werden. Beim Umgang mit hexadezimalen, bin?ren und oktalen Zahlensystemen wird das Punktzeichen als nicht numerisch klassifiziert. Dies liegt daran, dass PowerBASIC nur Gleitkommaformate f?r das Dezimalzahlensystem unterst?tzt. VAL akzeptiert das Punktzeichen als Dezimalstelle f?r alle Werte im dezimalen Zahlensystem.

VAL analysiert keine nachgestellten Typspezifizierer f?r Dezimalzeichenfolgen. Beispielsweise wird VAL("9.1&") als 9.1 und nicht als 9 ausgewertet, da das Suffix ?&? als nicht numerisches Zeichen und nicht als Typbezeichner behandelt wird. Typsuffixe k?nnen jedoch mit bin?ren, oktalen und hexadezimalen Werten verwendet werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BIN$
  • DEC$
  • FORMAT$
  • HEX$
  • OCT$
  • STR$ ? PBXB64-Compiler-Hilfe
  • USING$
  • Hilfe zum PBXB64-Compiler


Mathematik und Numerik - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

Mathematik und Numerik

Themen in diesem Kapitel

ABS ATN ? PBXB64-Compiler-Hilfe BODEN CEIL COS ? PBXB64-Compiler-Hilfe EXP ? PBXB64-Compiler-Hilfe FIX ? PBXB64-Compiler-Hilfe INT ? PBXB64-Compiler-Hilfe LOG ? PBXB64-Compiler-Hilfe RANDOMIZE ? Real Seed ? PBXB64-Compiler-Hilfe RND ? Echter Zufallszahlengenerator ? PBXB64-Compiler-Hilfe ROUND ? PBXB64-Compiler-Hilfe SGN ? PBXB64-Compiler-Hilfe SIN ? PBXB64-Compiler-Hilfe SQR ? PBXB64-Compiler-Hilfe TAN ? PBXB64-Compiler-Hilfe


ABS - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

ABS

Gibt den absoluten Wert einer Zahl zur&uuml;ck

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = ABS( numeric_expression )

Beschreibung

Gibt den absoluten Wert einer Zahl zurück

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der absolute Wert einer Zahl ist ihr nicht negativer Wert. Beispielsweise ist der Absolutwert von -3 3, und der Absolutwert von +3 ist ebenfalls 3. Der Absolutwert von 0 ist 0.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_abs_basic
FUNCTION PBMAIN() AS LONG
  IF (ABS(0)) <> (0) THEN FUNCTION = 1: EXIT FUNCTION
  IF (ABS(1)) <> (1) THEN FUNCTION = 2: EXIT FUNCTION
  IF (ABS(-1)) <> (1) THEN FUNCTION = 3: EXIT FUNCTION
  IF (ABS(100)) <> (100) THEN FUNCTION = 4: EXIT FUNCTION
  IF (ABS(-100)) <> (100) THEN FUNCTION = 5: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • SGN ? PBXB64-Compiler-Hilfe


ATN ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

ATN ? PBXB64-Compiler-Hilfe

Gibt den Arkustangens eines Arguments zur?ck.

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = ATN( numeric_expression )

Beschreibung

Gibt den Arkustangens eines Arguments zur?ck.

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ATN gibt den Arcustangens (Inverstangens) von numeric_expression zur?ck; das hei?t, der Winkel, dessen Tangens numeric_expression ist.

Das Ergebnis wird, wie bei allen Winkeloperationen in PowerBASIC, im Bogenma? und nicht in Grad angegeben. Obwohl es ?blich ist, Winkel in Grad anzugeben, ist das Bogenma? eine bequemere Ma?einheit f?r mathematische Operationen. Ein Bogenma? ist definiert als der Winkel in der Mitte eines Kreises, der einen Bogen mit der L?nge eines Radius umschlie?t. Da f?r alle Kreise die Konstante ? :

Umfang / Radius = 2 * ?

Die L?nge des Kreisumfangs ist gleich 2 * ? * Radius und der Winkel eines Vollkreises (360 Grad) ist gleich 2 * ? Bogenma?.

Um Bogenma? in Grad umzurechnen, multiplizieren Sie einfach den Bogenma?wert mit 180/? , oder 57.29577951308232##. Der Arkustangens von 0,23456 kann beispielsweise folgenderma?en umgerechnet werden:

t = ATN(.23456!) 't = 0,230395 (Bogenma?)

t = 57,29577951308232## * ATN(.23456!) 't= 13,200 (Grad)

Um Grad in Bogenma? umzurechnen, multiplizieren Sie mit 0,0174532925199433##. Zum Beispiel:

14 Grad = (0,0174532925199433## * 14) = 0,2443460952792062 Bogenma?

Anstatt sich die Umrechnungsfaktoren f?r Bogenma?/Grad zu merken, berechnen Sie sie selbst, indem Sie sich diese Beziehung merken: 2 ? Das Bogenma? entspricht einem Vollkreis (360 Grad), also 1 ? Das Bogenma? betr?gt 180 ? Grad. Umgekehrt entspricht 1 Grad ? / 180 Bogenma?.

? ist eine transzendente Konstante, das hei?t, sie hat unendlich viele Dezimalstellen. Bis zu einer Genauigkeit von 15 Stellen, ausreichend f?r die meisten Anwendungen, ? = 3,141592653589793##. Dieser Wert kann mit dem Ausdruck gut angen?hert werden:

pi## = 4 * ATN(1)

Umrechnungen von Grad in Bogenma? und Bogenma? in Grad sind gute Anwendungen f?r benutzerdefinierte Funktionen.

Die ATN-Funktion gibt immer ein Ergebnis mit erweiterter Genauigkeit zur?ck.

PBXB64 akzeptiert fuer ATN auch INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL. Der typisierte Pfad liefert ein Gleitkommaergebnis; ein neuer Befehlsname ist nicht erforderlich.

Der Tangens (TAN) eines Wertes l?sst sich einfach mit der TAN-Funktion berechnen.

Der hyperbolische Tangens (TANH) kann berechnet werden:

TanH = (EXP(2 * Wert) - 1) / (EXP(2 * Wert) + 1)

Der umgekehrte hyperbolische Tangens (ARCTANH) eines Wertes kann berechnet werden:

ArcTanH = LOG((1 + Wert) / (1 - Wert)) / 2

' N?tzliche Makrofunktionen

MAKRO Pi = 3,141592653589793##

MACRO DegreesToRadians(dpDegrees) = (dpDegrees*0.0174532925199433##)

MACRO RadiansToDegrees(dpRadians) = (dpRadians*57,29577951308232##)

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_atn_basic
FUNCTION PBMAIN() AS LONG
  IF ((ATN(0.0)) < (0.0000000000) - 0.0001) OR ((ATN(0.0)) > (0.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((ATN(1.0)) < (0.7853981634) - 0.0001) OR ((ATN(1.0)) > (0.7853981634) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((ATN(-1.0)) < (-0.7853981634) - 0.0001) OR ((ATN(-1.0)) > (-0.7853981634) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • COS ? PBXB64-Compiler-Hilfe
  • SIN ? PBXB64-Compiler-Hilfe
  • TAN ? PBXB64-Compiler-Hilfe


BODEN - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

BODEN

Rundet eine Zahl auf die n&auml;chstkleinere Ganzzahl ab.

Kategorie: Mathematik und Numerik

Syntax

result = FLOOR( numeric_expression )

Beschreibung

Rundet eine Zahl auf die nächstkleinere Ganzzahl ab.

Kind: Funktion | Category: Math & Numeric

PBXB64 Status: VERFÜGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Description

FLOOR gibt den größten ganzzahligen Wert zurück, der kleiner oder gleich dem Argument ist. Positive Werte verlieren den Nachkommateil; negative Werte gehen zur nächstkleineren negativen Ganzzahl.

Verwenden Sie FLOOR, wenn Sie ein genaues Abrunden nach unten brauchen, zum Beispiel für Indizes, Buckets, Paginierung oder andere Berechnungen, bei denen Trunkierung nicht dasselbe ist wie Floor-Logik.

Die Funktion unterscheidet sich bei negativen Werten von INT und FIX; wählen Sie deshalb die Funktion, die zu Ihrer Mathematik passt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


CEIL - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

CEIL

Konvertieren Sie ein Floating

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

intvar = CEIL( numeric_expression )

Beschreibung

Konvertieren Sie ein Floating

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die CEIL-Funktion rundet auf und gibt den kleinsten ganzzahligen Wert zur?ck, der gr??er oder gleich numeric_expression ist. Beispielsweise platziert y = CEIL(1.5) den Wert 2 in y .

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_ceil_basic
FUNCTION PBMAIN() AS LONG
  IF ((CEIL(1.1)) < (2.0000000000) - 0.0001) OR ((CEIL(1.1)) > (2.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((CEIL(-1.1)) < (-1.0000000000) - 0.0001) OR ((CEIL(-1.1)) > (-1.0000000000) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((CEIL(0.0)) < (0.0000000000) - 0.0001) OR ((CEIL(0.0)) > (0.0000000000) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • CBYT
  • FIX ? PBXB64-Compiler-Hilfe
  • FRAC ? Realer Bruchteil ? PBXB64-Compiler-Hilfe
  • INT ? PBXB64-Compiler-Hilfe
  • ROUND ? PBXB64-Compiler-Hilfe


COS ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

COS ? PBXB64-Compiler-Hilfe

Gibt den Kosinus eines Winkels zur?ck.

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = COS( numeric_expression )

Beschreibung

Gibt den Kosinus eines Winkels zur?ck.

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

numeric_expression ist ein im Bogenma? angegebener Winkel. Um Bogenma? in Grad umzurechnen, multiplizieren Sie mit 57,29577951308232##. Um Grad in Bogenma? umzurechnen, multiplizieren Sie mit 0,0174532925199433##. Weitere Informationen zum Bogenma? finden Sie in der ATN-Funktion.

COS gibt einen Wert mit erweiterter Genauigkeit zur?ck, der immer zwischen -1 und +1 einschlie?lich liegt.

PBXB64 akzeptiert fuer COS auch INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL. Der vorhandene Befehl verwendet dafuer intern den typisierten Laufzeitpfad; das Ergebnis ist Gleitkomma.

Der Umkehrkosinus (ARCCOS) eines Wertes kann wie folgt berechnet werden:

pi## = 3,141592653589793##

ArcCos = pi## / 2 - ATN( Wert / SQR(1 - Wert * Wert ))

Der Hyperbolische Kosinus (COSH) eines Wertes kann auch berechnet werden:

CosH = (EXP(Wert) + EXP(-Wert)) / 2

Der umgekehrte hyperbolische Kosinus (ARCCOSH) eines Wertes kann auch berechnet werden:

ArcCosH = LOG(Wert + SQR(Wert * Wert - 1))

' N?tzliche Makrofunktionen

MAKRO Pi = 3,141592653589793##

MACRO DegreesToRadians(dpDegrees) = (dpDegrees*0.0174532925199433##)

MACRO RadiansToDegrees(dpRadians) = (dpRadians*57,29577951308232##)

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_cos_basic
FUNCTION PBMAIN() AS LONG
  IF ((COS(0.0)) < (1.0000000000) - 0.0001) OR ((COS(0.0)) > (1.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((COS(1.0)) < (0.5403023059) - 0.0001) OR ((COS(1.0)) > (0.5403023059) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((COS(-1.0)) < (0.5403023059) - 0.0001) OR ((COS(-1.0)) > (0.5403023059) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • ATN ? PBXB64-Compiler-Hilfe
  • SIN ? PBXB64-Compiler-Hilfe
  • TAN ? PBXB64-Compiler-Hilfe


EXP ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

EXP ? PBXB64-Compiler-Hilfe

Gibt eine zu einer Potenz erh?hte Basiszahl zur?ck. Die Basis ist

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = EXP( n )
y = EXP2( n )
y = EXP10( n )

Beschreibung

Gibt eine zu einer Potenz erh?hte Basiszahl zur?ck. Die Basis ist

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

EXP gibt e in der n-ten Potenz zur?ck, wobei n eine numerische Variable oder ein numerischer Ausdruck ist und e die Basis f?r nat?rliche Logarithmen ist, etwa 2,718282. Dies bietet unter anderem eine einfache M?glichkeit, den Wert von e selbst zu ermitteln:

e = EXP(1)

EXP2( n ) gibt 2 hoch n-ten Potenz zur?ck, wobei n eine numerische Variable oder ein numerischer Ausdruck ist.

EXP10( n ) gibt 10 hoch n-ten Potenz zur?ck, wobei n eine numerische Variable oder ein numerischer Ausdruck ist.

Die EXP-Funktionen stellen eine praktische Alternative zum ^-Operator dar, der mit jeder Basis funktioniert. Die EXP-Funktionen geben Ergebnisse mit erweiterter Genauigkeit zur?ck.

PBXB64 akzeptiert fuer EXP, EXP2 und EXP10 auch INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL. Die vorhandenen Befehle liefern ein Gleitkommaergebnis; UNL wird intern verarbeitet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_exp_basic
FUNCTION PBMAIN() AS LONG
  IF ((EXP(0.0)) < (1.0000000000) - 0.0001) OR ((EXP(0.0)) > (1.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((EXP(1.0)) < (2.7182818285) - 0.0001) OR ((EXP(1.0)) > (2.7182818285) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((EXP(2.0)) < (7.3890560989) - 0.0001) OR ((EXP(2.0)) > (7.3890560989) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • LOG ? PBXB64-Compiler-Hilfe
  • EXP2
  • EXP10
  • LOG2
  • LOG10
  • SQR ? PBXB64-Compiler-Hilfe
  • Arithmetische Operatoren - Hilfe zum PBXB64-Compiler


FIX ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

FIX ? PBXB64-Compiler-Hilfe

Syntax

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = FIX( numeric_expression )

Beschreibung

Syntax

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

FIX entfernt den Bruchteil seines Arguments und gibt den ganzzahligen Teil zur?ck. Im Gegensatz zu CINT und INT f?hrt FIX keinerlei Rundung oder Skalierung durch.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_fix_basic
FUNCTION PBMAIN() AS LONG
  IF ((FIX(1.9)) < (1.0000000000) - 0.0001) OR ((FIX(1.9)) > (1.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((FIX(-1.9)) < (-1.0000000000) - 0.0001) OR ((FIX(-1.9)) > (-1.0000000000) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((FIX(0.5)) < (0.0000000000) - 0.0001) OR ((FIX(0.5)) > (0.0000000000) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • CEIL
  • CBYT
  • INT ? PBXB64-Compiler-Hilfe
  • FRAC ? Realer Bruchteil ? PBXB64-Compiler-Hilfe
  • ROUND ? PBXB64-Compiler-Hilfe


INT ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

INT ? PBXB64-Compiler-Hilfe

Wandeln Sie einen numerischen Ausdruck in ein Integral um

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = INT( numeric_expression )

Beschreibung

Wandeln Sie einen numerischen Ausdruck in ein Integral um

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

INT rundet numeric_expression auf den gr??ten ganzzahligen Wert, der kleiner oder gleich numeric_expression ist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_int_basic
FUNCTION PBMAIN() AS LONG
  IF ((INT(1.9)) < (1.0000000000) - 0.0001) OR ((INT(1.9)) > (1.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((INT(-1.9)) < (-2.0000000000) - 0.0001) OR ((INT(-1.9)) > (-2.0000000000) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((INT(0.5)) < (0.0000000000) - 0.0001) OR ((INT(0.5)) > (0.0000000000) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • CEIL
  • CBYT
  • FIX ? PBXB64-Compiler-Hilfe
  • FRAC ? Realer Bruchteil ? PBXB64-Compiler-Hilfe
  • ROUND ? PBXB64-Compiler-Hilfe


LOG ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

LOG ? PBXB64-Compiler-Hilfe

LOG gibt die nat?rliche (base

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = LOG( numeric_expression )
y = LOG2( numeric_expression )
y = LOG10( numeric_expression )

Beschreibung

LOG gibt die nat?rliche (base

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Logarithmus einer Zahl ist die Potenz, mit der die Basis erh?ht werden m?sste, um die Zahl zu ergeben. Also:

Logarithmus (Basis b) von n = x, wenn b^x = n

(Basis)^log(n) = n

Die EXP-Funktionen erg?nzen die LOG-Funktionen. Wenn beispielsweise s = LOG(t) ist, dann ist t = EXP(s).

Per Definition ist der Logarithmus (jede Basis) von 1 0. LOG gibt den nat?rlichen Logarithmus (Basis e, wobei e = 2,718282...) seines Arguments zur?ck. LOG2 und LOG10 geben den Logarithmus zur Basis 2 bzw. 10 zur?ck.

numerischer_Ausdruck muss ein Wert gr??er als Null sein.

LOG, LOG2 und LOG10 geben Werte mit erweiterter Genauigkeit zur?ck.

PBXB64 akzeptiert fuer LOG, LOG2 und LOG10 auch INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL. Der vorhandene Befehl verwendet intern den typisierten Laufzeitpfad.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_log_basic
FUNCTION PBMAIN() AS LONG
  IF ((LOG(1.0)) < (0.0000000000) - 0.0001) OR ((LOG(1.0)) > (0.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((LOG(2.0)) < (0.6931471806) - 0.0001) OR ((LOG(2.0)) > (0.6931471806) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((LOG(10.0)) < (2.3025850930) - 0.0001) OR ((LOG(10.0)) > (2.3025850930) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • EXP ? PBXB64-Compiler-Hilfe
  • EXP2
  • EXP10
  • SQR ? PBXB64-Compiler-Hilfe
  • Arithmetische Operatoren - Hilfe zum PBXB64-Compiler


RANDOMIZE ? Real Seed ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

RANDOMIZE ? Real Seed ? PBXB64-Compiler-Hilfe

Setzen Sie den Zufallszahlengenerator ein. Die V8.1 Die Implementierung setzt den Zufallszahlen-Startwert des aktuellen Threads.

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

RANDOMIZE [ number ]

Beschreibung

Setzen Sie den Zufallszahlengenerator ein. Die V8.1 Die Implementierung setzt den Zufallszahlen-Startwert des aktuellen Threads.

Typ:Anweisung |Kategorie:Mathematik und Numerik

PBXB64-Status: VERF?GBAR ? echte Implementierung, kein Stub

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

number ist ein Startwert, der ein beliebiger numerischer Typ sein kann. Wenn number nicht angegeben ist, wird der von zur?ckgegebene Wert zur?ckgegeben TIMER Funktion wird verwendet (Systemverf?gbarkeit in Sekunden, gek?rzt auf a LONG).

Vom Zufallszahlengenerator zur?ckgegebene Werte (RND) h?ngen vom Saatwert ab. F?r einen gegebenen Samen RND gibt immer die gleiche Sequenz zur?ck. Jedes Programm, das davon abh?ngt RND l?uft jedes Mal auf die gleiche Weise ab, es sei denn, es wird ein anderer Startwert angegeben.

Jeder Thread verf?gt ?ber einen eigenen, unabh?ngigen Zufallszahlen-Seed. Das erneute Seeding eines Threads hat keine Auswirkungen auf andere Threads.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN() AS LONG
    RANDOMIZE 12345      ' deterministic seed
    PRINT RND            ' first value
    PRINT RND            ' second value

    RANDOMIZE            ' reseed with TIMER
    PRINT RND            ' non-deterministic
    FUNCTION = 0
END FUNCTION

Siehe auch

  • RND ? Echter Zufallszahlengenerator ? PBXB64-Compiler-Hilfe
  • TIMER
  • Hilfe zum PBXB64-Compiler


RND ? Echter Zufallszahlengenerator ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

RND ? Echter Zufallszahlengenerator ? PBXB64-Compiler-Hilfe

Gibt eine Zufallszahl zur?ck. Die V8.1 Die Implementierung verwendet einen echten linear-kongruentialen Generator (LCG) mit einem darin gespeicherten Thread-lokalen Startwert c_runtime_user.o. Der Ausgabebereich ist genau [0, 1) f?r die No-Argument-/Einzelargument-Form und einen inklusiven Ganzzahlbereich f?r die RND(a, b) Formular.

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = RND                       ' returns DOUBLE in [0, 1)
y = RND(a, b)                 ' returns LONG in [a, b] inclusive
y = RND(seed)                 ' with positive seed: next in sequence
                              ' with zero:     repeats last value
                              ' with negative: re-seeds the generator

Beschreibung

Gibt eine Zufallszahl zur?ck. Die V8.1 Die Implementierung verwendet einen echten linear-kongruentialen Generator (LCG) mit einem darin gespeicherten Thread-lokalen Startwert c_runtime_user.o. Der Ausgabebereich ist genau [0, 1) f?r die No-Argument-/Einzelargument-Form und einen inklusiven Ganzzahlbereich f?r die RND(a, b) Formular.

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status: VERF?GBAR ? echte Implementierung, kein Stub

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Gleitkommamodus: RND gibt einen Wert in zur?ck [0, 1). Der interne Algorithmus ist ein 64-Bit-LCG (Mod 2^64, Multiplikator 6364136223846793005) und ein Thread-lokaler Zustand. Der zur?ckgegebene Wert hat doppelte Genauigkeit.

Integralbereichsmodus: RND(a, b) gibt a zur?ck LONG in [a, b] inklusive. Beide Endpunkte m?ssen in eine 32-Bit-Ganzzahl mit Vorzeichen passen.

Spezialeffektmodus: Ein einzelnes Argument steuert das Reseeding-Verhalten. Bei einem positiven Startwert schaltet der Generator weiter. Bei Null wird der letzte Wert wiederholt. Bei einem negativen Seed wird der Generator neu geseedet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN() AS LONG
    RANDOMIZE 42
    PRINT RND       ' deterministic first value
    PRINT RND       ' deterministic second value
    PRINT RND(1, 6) ' a "die roll" 1..6
    FUNCTION = 0
END FUNCTION

Siehe auch

  • RANDOMIZE ? Real Seed ? PBXB64-Compiler-Hilfe
  • TIMER
  • Hilfe zum PBXB64-Compiler


ROUND ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

ROUND ? PBXB64-Compiler-Hilfe

Runden Sie einen numerischen Wert auf eine angegebene Anzahl von Dezimalstellen.

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x = ROUND( numeric_expression , n )

Beschreibung

Runden Sie einen numerischen Wert auf eine angegebene Anzahl von Dezimalstellen.

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

n ist ein Integralausdruck, der die Anzahl der im Ergebnis erforderlichen Dezimalstellen angibt. ROUND ist besonders n?tzlich, wenn Sie eine Variable mit einfacher, doppelter oder erweiterter Genauigkeit haben und diese in eine W?hrungsvariable einf?gen oder auf eine bestimmte Anzahl von Dezimalstellen gerundet anzeigen m?chten.

Das Runden erfolgt nach dem ?Banker-Rundungsprinzip?: Wenn die zu rundende Nachkommastelle genau f?nf ist und keine nachgestellten Ziffern enth?lt, wird die Zahl auf die n?chste gerade Zahl gerundet. Dies liefert im Durchschnitt bessere Ergebnisse als der einfache Ansatz ?auf f?nf aufrunden?.

A% = ROUND(0.5, 0) ' 0

A% = ROUND(1.5, 0) ' 2

A% = ROUND(2.5, 0) ' 2

A% = ROUND(2.51, 0) ' 3

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_round_basic
FUNCTION PBMAIN() AS LONG
  IF ((ROUND(1.4)) < (1.0000000000) - 0.0001) OR ((ROUND(1.4)) > (1.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((ROUND(1.6)) < (2.0000000000) - 0.0001) OR ((ROUND(1.6)) > (2.0000000000) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((ROUND(-1.5)) < (-2.0000000000) - 0.0001) OR ((ROUND(-1.5)) > (-2.0000000000) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • CEIL
  • FIX ? PBXB64-Compiler-Hilfe
  • FORMAT$
  • INT ? PBXB64-Compiler-Hilfe
  • USING$


SGN ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

SGN ? PBXB64-Compiler-Hilfe

Gibt das Vorzeichen eines numerischen Ausdrucks zur?ck.

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = SGN( numeric_expression )

Beschreibung

Gibt das Vorzeichen eines numerischen Ausdrucks zur?ck.

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn numerischer_Ausdruck positiv ist, gibt SGN 1 zur?ck. Wenn numerischer_Ausdruck Null ist, gibt SGN 0 zur?ck. Wenn numerischer_Ausdruck negativ ist, gibt SGN -1 zur?ck.

In Verbindung mit den Anweisungen ON GOTO und ON GOSUB kann SGN einen FORTRAN-?hnlichen Drei-Wege-Zweig erzeugen:

ON SGN(Saldo) + 2 GOTO InTheRed, BreakingEven, InTheMoney

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_sgn_basic
FUNCTION PBMAIN() AS LONG
  IF (SGN(0)) <> (0) THEN FUNCTION = 1: EXIT FUNCTION
  IF (SGN(5)) <> (1) THEN FUNCTION = 2: EXIT FUNCTION
  IF (SGN(-5)) <> (-1) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • ABS
  • IF/END IF
  • ON GOSUB
  • ON GOTO
  • SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe


SIN ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

SIN ? PBXB64-Compiler-Hilfe

Gibt den Sinus seines Arguments zur?ck.

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = SIN( numeric_expression )

Beschreibung

Gibt den Sinus seines Arguments zur?ck.

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

numeric_expression ist ein im Bogenma? angegebener Winkel. SIN gibt einen Wert mit erweiterter Genauigkeit zwischen -1 und +1 zur?ck.

PBXB64 akzeptiert fuer SIN auch INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL. Der typisierte Pfad liefert ein Gleitkommaergebnis; UNL wird intern ueber den bestehenden Befehl verarbeitet.

Um Bogenma? in Grad umzurechnen, multiplizieren Sie mit 57,29577951308232##. Um Grad in Bogenma? umzurechnen, multiplizieren Sie mit 0,0174532925199433##. Weitere Informationen zum Bogenma? finden Sie in der ATN-Funktion.

Der Umkehrsinus (ARCSIN) eines Wertes kann wie folgt berechnet werden:

ArcSin = ATN(Wert / SQR(1 - Wert * Wert))

Der Hyperbolische Sinus (SINH) eines Wertes kann auch berechnet werden:

SinH = (EXP(Wert) - EXP(-Wert)) / 2

Der umgekehrte hyperbolische Sinus (ARCSINH) eines Wertes kann auch berechnet werden:

ArcSinH = LOG(Wert + SQR(Wert * Wert + 1))

' N?tzliche Makrofunktionen

M ACRO Pi = 3,141592653589793##

MACRO DegreesToRadians(dpDegrees) = (dpDegrees * 0,0174532925199433##)

MACRO RadiansToDegrees(dpRadians) = (dpRadians * 57,29577951308232##)

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_sin_basic
FUNCTION PBMAIN() AS LONG
  IF ((SIN(0.0)) < (0.0000000000) - 0.0001) OR ((SIN(0.0)) > (0.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((SIN(1.0)) < (0.8414709848) - 0.0001) OR ((SIN(1.0)) > (0.8414709848) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((SIN(-1.0)) < (-0.8414709848) - 0.0001) OR ((SIN(-1.0)) > (-0.8414709848) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • ATN ? PBXB64-Compiler-Hilfe
  • COS ? PBXB64-Compiler-Hilfe
  • TAN ? PBXB64-Compiler-Hilfe


SQR ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

SQR ? PBXB64-Compiler-Hilfe

Gibt die Quadratwurzel seines Arguments zur?ck.

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = SQR( numeric_expression )

Beschreibung

Gibt die Quadratwurzel seines Arguments zur?ck.

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

numeric_expression muss gr??er oder gleich Null sein. SQR berechnet Quadratwurzeln mithilfe eines optimierten Algorithmus. Das hei?t, die Ausf?hrung von y = SQR(x) dauert weniger lange als die von y = x^0,5.

Der Versuch, die Quadratwurzel einer negativen Zahl zu ziehen, f?hrt zu keinen Laufzeitfehlern, die Ergebnisse einer solchen Operation sind jedoch undefiniert.

SQR gibt ein Ergebnis mit erweiterter Genauigkeit zur?ck.

PBXB64 akzeptiert fuer SQR auch INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL. Das Ergebnis ist Gleitkomma; UNL wird intern ueber den bestehenden Befehl verarbeitet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_sqr_basic
FUNCTION PBMAIN() AS LONG
  IF ((SQR(0.0)) < (0.0000000000) - 0.0001) OR ((SQR(0.0)) > (0.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((SQR(1.0)) < (1.0000000000) - 0.0001) OR ((SQR(1.0)) > (1.0000000000) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((SQR(2.0)) < (1.4142135624) - 0.0001) OR ((SQR(2.0)) > (1.4142135624) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  IF ((SQR(9.0)) < (3.0000000000) - 0.0001) OR ((SQR(9.0)) > (3.0000000000) + 0.0001) THEN FUNCTION = 4: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • EXP ? PBXB64-Compiler-Hilfe
  • LOG ? PBXB64-Compiler-Hilfe


TAN ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Mathematik und Numerik Hilfe zum PBXB64-Compiler

TAN ? PBXB64-Compiler-Hilfe

Gibt den Tangens seines Arguments zur?ck.

Kategorie: Mathematik und Numerik | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = TAN( numeric_expression )

Beschreibung

Gibt den Tangens seines Arguments zur?ck.

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

numeric_expression ist ein im Bogenma? angegebener Winkel. Um Bogenma? in Grad umzurechnen, multiplizieren Sie mit 57,29577951308232##. Um Grad in Bogenma? umzurechnen, multiplizieren Sie mit 0,0174532925199433##. Weitere Informationen zum Bogenma? finden Sie unter ATN.

TAN gibt ein Ergebnis mit erweiterter Genauigkeit zur?ck.

PBXB64 akzeptiert fuer TAN auch INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL. UNL wird intern ueber denselben bestehenden Befehl verarbeitet.

TAN wird mit dem Ausdruck angen?hert:

TAN = SIN(Wert) / COS(Wert)

Der Umkehrtangens (ARCTAN) eines Werts kann einfach mit der ATN-Funktion berechnet werden.

Der hyperbolische Tangens (TANH) eines Wertes kann berechnet werden:

TanH = (EXP(2 * Wert) - 1) / (EXP(2 * Wert) + 1)

Der umgekehrte hyperbolische Tangens (ARCTANH) eines Wertes kann berechnet werden:

ArcTanH = LOG((1 + Wert) / (1 - Wert)) / 2

' N?tzliche Makrofunktionen

MAKRO Pi = 3,141592653589793##

MACRO DegreesToRadians(dpDegrees) = (dpDegrees * 0,0174532925199433##)

MACRO RadiansToDegrees(dpRadians) = (dpRadians * 57,29577951308232##)

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_tan_basic
FUNCTION PBMAIN() AS LONG
  IF ((TAN(0.0)) < (0.0000000000) - 0.0001) OR ((TAN(0.0)) > (0.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((TAN(0.5)) < (0.5463024898) - 0.0001) OR ((TAN(0.5)) > (0.5463024898) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((TAN(-0.5)) < (-0.5463024898) - 0.0001) OR ((TAN(-0.5)) > (-0.5463024898) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • ATN ? PBXB64-Compiler-Hilfe
  • COS ? PBXB64-Compiler-Hilfe
  • SIN ? PBXB64-Compiler-Hilfe


Datei-Ein-/Ausgabe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datei-Ein-/Ausgabe Hilfe zum PBXB64-Compiler

Datei-Ein-/Ausgabe

Themen in diesem Kapitel

CLOSE CLS CSRLIN GET ? PBXB64-Compiler-Hilfe INPUT ? PBXB64-Compiler-Hilfe LOCATE OPEN POS PRINT# ? PBXB64-Compiler-Hilfe PUT ? PBXB64-Compiler-Hilfe SEEK ? PBXB64-Compiler-Hilfe ZEILENEINGABE


CLOSE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datei-Ein-/Ausgabe Hilfe zum PBXB64-Compiler

CLOSE

Eine oder alle ge&ouml;ffneten Dateien schlie&szlig;en

Kategorie: Datei-Ein-/Ausgabe | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CLOSE [[#] filenum& [, [#] filenum& ] ...]

Beschreibung

Eine oder alle geöffneten Dateien schließen

Typ: Anweisung | Kategorie: Datei-E/A

PBXB64-Status: VERFÜGBAR

PBXB64-Zertifizierung: [IMPLEMENTIERT: wörtliche Dateinummern und CLOSE all]

Beschreibung

Die CLOSE-Anweisung gibt Dateihandles frei, die mit OPEN geöffnet wurden. Ohne Argumente werden alle geöffneten Dateien geschlossen. Mit einer oder mehreren Dateinummern werden nur diese Dateien geschlossen.

Praktische Verwendung

Schließen Sie eine Datei, sobald das Lesen oder Schreiben beendet ist, damit spätere Oeffnungen, Umbenennungen und Löschungen funktionieren. Verwenden Sie die Form ohne Argumente nur dann, wenn Sie absichtlich alle offenen Handles im aktuellen Prozess freigeben wollen.

Parameter und Ergebnisse

Eine oder mehrere literale Dateinummern schließen nur die benannten Handles. Ohne Argumente schließt CLOSE alle offenen Dateien. Die Anweisung liefert keinen Rueckgabewert; pruefen Sie den Effekt daher durch erneutes Oeffnen oder Loeschen der Datei im Test.

Einschränkungen

  • Dateinummern müssen als Literale #1..#16 angegeben werden; variable Dateinummern sind noch nicht unterstützt.

Praktische Verwendung

CLOSE gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Siehe auch

  • COMM CLOSE
  • FILEATTR
  • FLUSH
  • OPEN
  • TCP CLOSE
  • UDP CLOSE
  • Hilfe zum PBXB64-Compiler


CLS - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datei-Ein-/Ausgabe Hilfe zum PBXB64-Compiler

CLS

L&ouml;scht den aktiven Konsolen-Bildschirmpuffer.

Kategorie: Datei-Ein-/Ausgabe

Syntax

CLS

Beschreibung

Löscht den aktiven Konsolen-Bildschirmpuffer.

Typ: Anweisung | Kategorie: Konsolen-E/A

PBXB64-Status: VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] fuer die fokussierte Konsolenoberflaeche: Die Anweisung wird geparst, ueber die eingebettete Runtime gelinkt, loescht eine echte Windows-Konsole per Win32-Konsolen-API und bleibt bei umgeleiteter Ausgabe still.

Beschreibung

CLS löscht den aktuellen Konsolen-Ausgabepuffer und setzt den Konsolencursor auf Zeile 1, Spalte 1. PBXB64 implementiert dies mit der Windows-Konsolen-API ueber den eingebetteten Runtime-Helfer bestof_console_cls.

Wenn das Programm ohne echten Konsolen-Bildschirmpuffer laeuft, zum Beispiel bei Umleitung von stdout in eine Datei oder beim Mitschnitt durch die Validierung, erzeugt CLS keine sichtbare Ausgabe und kehrt normal zurueck. Dadurch werden keine Escape-Sequenzen oder Literaltexte in umgeleitete Ausgabe geschrieben.

Konsolenverhalten

CLS arbeitet nur auf dem aktuellen Konsolen-Bildschirmpuffer. Der Befehl bleibt absichtlich still, wenn stdout umgeleitet ist oder das Programm keinen brauchbaren Konsolenpuffer besitzt. So entstehen bei nichtinteraktiven Validierungsläufen keine Escape-Sequenzen oder Zusatztexte.

Fehlerfaelle

Der Befehl hat keine Parameter und keinen Rueckgabewert. Programme sollten bei umgeleiteter Ausgabe kein sichtbares Ergebnis erwarten und das Fehlen einer Konsole in dieser fokussierten PBXB64-Oberflaeche nicht als Fehler behandeln.

Test- und Dokumentationshinweise

Das registrierte Beispiel tests/pb/test_console_cls.pb belegt den Pfad fuer die echte Konsole und den stillen Pfad bei umgeleiteter Ausgabe. Verwenden Sie dieses Beispielmuster, wenn Sie verwandtes Konsolen-Cleanup oder Bildschirm-Reset dokumentieren.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CSRLIN - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datei-Ein-/Ausgabe Hilfe zum PBXB64-Compiler

CSRLIN

Liefert die aktuelle Konsolen-Cursorzeile.

Kategorie: Datei-Ein-/Ausgabe

Syntax

Zeile& = CSRLIN

Beschreibung

Liefert die aktuelle Konsolen-Cursorzeile.

Typ: Funktion | Kategorie: Konsolen-E/A

PBXB64-Status: VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] fuer die fokussierte Cursor-Zeilenabfrage: CSRLIN wird auf die eingebettete Runtime gesenkt, liefert bei echten Konsolen eine 1-basierte Zeile und bei fehlendem Konsolen-Bildschirmpuffer deterministisch Zeile 1.

Beschreibung

CSRLIN liefert die aktuelle Textkonsolen-Cursorzeile als 1-basierte Ganzzahl. PBXB64 liest die Zeile ueber die Windows-Konsolenpuffer-API, wenn stdout mit einer echten Konsole verbunden ist.

Wenn stdout umgeleitet ist oder das Programm keinen Konsolen-Bildschirmpuffer besitzt, gibt PBXB64 1 zurueck. Dadurch bleiben nichtinteraktive Builds und Validierungslaufe deterministisch und das alte nicht unterstuetzte Null-Stub-Verhalten wird vermieden.

Konsolen-Semantik

Die Funktion liest die aktuelle Cursorposition aus dem aktiven Konsolen-Bildschirmpuffer. Wenn das Programm nicht an eine echte Konsole gebunden ist, gibt PBXB64 deterministisch Zeile 1 zurueck, damit Code auch bei umgeleiteter Ausgabe ohne Sonderbehandlung weiterlaufen kann.

Fehlerfaelle

Es gibt keine Eingabeparameter zu pruefen, aber der Rueckgabewert bleibt Laufzeitzustand und kann sich nach LOCATE, Bildschirmausgabe oder Konsolenumleitung aendern. Wenn das Programm eine bestimmte Zeile benoetigt, lesen Sie den Wert unmittelbar vor weiteren Konsolenoperationen aus.

Validierungsbeleg

Validation evidence: tests/pb/test_console_cursor_functions.pb deckt die Zeilenabfrage und den deterministischen Pfad bei umgeleiteter Ausgabe ab.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GET ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datei-Ein-/Ausgabe Hilfe zum PBXB64-Compiler

GET ? PBXB64-Compiler-Hilfe

Lesen Sie eine Aufzeichnung von a

Kategorie: Datei-Ein-/Ausgabe | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

Random-Access files:
GET [#] filenum& , [ Rec ], [ABS] Var
GET [#] filenum& [, Rec ]
Binary files:
GET [#] filenum& , [ RecPos ], Var
GET [#] filenum& , [ RecPos ], Arr() [RECORDS rcds ] [TO count ]

Beschreibung

Lesen Sie eine Aufzeichnung von a

Typ:Anweisung |Kategorie:Datei-E/A

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine zum Empfangen von Daten verwendete Zeichenfolgenvariable kann entweder ANSI oder WIDE sein, sie muss jedoch mit dem CHR-Modus der aus der Datei gelesenen Daten ?bereinstimmen. Das hei?t, wenn die Daten als ANSI-String geschrieben wurden, sollten sie in eine ANSI-String-Variable eingelesen werden. Wenn es als WIDE-String geschrieben wurde, sollte es in eine WIDE-String-Variable eingelesen werden. Die Nicht?bereinstimmung dieses CHR-Modus kann zu einer unvorhersehbaren Interpretation der Daten f?hren. GET f?hrt niemals Konvertierungen von ANSI/WIDE-Zeichen durch, unabh?ngig vom CHR-Modus, der in der OPEN-Anweisung angegeben ist. Es liest Daten aus der Datei basierend auf dem Typ der von Ihnen verwendeten Zeichenfolgenvariablen. Es liegt in der Verantwortung des Programmierers, den richtigen Typ auszuw?hlen.

Dateinummer&

Die Dateinummer, unter der die Datei ge?ffnet wurde.

Direktzugriffsdateien

Bei Dateien mit wahlfreiem Zugriff ist Rec die zu lesende Datensatznummer im Bereich von 1 bis 2^63-1 (der maximale positive Wert f?r einen Quad-integer). Wenn Rec weggelassen wird, wird der n?chste Datensatz in der Reihenfolge (nach dem durch den letzten GET oder PUT angegebenen Datensatz) gelesen. Wenn die Datei gerade erst ge?ffnet wurde, wird der erste Datensatz gelesen.

Wenn Var kleiner als die definierte Datensatzl?nge ist, liest GET gen?gend Daten, um Var zu f?llen. Der Rest des Datensatzes wird verworfen und der Dateizeiger wird an der n?chsten Datensatzposition platziert. Wenn Var gr??er als die definierte Datensatzl?nge ist, liest GET einen Datensatz in Var ein und der Dateizeiger wird auf den n?chsten Datensatz verschoben.

Wenn GET zum Abrufen von Daten aus einer Direktzugriffsdatei in eine dynamische Zeichenfolge (variabler L?nge) verwendet wird, sucht PowerBASIC am Anfang jedes Datensatzes nach einem 2-Byte-Feld (WORD), das die Anzahl der folgenden Datenbytes angibt. Wenn die Daten im WIDE-Format vorliegen, ist die Gr??e doppelt so gro? wie die Anzahl der Zeichen, da jedes Zeichen zwei Bytes belegt. Dieses 2-Byte-Gr??enfeld wird von der PUT-Anweisung automatisch in die Datei eingef?gt, wenn es mit dynamischen Zeichenfolgen (mit variabler L?nge) verwendet wird.

Wenn die zweite Form von GET verwendet wird (ohne Var-Zielzeichenfolge), liest PBXB64 den aktuellen Random-Datei-Satz vom aktuellen Dateizeiger in den eingebetteten FIELD-Puffer. Zugeordnete FIELD-Stringvariablen lesen danach ihre festen Pufferbereiche.

Wenn GET verwendet wird, um eine zuf?llige Datei in eine dynamische Zeichenfolge einzulesen, wird normalerweise erwartet, dass die ersten beiden Bytes des Datensatzes die L?nge der im Datensatz enthaltenen g?ltigen Daten enthalten. Das Schl?sselwort ABS gibt an, dass in den Daten kein L?ngenwort vorhanden ist und die Anzahl der zu lesenden Bytes durch die aktuelle L?nge der dynamischen Zeichenfolgenvariablen definiert wird. Wenn die L?nge der Variablen gr??er als die L?nge des Dateidatensatzes ist, wird der Rest der Zeichenfolgenvariablen mit Nullen gef?llt ( CHR$ (0) oder $NUL ). Dies bietet eine gr??ere Kompatibilit?t mit der tats?chlichen Funktionsweise anderer BASIC-Versionen, beispielsweise PowerBASIC f?r DOS.

Ein Dateieintrag mit wahlfreiem Zugriff ist auf 32768 Byte begrenzt, um ein konsistentes Verhalten auf allen unterst?tzten Win32-Plattformen sicherzustellen. GET$ und andere verwandte Funktionen werden auf diese Weise nicht eingeschr?nkt.

Bin?rdateien

RecPos

Bei Bin?rdateien ist RecPos das Startbyte oder die Suchposition, an der der GET beginnen soll. Die optionale BASE =-Klausel der OPEN-Anweisung definiert, ob die erste Position 0 oder 1 ist. Die Basisposition ist standardm??ig 1. Wenn RecPos gr??er als die Anzahl der Datens?tze oder Bytes in der Datei ist, tritt kein Fehler auf, es k?nnen jedoch unvorhersehbare Daten gelesen werden. Verwenden Sie die EOF-Funktion, um zu vermeiden, dass ?ber das Ende der Datei hinaus gelesen wird.

Bei Verwendung mit einer Bin?rdatei ruft GET gen?gend Daten aus der Datei ab, um Var zu f?llen. Der Var-Parameter kann eine einfache (skalare) Variable wie eine Ganzzahl oder eine dynamische Zeichenfolge (mit variabler L?nge), ein Element in einem Array oder eine Variable vom benutzerdefinierten Typ sein.

Wenn GET verwendet wird, um eine Bin?rdatei in einen dynamischen String einzulesen, wird die Anzahl der zu lesenden Bytes durch die aktuelle Gr??e der dynamischen String-Variablen definiert. Wenn die L?nge der Variablen gr??er ist als die L?nge des Dateidatensatzes, wird der Rest der Zeichenfolgenvariablen mit Nullen (CHR$(0) oder $NUL) aufgef?llt. Dies bietet eine gr??ere Kompatibilit?t mit der tats?chlichen Funktionsweise anderer BASIC-Versionen, beispielsweise PowerBASIC f?r DOS.

Beim Lesen eines Arrays aus der Festplattendatei weist GET Daten aus der Datei jedem Element im Array zu, beginnend beim LBOUND-Index des Arrays. GET versucht, die von rcds in der Option RECORDS angegebene Anzahl von Elementen oder die Anzahl von Elementen im Array zu lesen, je nachdem, welcher Wert kleiner ist. Die tats?chliche Anzahl der gelesenen Elemente wird der in der optionalen TO-Klausel angegebenen Variablenanzahl zugewiesen.

Bei einem dynamischen String-Array wird davon ausgegangen, dass die Datei im gepackten PowerBASIC- und/oder VB-String-Format mithilfe von PUT eines gesamten String-Arrays geschrieben wurde. Wenn eine Zeichenfolge k?rzer als 65535 Byte ist, folgen die Zeichenfolgedaten auf ein 2 Byte langes WORD. Andernfalls folgt auf einen 2-Byte-Wert von 65535 ein L?ngen-Doppelwort (DWORD) und schlie?lich die Zeichenfolgendaten.

Bei anderen Array-Array-Typen wird der gesamte Datenbereich als einzelner Block gelesen. In beiden F?llen wird davon ausgegangen, dass die Datei mit der erg?nzenden PUT Array-Anweisung erstellt wurde.

EOF wird wie bei anderen GET-Anweisungen gesetzt.

Sie k?nnen die FILESCAN-Anweisung verwenden, um die Anzahl der in der Datei enthaltenen Datens?tze zu ermitteln, sodass ein Array des entsprechenden Typs dimensioniert werden kann, bevor Sie die GET-Anweisung zum Lesen der Datei verwenden.

PBXB64 behandelt die nackte Form GET #n als FIELD-Pufferoperation: Der aktuelle Satz wird in den eingebetteten Puffer des geoeffneten Random-Datei-Handles gelesen, und zugeordnete FIELD-Variablen lesen danach ihre festen Ausschnitte aus diesem Puffer. Diese Form ist getrennt von GET #n,, var, das ein Ziel direkt fuellt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CSET$ ? PBXB64-Compiler-Hilfe
  • EOF
  • FELD
  • FILESCAN
  • GET$
  • GET$$
  • LINE INPUT#
  • LSET$
  • OPEN
  • PRINT# ? PBXB64-Compiler-Hilfe
  • PUT ? PBXB64-Compiler-Hilfe
  • PUT$
  • PUT$$
  • RSET$
  • TYP/ENDTYP ? PBXB64-Compiler-Hilfe
  • SEEK ? PBXB64-Compiler-Hilfe
  • WRITE# ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


INPUT ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datei-Ein-/Ausgabe Hilfe zum PBXB64-Compiler

INPUT ? PBXB64-Compiler-Hilfe

Daten von der Konsole in Variablen einlesen

Kategorie: Datei-Ein-/Ausgabe | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

INPUT # filenum& , variable_list

Beschreibung

Daten von der Konsole in Variablen einlesen

Typ:Anweisung |Kategorie:Datei-E/A

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerINPUT Die Anweisung liest Werte von der Tastatur (Konsole) oder aus einer ge?ffneten sequentiellen Datei und speichert sie in den angegebenen Variablen. Das Konsolenformular kann eine optionale Eingabeaufforderungszeichenfolge anzeigen. Das Dateiformular liest durch Kommas getrennte Felder aus einer mit ge?ffneten Datei OPEN FOR INPUT.

Generierter Assembler-Code

Kompilieren mit:

PBXB64 example.pb --asmout example.asm

Jede numerische Variable wird zu einem Aufruf des konsolenlesbaren Laufzeithilfsprogramms, wobei das Ergebnis im Stack-Slot der Variablen gespeichert wird:

    sub rsp, 32
    call console_input_helper
    add rsp, 32
    mov rbx, rax
    mov [rbp-32], rbx

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • LINE INPUT#
  • PRINT# ? PBXB64-Compiler-Hilfe
  • WRITE# ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


LOCATE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datei-Ein-/Ausgabe Hilfe zum PBXB64-Compiler

LOCATE

Positioniert den Konsolencursor und kann die Cursor-Sichtbarkeit aendern.

Kategorie: Datei-Ein-/Ausgabe

Syntax

LOCATE [Zeile][,[Spalte][,[Cursor][,[Start][,Stop]]]]

Beschreibung

Positioniert den Konsolencursor und kann die Cursor-Sichtbarkeit aendern.

Typ: Anweisung | Kategorie: Konsolen-E/A

PBXB64-Status: VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] fuer die fokussierte Konsolen-Cursoroberflaeche: Die Anweisung parst optionale Zeilen-, Spalten-, Cursor-, Start- und Stop-Argumente, linkt ueber die eingebettete Runtime, laeuft in umgeleiteter Validierung und weist zu viele Argumente zurueck.

Beschreibung

LOCATE bewegt den aktuellen Windows-Konsolencursor. Zeile und Spalte sind 1-basiert. Eine ausgelassene Zeile oder Spalte, oder der Wert Null, laesst diese Koordinate unveraendert. PBXB64 implementiert dies ueber den eingebetteten Runtime-Helfer bestof_console_locate.

Das optionale Argument Cursor steuert die Cursor-Sichtbarkeit, wenn ein echter Konsolen-Bildschirmpuffer vorhanden ist: Null blendet den Cursor aus, ein Wert ungleich Null blendet ihn ein. Wird das Cursor-Argument ausgelassen, bleibt die aktuelle Sichtbarkeit unveraendert.

Die optionalen Argumente Start und Stop werden aus Quelltext-Kompatibilitaetsgruenden fuer alte BASIC-Formen akzeptiert, aber die aktuelle fokussierte Implementierung formt die Cursor-Scanline noch nicht. Sie sind fuer spaetere Cursor-Groessenparitaet reserviert.

Wenn das Programm ohne echten Konsolen-Bildschirmpuffer laeuft, zum Beispiel bei Umleitung von stdout in eine Datei oder beim Mitschnitt durch die Validierung, erzeugt LOCATE keine sichtbare Ausgabe und kehrt normal zurueck.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


OPEN - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datei-Ein-/Ausgabe Hilfe zum PBXB64-Compiler

OPEN

Eine Datei zur Eingabe oder Ausgabe &ouml;ffnen

Kategorie: Datei-Ein-/Ausgabe | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

OPEN filespec [FOR mode ] [ACCESS access ] [LOCK lock ] AS _
[#] filenum& [LEN = record_size ] [BASE = base ] [CHR = ANSI|WIDE]
OPEN HANDLE filehandle [FOR mode ] [ACCESS access ] [LOCK lock ] AS _

Beschreibung

Eine Datei zur Eingabe oder Ausgabe öffnen

Typ: Anweisung | Kategorie: Datei-E/A

PBXB64-Status: VERFÜGBAR

PBXB64-Zertifizierung: [IMPLEMENTIERT: Modi, ACCESS, LOCK, CHR=WIDE, LEN geparst]

Beschreibung

Die OPEN-Anweisung verknüpft eine Datei mit einem numerischen Dateihandle. PBXB64 unterstützt Dateinummern #1 bis #16 als Literale.

Unterstützte Modi sind INPUT, OUTPUT, APPEND, BINARY und RANDOM.

Optionale Klauseln:

  • ACCESS READ, ACCESS WRITE oder ACCESS READ WRITE schränken die angeforderten Zugriffsrechte ein.
  • LOCK SHARED, LOCK READ, LOCK WRITE oder LOCK READ WRITE steuern die Freigabe für andere Prozesse.
  • CHR = WIDE öffnet die Datei als UTF-16LE; anschließende PRINT#, WRITE# und LINE INPUT# übersetzen zwischen ANSI-Zeichenfolgen und UTF-16LE.
  • LEN = Satzlänge wird geparst; bei RANDOM wird ein Wert größer als 32768 zurückgewiesen.

Einschränkungen

  • Verwenden Sie wörtliche Dateinummern #1..#16; variable Dateinummern sind noch nicht unterstützt.
  • Die Form OPEN HANDLE akzeptiert einen literalen Handle-Ausdruck; die Dateinummer muss jedoch weiterhin ein Literal sein.
  • Koppeln Sie OPEN immer mit CLOSE, um das Handle freizugeben.

Praktische Verwendung

OPEN gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Siehe auch

  • CLOSE
  • FILEATTR
  • FILENAME$
  • FILESCAN
  • FREEFILE
  • TCP OPEN
  • UDP OPEN
  • Hilfe zum PBXB64-Compiler


POS - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datei-Ein-/Ausgabe Hilfe zum PBXB64-Compiler

POS

Liefert die aktuelle Konsolen-Cursorspalte.

Kategorie: Datei-Ein-/Ausgabe

Syntax

column& = POS(n)

Beschreibung

Liefert die aktuelle Konsolen-Cursorspalte.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. POS liest die aktuelle Konsolen-Cursorspalte ueber den aktiven stdout-Konsolenpfad. Verwenden Sie es nach LOCATE oder Textausgabe, wenn das Programm eine Spaltenrueckgabe statt eines Cursor-Bewegungsbefehls benoetigt.

Verwendung im Programm

POS liest die aktuelle Konsolen-Cursorspalte ueber den aktiven stdout-Konsolenpfad. Verwenden Sie es nach LOCATE oder Textausgabe, wenn das Programm eine Spaltenrueckgabe statt eines Cursor-Bewegungsbefehls benoetigt.

Fehlerfaelle

Wenn stdout umgeleitet ist oder kein Konsolen-Bildschirmpuffer verfuegbar ist, liefert der fokussierte Vertrag 1. Verwenden Sie POS nicht als Positionsbefehl; verwenden Sie LOCATE zum Bewegen des Cursors und CSRLIN fuer die Zeile.

Cursor-Rueckgabe

Verwenden Sie POS, wenn ein Programm die aktuelle Konsolenspalte nach Ausgabe oder nach LOCATE braucht, nicht wenn es den Cursor bewegen will. Der Helfer liest die aktive stdout-Konsolenposition und gibt eine 1-basierte Spalte zurueck.

Fehlerhinweise

Umgeleitetes stdout oder ein fehlender Konsolen-Bildschirmpuffer liefern deterministisch Spalte 1. Das Legacy-Argument wird zur Kompatibilitaet akzeptiert, aendert aber den Rueckgabe-Vertrag nicht.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. Wenn stdout umgeleitet ist oder kein Konsolen-Bildschirmpuffer verfuegbar ist, liefert der fokussierte Vertrag 1. Verwenden Sie POS nicht als Positionsbefehl; verwenden Sie LOCATE zum Bewegen des Cursors und CSRLIN fuer die Zeile.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PRINT# ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datei-Ein-/Ausgabe Hilfe zum PBXB64-Compiler

PRINT# ? PBXB64-Compiler-Hilfe

Daten in eine sequenzielle Datei schreiben

Kategorie: Datei-Ein-/Ausgabe | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PRINT # fNum&
PRINT # fNum& , [ ExpList ] [SPC( n )] [TAB( n )] [,] [;] [...]
PRINT # fNum& , array$()

Beschreibung

Daten in eine sequenzielle Datei schreiben

Typ: Anweisung | Kategorie: Datei-E/A

PBXB64-Status: VERF?GBAR

PBXB64-Zertifizierung: [IMPLEMENTIERT: Trennzeichen, Zonen, Flie?komma, Zeilenumbruch]

Beschreibung

Die PRINT#-Anweisung schreibt formatierten Text in eine sequenzielle Datei, die mit OPEN FOR OUTPUT oder OPEN FOR APPEND ge?ffnet wurde.

Unterst?tzte Ausdruckstypen sind Ganzzahl-, Flie?komma- und Zeichenfolgenausdr?cke. Ausdr?cke werden durch ; (sofort nach dem vorherigen Wert) oder , (weiter zur n?chsten 14-Spalten-Druckzone) getrennt. Ein abschlie?endes ; oder , unterdr?ckt das abschlie?ende CR/LF; anderenfalls endet jede PRINT# mit CR/LF.

Werden keine Ausdr?cke angegeben, schreibt PRINT #Dateinummer& eine Leerzeile (ein CR/LF-Paar).

Numerische Werte werden mit dem Format %.17g geschrieben. Der ,-Zonentrenner f?llt mit Leerzeichen bis zur n?chsten 14-Zeichen-Grenze auf.

Einschr?nkungen

  • SPC(n), TAB(n) und die Array-Form array$() sind noch nicht implementiert.
  • Dateinummern m?ssen als Literale #1..#16 angegeben werden; variable Dateinummern sind noch nicht unterst?tzt.

Kompatibilitaetsdetails

PRINT# schreibt ein Abbild der angegebenen Ausdruecke in die Zieldatei. Verwende Semikolons, wenn Felder direkt aneinander anschliessen sollen, und Kommas, wenn die Ausgabe zu PBXB64s 14-Spalten-Druckzonen springen soll. Wenn das letzte Element weder ; noch , ist, fuegt PBXB64 ein CR/LF-Paar an.

PRINT #filenum& ohne Ausdrucksliste schreibt eine Leerzeile. Das ist hilfreich fuer Textdateien, in denen ein leerer Datensatz erhalten bleiben muss.

Fuer Datendateien, die mit INPUT# wieder eingelesen werden sollen, verwende eindeutige Trennzeichen oder WRITE#. Druckzonen-Abstaende sind fuer Menschen gut lesbar, koennen spaeter aber schwer zu parsen sein, besonders wenn benachbarte Zahlenfelder nicht durch Kommas getrennt sind.

Abstaende und Trennzeichen

  • ; schreibt den naechsten Wert direkt nach dem vorherigen Wert.
  • , fuellt bis zur naechsten 14-Spalten-Druckzone auf.
  • Ein abschliessendes ; oder , unterdrueckt den abschliessenden Zeilenumbruch.
  • SPC(n), TAB(n) und Ganz-Array-Formen bleiben unter Einschraenkungen, bis es fokussierten Implementierungsbeleg gibt.

Roundtrip-Hinweis

Verwende PRINT# fuer menschenlesbare Zeilen oder einfache Ein-Wert-pro-Zeile-Dateien. Verwende WRITE#, wenn Feldgrenzen automatisch mit Kommas und gequoteten Strings fuer spaetere INPUT#-Lesevorgaenge erhalten bleiben muessen.

Praktische Verwendung

PRINT# gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Siehe auch

  • GET ? PBXB64-Compiler-Hilfe
  • GET$
  • GET$$
  • INPUT ? PBXB64-Compiler-Hilfe
  • LINE INPUT#
  • PUT ? PBXB64-Compiler-Hilfe
  • PUT$
  • PUT$$
  • WRITE# ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


PUT ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datei-Ein-/Ausgabe Hilfe zum PBXB64-Compiler

PUT ? PBXB64-Compiler-Hilfe

Schreiben Sie einen Datensatz an a

Kategorie: Datei-Ein-/Ausgabe | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

Random-Access and Binary files:
PUT [#] FileNum& , [ RecPos ], [ABS] Var
PUT [#] FileNum& [, RecPos ]
Binary files:
PUT [#] FileNum& , [ RecPos ], Arr()

Beschreibung

Schreiben Sie einen Datensatz an a

Typ:Anweisung |Kategorie:Datei-E/A

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn eine Zeichenfolgenvariable als Var angegeben ist, bestimmt der CHR-Modus der Variablen, ob die Daten als ANSI- oder WIDE-Zeichen geschrieben werden. Das hei?t, ANSI-String-Variablen werden immer als 1-Byte-Zeichen geschrieben, w?hrend WIDE-String-Variablen als 2-Byte-WIDE-Zeichen geschrieben werden. Die Daten werden immer im gleichen Format in die Datei geschrieben, wie sie in der Variablen erscheinen.

Dateinummer&

Die Dateinummer, unter der die Datei ge?ffnet wurde.

RecPos

Identifiziert die Position in der Datei, an der die Daten geschrieben werden sollen. Wenn RecPos gr??er ist als die Anzahl vorhandener Datens?tze oder Bytes in der Datei, wird die Datei auf die entsprechende L?nge erweitert und der Datensatz an der angegebenen Position geschrieben.

Bei Direktzugriffsdateien ist RecPos der zu schreibende Datensatz im Bereich 1 bis (2^63)-1. Wenn RecPos weggelassen wird, wird der n?chste Datensatz in der Reihenfolge (nach dem durch den letzten GET, PUT oder SEEK angegebenen) geschrieben. Wenn die Datei gerade erst ge?ffnet wurde, wird der erste Datensatz geschrieben.

Bei Bin?rdateien ist RecPos die Startbyteposition, an der VarName geschrieben werden soll. Die Standardbyteposition ist 1, es sei denn, die BASE = 0-Klausel wurde in der OPEN-Anweisung verwendet. RecPos darf nicht gr??er als 2^63-1 sein. RecPos ist optional. Wenn es weggelassen wird, verwendet PowerBASIC die aktuelle Dateizeigerposition.

Der Name einer Variablen, die in die Datei geschrieben werden soll. VarName kann eine einfache Variable, ein Element in einem Array oder eine Variable vom benutzerdefinierten Typ (UDT) angeben.

Beim Schreiben einer dynamischen Zeichenfolge in eine Direktzugriffsdatei schreibt PUT vor den eigentlichen Zeichenfolgendaten einen 2-Byte-Deskriptor, der die L?nge der Zeichenfolge enth?lt. Dieser Deskriptor reduziert den verf?gbaren Platz in einem Datensatz um zwei Bytes. Der Deskriptor wird als WORD-Wert geschrieben. Wenn Var mehr Zeichen als der Datensatz enth?lt, wird Var auf die Datensatzl?nge abz?glich zwei Bytes gek?rzt und der Deskriptor wird so geschrieben, dass er die gek?rzte Zeichenfolgengr??e widerspiegelt.

Beim Schreiben einer dynamischen Zeichenfolge in eine Bin?rdatei schreibt PUT nur die tats?chlichen Zeichenfolgendaten: Es wird kein L?ngendeskriptor geschrieben.

PUT ist komplement?r zu GET; Es schreibt einen Datensatz in eine Datei. Es ist m?glich, Datens?tze in nicht zusammenh?ngender Reihenfolge mit PUT zu versehen, wie in:

PUT #1, 1, MyVar

PUT #1, 100, MyVar

Dadurch wird eine Datei mit wahlfreiem Zugriff und einer L?nge von 100 Datens?tzen erstellt. Die Daten in den Datens?tzen 2 bis 99 sind jedoch undefiniert, bis Sie dort explizit etwas eingeben. PUT schreibt den Inhalt von Var an die angegebenen Datensatz- oder Bytepositionen.

(kein VarName )

Wenn die zweite Form von PUT verwendet wird (ohne VarName-Quellzeichenfolge), schreibt PUT die Daten aus einem internen Puffer an der Stelle in die Datei, auf die der Dateizeiger zeigt. Diese Daten m?ssen zun?chst ?ber FIELD-Stringvariablen dem Dateipuffer zugewiesen werden.

Wenn PUT verwendet wird, um eine dynamische Zeichenfolge in eine Zufallsdatei zu schreiben, wird den eigentlichen Daten normalerweise ein zwei Byte langes Wort mit bin?rer L?nge vorangestellt, um die Anzahl der g?ltigen Bytes im Datensatz zu definieren. Wenn Sie dem Variablennamen ABS voranstellen (d. h. PUT #1, , ABS x$), wird kein L?ngenwort geschrieben: nur die tats?chlichen Daten, vorbehaltlich der definierten zuf?lligen Datensatzl?nge. Dies bietet eine gr??ere Kompatibilit?t mit der tats?chlichen Funktionsweise anderer BASIC-Versionen, beispielsweise PowerBASIC f?r DOS.

Die Datensatzl?nge in einer Direktzugriffsdatei ist auf 32768 Byte begrenzt, um ein konsistentes Verhalten auf allen Win32-Plattformen sicherzustellen.

Wenn PUT f?r eine Bin?rdatei verwendet wird, wird das gesamte durch Arr() angegebene Array in die Datei geschrieben. Bei dynamischen Strings wird die Datei im PowerBASIC- und/oder VB-Packed-String-Format geschrieben. Wenn die Zeichenfolge k?rzer als 65535 Byte ist, folgen die Zeichenfolgedaten auf ein Wort mit einer L?nge von 2 Byte. Andernfalls folgt auf einen 2-Byte-Wert von 65535 ein L?ngen-Doppelwort (DWORD) und schlie?lich die Zeichenfolgendaten.

Bei anderen Datentypen wird der gesamte Datenbereich als einzelner Block geschrieben. In beiden F?llen wird davon ausgegangen, dass die Datei mit der erg?nzenden GET Array-Anweisung gelesen wird.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CSET$ ? PBXB64-Compiler-Hilfe
  • FELD
  • GET ? PBXB64-Compiler-Hilfe
  • GET$
  • GET$$
  • LOF
  • LSET$
  • PUT$
  • PUT$$
  • RSET$
  • SETEOF
  • TYP/ENDTYP ? PBXB64-Compiler-Hilfe
  • WRITE# ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


SEEK ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datei-Ein-/Ausgabe Hilfe zum PBXB64-Compiler

SEEK ? PBXB64-Compiler-Hilfe

Stellen Sie die Position in a ein

Kategorie: Datei-Ein-/Ausgabe | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SEEK [#] filenum& , position&&

Beschreibung

Stellen Sie die Position in a ein

Typ:Anweisung |Kategorie:Datei-E/A

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

SEEK setzt die Dateizeigerposition der Datei filenum& auf position&& . position&& ist eine Quad-Integer-Variable, eine Konstante oder ein Ausdruck.

Das n?chste GET$ oder PUT$, das f?r die Datei filenum& ausgef?hrt wird, erfolgt position&& Bytes (oder Datens?tze) tief in der Datei. Wenn die Datei filenum& im bin?ren oder sequentiellen Modus ge?ffnet wurde, gibt position&& die neue Dateiposition in Bytes an; Bei Dateien mit wahlfreiem Zugriff erfolgt die Position in Datens?tzen.

Die erste Byteposition (f?r bin?re und sequentielle Dateien) oder Datensatzposition (f?r Dateien mit wahlfreiem Zugriff) kann 0 oder 1 sein, abh?ngig von der BASE-Option, die beim ersten ?ffnen der Datei verwendet wurde. Wenn kein BASE angegeben wurde, ist die Standardposition 1.

Verwenden Sie die SEEK-Funktion, um die aktuelle Zeigerposition einer Bin?rdatei zu bestimmen, und LOF, um ihre L?nge zu bestimmen. Das Suchen ?ber das Ende einer Datei hinaus erzeugt keinen Fehler, es k?nnen jedoch keine Daten ?ber das tats?chliche Ende der Datei hinaus gelesen werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • EOF
  • FILEATTR
  • GET$
  • GET$$
  • LOC
  • LOF
  • OPEN
  • PUT$
  • PUT$$
  • SETEOF
  • Hilfe zum PBXB64-Compiler


ZEILENEINGABE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Datei-Ein-/Ausgabe Hilfe zum PBXB64-Compiler

ZEILENEINGABE

Liest eine komplette Textzeile, entweder von der Konsole oder aus einer offenen Datei.

Kategorie: Datei-Ein-/Ausgabe

Syntax

LINE INPUT [prompt,] string_variable
LINE INPUT # filenum, string_variable

Beschreibung

Liest eine komplette Textzeile, entweder von der Konsole oder aus einer offenen Datei.

Kind: Anweisung | Category: File I/O

PBXB64 Status: VERFÜGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Description

Die ZEILENEINGABE-Familie liest eine komplette Textzeile, ohne sie in Felder zu zerlegen. Die Konsolenform erfasst eine Zeile von der Tastatur; die Dateiform liest einen Datensatz aus einer sequenziellen Textdatei.

Verwenden Sie ZEILENEINGABE, wenn Kommas, Anführungszeichen oder eingebettete Leerzeichen genau so erhalten bleiben müssen, wie sie eingegeben wurden. Das ist die richtige Wahl, wenn INPUT die Zeile in mehrere Felder zerlegen würde.

Die Dateiform ist ein zeilenorientierter Leser. Sie entfernt das abschließende CR/LF-Paar und liefert den Inhalt als Zeichenkette.

PBXB64 validiert die Konsolenform mit einer stdin-Regression, die zuerst typisierte INPUT-Felder liest und danach die naechste komplette Zeile mit LINE INPUT uebernimmt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


Speicher & Zeiger - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Speicher & Zeiger Hilfe zum PBXB64-Compiler

Speicher & Zeiger

Themen in diesem Kapitel

SPEICHERKOPIE " PBXB64-Compiler-Hilfe


SPEICHERKOPIE " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Speicher & Zeiger Hilfe zum PBXB64-Compiler

SPEICHERKOPIE " PBXB64-Compiler-Hilfe

Speicherbl&ouml;cke kopieren, austauschen oder f&uuml;llen.

Kategorie: Speicher & Zeiger | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MEMORY COPY Source& , Dest& , Count&
MEMORY SWAP Source& , Dest& , Count&
MEMORY FILL Dest& , Count& , BYTE|WORD|DWORD IntegralExpr
MEMORY FILL Dest& , Count& , StrgExpr

Beschreibung

Speicherblöcke kopieren, austauschen oder füllen.

Typ:Anweisung |Kategorie: Memory & Pointers

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit der MEMORY-Anweisung kann ein Speicherblock mit sehr hoher Effizienz kopiert, ausgetauscht oder gefüllt werden. PowerBASIC berücksichtigt automatisch die Möglichkeit, dass sich Quell- und Zielblöcke überlappen, und vermeidet dadurch Beschädigungen.

In der ersten Form werden Count& Bytes des Speichers an der durch Source& angegebenen Adresse an die durch Dest& angegebene Adresse kopiert. In der zweiten Form werden Count& Bytes des Speichers an der durch Source& angegebenen Adresse mit den Daten an der durch Dest& angegebenen Adresse ausgetauscht.

In der dritten Form werden Count& Bytes des Speichers bei Dest& mit einer oder mehreren Kopien des BYTE-, WORD- oder DWORD-Werts gefüllt, der durch den Wert von IntegralExpr angegeben wird.

In der vierten Form werden Count& Bytes des Speichers bei Dest& mit einer oder mehreren Kopien der Zeichenfolge StrgExpr gefüllt.

Von PBXB64 getesteter Umfang: COPY akzeptiert die PBWin-Kommaschreibweise und die vorhandene Schreibweise MEMORY COPY source TO dest, count und kopiert überlappungssicher. SWAP tauscht Byte-Bloecke ueber die eingebettete Laufzeit aus, behandelt ueberlappende Bereiche mit einem temporaeren Puffer und laesst Null-Laenge oder identische Zeiger unveraendert. FILL unterstuetzt BYTE-, WORD-, DWORD- und Zeichenfolgenmuster. Die fokussierten Validierungstests sind test_memory_copy_fill, test_memory_swap, test_memory_swap_reject_missing und test_memory_swap_reject_extra.

Description

MEMORY COPY, MEMORY SWAP, and MEMORY FILL operate on raw memory blocks with overlap-safe copy semantics. Use the page when code needs to move, exchange, or initialize pointer-sized storage explicitly.

Validation Evidence

Validation evidence: The current memory-block regressions prove the copy, swap, and fill paths, including overlap handling and zero-length no-op behavior.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • GLOBALMEM ALLOC
  • PEEK
  • POKE
  • STRPTR
  • VARPTR
  • Hilfe zum PBXB64-Compiler
Nach oben


Präprozessor & Metaanweisungen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Präprozessor & Metaanweisungen Hilfe zum PBXB64-Compiler

Präprozessor & Metaanweisungen

Themen in diesem Kapitel

#OPTION " PBXB64-Compiler-Hilfe PREFIX/END PREFIX-Anweisungen " PBXB64-Compiler-Hilfe


#OPTION " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Präprozessor & Metaanweisungen Hilfe zum PBXB64-Compiler

#OPTION " PBXB64-Compiler-Hilfe

Legen Sie verschiedene Compiler-Optionen fest.

Kategorie: Präprozessor & Metaanweisungen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#OPTION {LARGEMEM32 | VERSION3 | VERSION4 | VERSION5 | WIN95 | ANSIAPI}

Beschreibung

Legen Sie verschiedene Compiler-Optionen fest.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

#OPTION LARGEMEM32

Für 32-Bit-Windows-Anwendungen setzt diese Option das Flag â€žLarge Memory Modelâ€œ. Dadurch kann Ihre Anwendung mehr als das ursprüngliche Limit von 2 Gigabyte Arbeitsspeicher nutzen. Abhängig von der verwendeten Windows-Version und dem installierten Speicher kann die genaue Erhöhung von Computer zu Computer unterschiedlich sein. In den meisten Fällen sind Sie wahrscheinlich auf insgesamt etwa 3 Gigabyte beschränkt.

#OPTION VERSION3, VERSION4, VERSION5

Wenn die Metaanweisung #OPTION mit einer der VERSION-Direktiven verwendet wird, steuert sie das Tag â€žMindestversion von Windowsâ€œ, das in Ihren kompilierten Code geschrieben wird. Wenn die von Ihnen ausgewählte Version gleich oder niedriger als die ausgeführte Windows-Version ist, wird die Anwendung ausgeführt. Im Gegenzug passt Windows die an Ihr Programm gesendeten Nachrichten entsprechend dieser Versionsnummer an, sodass Ihr Programm keine Nachrichten von einer späteren Windows-Version verarbeiten muss. Das Versions-Tag kann sich auch auf das Erscheinungsbild und Verhalten allgemeiner Windows-Dialoge auswirken.

Wenn umgekehrt das von Ihnen ausgewählte Versions-Tag höher ist als die ausgeführte Windows-Version, zeigt Windows eine Fehlermeldung an, anstatt Ihre Anwendung auszuführen. Beispielsweise würde die Ausführung einer VERSION5-Anwendung auf einer VERSION4-Plattform fehlschlagen. Es liegt in Ihrer Verantwortung sicherzustellen, dass Ihr Programm nur die Windows-Funktionen verwendet, die in der angegebenen Windows-Version vorhanden sind. Rufen Sie beispielsweise keine API auf, die nur in Windows XP vorhanden ist, wenn Sie möchten, dass Ihr Programm unter Windows 98 ausgeführt wird.

#OPTION VERSION3

Verwenden Sie #OPTION VERSION3, damit die kompilierte Ausgabedatei mindestens Windows 95 oder NT 3.1 erfordert. Dazu gehören Windows 95, 98, ME, Windows NT 3.1-4.0, Windows 2000, XP, Windows 2003, Windows Vista, Windows 7 und höher.

#OPTION VERSION4

Verwenden Sie #OPTION VERSION4 (Standard), damit die kompilierte Ausgabedatei mindestens Windows 95 oder NT4 erfordert. Dazu gehören Windows 95, 98, ME, Windows NT 4.0, Windows 2000, XP, Windows 2003, Windows Vista, Windows 7 und höher.

#OPTION VERSION5

Verwenden Sie #OPTION VERSION5, damit die kompilierte Ausgabedatei mindestens Windows 2000 erfordert. Dazu gehören Windows 2000, XP, Windows 2003, Windows Vista, Windows 7 und höher.

#OPTION WIN95

Windows95, Windows98 und Windows ME bieten keine Unicode-Unterstützung für Windows-API-Funktionen. Normalerweise wäre es dadurch möglich, Ihre kompilierten Programme auf diesen Betriebssystemen auszuführen, da diese Version von PowerBASIC vollständige Unterstützung für Wide Unicode-Text bietet. Wenn Sie jedoch #OPTION WIN95 in Ihrem Quellcode angeben, fügt PowerBASIC ein vollständiges Unicode-Emulationspaket in Ihre ausführbare Datei oder DLL ein, damit sie auf diesen Betriebssystemen ordnungsgemäÃŸ ausgeführt werden können. Diese Option führt dazu, dass Ihr Code etwas gröÃŸer wird, daher sollte sie nur bei Bedarf verwendet werden.

#OPTION ANSIAPI

Diese Version von PowerBASIC bietet vollständige Unterstützung für Wide Unicode-Text. Daraus folgt, dass die interne Laufzeitbibliothek Unicode-Versionen von Funktionen in der Windows-API aufrufen würde. In einigen recht seltenen Fällen kann dies zu einer Inkompatibilität mit dem von Ihnen geschriebenen Code führen, wenn Ihr Code ANSI-Funktionen in der Windows-API aufruft. Wenn Sie #OPTION ANSIAPI in Ihrem Quellcode angeben, ruft PowerBASIC nur ANSI-Versionen dieser Funktionen auf. Durch diese Option wird Ihr Code etwas gröÃŸer und sollte daher nur bei Bedarf verwendet werden.

Description

#OPTION controls compiler-wide build decisions such as memory model, compatibility version, and ANSI/Unicode API selection. Use the page to choose the exact spelling that matches the target Windows behavior you need.

Validation Evidence

Validation evidence: The currently generated #OPTION page documents the supported flags and the supported output compatibility contract; keep the page paired with the version-targeting tests and the API-encoding helpers.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PREFIX/END PREFIX-Anweisungen " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Präprozessor & Metaanweisungen Hilfe zum PBXB64-Compiler

PREFIX/END PREFIX-Anweisungen " PBXB64-Compiler-Hilfe

F&uuml;hrt eine Reihe von Anweisungen aus, von denen jede vordefinierten Quellcode verwendet.

Kategorie: Präprozessor & Metaanweisungen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PREFIX " source code "
[ additional statements ]
END PREFIX

Beschreibung

Führt eine Reihe von Anweisungen aus, von denen jede vordefinierten Quellcode verwendet.

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PREFIX/END PREFIX-Anweisungen umfassen eine Reihe von Anweisungen, denen jeweils der gleiche angegebene â€žQuellcodeâ€œ vorangestellt ist. Der â€žQuellcodeâ€œ (in Sprachen, die ihn unterstützen) muss normalerweise der Name einer Objektvariablen sein. In PowerBASIC wurde diese Definition jedoch stark erweitert, sodass praktisch jeder Code verwendet werden kann. Dies reduziert wiederholtes Tippen und verringert das Risiko von Tippfehlern. Zum Beispiel:

Präfix/Endpräfix

Kompiliert als:

Präfix â€žMyObjectâ€œ.

Init(xx)

Schlaf(2)

END-PRÃ„FIX

MyObject.Init(xx)

MyObject.Sleep(2)

PRÃ„FIX â€žMyStruc.â€œ

Höhe = 220

Breite = 345

Farbe = %Blau

END-PRÃ„FIX

MyStruc.Height = 220

MyStruc.Width = 345

MyStruc.Color = %Blue

Präfix â€žASMâ€œ

Mov Eax, Ebx

Mov Ecx, &H14

IMul Eax, Esi

END-PRÃ„FIX

ASM Mov Eax, Ebx

ASM Mov Ecx, &H14

ASM IMul Eax, Esi

Wenn sich das Präfix â€žQuellcodeâ€œ auf eine Objektvariable oder eine UDT-Strukturvariable bezieht, stellen Sie sicher, dass es mit einem Punkt (.) endet, um auf Mitglieder dieses Elements zu verweisen. Stellen Sie andernfalls sicher, dass es ganze Wörter enthält. Genau wie bei Makros und Zeilenfortsetzungen können Sie nicht ein halbes Wort in eine Zeile und ein halbes Wort in eine andere schreiben. Der folgende Code ist beispielsweise illegal und erzeugt eine Ausnahme:

Präfix â€žPRIâ€œ

NT #1, â€žHallo Weltâ€œ

END-PRÃ„FIX

PREFIX/END PREFIX-Strukturen dürfen nicht verschachtelt werden.

Description

PREFIX / END PREFIX temporarily adds a prefix to the selected command family. Use it only when the page or module is deliberately grouping related commands under a shared spelling rule.

Validation Evidence

Validation evidence: The preprocessor tests cover the current prefix-visibility and naming rules.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ASM
  • Hilfe zum PBXB64-Compiler


COM & Objekte - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › COM & Objekte Hilfe zum PBXB64-Compiler

COM & Objekte

Themen in diesem Kapitel

OBJRESULT$ " PBXB64-Compiler-Hilfe


OBJRESULT$ " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › COM & Objekte Hilfe zum PBXB64-Compiler

OBJRESULT$ " PBXB64-Compiler-Hilfe

Gibt eine Zeichenfolge zur&uuml;ck, die eine beschreibt

Kategorie: COM & Objekte | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

text$ = OBJRESULT$([ nexp& ])

Beschreibung

Gibt eine Zeichenfolge zurück, die eine beschreibt

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Funktion gibt eine Textzeichenfolge zurück, die den durch nexp& angegebenen hResult-Code beschreibt. Wenn der Parameter nexp& weggelassen wird, wird er durch den aktuellsten OBJRESULT-Wert ersetzt. Das heiÃŸt, OBJRESULT$() ist identisch mit OBJRESULT$(OBJRESULT).

PBXB64 gibt deterministischen englischen HRESULT-Text für häufige Werte und einen hexadezimalen Ersatztext für unbekannte Werte zurück. Zum Beispiel liefert OBJRESULT$(2147942487) den Text E_INVALIDARG (0x80070057); ein nicht zugeordneter Wert liefert Text der Form HRESULT 0x????????.

Description

OBJRESULT$ converts the current or supplied HRESULT into a deterministic text string. Use it when you need a readable diagnostic instead of a raw numeric code.

Validation Evidence

Validation evidence: The registered OBJRESULT/OBJRESULT$ regression proves the initial S_OK result, the current-result path, and the deterministic text mapping for common HRESULTs.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • CLASS/END CLASS
  • CLSID$
  • IDISPINFO-Pseudoobjekt
  • GUID$
  • GUIDTXT$
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • LET-Anweisung (mit Objekten)
  • METHOD/END METHOD-Anweisungen
  • PROPERTY / END PROPERTY
  • OBJEKT
  • ZIEL
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • What Is An HRESULT?
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler
Nach oben


HTTP - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP

Themen in diesem Kapitel

HEADERBUILD$ HTTP_Execute HTTP_RequestBody HTTP_RequestClone HTTP_RequestHeaders HTTP_RequestMethod HTTP_RequestSerialize HTTP_RequestUrl HTTP_ResponseContentType HTTP_ResponseCreate HTTP_ResponseHeader HTTP_ResponseIsSuccess HTTP_ResponseJson HTTP_SseData HTTP_SseId HTTP_SseParse HTTP_StatusText HTTP_UrlHost HTTP_UrlPath HTTP_UrlPort HTTP_UrlQuery HTTP_UrlScheme HTTPCLOSE HTTPOPEN HTTPREQUEST


HEADERBUILD$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HEADERBUILD$

Build a single HTTP header line.

Kategorie: HTTP | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = HEADERBUILD$(key$, value$)

Beschreibung

Build a single HTTP header line.

Kind: Function | Category: Web & Network > URL Parsing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String in the form Key: Value .

Description

Concatenates a header key and value with a colon separator and CRLF terminator. Useful for assembling headers before calling HTTPREQUEST.

Parameters

Name | Type | Description
key$ | String | Header name.
value$ | String | Header value.

Error Handling

URL helper functions return an empty string or 0 when the requested component is absent. They do not validate that a remote host exists.

Expected output

Output: Content-Type: application/json (with trailing CRLF)

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

HEADERBUILD$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HEADERBUILD$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL hdr$
hdr$ = HEADERBUILD$("Content-Type", "application/json")
PRINT hdr$  ' Content-Type: application/json

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • HTTPOPEN
  • HTTPREQUEST
  • Hilfe zum PBXB64-Compiler


HTTP_Execute - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_Execute

Art: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER HTTP-ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_Execute(method AS STRING, url AS STRING, body AS STRING) AS STRING

Beschreibung

Art: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER HTTP-ADAPTER

Beschreibung

HTTP_Execute sendet eine begrenzte HTTP/1.1-Anfrage und gibt den Antwortkoerper als UTF-8-STRING zurueck. Der Befehl ist der ausdrueckliche Netzwerkgegenpart zu HTTP_Request, das nur einen lokalen Anfragewert erzeugt.

Verhalten

Der Adapter akzeptiert http://-URLs, loest den Host auf, verbindet sich mit zehn Sekunden Sende- und Empfangszeitlimit, sendet Connection: close und begrenzt Antworten auf 8 MiB. Eine erfolgreiche 2xx-Antwort loescht den Befehlsfehler. Der Anfragekoerper wird unveraendert gesendet und ist normalerweise JSON.

Fehler und Grenzen

  • Ungueltige Methoden, Hosts, Ports oder Pfade, Verbindungsfehler, Zeitueberschreitungen, Status ausserhalb 2xx, unvollstaendige Header und zu grosse Antworten liefern eine leere Zeichenkette und setzen den Befehlsfehler.
  • HTTPS/TLS wird bis zu einem zertifikatspruefenden Transport ausdruecklich abgewiesen. Proxy, Weiterleitungen und Authentifizierung werden nicht ausgefuehrt. Chunked-Transfer wird strikt dekodiert: hexadezimale Groessen, CRLF-Trenner, optionale Trailer und die 8-MiB-Grenze fuer den dekodierten Koerper werden geprueft.
  • Geheimnisse duerfen nicht in URLs oder Diagnosetexten stehen.

Verwandte Befehle

Verwenden Sie MCP_RemoteCall fuer eine validierte JSON-RPC-MCP-Anfrage ueber diesen Transport. Verwenden Sie HTTP_Request, wenn kein Netzwerkeffekt gewuenscht ist.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL response AS STRING
  response = HTTP_Execute("POST", "http://127.0.0.1:55457/echo", "{" + CHR$(34) + "ok" + CHR$(34) + ":true}")
  IF INSTR(response, CHR$(34) + "ok" + CHR$(34)) = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


HTTP_RequestBody - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_RequestBody

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_RequestBody(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_RequestBody ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_RequestBody("{}")
  FUNCTION = 0
END FUNCTION


HTTP_RequestClone - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_RequestClone

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_RequestClone(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_RequestClone ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_RequestClone("{}")
  FUNCTION = 0
END FUNCTION


HTTP_RequestHeaders - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_RequestHeaders

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_RequestHeaders(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_RequestHeaders ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_RequestHeaders("{}")
  FUNCTION = 0
END FUNCTION


HTTP_RequestMethod - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_RequestMethod

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_RequestMethod(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_RequestMethod ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_RequestMethod("{}")
  FUNCTION = 0
END FUNCTION


HTTP_RequestSerialize - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_RequestSerialize

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_RequestSerialize(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_RequestSerialize ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_RequestSerialize("{}")
  FUNCTION = 0
END FUNCTION


HTTP_RequestUrl - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_RequestUrl

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_RequestUrl(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_RequestUrl ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_RequestUrl("{}")
  FUNCTION = 0
END FUNCTION


HTTP_ResponseContentType - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_ResponseContentType

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_ResponseContentType(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_ResponseContentType ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_ResponseContentType("{}")
  FUNCTION = 0
END FUNCTION


HTTP_ResponseCreate - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_ResponseCreate

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_ResponseCreate(status AS LONG, optional body AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_ResponseCreate ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_ResponseCreate(0)
  FUNCTION = 0
END FUNCTION


HTTP_ResponseHeader - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_ResponseHeader

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_ResponseHeader(response AS STRING, name AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_ResponseHeader ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_ResponseHeader("{}")
  FUNCTION = 0
END FUNCTION


HTTP_ResponseIsSuccess - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_ResponseIsSuccess

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_ResponseIsSuccess(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_ResponseIsSuccess ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = HTTP_ResponseIsSuccess(0)
  FUNCTION = 0
END FUNCTION


HTTP_ResponseJson - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_ResponseJson

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_ResponseJson(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_ResponseJson ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_ResponseJson("{}")
  FUNCTION = 0
END FUNCTION


HTTP_SseData - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_SseData

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_SseData(event AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_SseData ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Der Befehl liest das Feld data aus einem HTTP_SseEvent-JSON-Wert oder aus einem rohen SSE-Frame. Mehrere Datenzeilen werden mit einem einzelnen Zeilenumbruch verbunden; Zeilenenden werden entfernt.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_SseData("{}")
  FUNCTION = 0
END FUNCTION


HTTP_SseId - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_SseId

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_SseId(event AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_SseId ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Der Befehl liest das Feld id aus einem HTTP_SseEvent-JSON-Wert oder aus einem rohen SSE-Frame. CRLF- und LF-Zeilenenden werden akzeptiert. Fehlende Felder liefern einen leeren String.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_SseId("{}")
  FUNCTION = 0
END FUNCTION


HTTP_SseParse - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_SseParse

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_SseParse(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_SseParse ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Der Parser akzeptiert entweder das von HTTP_SseEvent erzeugte JSON-Objekt oder einen SSE-Frame mit CRLF- oder LF-Zeilen. Das optionale Feld waehlt Felder wie id, event oder data; wiederholte Datenzeilen werden mit einem Zeilenumbruch verbunden. Es erfolgt keine Netzwerkaktion.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_SseParse("{}")
  FUNCTION = 0
END FUNCTION


HTTP_StatusText - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_StatusText

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_StatusText(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_StatusText ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_StatusText("{}")
  FUNCTION = 0
END FUNCTION


HTTP_UrlHost - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_UrlHost

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_UrlHost(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_UrlHost ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_UrlHost("{}")
  FUNCTION = 0
END FUNCTION


HTTP_UrlPath - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_UrlPath

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_UrlPath(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_UrlPath ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_UrlPath("{}")
  FUNCTION = 0
END FUNCTION


HTTP_UrlPort - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_UrlPort

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_UrlPort(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_UrlPort ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = HTTP_UrlPort(0)
  FUNCTION = 0
END FUNCTION


HTTP_UrlQuery - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_UrlQuery

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_UrlQuery(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_UrlQuery ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_UrlQuery("{}")
  FUNCTION = 0
END FUNCTION


HTTP_UrlScheme - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTP_UrlScheme

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: HTTP

Syntax

FUNCTION HTTP_UrlScheme(value AS STRING, optional extra AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: HTTP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

HTTP_UrlScheme ist ein normaler, unterstrichener BASIC-Befehl der Familie HTTP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP-Aequivalent: local HTTP/SSE descriptor contract; no network I/O

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie HTTP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_UrlScheme("{}")
  FUNCTION = 0
END FUNCTION


HTTPCLOSE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTPCLOSE

Close an HTTP client handle.

Kategorie: HTTP | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

status = HTTPCLOSE(handle)

Beschreibung

Close an HTTP client handle.

Kind: Function | Category: Web & Network > HTTP Client

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer status (non-zero on success).

Description

Releases the resources associated with an HTTP handle opened by HTTPOPEN.

Parameters

Name | Type | Description
handle | Long | HTTP handle.

Error Handling

HTTP functions return 0 or an empty string when a handle, connection, timeout, or request fails. Always close a nonzero handle with HTTPCLOSE, including after failed requests.

Beschreibung

HTTPCLOSE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HTTPCLOSE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer HTTP client-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit HTTPCLOSE frei.

Eingaberegeln

Pruefen Sie den HTTP handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
h = HTTPOPEN("https://example.com", 3000)
IF h <> 0 THEN
  HTTPCLOSE h
  PRINT "closed"
END IF

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • HTTPOPEN
  • HTTPREQUEST
  • Hilfe zum PBXB64-Compiler


HTTPOPEN - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTPOPEN

Open an HTTP client handle.

Kategorie: HTTP | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

handle = HTTPOPEN(url$, timeout_ms)

Beschreibung

Open an HTTP client handle.

Kind: Function | Category: Web & Network > HTTP Client

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer handle, or 0 on failure.

Description

Initialises an HTTP request context for the given base URL and timeout. The returned handle is used with HTTPREQUEST and must be closed with HTTPCLOSE. Returns 0 if the URL cannot be opened or connection setup fails.

Parameters

Name | Type | Description
url$ | String | Base URL.
timeout_ms | Long | Timeout in milliseconds.

Error Handling

HTTP functions return 0 or an empty string when a handle, connection, timeout, or request fails. Always close a nonzero handle with HTTPCLOSE, including after failed requests.

Beschreibung

HTTPOPEN gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HTTPOPEN gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer HTTP client-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit HTTPCLOSE frei.

Eingaberegeln

Pruefen Sie den HTTP handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
h = HTTPOPEN("https://api.example.com", 5000)
IF h <> 0 THEN
  PRINT "HTTP handle opened"
  HTTPCLOSE h
END IF

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • HTTPREQUEST
  • HTTPCLOSE
  • Hilfe zum PBXB64-Compiler


HTTPREQUEST - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › HTTP Hilfe zum PBXB64-Compiler

HTTPREQUEST

Send an HTTP request and return the response.

Kategorie: HTTP | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

response$ = HTTPREQUEST(handle, method$, path$, headers$, body$)

Beschreibung

Send an HTTP request and return the response.

Kind: Function | Category: Web & Network > HTTP Client

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the server response, or empty on error.

Description

Sends an HTTP request using the handle returned by HTTPOPEN. method$ is typically "GET", "POST", "PUT", or "DELETE". The response string contains the response body on success and is empty on request failure.

Parameters

Name | Type | Description
handle | Long | HTTP handle from HTTPOPEN.
method$ | String | HTTP method.
path$ | String | Request path (may include query string).
headers$ | String | Header block, e.g. from HEADERBUILD$.
body$ | String | Request body, or empty string.

Error Handling

HTTP functions return 0 or an empty string when a handle, connection, timeout, or request fails. Always close a nonzero handle with HTTPCLOSE, including after failed requests.

Beschreibung

HTTPREQUEST gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HTTPREQUEST gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer HTTP client-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit HTTPCLOSE frei.

Eingaberegeln

Pruefen Sie den HTTP handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
LOCAL resp$, hdrs$
h = HTTPOPEN("https://api.example.com", 5000)
hdrs$ = HEADERBUILD$("Content-Type", "application/json")
resp$ = HTTPREQUEST(h, "GET", "/status", hdrs$, "")
PRINT resp$
HTTPCLOSE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • HTTPOPEN
  • HTTPCLOSE
  • HEADERBUILD$
  • Hilfe zum PBXB64-Compiler


JSON - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON

Themen in diesem Kapitel

JSON_AddElement JSON_AddProperty JSON_AppendString JSON_Base64UrlDecode JSON_Base64UrlEncode JSON_ByteLength JSON_CharAt JSON_ChildPath JSON_ClearError JSON_CloneRoot JSON_CompactObject JSON_ConcatString JSON_ConstantTimeEqual JSON_CopyPath JSON_CountBy JSON_DecrementBy JSON_DeepCopy JSON_DeepMerge JSON_DeleteAt JSON_Depth JSON_DivideBy JSON_DocumentCapacity JSON_DocumentCount JSON_DocumentReset JSON_ErrorHas JSON_ExcludeFields JSON_FilterArray JSON_FindAll JSON_FindByKey JSON_FindByValue JSON_FromCsv JSON_FromLines JSON_FromQueryString JSON_FromXml JSON_GetIndex JSON_GetKey JSON_GetPath JSON_GetPointer JSON_GetRaw JSON_GetValue JSON_GetWideString JSON_GroupBy JSON_HashCanonical JSON_HashDocument JSON_HasPath JSON_Height JSON_HexUpper JSON_HmacDocument JSON_IncrementBy JSON_InsertAt JSON_IsArray JSON_IsBoolean JSON_IsNullValue JSON_IsNumberValue JSON_IsObject JSON_IsString JSON_JoinArrays JSON_LeafCount JSON_MapKeys JSON_MapValues JSON_Match JSON_MovePath JSON_MultiplyBy JSON_NodeAttach JSON_NodeDetach JSON_NodeExists JSON_NodeIndex JSON_NodeIsArray JSON_NodeIsBoolean JSON_NodeIsNull JSON_NodeIsNumber JSON_NodeIsObject JSON_NodeIsString JSON_NodeKey JSON_NodeSwap JSON_NodeValue JSON_NormalizeNfc JSON_NormalizeNfd JSON_ParentPath JSON_ParseArrayItems JSON_ParseBooleanText JSON_ParseChunk JSON_ParseColumn JSON_ParseCommentPolicy JSON_ParseComplete JSON_ParseDepth JSON_ParseDuplicateKeys JSON_ParseErrorAt JSON_ParseFileUtf8 JSON_ParseFileWide JSON_ParseLine JSON_ParseLines JSON_ParseNdjson JSON_ParseNullText JSON_ParseNumberText JSON_ParseObjectMembers JSON_ParseOffset JSON_ParseRelaxed JSON_ParseStream JSON_ParseStrict JSON_ParseStringText JSON_ParseToken JSON_ParseWarnings JSON_ParseWithOptions JSON_Pop JSON_PrependString JSON_Project JSON_PruneEmpty JSON_PruneNulls JSON_Push JSON_QueryAll JSON_QueryArrays JSON_QueryBooleans JSON_QueryCount JSON_QueryExists JSON_QueryFirst JSON_QueryKeys JSON_QueryNulls JSON_QueryNumbers JSON_QueryObjects JSON_QueryPaths JSON_QueryStrings JSON_QueryValues JSON_RandomHex JSON_RandomUuid JSON_RemoveIndex JSON_RemovePath JSON_RemoveProperty JSON_ReplaceAll JSON_ReplaceValue JSON_RequirePath JSON_RequireType JSON_ReverseText JSON_SelectFields JSON_SetDefault JSON_SetError JSON_SetIndex JSON_SetKey JSON_Shift JSON_SiblingPath JSON_SignDocument JSON_SortArray JSON_SortBy JSON_Splice JSON_Substring JSON_SwapPaths JSON_ToCsv JSON_TogglePath JSON_ToLines JSON_ToQueryString JSON_ToXml JSON_Transpose JSON_UnicodeEscape JSON_UnicodeUnescape JSON_UniqueArray JSON_Unshift JSON_UrlDecodeComponent JSON_UrlEncodeComponent JSON_Utf16Validate JSON_Utf8Validate JSON_ValidateItems JSON_ValidateProperties JSON_ValidateRequired JSON_ValidationMessage JSON_VerifyDocument JSON_ZipArrays JSONFREE JSONGETBOOL JSONGETFLOAT JSONGETINT JSONGETSTR JSONNEW JSONPARSE JSONREMOVE JSONSETBOOL JSONSETFLOAT JSONSETINT JSONSETNULL JSONSETSTRING JSONSTRINGIFY$ JSONTYPE$


JSON_AddElement - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_AddElement

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_AddElement(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_AddElement ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_AddElement(0)
  FUNCTION = 0
END FUNCTION


JSON_AddProperty - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_AddProperty

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_AddProperty(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_AddProperty ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_AddProperty(0)
  FUNCTION = 0
END FUNCTION


JSON_AppendString - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_AppendString

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_AppendString(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_AppendString ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_AppendString(0)
  FUNCTION = 0
END FUNCTION


JSON_Base64UrlDecode - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Base64UrlDecode

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Base64UrlDecode(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Base64UrlDecode ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_Base64UrlDecode("{}")
  FUNCTION = 0
END FUNCTION


JSON_Base64UrlEncode - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Base64UrlEncode

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Base64UrlEncode(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Base64UrlEncode ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_Base64UrlEncode("{}")
  FUNCTION = 0
END FUNCTION


JSON_ByteLength - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ByteLength

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ByteLength(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ByteLength ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ByteLength(0)
  FUNCTION = 0
END FUNCTION


JSON_CharAt - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_CharAt

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_CharAt(value AS STRING, index AS LONG) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_CharAt ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet auf UTF-8-Text. Der Index ist ein nullbasierter Unicode-Skalarindex; ein vier Byte langes Emoji wird daher als vollstaendiges Zeichen und nicht als einzelnes Byte geliefert. Ungueltiges UTF-8 meldet einen Fehler und liefert ein leeres Ergebnis.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_CharAt(0)
  FUNCTION = 0
END FUNCTION


JSON_ChildPath - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ChildPath

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ChildPath(h AS LONG, path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ChildPath ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ChildPath(0)
  FUNCTION = 0
END FUNCTION


JSON_ClearError - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ClearError

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ClearError() AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ClearError ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ClearError(0)
  FUNCTION = 0
END FUNCTION


JSON_CloneRoot - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_CloneRoot

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_CloneRoot(h AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_CloneRoot ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_CloneRoot(0)
  FUNCTION = 0
END FUNCTION


JSON_CompactObject - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_CompactObject

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_CompactObject(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_CompactObject ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_CompactObject(0)
  FUNCTION = 0
END FUNCTION


JSON_ConcatString - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ConcatString

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ConcatString(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ConcatString ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ConcatString(0)
  FUNCTION = 0
END FUNCTION


JSON_ConstantTimeEqual - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ConstantTimeEqual

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ConstantTimeEqual(leftValue AS STRING, rightValue AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ConstantTimeEqual ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Crypto. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Crypto sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ConstantTimeEqual(0)
  FUNCTION = 0
END FUNCTION


JSON_CopyPath - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_CopyPath

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_CopyPath(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_CopyPath ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_CopyPath(0)
  FUNCTION = 0
END FUNCTION


JSON_CountBy - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_CountBy

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_CountBy(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_CountBy ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Dokumentwurzel muss ein Array von Objekten sein. options ist das Zaehlerfeld; das Ergebnis ordnet jedem skalaren Feldwert seine Anzahl zu.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_CountBy(0)
  FUNCTION = 0
END FUNCTION


JSON_DecrementBy - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_DecrementBy

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_DecrementBy(h AS LONG, path AS WSTRING, optional amount AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_DecrementBy ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DecrementBy(0)
  FUNCTION = 0
END FUNCTION


JSON_DeepCopy - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_DeepCopy

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_DeepCopy(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_DeepCopy ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DeepCopy(0)
  FUNCTION = 0
END FUNCTION


JSON_DeepMerge - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_DeepMerge

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_DeepMerge(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_DeepMerge ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DeepMerge(0)
  FUNCTION = 0
END FUNCTION


JSON_DeleteAt - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_DeleteAt

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_DeleteAt(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_DeleteAt ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DeleteAt(0)
  FUNCTION = 0
END FUNCTION


JSON_Depth - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Depth

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Depth(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Depth ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Depth(0)
  FUNCTION = 0
END FUNCTION


JSON_DivideBy - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_DivideBy

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_DivideBy(h AS LONG, path AS WSTRING, optional amount AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_DivideBy ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DivideBy(0)
  FUNCTION = 0
END FUNCTION


JSON_DocumentCapacity - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_DocumentCapacity

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_DocumentCapacity() AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_DocumentCapacity ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DocumentCapacity(0)
  FUNCTION = 0
END FUNCTION


JSON_DocumentCount - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_DocumentCount

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_DocumentCount() AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_DocumentCount ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DocumentCount(0)
  FUNCTION = 0
END FUNCTION


JSON_DocumentReset - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_DocumentReset

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_DocumentReset(h AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_DocumentReset ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DocumentReset(0)
  FUNCTION = 0
END FUNCTION


JSON_ErrorHas - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ErrorHas

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ErrorHas() AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ErrorHas ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ErrorHas(0)
  FUNCTION = 0
END FUNCTION


JSON_ExcludeFields - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ExcludeFields

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ExcludeFields(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ExcludeFields ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Liefert ein neues serialisiertes Dokument ohne die Objektfelder aus der durch Kommas getrennten options-Liste. Arrays bleiben erhalten; verschachtelte Objekte werden rekursiv gefiltert.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ExcludeFields(0)
  FUNCTION = 0
END FUNCTION


JSON_FilterArray - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_FilterArray

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_FilterArray(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_FilterArray ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Der Dokumentwurzeltyp muss Array sein. Ein Optionsobjekt wie {"field":"enabled","equals":true} waehlt passende Objektelemente und kopiert sie in ein neues Ergebnisarray.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FilterArray(0)
  FUNCTION = 0
END FUNCTION


JSON_FindAll - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_FindAll

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_FindAll(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_FindAll ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FindAll(0)
  FUNCTION = 0
END FUNCTION


JSON_FindByKey - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_FindByKey

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_FindByKey(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_FindByKey ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FindByKey(0)
  FUNCTION = 0
END FUNCTION


JSON_FindByValue - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_FindByValue

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_FindByValue(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_FindByValue ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FindByValue(0)
  FUNCTION = 0
END FUNCTION


JSON_FromCsv - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_FromCsv

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_FromCsv(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_FromCsv ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Dokumentwurzel muss ein JSON-String mit Kopfzeile und komma-getrennten Datenzeilen sein. Das Ergebnis ist ein JSON-Array von Objekten mit Stringwerten; ungueltige Handles oder andere Wurzeltypen melden einen Fehler.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FromCsv(0)
  FUNCTION = 0
END FUNCTION


JSON_FromLines - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_FromLines

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_FromLines(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_FromLines ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Dokumentwurzel muss ein String mit LF- oder CRLF-getrennten Zeilen sein. Gueltige JSON-Zeilen werden geparst; andere Zeilen werden zu JSON-Stringelementen. Das Ergebnis ist ein neues Array.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FromLines(0)
  FUNCTION = 0
END FUNCTION


JSON_FromQueryString - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_FromQueryString

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_FromQueryString(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_FromQueryString ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Dokumentwurzel muss ein URL-Query-String sein. Prozentkodierte Namen und Werte werden in ein neues JSON-Objekt dekodiert; Werte bleiben als Strings erhalten.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FromQueryString(0)
  FUNCTION = 0
END FUNCTION


JSON_FromXml - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_FromXml

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: LOKALER ADAPTER IMPLEMENTIERT

Kategorie: JSON

Syntax

FUNCTION JSON_FromXml(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: LOKALER ADAPTER IMPLEMENTIERT

Beschreibung

JSON_FromXml ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

JSON_FromXml verarbeitet das deterministische typisierte XML-Format von JSON_ToXml und liefert kanonischen JSON-Text. Das XML muss ein json-Root besitzen. Ein nichtleeres optionales options-Argument wird als XML-Text verwendet; andernfalls wird XML aus einem String-Dokument-Handle gelesen. XML-Deklaration, verschachtelte member/item-Elemente, Entities und explizite Skalar-Typen werden unterstuetzt.

Es handelt sich bewusst nicht um eine beliebige XML-zu-JSON-Heuristik. Unbekannte Typen, fehlerhafte Tags, ungueltige Entities, Zahlen oder Booleans sowie nicht passende End-Tags werden kontrolliert abgelehnt.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Fehlende oder ungueltige Argumente erzeugen eine Compiler- oder Laufzeitdiagnose.
  • Fehlerhaftes oder nicht typisiertes XML liefert einen leeren String und setzt JSON_LastError().
  • Ein ungueltiger Dokument-Handle liefert einen leeren String und setzt den Fehlerstatus.
  • Netzwerk- und Provider-Aktivitaet ist bewusst nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  LOCAL h AS LONG
  h = JSON_Parse("<json type="number">42</json>")
  result = JSON_FromXml(h, "")
  CALL JSON_ReleaseDocument(h)
  FUNCTION = 0
END FUNCTION


JSON_GetIndex - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_GetIndex

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_GetIndex(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_GetIndex ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_GetIndex(0)
  FUNCTION = 0
END FUNCTION


JSON_GetKey - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_GetKey

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_GetKey(h AS LONG, path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_GetKey ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_GetKey(0)
  FUNCTION = 0
END FUNCTION


JSON_GetPath - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_GetPath

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_GetPath(h AS LONG, path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_GetPath ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_GetPath(0)
  FUNCTION = 0
END FUNCTION


JSON_GetPointer - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_GetPointer

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_GetPointer(h AS LONG, path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_GetPointer ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_GetPointer(0)
  FUNCTION = 0
END FUNCTION


JSON_GetRaw - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_GetRaw

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_GetRaw(h AS LONG, path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_GetRaw ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_GetRaw(0)
  FUNCTION = 0
END FUNCTION


JSON_GetValue - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_GetValue

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_GetValue(h AS LONG, path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_GetValue ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_GetValue(0)
  FUNCTION = 0
END FUNCTION


JSON_GetWideString - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_GetWideString

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_GetWideString(h AS LONG, path AS WSTRING) AS WSTRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_GetWideString liest einen JSON-Stringknoten und gibt den dekodierten Wert als PB-UTF-16-WSTRING zurueck. Der Befehl verwendet die normale BASIC-Unterstrichsyntax und keine Punktnotation. Der Dokument-Handle ist LONG; der Pfad ist WSTRING und kann Unicode-Eigenschaftsnamen adressieren.

Kodierung und Laenge

JSON-Escape-Sequenzen werden im Dokument zu UTF-8 und anschliessend zu UTF-16-Codeunits dekodiert. Zeichen ausserhalb der BMP belegen deshalb zwei WSTRING-Codeunits. Eingebettete NUL-Bytes bleiben erhalten, weil die Byte-Laenge des Knotens explizit durch die Konvertierung und die Wide-String-Metadaten gefuehrt wird.

Verhalten

  • Der Quellknoten muss den JSON-Typ String besitzen.
  • Ungueltige Handles, Pfade oder Nicht-String-Knoten liefern eine leere WSTRING und setzen den Befehlsfehler.
  • Ungueltiges UTF-8 liefert eine leere WSTRING und einen ausdruecklichen Konvertierungsfehler.
  • Die Operation ist lokal und hat keine Netzwerk-, Datei-, Provider- oder MCP-Nebenwirkung.

Quelle und MCP-Abbildung

Quellabbildung: PBXB64-JSON-Befehlsruntime, explizite CmdJsonNode-Textlaenge und PB-Wide-String-Besitzmetadaten.

MCP-Aequivalent: lokale JSON-Wertausgabe fuer MCP-Request-, Result- und Katalogadapter.

Nebenwirkung: pure. Das Ergebnis ist eine neu allokierte WSTRING im Besitz der PB-Runtime.

Verwandte Befehle

Siehe JSON_GetString, JSON_GetValue, JSON_GetType, JSON_Serialize und die Seiten der Familie JSON.Query im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL h AS LONG
  LOCAL path AS WSTRING
  LOCAL value AS WSTRING
  h = JSON_Parse("{" + CHR$(34) + "text" + CHR$(34) + ":" + CHR$(34) + "\uD83D\uDE00" + CHR$(34) + "}")
  path = "/text"
  value = JSON_GetWideString(h, path)
  IF LEN(value) <> 2 THEN FUNCTION = 1 : EXIT FUNCTION
  JSON_ReleaseDocument(h)
  FUNCTION = 0
END FUNCTION


JSON_GroupBy - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_GroupBy

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_GroupBy(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_GroupBy ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Dokumentwurzel muss ein Array von Objekten sein. options ist das Gruppierungsfeld; das Ergebnis ist ein Objekt aus skalaren Feldwerten und Arrays kopierter Elemente.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_GroupBy(0)
  FUNCTION = 0
END FUNCTION


JSON_HashCanonical - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_HashCanonical

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_HashCanonical(h AS LONG) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_HashCanonical ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Crypto. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Crypto sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_HashCanonical(0)
  FUNCTION = 0
END FUNCTION


JSON_HashDocument - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_HashDocument

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_HashDocument(h AS LONG) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_HashDocument ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Crypto. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Crypto sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_HashDocument(0)
  FUNCTION = 0
END FUNCTION


JSON_HasPath - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_HasPath

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_HasPath(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_HasPath ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_HasPath(0)
  FUNCTION = 0
END FUNCTION


JSON_Height - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Height

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Height(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Height ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Height(0)
  FUNCTION = 0
END FUNCTION


JSON_HexUpper - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_HexUpper

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_HexUpper(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_HexUpper ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_HexUpper("{}")
  FUNCTION = 0
END FUNCTION


JSON_HmacDocument - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_HmacDocument

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_HmacDocument(h AS LONG, key AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_HmacDocument ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Crypto. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Crypto sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_HmacDocument(0)
  FUNCTION = 0
END FUNCTION


JSON_IncrementBy - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_IncrementBy

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_IncrementBy(h AS LONG, path AS WSTRING, optional amount AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_IncrementBy ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IncrementBy(0)
  FUNCTION = 0
END FUNCTION


JSON_InsertAt - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_InsertAt

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_InsertAt(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_InsertAt ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_InsertAt(0)
  FUNCTION = 0
END FUNCTION


JSON_IsArray - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_IsArray

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_IsArray(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_IsArray ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Validate. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Validate sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IsArray(0)
  FUNCTION = 0
END FUNCTION


JSON_IsBoolean - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_IsBoolean

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_IsBoolean(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_IsBoolean ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Validate. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Validate sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IsBoolean(0)
  FUNCTION = 0
END FUNCTION


JSON_IsNullValue - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_IsNullValue

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_IsNullValue(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_IsNullValue ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Validate. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Validate sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IsNullValue(0)
  FUNCTION = 0
END FUNCTION


JSON_IsNumberValue - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_IsNumberValue

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_IsNumberValue(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_IsNumberValue ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Validate. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Validate sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IsNumberValue(0)
  FUNCTION = 0
END FUNCTION


JSON_IsObject - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_IsObject

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_IsObject(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_IsObject ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Validate. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Validate sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IsObject(0)
  FUNCTION = 0
END FUNCTION


JSON_IsString - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_IsString

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_IsString(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_IsString ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Validate. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Validate sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IsString(0)
  FUNCTION = 0
END FUNCTION


JSON_JoinArrays - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_JoinArrays

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_JoinArrays(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_JoinArrays ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Dokumentwurzel muss ein Objekt aus Arrays sein. Das Ergebnis ist ein Array mit kopierten Elementen in der Reihenfolge der Objektfelder. Ein Nicht-Array-Mitglied ist ein Fehler.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_JoinArrays(0)
  FUNCTION = 0
END FUNCTION


JSON_LeafCount - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_LeafCount

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_LeafCount(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_LeafCount ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_LeafCount(0)
  FUNCTION = 0
END FUNCTION


JSON_MapKeys - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_MapKeys

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_MapKeys(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_MapKeys ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

options ist ein JSON-Objekt mit alten Schluesseln als Namen und neuen Schluesseln als Stringwerten. Die Umbenennung gilt rekursiv; das Ergebnis ist vom Quellhandle unabhaengig.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_MapKeys(0)
  FUNCTION = 0
END FUNCTION


JSON_MapValues - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_MapValues

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_MapValues(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_MapValues ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

options ist ein JSON-Objekt mit skalarem Text als Schluessel und Ersatzwerten als JSON-Werten. Passende skalare Werte werden rekursiv ersetzt; Objekte und Arrays werden kopiert.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_MapValues(0)
  FUNCTION = 0
END FUNCTION


JSON_Match - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Match

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Match(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Match ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Match(0)
  FUNCTION = 0
END FUNCTION


JSON_MovePath - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_MovePath

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_MovePath(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_MovePath ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_MovePath(0)
  FUNCTION = 0
END FUNCTION


JSON_MultiplyBy - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_MultiplyBy

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_MultiplyBy(h AS LONG, path AS WSTRING, optional amount AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_MultiplyBy ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_MultiplyBy(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeAttach - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NodeAttach

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NodeAttach(h AS LONG, path AS WSTRING, value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NodeAttach ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeAttach(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeDetach - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NodeDetach

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NodeDetach(h AS LONG, path AS WSTRING, value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NodeDetach ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeDetach(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeExists - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NodeExists

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NodeExists(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NodeExists ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeExists(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIndex - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NodeIndex

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NodeIndex(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NodeIndex ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIndex(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIsArray - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NodeIsArray

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NodeIsArray(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NodeIsArray ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIsArray(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIsBoolean - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NodeIsBoolean

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NodeIsBoolean(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NodeIsBoolean ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIsBoolean(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIsNull - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NodeIsNull

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NodeIsNull(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NodeIsNull ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIsNull(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIsNumber - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NodeIsNumber

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NodeIsNumber(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NodeIsNumber ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIsNumber(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIsObject - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NodeIsObject

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NodeIsObject(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NodeIsObject ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIsObject(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIsString - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NodeIsString

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NodeIsString(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NodeIsString ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIsString(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeKey - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NodeKey

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NodeKey(h AS LONG, path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NodeKey ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_NodeKey(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeSwap - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NodeSwap

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NodeSwap(h AS LONG, path AS WSTRING, value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NodeSwap ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeSwap(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeValue - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NodeValue

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NodeValue(h AS LONG, path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NodeValue ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_NodeValue(0)
  FUNCTION = 0
END FUNCTION


JSON_NormalizeNfc - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NormalizeNfc

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NormalizeNfc(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NormalizeNfc ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation wendet Unicode-NFC-Normalisierung auf einen gueltigen UTF-8-String an und verwendet die Unicode-Tabellen der Laufzeit. Kanonisch gleichwertige Sequenzen werden, sofern moeglich, komponiert. Ungueltiges UTF-8 liefert ein leeres Ergebnis und setzt den Befehlsfehler.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_NormalizeNfc("{}")
  FUNCTION = 0
END FUNCTION


JSON_NormalizeNfd - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_NormalizeNfd

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_NormalizeNfd(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_NormalizeNfd ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation wendet Unicode-NFD-Normalisierung auf einen gueltigen UTF-8-String an und verwendet die Unicode-Tabellen der Laufzeit. Kanonische Kompositionen werden in ihre kanonische Sequenz zerlegt. Ungueltiges UTF-8 liefert ein leeres Ergebnis und setzt den Befehlsfehler.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_NormalizeNfd("{}")
  FUNCTION = 0
END FUNCTION


JSON_ParentPath - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParentPath

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParentPath(h AS LONG, path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParentPath ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ParentPath(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseArrayItems - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseArrayItems

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseArrayItems(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseArrayItems ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseArrayItems(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseBooleanText - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseBooleanText

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseBooleanText(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseBooleanText ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseBooleanText(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseChunk - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseChunk

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseChunk(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseChunk ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseChunk(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseColumn - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseColumn

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseColumn(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseColumn ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseColumn(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseCommentPolicy - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseCommentPolicy

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseCommentPolicy(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseCommentPolicy ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseCommentPolicy(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseComplete - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseComplete

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseComplete(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseComplete ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseComplete(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseDepth - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseDepth

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseDepth(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseDepth ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseDepth(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseDuplicateKeys - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseDuplicateKeys

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseDuplicateKeys(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseDuplicateKeys ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseDuplicateKeys(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseErrorAt - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseErrorAt

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseErrorAt(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseErrorAt ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseErrorAt(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseFileUtf8 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseFileUtf8

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseFileUtf8(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseFileUtf8 ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseFileUtf8(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseFileWide - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseFileWide

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseFileWide(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseFileWide ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseFileWide(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseLine - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseLine

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseLine(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseLine ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseLine(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseLines - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseLines

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseLines(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseLines ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseLines(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseNdjson - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseNdjson

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseNdjson(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseNdjson ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseNdjson(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseNullText - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseNullText

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseNullText(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseNullText ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseNullText(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseNumberText - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseNumberText

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseNumberText(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseNumberText ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseNumberText(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseObjectMembers - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseObjectMembers

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseObjectMembers(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseObjectMembers ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseObjectMembers(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseOffset - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseOffset

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseOffset(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseOffset ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseOffset(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseRelaxed - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseRelaxed

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseRelaxed(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseRelaxed ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseRelaxed(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseStream - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseStream

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseStream(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseStream ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseStream(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseStrict - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseStrict

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseStrict(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseStrict ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseStrict(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseStringText - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseStringText

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseStringText(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseStringText ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseStringText(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseToken - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseToken

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseToken(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseToken ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseToken(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseWarnings - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseWarnings

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseWarnings(value AS STRING, optional flags AS LONG) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseWarnings ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ParseWarnings(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseWithOptions - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ParseWithOptions

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ParseWithOptions(value AS STRING, optional flags AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Parse | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ParseWithOptions ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Parse. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Parse sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseWithOptions(0)
  FUNCTION = 0
END FUNCTION


JSON_Pop - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Pop

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Pop(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Pop ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Pop(0)
  FUNCTION = 0
END FUNCTION


JSON_PrependString - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_PrependString

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_PrependString(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_PrependString ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_PrependString(0)
  FUNCTION = 0
END FUNCTION


JSON_Project - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Project

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Project(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Project ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Liefert ein neues serialisiertes Dokument mit den Objektfeldern aus der durch Kommas getrennten options-Liste. Arrays werden durchlaufen; verschachtelte Objekte werden projiziert, ohne das Quelldokument zu aendern.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_Project(0)
  FUNCTION = 0
END FUNCTION


JSON_PruneEmpty - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_PruneEmpty

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_PruneEmpty(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_PruneEmpty ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_PruneEmpty(0)
  FUNCTION = 0
END FUNCTION


JSON_PruneNulls - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_PruneNulls

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_PruneNulls(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_PruneNulls ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_PruneNulls(0)
  FUNCTION = 0
END FUNCTION


JSON_Push - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Push

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Push(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Push ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Push(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryAll - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_QueryAll

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_QueryAll(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_QueryAll ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryAll(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryArrays - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_QueryArrays

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_QueryArrays(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_QueryArrays ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryArrays(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryBooleans - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_QueryBooleans

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_QueryBooleans(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_QueryBooleans ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryBooleans(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryCount - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_QueryCount

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_QueryCount(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_QueryCount ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_QueryCount(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryExists - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_QueryExists

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_QueryExists(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_QueryExists ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_QueryExists(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryFirst - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_QueryFirst

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_QueryFirst(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_QueryFirst ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryFirst(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryKeys - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_QueryKeys

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_QueryKeys(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_QueryKeys ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryKeys(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryNulls - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_QueryNulls

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_QueryNulls(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_QueryNulls ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryNulls(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryNumbers - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_QueryNumbers

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_QueryNumbers(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_QueryNumbers ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryNumbers(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryObjects - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_QueryObjects

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_QueryObjects(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_QueryObjects ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryObjects(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryPaths - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_QueryPaths

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_QueryPaths(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_QueryPaths ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryPaths(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryStrings - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_QueryStrings

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_QueryStrings(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_QueryStrings ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryStrings(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryValues - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_QueryValues

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_QueryValues(h AS LONG, optional path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_QueryValues ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryValues(0)
  FUNCTION = 0
END FUNCTION


JSON_RandomHex - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_RandomHex

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_RandomHex(optional length AS LONG) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_RandomHex ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Crypto. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Crypto sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_RandomHex(0)
  FUNCTION = 0
END FUNCTION


JSON_RandomUuid - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_RandomUuid

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_RandomUuid(optional length AS LONG) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_RandomUuid ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Crypto. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Crypto sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_RandomUuid(0)
  FUNCTION = 0
END FUNCTION


JSON_RemoveIndex - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_RemoveIndex

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_RemoveIndex(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_RemoveIndex ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_RemoveIndex(0)
  FUNCTION = 0
END FUNCTION


JSON_RemovePath - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_RemovePath

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_RemovePath(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_RemovePath ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_RemovePath(0)
  FUNCTION = 0
END FUNCTION


JSON_RemoveProperty - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_RemoveProperty

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_RemoveProperty(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_RemoveProperty ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_RemoveProperty(0)
  FUNCTION = 0
END FUNCTION


JSON_ReplaceAll - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ReplaceAll

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ReplaceAll(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ReplaceAll ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ReplaceAll(0)
  FUNCTION = 0
END FUNCTION


JSON_ReplaceValue - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ReplaceValue

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ReplaceValue(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ReplaceValue ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ReplaceValue(0)
  FUNCTION = 0
END FUNCTION


JSON_RequirePath - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_RequirePath

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_RequirePath(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_RequirePath ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Validate. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Validate sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_RequirePath(0)
  FUNCTION = 0
END FUNCTION


JSON_RequireType - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_RequireType

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_RequireType(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_RequireType ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Validate. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Validate sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_RequireType(0)
  FUNCTION = 0
END FUNCTION


JSON_ReverseText - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ReverseText

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ReverseText(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ReverseText ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation dreht Unicode-Skalarwerte um und erhaelt dabei die jeweilige UTF-8-Kodierung. Emojis und andere Mehrbyte-Zeichen bleiben intakt. Ungueltiges UTF-8 meldet einen Fehler und liefert ein leeres Ergebnis.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ReverseText("{}")
  FUNCTION = 0
END FUNCTION


JSON_SelectFields - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_SelectFields

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_SelectFields(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_SelectFields ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Liefert ein neues serialisiertes Dokument mit den Objektfeldern aus der durch Kommas getrennten options-Liste. Der Handle wird nicht veraendert; verschachtelte Objekte werden rekursiv verarbeitet.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_SelectFields(0)
  FUNCTION = 0
END FUNCTION


JSON_SetDefault - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_SetDefault

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_SetDefault(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_SetDefault ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_SetDefault(0)
  FUNCTION = 0
END FUNCTION


JSON_SetError - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_SetError

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_SetError(h AS LONG, path AS WSTRING, value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Core | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_SetError ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Core. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Core sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_SetError(0)
  FUNCTION = 0
END FUNCTION


JSON_SetIndex - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_SetIndex

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_SetIndex(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_SetIndex ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_SetIndex(0)
  FUNCTION = 0
END FUNCTION


JSON_SetKey - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_SetKey

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_SetKey(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_SetKey ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_SetKey(0)
  FUNCTION = 0
END FUNCTION


JSON_Shift - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Shift

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Shift(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Shift ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Shift(0)
  FUNCTION = 0
END FUNCTION


JSON_SiblingPath - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_SiblingPath

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_SiblingPath(h AS LONG, path AS WSTRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Query | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_SiblingPath ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Query. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Query sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_SiblingPath(0)
  FUNCTION = 0
END FUNCTION


JSON_SignDocument - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_SignDocument

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_SignDocument(h AS LONG, key AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_SignDocument ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Crypto. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Crypto sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_SignDocument(0)
  FUNCTION = 0
END FUNCTION


JSON_SortArray - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_SortArray

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_SortArray(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_SortArray ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_SortArray(0)
  FUNCTION = 0
END FUNCTION


JSON_SortBy - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_SortBy

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_SortBy(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_SortBy ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Dokumentwurzel muss ein Array von Objekten sein. options ist der Feldname fuer einen aufsteigenden ordinalen Vergleich. Sortiert werden Kopien; der Quellhandle bleibt unveraendert.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_SortBy(0)
  FUNCTION = 0
END FUNCTION


JSON_Splice - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Splice

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Splice(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Splice ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Splice(0)
  FUNCTION = 0
END FUNCTION


JSON_Substring - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Substring

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Substring(value AS STRING, start AS LONG, optional length AS LONG) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Substring ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Start und optionale Laenge sind nullbasierte Unicode-Skalarindizes. Der zurueckgegebene UTF-8-String teilt keine Mehrbyte-Sequenz. Negative Startwerte werden auf null begrenzt; eine negative Laenge liefert ein leeres Ergebnis. Ungueltiges UTF-8 meldet einen Fehler.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_Substring(0)
  FUNCTION = 0
END FUNCTION


JSON_SwapPaths - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_SwapPaths

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_SwapPaths(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_SwapPaths ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_SwapPaths(0)
  FUNCTION = 0
END FUNCTION


JSON_ToCsv - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ToCsv

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ToCsv(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ToCsv ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Dokumentwurzel muss ein Array aus Objekten sein. Eine Kopfzeile aus zuerst gefundenen Schluesseln wird von CRLF-Zeilen gefolgt. Kommas, Anfuehrungszeichen und Zeilenumbrueche werden CSV-gerecht maskiert; fehlende Felder bleiben leer.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ToCsv(0)
  FUNCTION = 0
END FUNCTION


JSON_TogglePath - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_TogglePath

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_TogglePath(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_TogglePath ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_TogglePath(0)
  FUNCTION = 0
END FUNCTION


JSON_ToLines - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ToLines

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ToLines(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ToLines ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Dokumentwurzel muss ein Array oder Objekt sein. Jedes Arrayelement oder jeder Objektwert wird als Skalartext oder kompaktes JSON mit einem LF als Trennzeichen ausgegeben. Das Quelldokument bleibt unveraendert.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ToLines(0)
  FUNCTION = 0
END FUNCTION


JSON_ToQueryString - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ToQueryString

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ToQueryString(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ToQueryString ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Dokumentwurzel muss ein Objekt sein. Skalare Mitglieder werden als URL-kodierte name=value-Paare mit kaufmaennischem Und verbunden; Namen und Werte werden kodiert.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ToQueryString(0)
  FUNCTION = 0
END FUNCTION


JSON_ToXml - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ToXml

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: LOKALER ADAPTER IMPLEMENTIERT

Kategorie: JSON

Syntax

FUNCTION JSON_ToXml(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: LOKALER ADAPTER IMPLEMENTIERT

Beschreibung

JSON_ToXml ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

JSON_ToXml serialisiert das Dokument in ein deterministisches, typisiertes XML-Format. Das Ergebnis beginnt mit einer UTF-8-XML-Deklaration und einem json-Root. Objekte verwenden member name="...", Arrays verwenden item; jeder Wert erhaelt ein Typattribut: object, array, string, number, boolean oder null. XML-Entities werden fuer kaufmaennische Und-Zeichen und Markup-Zeichen ausgegeben.

Das optionale Argument ist fuer kuenftige Serializer-Optionen reserviert und wird derzeit nur aus Signaturkompatibilitaet akzeptiert. Die Konvertierung arbeitet lokal und kontaktiert keinen XML-Dienst und keinen MCP-Provider.

Typisiertes Vokabular

  • Objekt: <json type="object"> mit member name="..."; die Reihenfolge bleibt erhalten.
  • Array: <json type="array"> mit item; verschachtelte Werte behalten ihre Reihenfolge.
  • String: type="string"; UTF-8-Text wird fuer XML-Markup maskiert.
  • Zahl: type="number"; die Gleitkomma-Darstellung ist deterministisch.
  • Boolean: type="boolean"; der Wert ist true oder false.
  • Null: <member type="null"/>; es wird keine Textnutzlast ausgegeben.

Objektschluessel werden im name-Attribut fuer XML maskiert. Stringdaten maskieren &, < und >; Anfuehrungszeichen und Apostrophe werden in Attributen maskiert. Der erzeugte Text kann deshalb direkt an JSON_FromXml uebergeben werden.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Fehlende oder ungueltige Argumente erzeugen eine Compiler- oder Laufzeitdiagnose.
  • Ein ungueltiger Dokument-Handle liefert einen leeren String und setzt JSON_LastError().
  • Bei Speicher- oder Serialisierungsfehlern wird ebenfalls ein leerer String mit Fehlerstatus geliefert.
  • Netzwerk- und Provider-Aktivitaet ist bewusst nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  LOCAL h AS LONG
  h = JSON_Parse("{""answer"":42,""ok"":true}")
  result = JSON_ToXml(h, "")
  CALL JSON_ReleaseDocument(h)
  FUNCTION = 0
END FUNCTION


JSON_Transpose - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Transpose

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Transpose(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Transpose ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Dokumentwurzel muss ein Array aus Arrays sein. Zeilen werden in kopierte Spaltenarrays transponiert; fehlende Zellen werden als JSON-null dargestellt.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_Transpose(0)
  FUNCTION = 0
END FUNCTION


JSON_UnicodeEscape - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_UnicodeEscape

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_UnicodeEscape(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_UnicodeEscape ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_UnicodeEscape("{}")
  FUNCTION = 0
END FUNCTION


JSON_UnicodeUnescape - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_UnicodeUnescape

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_UnicodeUnescape(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_UnicodeUnescape ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_UnicodeUnescape("{}")
  FUNCTION = 0
END FUNCTION


JSON_UniqueArray - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_UniqueArray

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_UniqueArray(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_UniqueArray ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_UniqueArray(0)
  FUNCTION = 0
END FUNCTION


JSON_Unshift - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Unshift

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Unshift(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Modify | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Unshift ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Modify. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Modify sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Unshift(0)
  FUNCTION = 0
END FUNCTION


JSON_UrlDecodeComponent - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_UrlDecodeComponent

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_UrlDecodeComponent(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_UrlDecodeComponent ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_UrlDecodeComponent("{}")
  FUNCTION = 0
END FUNCTION


JSON_UrlEncodeComponent - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_UrlEncodeComponent

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_UrlEncodeComponent(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_UrlEncodeComponent ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_UrlEncodeComponent("{}")
  FUNCTION = 0
END FUNCTION


JSON_Utf16Validate - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Utf16Validate

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Utf16Validate(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Utf16Validate ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die PB-STRING-Eingabe wird als UTF-8 interpretiert und auf verlustfreie Umwandlung in UTF-16-Codeeinheiten geprueft. Gueltige Zeichen ausserhalb der BMP werden als UTF-16-Surrogatpaar akzeptiert; ungueltiges UTF-8 und Skalar-Surrogate liefern null.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Utf16Validate(0)
  FUNCTION = 0
END FUNCTION


JSON_Utf8Validate - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_Utf8Validate

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_Utf8Validate(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Encoding | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_Utf8Validate ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Encoding. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation prueft die komplette Eingabe als striktes UTF-8. Ueberlange Kodierungen, abgeschnittene Sequenzen, ungueltige Fortsetzungsbytes, Surrogat-Codepunkte und Codepunkte ueber U+10FFFF liefern null. Ein gueltiger leerer String liefert eins.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Encoding sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Utf8Validate(0)
  FUNCTION = 0
END FUNCTION


JSON_ValidateItems - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ValidateItems

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ValidateItems(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ValidateItems ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Validate. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Der Pfad muss auf ein vorhandenes JSON-Array zeigen. Der Befehl liefert eins fuer einen Array-Container und null fuer Objekt, Skalar, Nullwert, fehlenden Pfad oder ungueltigen Handle.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Validate sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ValidateItems(0)
  FUNCTION = 0
END FUNCTION


JSON_ValidateProperties - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ValidateProperties

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ValidateProperties(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ValidateProperties ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Validate. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Der Pfad muss auf ein vorhandenes JSON-Objekt zeigen. Dies ist die lokale Pruefung eines Property-Containers; eine vollstaendige JSON-Schema-Pruefung wird damit nicht behauptet. Fuer Pflichtnamen und Property-Schemas ist JSON_ValidateSchema vorgesehen.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Validate sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ValidateProperties(0)
  FUNCTION = 0
END FUNCTION


JSON_ValidateRequired - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ValidateRequired

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ValidateRequired(h AS LONG, path AS WSTRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ValidateRequired ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Validate. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Der Pfad muss auf ein vorhandenes JSON-Objekt zeigen. Der Befehl liefert nur dann eins, wenn der erforderliche Wertecontainer vorhanden und kein JSON-Nullwert ist. Fehlende Pfade, ungueltige Handles und Nullwerte liefern null und setzen den Befehlsfehler.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Validate sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ValidateRequired(0)
  FUNCTION = 0
END FUNCTION


JSON_ValidationMessage - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ValidationMessage

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ValidationMessage(h AS LONG, optional schema AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Validate | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ValidationMessage ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Validate. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Validate sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ValidationMessage(0)
  FUNCTION = 0
END FUNCTION


JSON_VerifyDocument - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_VerifyDocument

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_VerifyDocument(h AS LONG, key AS STRING, signature AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: JSON.Crypto | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_VerifyDocument ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Crypto. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Crypto sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_VerifyDocument(0)
  FUNCTION = 0
END FUNCTION


JSON_ZipArrays - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSON_ZipArrays

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: JSON

Syntax

FUNCTION JSON_ZipArrays(h AS LONG, optional options AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: JSON.Transform | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

JSON_ZipArrays ist ein normaler, unterstrichener BASIC-Befehl der Familie JSON.Transform. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Dokumentwurzel muss ein Objekt aus Arrays sein. Jede Ergebniszeile ist ein Objekt mit den Quellnamen als Schluesseln. Fehlende Zellen kuerzerer Arrays werden als JSON-null ausgegeben.

Quelle und MCP-Abbildung

Quellabbildung: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP-Aequivalent: local JSON adapter / W_JSON public family

Nebenwirkung: document. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie JSON.Transform sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ZipArrays(0)
  FUNCTION = 0
END FUNCTION


JSONFREE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONFREE

Release a JSON handle.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

status = JSONFREE(handle)

Beschreibung

Release a JSON handle.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer status (non-zero on success).

Description

Frees the memory associated with a JSON handle created by JSONNEW or JSONPARSE. After freeing, the handle must not be used again.

Parameters

Name | Type | Description
handle | Long | JSON handle to free.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Beschreibung

JSONFREE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONFREE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
h = JSONNEW(5)
JSONSETINT h, "x", 1
PRINT JSONSTRINGIFY$(h, 0)  ' {"x":1}
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONNEW
  • JSONPARSE
  • Hilfe zum PBXB64-Compiler


JSONGETBOOL - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONGETBOOL

Read a boolean value from a JSON object or array.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

value = JSONGETBOOL(handle, path$)

Beschreibung

Read a boolean value from a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer 1 for true, 0 for false or missing/non-boolean.

Description

Retrieves the boolean value at path$. JSON true returns 1 and false returns 0.

Parameters

Name | Type | Description
handle | Long | JSON handle.
path$ | String | Key name or array index.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Expected output

Output: 1 then 0

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONGETBOOL gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONGETBOOL gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
LOCAL txt$, ok AS LONG, q AS STRING
q = CHR$(34)
txt$ = "{" + q + "active" + q + ":true," + q + "deleted" + q + ":false}"
h = JSONPARSE(txt$)
IF h = 0 THEN FUNCTION = 1
ok = JSONGETBOOL(h, "active")
IF ok <> 1 THEN FUNCTION = 2    ' true returns 1
ok = JSONGETBOOL(h, "deleted")
IF ok <> 0 THEN FUNCTION = 3    ' false returns 0
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONGETINT
  • JSONGETSTR
  • Hilfe zum PBXB64-Compiler


JSONGETFLOAT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONGETFLOAT

Read a floating-point value from a JSON object or array.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

value## = JSONGETFLOAT(handle, path$)

Beschreibung

Read a floating-point value from a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Double-precision floating-point value, or 0.0 if the path is missing or not a number.

Description

Retrieves the numeric value at path$ as a DOUBLE. Integer values are returned as floating-point.

Parameters

Name | Type | Description
handle | Long | JSON handle.
path$ | String | Key name or array index.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Expected output

Output: 3.14159

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONGETFLOAT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONGETFLOAT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
LOCAL txt$, q AS STRING
LOCAL pi AS DOUBLE
q = CHR$(34)
txt$ = "{" + q + "pi" + q + ":3.14159}"
h = JSONPARSE(txt$)
IF h = 0 THEN FUNCTION = 1
pi = JSONGETFLOAT(h, "pi")
IF pi < 3.14 OR pi > 3.15 THEN FUNCTION = 2
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONGETINT
  • JSONSETSTRING
  • Hilfe zum PBXB64-Compiler


JSONGETINT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONGETINT

Read an integer value from a JSON object or array.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

value = JSONGETINT(handle, path$)

Beschreibung

Read an integer value from a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer value, or 0 if the path is missing or not a number.

Description

Retrieves the integer stored at path$. Floating-point values are truncated to integer.

Parameters

Name | Type | Description
handle | Long | JSON handle.
path$ | String | Key name or array index.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Expected output

Output: 42 then 3

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONGETINT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONGETINT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
LOCAL txt$, v AS LONG, q AS STRING
q = CHR$(34)
txt$ = "{" + q + "x" + q + ":42," + q + "y" + q + ":3.14}"
h = JSONPARSE(txt$)
IF h = 0 THEN FUNCTION = 1
v = JSONGETINT(h, "x")
IF v <> 42 THEN FUNCTION = 2
v = JSONGETINT(h, "y")
IF v <> 3 THEN FUNCTION = 3   ' 3.14 truncated to 3
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONSETINT
  • JSONGETFLOAT
  • JSONGETBOOL
  • Hilfe zum PBXB64-Compiler


JSONGETSTR - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONGETSTR

Read a string value from a JSON object or array.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

value$ = JSONGETSTR(handle, path$)

Beschreibung

Read a string value from a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String value, or empty if the path is missing or not a string.

Description

Retrieves the string stored at path$. JSON escape sequences are decoded into literal characters.

Parameters

Name | Type | Description
handle | Long | JSON handle.
path$ | String | Key name or array index.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Expected output

Output: PBXB64

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONGETSTR gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONGETSTR gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
LOCAL txt$, name$, q AS STRING
q = CHR$(34)
txt$ = "{" + q + "name" + q + ":" + q + "PBXB64" + q + "}"
h = JSONPARSE(txt$)
IF h = 0 THEN FUNCTION = 1
name$ = JSONGETSTR(h, "name")
IF name$ <> "PBXB64" THEN FUNCTION = 2
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONSETSTRING
  • JSONGETINT
  • JSONPARSE
  • Hilfe zum PBXB64-Compiler


JSONNEW - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONNEW

Create a new JSON value handle.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

handle = JSONNEW(type)

Beschreibung

Create a new JSON value handle.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer handle to the newly created JSON value.

Description

Allocates a JSON value. Pass 5 to create an empty object or 6 to create an empty array. The handle must later be released with JSONFREE.

Parameters

Name | Type | Description
type | Long | 5 = object, 6 = array.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Beschreibung

JSONNEW gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONNEW gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL hObj, hArr AS LONG
hObj = JSONNEW(5)  ' object
hArr = JSONNEW(6)  ' array
JSONFREE hObj
JSONFREE hArr

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONFREE
  • JSONPARSE
  • JSONSETINT
  • Hilfe zum PBXB64-Compiler


JSONPARSE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONPARSE

Parse a JSON text string into a handle.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

handle = JSONPARSE(jsonText$)

Beschreibung

Parse a JSON text string into a handle.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer handle to the parsed JSON value, or 0 on parse failure.

Description

Parses a JSON document supplied as a string and returns a handle. The returned handle must be freed with JSONFREE.

Parameters

Name | Type | Description
jsonText$ | String | Valid JSON text.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Expected output

Output: PBXB64

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONPARSE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONPARSE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
LOCAL txt$
LOCAL q AS STRING
q = CHR$(34)   ' double-quote character
txt$ = "{" + q + "name" + q + ":" + q + "PBXB64" + q + "," + q + "version" + q + ":10}"
h = JSONPARSE(txt$)
IF h = 0 THEN FUNCTION = 1
IF JSONGETSTR(h, "name") <> "PBXB64" THEN FUNCTION = 2
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONSTRINGIFY$
  • JSONFREE
  • Hilfe zum PBXB64-Compiler


JSONREMOVE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONREMOVE

Remove a key from a JSON object or an element from a JSON array.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

status = JSONREMOVE(handle, path$)

Beschreibung

Remove a key from a JSON object or an element from a JSON array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer: 0 on success, -1 on failure (bad handle or path).

Description

Deletes the member at path$. For objects this removes the named key; for arrays it removes the element at the given index.

Parameters

Name | Type | Description
handle | Long | JSON object or array handle.
path$ | String | Key name or array index.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Beschreibung

JSONREMOVE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONREMOVE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
h = JSONNEW(5)
JSONSETINT h, "a", 1
JSONSETINT h, "b", 2
JSONREMOVE h, "a"
PRINT JSONSTRINGIFY$(h, 0)  ' {"b":2}
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONSETINT
  • JSONSETSTRING
  • Hilfe zum PBXB64-Compiler


JSONSETBOOL - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONSETBOOL

Set a boolean value in a JSON object or array.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

status = JSONSETBOOL(handle, path$, value)

Beschreibung

Set a boolean value in a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer: 0 on success, -1 on failure (bad handle or path).

Description

Stores a boolean at the specified path. value is treated as true if nonzero, false if zero. For objects, path$ is a key name; for arrays, a numeric index such as "0".

Parameters

Name | Type | Description
handle | Long | JSON object or array handle.
path$ | String | Key name or array index.
value | Long | 0 = false, nonzero = true.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Beschreibung

JSONSETBOOL gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONSETBOOL gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
LOCAL st AS LONG
h = JSONNEW(5)
st = JSONSETBOOL(h, "active", 1)
IF st <> 0 THEN FUNCTION = 1
IF JSONGETBOOL(h, "active") <> 1 THEN FUNCTION = 2   ' true is returned as 1
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONSETINT
  • JSONSETSTRING
  • JSONSETFLOAT
  • JSONSETNULL
  • JSONGETBOOL
  • Hilfe zum PBXB64-Compiler


JSONSETFLOAT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONSETFLOAT

Set a floating-point value in a JSON object or array.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

status = JSONSETFLOAT(handle, path$, value#)

Beschreibung

Set a floating-point value in a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer: 0 on success, -1 on failure (bad handle or path).

Description

Stores a double-precision floating-point value at the specified path. For objects, path$ is a key name; for arrays, a numeric index such as "0".

Parameters

Name | Type | Description
handle | Long | JSON object or array handle.
path$ | String | Key name or array index.
value# | Double | Floating-point value to store.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Beschreibung

JSONSETFLOAT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONSETFLOAT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
LOCAL pf AS DOUBLE
h = JSONNEW(5)
IF JSONSETFLOAT(h, "pi", 3.14159) <> 0 THEN FUNCTION = 1
pf = JSONGETFLOAT(h, "pi")
IF pf < 3.14 OR pf > 3.15 THEN FUNCTION = 2
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONSETINT
  • JSONSETSTRING
  • JSONSETBOOL
  • JSONSETNULL
  • JSONGETFLOAT
  • Hilfe zum PBXB64-Compiler


JSONSETINT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONSETINT

Set an integer value in a JSON object or array.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

status = JSONSETINT(handle, path$, value)

Beschreibung

Set an integer value in a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer: 0 on success, -1 on failure (bad handle or path).

Description

Stores an integer at the specified path. For objects, path$ is a key name. For arrays, path$ is a numeric index such as "0".

Parameters

Name | Type | Description
handle | Long | JSON object or array handle.
path$ | String | Key name or array index.
value | Long/Quad | Integer to store.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Beschreibung

JSONSETINT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONSETINT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
h = JSONNEW(5)
JSONSETINT h, "answer", 42
JSONSETINT h, "count", 7
PRINT JSONSTRINGIFY$(h, 0)  ' {"answer":42,"count":7}
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONSETSTRING
  • JSONGETINT
  • JSONREMOVE
  • Hilfe zum PBXB64-Compiler


JSONSETNULL - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONSETNULL

Set a JSON null in a JSON object or array.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

status = JSONSETNULL(handle, path$)

Beschreibung

Set a JSON null in a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer: 0 on success, -1 on failure (bad handle or path).

Description

Stores a JSON null at the specified path. For objects, path$ is a key name; for arrays, a numeric index such as "0".

Parameters

Name | Type | Description
handle | Long | JSON object or array handle.
path$ | String | Key name or array index to set to null.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Beschreibung

JSONSETNULL gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONSETNULL gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
LOCAL s$
h = JSONNEW(5)
IF JSONSETNULL(h, "deleted") <> 0 THEN FUNCTION = 1
s$ = JSONSTRINGIFY$(h, 0)
IF INSTR(s$, "null") = 0 THEN FUNCTION = 2
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONSETINT
  • JSONSETSTRING
  • JSONSETBOOL
  • JSONSETFLOAT
  • JSONREMOVE
  • Hilfe zum PBXB64-Compiler


JSONSETSTRING - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONSETSTRING

Set a string value in a JSON object or array.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

status = JSONSETSTRING(handle, path$, value$)

Beschreibung

Set a string value in a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer: 0 on success, -1 on failure (bad handle or path).

Description

Stores a string at the specified path. The string is automatically JSON-escaped when the value is serialized.

Parameters

Name | Type | Description
handle | Long | JSON object or array handle.
path$ | String | Key name or array index.
value$ | String | String to store.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Beschreibung

JSONSETSTRING gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONSETSTRING gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
h = JSONNEW(5)
JSONSETSTRING h, "name", "PBXB64"
JSONSETSTRING h, "line", "Hello World"
PRINT JSONSTRINGIFY$(h, 0)   ' contains name and line keys
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONSETINT
  • JSONGETSTR
  • ESCAPE$
  • Hilfe zum PBXB64-Compiler


JSONSTRINGIFY$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONSTRINGIFY$

Serialize a JSON handle to a string.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

text$ = JSONSTRINGIFY$(handle, pretty)

Beschreibung

Serialize a JSON handle to a string.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the JSON text.

Description

Converts a JSON handle back to text. Pass 0 for compact output or a non-zero value for pretty-printed output with indentation and line breaks.

Parameters

Name | Type | Description
handle | Long | JSON handle.
pretty | Long | 0 = compact, non-zero = pretty-printed.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Expected output

Output: {"name":"PBXB64","version":10}

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONSTRINGIFY$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONSTRINGIFY$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
LOCAL txt$
h = JSONNEW(5)
JSONSETSTRING h, "name", "PBXB64"
JSONSETINT h, "version", 10
txt$ = JSONSTRINGIFY$(h, 0)
PRINT txt$  ' {"name":"PBXB64","version":10}
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONPARSE
  • JSONNEW
  • Hilfe zum PBXB64-Compiler


JSONTYPE$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › JSON Hilfe zum PBXB64-Compiler

JSONTYPE$

Return the type name of a JSON value.

Kategorie: JSON | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

type$ = JSONTYPE$(handle)

Beschreibung

Return the type name of a JSON value.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing one of: null, bool, int, float, string, array, object.

Description

Inspects the JSON value referenced by handle and returns its type as a lowercase string.

Parameters

Name | Type | Description
handle | Long | JSON handle.

Error Handling

JSON functions return 0, an empty string, or -1 status values for bad handles, parse failures, missing paths, or type mismatches. Always free handles returned by JSONNEW or JSONPARSE with JSONFREE.

Expected output

Output: object

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONTYPE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONTYPE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h AS LONG
h = JSONNEW(5)
PRINT JSONTYPE$(h)  ' object
JSONFREE h

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • JSONNEW
  • JSONPARSE
  • Hilfe zum PBXB64-Compiler


URL & Kodierung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

URL & Kodierung

Themen in diesem Kapitel

BASE64$ BASE64URLSAFE$ ESCAPE$ HEX$ UNBASE64$ UNESCAPE$ UNHEX$ URLDECODE$ URLENCODE$ URLHOST$ URLPATH$ URLPORT URLQUERY$


BASE64$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

BASE64$

Encode a string using standard Base64 (RFC 4648).

Kategorie: URL & Kodierung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = BASE64$(input$)

Beschreibung

Encode a string using standard Base64 (RFC 4648).

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the Base64-encoded representation of input$.

Description

Converts the input string into a standard Base64 ASCII string. The output uses the A-Za-z0-9+/ alphabet and appends = padding when required.

Parameters

Name | Type | Description
input$ | String | Data to encode.

Error Handling

Encoding and decoding functions return strings. Invalid or incomplete input is handled deterministically by the specific decoder; validate decoded length and content when processing untrusted data.

Expected output

Output: SGVsbG8sIFdvcmxkIQ==

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

BASE64$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

BASE64$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL s$, enc$
s$ = "Hello, World!"
enc$ = BASE64$(s$)
PRINT enc$  ' SGVsbG8sIFdvcmxkIQ==

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • BASE64URLSAFE$
  • UNBASE64$
  • HEX$
  • Hilfe zum PBXB64-Compiler


BASE64URLSAFE$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

BASE64URLSAFE$

Encode a string using URL- and filename-safe Base64.

Kategorie: URL & Kodierung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = BASE64URLSAFE$(input$)

Beschreibung

Encode a string using URL- and filename-safe Base64.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the URL-safe Base64 representation.

Description

Same as BASE64$ but replaces + with - and / with _, and omits padding characters. Suitable for embedding in URLs and query parameters.

Parameters

Name | Type | Description
input$ | String | Data to encode.

Error Handling

Encoding and decoding functions return strings. Invalid or incomplete input is handled deterministically by the specific decoder; validate decoded length and content when processing untrusted data.

Beschreibung

BASE64URLSAFE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

BASE64URLSAFE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL s$, enc$
s$ = "Hello? World<>"
enc$ = BASE64URLSAFE$(s$)
PRINT enc$

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • BASE64$
  • UNBASE64$
  • URLENCODE$
  • Hilfe zum PBXB64-Compiler


ESCAPE$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

ESCAPE$

JSON-escape a string.

Kategorie: URL & Kodierung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = ESCAPE$(input$)

Beschreibung

JSON-escape a string.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String with JSON special characters escaped.

Description

Escapes the characters required by JSON strings: double quote becomes \", backslash becomes \\, and control characters become \n, \r, \t, etc.

Parameters

Name | Type | Description
input$ | String | String to escape.

Error Handling

Encoding and decoding functions return strings. Invalid or incomplete input is handled deterministically by the specific decoder; validate decoded length and content when processing untrusted data.

Beschreibung

ESCAPE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

ESCAPE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL s$, esc$
s$ = "Line1" + $LF + "Line2"
esc$ = ESCAPE$(s$)
PRINT esc$   ' Line1\nLine2  (newline escaped)

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • UNESCAPE$
  • JSONSETSTRING
  • Hilfe zum PBXB64-Compiler


HEX$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

HEX$

Encode a string as lowercase hexadecimal.

Kategorie: URL & Kodierung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = HEX$(input$)

Beschreibung

Encode a string as lowercase hexadecimal.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing two lowercase hex digits for each input byte.

Description

Performs a byte-by-byte hex encoding. The result length is always twice the input length and uses the characters 0-9a-f.

Parameters

Name | Type | Description
input$ | String | Data to encode.

Error Handling

Encoding and decoding functions return strings. Invalid or incomplete input is handled deterministically by the specific decoder; validate decoded length and content when processing untrusted data.

Expected output

Output: 414243

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

HEX$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HEX$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL s$, h$
s$ = "ABC"
h$ = HEX$(s$)
PRINT h$  ' 414243

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • UNHEX$
  • BASE64$
  • Hilfe zum PBXB64-Compiler


UNBASE64$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

UNBASE64$

Decode a Base64-encoded string.

Kategorie: URL & Kodierung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = UNBASE64$(base64$)

Beschreibung

Decode a Base64-encoded string.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the decoded bytes.

Description

Reverses BASE64$ and BASE64URLSAFE$. Both standard and URL-safe alphabets are accepted. Padding is optional. Invalid characters are ignored.

Parameters

Name | Type | Description
base64$ | String | Base64 text to decode.

Error Handling

Encoding and decoding functions return strings. Invalid or incomplete input is handled deterministically by the specific decoder; validate decoded length and content when processing untrusted data.

Expected output

Output: Hello, World!

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

UNBASE64$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

UNBASE64$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL enc$, dec$
enc$ = "SGVsbG8sIFdvcmxkIQ=="
dec$ = UNBASE64$(enc$)
PRINT dec$  ' Hello, World!

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • BASE64$
  • BASE64URLSAFE$
  • Hilfe zum PBXB64-Compiler


UNESCAPE$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

UNESCAPE$

Remove JSON escape sequences from a string.

Kategorie: URL & Kodierung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = UNESCAPE$(input$)

Beschreibung

Remove JSON escape sequences from a string.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String with JSON escape sequences converted back to literal characters.

Description

Reverses ESCAPE$. Recognises \", \\, \/, \b, \f, \n, \r, \t, and \uHHHH.

Parameters

Name | Type | Description
input$ | String | JSON-escaped string.

Error Handling

Encoding and decoding functions return strings. Invalid or incomplete input is handled deterministically by the specific decoder; validate decoded length and content when processing untrusted data.

Beschreibung

UNESCAPE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

UNESCAPE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL esc$, s$
esc$ = "Tab" + CHR$(92) + "tHere"   ' builds the literal: Tab\tHere
s$ = UNESCAPE$(esc$)
PRINT s$   ' Tab<TAB>Here

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • ESCAPE$
  • URLDECODE$
  • Hilfe zum PBXB64-Compiler


UNHEX$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

UNHEX$

Decode a hexadecimal string.

Kategorie: URL & Kodierung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = UNHEX$(hex$)

Beschreibung

Decode a hexadecimal string.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the raw bytes represented by the hex text.

Description

Converts pairs of hex digits back into bytes. Both uppercase and lowercase hex are accepted. Whitespace and non-hex characters are ignored.

Parameters

Name | Type | Description
hex$ | String | Hex text to decode.

Error Handling

Encoding and decoding functions return strings. Invalid or incomplete input is handled deterministically by the specific decoder; validate decoded length and content when processing untrusted data.

Expected output

Output: Hello

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

UNHEX$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

UNHEX$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h$, s$
h$ = "48 65 6C 6C 6F"
s$ = UNHEX$(h$)
PRINT s$  ' Hello

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • HEX$
  • BASE64$
  • Hilfe zum PBXB64-Compiler


URLDECODE$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

URLDECODE$

Percent-decode a URL-encoded string.

Kategorie: URL & Kodierung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = URLDECODE$(input$)

Beschreibung

Percent-decode a URL-encoded string.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String with percent escapes replaced by their original characters.

Description

Reverses URLENCODE$. Any sequence of the form %HH is converted back to the corresponding byte. Plus signs (+) are left as-is.

Parameters

Name | Type | Description
input$ | String | URL-encoded string.

Error Handling

Encoding and decoding functions return strings. Invalid or incomplete input is handled deterministically by the specific decoder; validate decoded length and content when processing untrusted data.

Expected output

Output: a b=c

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

URLDECODE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

URLDECODE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL enc$, dec$
enc$ = "a%20b%3Dc"
dec$ = URLDECODE$(enc$)
PRINT dec$  ' a b=c

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • URLENCODE$
  • UNESCAPE$
  • Hilfe zum PBXB64-Compiler


URLENCODE$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

URLENCODE$

Percent-encode a string for use in a URL.

Kategorie: URL & Kodierung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = URLENCODE$(input$)

Beschreibung

Percent-encode a string for use in a URL.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String with unsafe characters replaced by %HH escape sequences.

Description

Encodes characters that are not unreserved URL characters (alphanumerics, hyphen, underscore, period, tilde) as percent-encoded bytes using uppercase hex digits.

Parameters

Name | Type | Description
input$ | String | String to encode.

Error Handling

Encoding and decoding functions return strings. Invalid or incomplete input is handled deterministically by the specific decoder; validate decoded length and content when processing untrusted data.

Expected output

Output: a%20b%3Dc%26d%3F

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

URLENCODE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

URLENCODE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL s$, enc$
s$ = "a b=c&d?"
enc$ = URLENCODE$(s$)
PRINT enc$  ' a%20b%3Dc%26d%3F

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • URLDECODE$
  • BASE64URLSAFE$
  • Hilfe zum PBXB64-Compiler


URLHOST$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

URLHOST$

Extract the host component from a URL.

Kategorie: URL & Kodierung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = URLHOST$(url$)

Beschreibung

Extract the host component from a URL.

Kind: Function | Category: Web & Network > URL Parsing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the host, or empty if no host is present.

Description

Parses a URL and returns the host portion. For http://example.com:8080/path the result is example.com.

Parameters

Name | Type | Description
url$ | String | URL to parse.

Error Handling

URL helper functions return an empty string or 0 when the requested component is absent. They do not validate that a remote host exists.

Expected output

Output: www.example.com

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

URLHOST$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

URLHOST$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL url$, host$
url$ = "https://www.example.com:8080/path?x=1"
host$ = URLHOST$(url$)
PRINT host$  ' www.example.com

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • URLPATH$
  • URLQUERY$
  • URLPORT
  • Hilfe zum PBXB64-Compiler


URLPATH$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

URLPATH$

Extract the path component from a URL.

Kategorie: URL & Kodierung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = URLPATH$(url$)

Beschreibung

Extract the path component from a URL.

Kind: Function | Category: Web & Network > URL Parsing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the path, including the leading slash.

Description

Parses a URL and returns the path. For http://example.com:8080/api/v1?x=1 the result is /api/v1.

Parameters

Name | Type | Description
url$ | String | URL to parse.

Error Handling

URL helper functions return an empty string or 0 when the requested component is absent. They do not validate that a remote host exists.

Expected output

Output: /v1/users

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

URLPATH$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

URLPATH$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL url$, path$
url$ = "https://api.example.com/v1/users?id=42"
path$ = URLPATH$(url$)
PRINT path$  ' /v1/users

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • URLHOST$
  • URLQUERY$
  • URLPORT
  • Hilfe zum PBXB64-Compiler


URLPORT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

URLPORT

Extract the port number from a URL.

Kategorie: URL & Kodierung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result = URLPORT(url$)

Beschreibung

Extract the port number from a URL.

Kind: Function | Category: Web & Network > URL Parsing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer port number, or 0 if no explicit port is present.

Description

Parses a URL and returns the explicit port. For http://example.com:8080/path the result is 8080. If no port is specified, returns 0.

Parameters

Name | Type | Description
url$ | String | URL to parse.

Error Handling

URL helper functions return an empty string or 0 when the requested component is absent. They do not validate that a remote host exists.

Expected output

Output: 8443

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

URLPORT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

URLPORT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL url$, p AS LONG
url$ = "https://example.com:8443/secure"
p = URLPORT(url$)
PRINT p  ' 8443

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • URLHOST$
  • URLPATH$
  • URLQUERY$
  • Hilfe zum PBXB64-Compiler


URLQUERY$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › URL & Kodierung Hilfe zum PBXB64-Compiler

URLQUERY$

Extract the query string from a URL.

Kategorie: URL & Kodierung | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = URLQUERY$(url$)

Beschreibung

Extract the query string from a URL.

Kind: Function | Category: Web & Network > URL Parsing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the query string without the leading ?, or empty if none.

Description

Parses a URL and returns the query portion. For http://example.com/path?x=1&y=2 the result is x=1&y=2.

Parameters

Name | Type | Description
url$ | String | URL to parse.

Error Handling

URL helper functions return an empty string or 0 when the requested component is absent. They do not validate that a remote host exists.

Expected output

Output: q=PBXB64&lang=en

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

URLQUERY$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

URLQUERY$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL url$, q$
url$ = "https://example.com/search?q=PBXB64&lang=en"
q$ = URLQUERY$(url$)
PRINT q$  ' q=PBXB64&lang=en

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • URLHOST$
  • URLPATH$
  • URLPORT
  • Hilfe zum PBXB64-Compiler


Hashing & HMAC - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › Hashing & HMAC Hilfe zum PBXB64-Compiler

Hashing & HMAC

Themen in diesem Kapitel

HMACSHA256$ HMACSHA512$ MD5$ SHA1$ SHA256$ SHA512$


HMACSHA256$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › Hashing & HMAC Hilfe zum PBXB64-Compiler

HMACSHA256$

Compute an HMAC-SHA256 authentication code.

Kategorie: Hashing & HMAC | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = HMACSHA256$(key$, data$)

Beschreibung

Compute an HMAC-SHA256 authentication code.

Kind: Function | Category: Web & Network > Hashing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing a 64-character lowercase hex HMAC.

Description

Computes HMAC-SHA256 using key$ and data$, returning a 64-character lowercase hexadecimal authentication code.

Parameters

Name | Type | Description
key$ | String | Secret key.
data$ | String | Message to authenticate.

Error Handling

Hash and HMAC functions return fixed-length lowercase hexadecimal strings. Empty input is valid. Validate the returned string length when using the digest in protocols or file formats.

Expected output

Output: 5031fe3d989c6d1537a013fa6e739da23463fdaec3b70137d828e36ace221bd0

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

HMACSHA256$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HMACSHA256$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer hashing-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input bytes, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h$
h$ = HMACSHA256$("secret", "message")
PRINT h$  ' 64 hex chars

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • SHA256$
  • HMACSHA512$
  • Hilfe zum PBXB64-Compiler


HMACSHA512$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › Hashing & HMAC Hilfe zum PBXB64-Compiler

HMACSHA512$

Compute an HMAC-SHA512 authentication code.

Kategorie: Hashing & HMAC | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = HMACSHA512$(key$, data$)

Beschreibung

Compute an HMAC-SHA512 authentication code.

Kind: Function | Category: Web & Network > Hashing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing a 128-character lowercase hex HMAC.

Description

Computes HMAC-SHA512 using key$ and data$, returning a 128-character lowercase hexadecimal authentication code.

Parameters

Name | Type | Description
key$ | String | Secret key.
data$ | String | Message to authenticate.

Error Handling

Hash and HMAC functions return fixed-length lowercase hexadecimal strings. Empty input is valid. Validate the returned string length when using the digest in protocols or file formats.

Expected output

Output: 3c5953a18f7303ec653ba170ae334fafa08e3846f2efe317b87efce82376253cb52a8c31ddcde5a3a2eee183c2b34cb91f85e64ddbc325f7692b199473579c58

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

HMACSHA512$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HMACSHA512$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer hashing-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input bytes, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h$
h$ = HMACSHA512$("secret", "message")
PRINT h$  ' 128 hex chars

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • SHA512$
  • HMACSHA256$
  • Hilfe zum PBXB64-Compiler


MD5$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › Hashing & HMAC Hilfe zum PBXB64-Compiler

MD5$

Compute an MD5 digest of a string.

Kategorie: Hashing & HMAC | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = MD5$(input$)

Beschreibung

Compute an MD5 digest of a string.

Kind: Function | Category: Web & Network > Hashing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing a 32-character lowercase hex digest.

Description

Returns the MD5 message digest of input$ as a 32-character lowercase hexadecimal string. The digest is computed over the byte contents of the BASIC string.

Parameters

Name | Type | Description
input$ | String | Data to hash.

Error Handling

Hash and HMAC functions return fixed-length lowercase hexadecimal strings. Empty input is valid. Validate the returned string length when using the digest in protocols or file formats.

Expected output

Output: 900150983cd24fb0d6963f7d28e17f72

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

MD5$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

MD5$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer hashing-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input bytes, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h$
h$ = MD5$("abc")
PRINT h$  ' 32 hex chars

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • SHA1$
  • SHA256$
  • SHA512$
  • Hilfe zum PBXB64-Compiler


SHA1$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › Hashing & HMAC Hilfe zum PBXB64-Compiler

SHA1$

Compute a SHA-1 digest of a string.

Kategorie: Hashing & HMAC | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = SHA1$(input$)

Beschreibung

Compute a SHA-1 digest of a string.

Kind: Function | Category: Web & Network > Hashing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing a 40-character lowercase hex digest.

Description

Returns the SHA-1 message digest of input$ as a 40-character lowercase hexadecimal string. The digest is computed over the byte contents of the BASIC string.

Parameters

Name | Type | Description
input$ | String | Data to hash.

Error Handling

Hash and HMAC functions return fixed-length lowercase hexadecimal strings. Empty input is valid. Validate the returned string length when using the digest in protocols or file formats.

Expected output

Output: a9993e364706816aba3e25717850c26c9cd0d89d

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

SHA1$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

SHA1$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer hashing-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input bytes, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h$
h$ = SHA1$("abc")
PRINT h$  ' 40 hex chars

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • MD5$
  • SHA256$
  • Hilfe zum PBXB64-Compiler


SHA256$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › Hashing & HMAC Hilfe zum PBXB64-Compiler

SHA256$

Compute a SHA-256 digest of a string.

Kategorie: Hashing & HMAC | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = SHA256$(input$)

Beschreibung

Compute a SHA-256 digest of a string.

Kind: Function | Category: Web & Network > Hashing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing a 64-character lowercase hex digest.

Description

Returns the SHA-256 message digest of input$ as a 64-character lowercase hexadecimal string. The digest is computed over the byte contents of the BASIC string.

Parameters

Name | Type | Description
input$ | String | Data to hash.

Error Handling

Hash and HMAC functions return fixed-length lowercase hexadecimal strings. Empty input is valid. Validate the returned string length when using the digest in protocols or file formats.

Expected output

Output: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

SHA256$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

SHA256$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer hashing-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input bytes, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h$
h$ = SHA256$("abc")
PRINT h$  ' 64 hex chars

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • SHA1$
  • SHA512$
  • HMACSHA256$
  • Hilfe zum PBXB64-Compiler


SHA512$ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Web APIs › Hashing & HMAC Hilfe zum PBXB64-Compiler

SHA512$

Compute a SHA-512 digest of a string.

Kategorie: Hashing & HMAC | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result$ = SHA512$(input$)

Beschreibung

Compute a SHA-512 digest of a string.

Kind: Function | Category: Web & Network > Hashing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing a 128-character lowercase hex digest.

Description

Returns the SHA-512 message digest of input$ as a 128-character lowercase hexadecimal string. The digest is computed over the byte contents of the BASIC string.

Parameters

Name | Type | Description
input$ | String | Data to hash.

Error Handling

Hash and HMAC functions return fixed-length lowercase hexadecimal strings. Empty input is valid. Validate the returned string length when using the digest in protocols or file formats.

Expected output

Output: ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

SHA512$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

SHA512$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer hashing-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input bytes, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

LOCAL h$
h$ = SHA512$("abc")
PRINT h$  ' 128 hex chars

Siehe auch

  • WEB-Erweiterungen " PBXB64-Compiler-Hilfe
  • SHA256$
  • HMACSHA512$
  • Hilfe zum PBXB64-Compiler


Netzwerk (TCP/UDP/FTP) - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Netzwerk (TCP/UDP/FTP) Hilfe zum PBXB64-Compiler

Netzwerk (TCP/UDP/FTP)

Themen in diesem Kapitel

Net_FtpExists Net_FtpLastAction Net_FtpMkdir Net_FtpRename Net_SftpDelete Net_SftpDownload Net_SftpList Net_SftpUpload


Net_FtpExists - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Netzwerk (TCP/UDP/FTP) Hilfe zum PBXB64-Compiler

Net_FtpExists

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Netzwerk (TCP/UDP/FTP)

Syntax

FUNCTION Net_FtpExists(handle AS LONG, path AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Net_FtpExists ist ein normaler, unterstrichener BASIC-Befehl der Familie Net. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FTP/SFTP source modules: provider handle and action boundary

MCP-Aequivalent: local provider descriptor; no external request

Nebenwirkung: provider. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Net sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Net_FtpExists(0)
  FUNCTION = 0
END FUNCTION


Net_FtpLastAction - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Netzwerk (TCP/UDP/FTP) Hilfe zum PBXB64-Compiler

Net_FtpLastAction

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Netzwerk (TCP/UDP/FTP)

Syntax

FUNCTION Net_FtpLastAction(handle AS LONG) AS STRING

Beschreibung

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Net_FtpLastAction ist ein normaler, unterstrichener BASIC-Befehl der Familie Net. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FTP/SFTP source modules: provider handle and action boundary

MCP-Aequivalent: local provider descriptor; no external request

Nebenwirkung: provider. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Net sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Net_FtpLastAction(0)
  FUNCTION = 0
END FUNCTION


Net_FtpMkdir - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Netzwerk (TCP/UDP/FTP) Hilfe zum PBXB64-Compiler

Net_FtpMkdir

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Netzwerk (TCP/UDP/FTP)

Syntax

FUNCTION Net_FtpMkdir(handle AS LONG, path AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Net_FtpMkdir ist ein normaler, unterstrichener BASIC-Befehl der Familie Net. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FTP/SFTP source modules: provider handle and action boundary

MCP-Aequivalent: local provider descriptor; no external request

Nebenwirkung: provider. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Net sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Net_FtpMkdir(0)
  FUNCTION = 0
END FUNCTION


Net_FtpRename - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Netzwerk (TCP/UDP/FTP) Hilfe zum PBXB64-Compiler

Net_FtpRename

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Netzwerk (TCP/UDP/FTP)

Syntax

FUNCTION Net_FtpRename(handle AS LONG, path AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Net_FtpRename ist ein normaler, unterstrichener BASIC-Befehl der Familie Net. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FTP/SFTP source modules: provider handle and action boundary

MCP-Aequivalent: local provider descriptor; no external request

Nebenwirkung: provider. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Net sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Net_FtpRename(0)
  FUNCTION = 0
END FUNCTION


Net_SftpDelete - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Netzwerk (TCP/UDP/FTP) Hilfe zum PBXB64-Compiler

Net_SftpDelete

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Netzwerk (TCP/UDP/FTP)

Syntax

FUNCTION Net_SftpDelete(handle AS LONG, path AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Net_SftpDelete ist ein normaler, unterstrichener BASIC-Befehl der Familie Net. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FTP/SFTP source modules: provider handle and action boundary

MCP-Aequivalent: local provider descriptor; no external request

Nebenwirkung: provider. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Net sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Net_SftpDelete(0)
  FUNCTION = 0
END FUNCTION


Net_SftpDownload - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Netzwerk (TCP/UDP/FTP) Hilfe zum PBXB64-Compiler

Net_SftpDownload

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Netzwerk (TCP/UDP/FTP)

Syntax

FUNCTION Net_SftpDownload(handle AS LONG, path AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Net_SftpDownload ist ein normaler, unterstrichener BASIC-Befehl der Familie Net. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FTP/SFTP source modules: provider handle and action boundary

MCP-Aequivalent: local provider descriptor; no external request

Nebenwirkung: provider. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Net sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Net_SftpDownload(0)
  FUNCTION = 0
END FUNCTION


Net_SftpList - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Netzwerk (TCP/UDP/FTP) Hilfe zum PBXB64-Compiler

Net_SftpList

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Netzwerk (TCP/UDP/FTP)

Syntax

FUNCTION Net_SftpList(handle AS LONG, optional path AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Net_SftpList ist ein normaler, unterstrichener BASIC-Befehl der Familie Net. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FTP/SFTP source modules: provider handle and action boundary

MCP-Aequivalent: local provider descriptor; no external request

Nebenwirkung: provider. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Net sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Net_SftpList(0)
  FUNCTION = 0
END FUNCTION


Net_SftpUpload - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Netzwerk (TCP/UDP/FTP) Hilfe zum PBXB64-Compiler

Net_SftpUpload

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Netzwerk (TCP/UDP/FTP)

Syntax

FUNCTION Net_SftpUpload(handle AS LONG, path AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: Net | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Net_SftpUpload ist ein normaler, unterstrichener BASIC-Befehl der Familie Net. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FTP/SFTP source modules: provider handle and action boundary

MCP-Aequivalent: local provider descriptor; no external request

Nebenwirkung: provider. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Net sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Net_SftpUpload(0)
  FUNCTION = 0
END FUNCTION


MCP / JSON-Adapter - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP / JSON-Adapter

Themen in diesem Kapitel

MCP_CatalogCount MCP_CatalogGet MCP_CatalogHas MCP_CatalogList MCP_CatalogNames MCP_CatalogRemoteList MCP_CatalogSearch MCP_CatalogVersion MCP_ErrorObject MCP_InitializeParams MCP_NotificationCancelled MCP_NotificationCreate MCP_NotificationInitialized MCP_NotificationSerialize MCP_PingId MCP_ProgressCreate MCP_ProgressReport MCP_PromptsGet MCP_PromptsList MCP_RemoteCall MCP_RequestId MCP_RequestIsNotification MCP_RequestMethod MCP_RequestParams MCP_ResourcesList MCP_ResourcesRead MCP_ResourcesSchemasList MCP_ResourcesTemplatesList MCP_ResponseCreate MCP_ResponseError MCP_ResponseId MCP_ResponseIsError MCP_ResponseResult MCP_ResponseSerialize MCP_ResultAddJson MCP_ResultAddResource MCP_ResultAddText MCP_ResultContent MCP_ResultData MCP_ResultSetError MCP_SessionCancel MCP_SessionCapabilities MCP_SessionClose MCP_SessionNotifications MCP_SessionNotify MCP_SessionOpen MCP_SessionRequest MCP_SessionState MCP_SessionTransport MCP_TaskCancel MCP_TaskCreate MCP_TaskResult MCP_TaskStatus MCP_TaskTransition MCP_ToolDescription MCP_ToolName MCP_ToolSchema


MCP_CatalogCount - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_CatalogCount

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_CatalogCount() AS LONG

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_CatalogCount ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_CatalogCount(0)
  FUNCTION = 0
END FUNCTION


MCP_CatalogGet - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_CatalogGet

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER LOKALER KATALOG-ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_CatalogGet(request AS STRING, optional params AS STRING) AS STRING

Beschreibung

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER LOKALER KATALOG-ADAPTER

Beschreibung

MCP_CatalogGet liefert einen vollstaendigen Tool-Deskriptor als {"tool":{...}}. Das erste Argument wird ohne Beachtung der Gross-/Kleinschreibung gegen name verglichen. Das optionale zweite Argument verwendet dieselben Quellenregeln wie MCP_CatalogList.

Rueckgabe

Name, Beschreibung, Eingabeschema und weitere Metadaten bleiben erhalten. Ein unbekannter Name liefert {"tool":null} und wird nicht als vorhandenes Tool ausgegeben.

Verhalten

Die Quelle wird geprueft, Namen werden ohne Beachtung der Gross-/Kleinschreibung verglichen, und der Treffer wird in ein neues Ergebnisobjekt kopiert. Die Quelle wird nicht veraendert.

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_CatalogGet("JSON_Parse", "{}")
  IF INSTR(result, "JSON_Parse") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_CatalogHas - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_CatalogHas

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_CatalogHas(catalog AS STRING, name AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_CatalogHas ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_CatalogHas(0)
  FUNCTION = 0
END FUNCTION


MCP_CatalogList - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_CatalogList

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER LOKALER KATALOG-ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_CatalogList(request AS STRING, params AS STRING) AS STRING

Beschreibung

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER LOKALER KATALOG-ADAPTER

Beschreibung

MCP_CatalogList erzeugt einen MCP-kompatiblen Katalog {"tools":[...]} ohne Punktnotation. Das zweite Argument kann einen JSON-Katalog, einen Dateipfad oder ein leeres Objekt enthalten. Bei leerer Quelle wird zuerst PBXB64_MCP_CATALOG und sonst der lokale Katalog verwendet. Dieser meldet alle ausfuehrbaren Adapter der aktuellen Stufe: JSON-Parse/Serialize, Ping, die gepruefte DataTools-Text-/Tabellenmenge, prozesslokale MemoryTools und lesende SystemTools.

Unterstuetzte Katalogformen

  • Objekt mit tools.
  • MCP-Serve-Snapshot mit categories und je einer tools-Liste.
  • JSON-Array mit Tool-Objekten.

Kategorien werden in eine Tool-Liste zusammengefuehrt. Jedes Tool muss einen nichtleeren Namen besitzen. Beschreibung und Eingabeschema bleiben erhalten.

Die Katalogabfrage ist keine Paritaetszusage fuer die 254 MCP-Serve-Tools. Provider-Tools fehlen bewusst im lokalen Fallback und liefern beim Aufruf einen eindeutigen Provider-Fehler. Seiteneffektbehaftete Namen bleiben hinter der Bestaetigungsgrenze.

Verhalten

Das Ergebnis wird aus geprueften JSON-Knoten neu serialisiert. Die Quelle wird nicht als veraenderbares Laufzeitdokument offengelegt und die Katalogabfrage startet keine Befehlsausfuehrung.

Seiteneffekte und Transport

Die Funktion verarbeitet lokalen Text oder eine lokale Datei. Sie verbindet sich nicht mit dem MCP-Endpunkt und fuehrt kein Tool aus.

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL catalog AS STRING
  catalog = MCP_CatalogList("tools/list", "{}")
  IF INSTR(catalog, "JSON_Parse") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_CatalogNames - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_CatalogNames

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_CatalogNames(optional catalog AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_CatalogNames ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_CatalogNames("{}")
  FUNCTION = 0
END FUNCTION


MCP_CatalogRemoteList - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_CatalogRemoteList

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER REMOTE-KATALOGADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_CatalogRemoteList(endpoint AS STRING) AS STRING

Beschreibung

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER REMOTE-KATALOGADAPTER

Beschreibung

MCP_CatalogRemoteList verbindet sich ausdruecklich mit dem angegebenen MCP-Endpunkt, initialisiert eine Sitzung, ruft tools/list auf und liefert einen lokalen Katalog {"tools":[...]}. Der Gegenpart ist MCP_CatalogList.

Verhalten

Der Befehl oeffnet und schliesst fuer diesen Vorgang eine Sitzung. JSON-RPC-IDs werden geprueft, eine erfolgreiche Antwort mit Tool-Liste wird verlangt, die Tool-Deskriptoren werden kopiert und bei einem Endpunktfehler wird niemals der eingebaute lokale Katalog eingesetzt.

Fehler und Grenzen

  • Ungueltige Endpunkte, fehlgeschlagene Initialisierung, fehlende Sitzungs-Header, Transportfehler, falsche Antworten oder fehlende Tools liefern eine leere Zeichenkette und setzen den Befehlsfehler.
  • Der Adapter unterstuetzt derzeit nur begrenztes HTTP. HTTPS/TLS, SSE, Seitennummerierung und persistenter Katalogcache bleiben offen.
  • Der Endpunkt muss ausdruecklich angegeben werden; lokale Katalogbefehle erzeugen keinen Netzwerkverkehr.

Verwandte Befehle

Verwenden Sie MCP_SessionOpen und MCP_SessionRequest, wenn mehrere Remote-Vorgaenge dieselbe Sitzung nutzen sollen.

Zum Befehlsindex

Beispiel

LOCAL catalog AS STRING
catalog = MCP_CatalogRemoteList("http://127.0.0.1:5555/mcp")
IF INSTR(catalog, "tools") = 0 THEN ' handle the command error


MCP_CatalogSearch - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_CatalogSearch

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER LOKALER KATALOG-ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_CatalogSearch(request AS STRING, optional params AS STRING) AS STRING

Beschreibung

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER LOKALER KATALOG-ADAPTER

Beschreibung

MCP_CatalogSearch liefert {"tools":[...]} fuer Deskriptoren, deren Name oder Beschreibung den Suchtext enthaelt. Der Vergleich ignoriert Gross-/Kleinschreibung. Ein leerer Suchtext liefert alle Tools der gewaehlten Quelle.

Das optionale zweite Argument kann ein JSON-Katalog, ein Dateipfad oder leer sein. Leere Eingabe verwendet PBXB64_MCP_CATALOG oder den lokalen Fallback.

Verhalten

Die Suche prueft Namen und Beschreibungen ohne Beachtung der Gross-/Kleinschreibung und gibt neue Deskriptoren zurueck.

Grenzen

  • Die Suche ist lokal und ohne Seiteneffekt.
  • Beschreibung und Eingabeschema bleiben erhalten.
  • Ein Suchtreffer bedeutet nicht, dass das Tool bereits ausgefuehrt werden kann.
  • Fehlerhafte Kataloge liefern eine leere Tool-Liste und setzen den Laufzeitfehler.

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_CatalogSearch("JSON", "{}")
  IF INSTR(result, "JSON_Parse") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_CatalogVersion - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_CatalogVersion

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_CatalogVersion(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_CatalogVersion ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_CatalogVersion("{}")
  FUNCTION = 0
END FUNCTION


MCP_ErrorObject - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ErrorObject

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ErrorObject(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ErrorObject ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ErrorObject("{}")
  FUNCTION = 0
END FUNCTION


MCP_InitializeParams - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_InitializeParams

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_InitializeParams(optional catalog AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_InitializeParams ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_InitializeParams("{}")
  FUNCTION = 0
END FUNCTION


MCP_NotificationCancelled - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_NotificationCancelled

Art: Funktion | Familie: MCP-Benachrichtigungen | PBXB64-Status: IMPLEMENTIERTER LOKALER VALIDATOR

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_NotificationCancelled(message AS STRING) AS LONG

Beschreibung

Art: Funktion | Familie: MCP-Benachrichtigungen | PBXB64-Status: IMPLEMENTIERTER LOKALER VALIDATOR

Beschreibung

Prueft lokal eine JSON-RPC-Benachrichtigung mit der Methode notifications/cancelled. Die Funktion ist fuer Adapter vorgesehen, die Abbruchnachrichten empfangen oder aufbauen.

Verhalten

Bei einem JSON-Objekt mit genau dieser Methode ist der Rueckgabewert ungleich null. Sonst liefert die Funktion null und setzt einen Befehlsfehler. Es wird keine Abbruchnachricht gesendet.

Fehlerverhalten

Fehlerhaftes JSON, ein fehlendes Methodenfeld oder ein anderer Methodenname werden abgewiesen. Das Argument ist erforderlich und muss ein String sein.

Seiteneffekte und Grenzen

Die Funktion veraendert keine Task-Tabelle und beendet keine Netzwerkanfrage. Ein Transportadapter muss das Ergebnis noch mit seiner Abbruchlogik verbinden.

Verwandte Befehle

Siehe MCP_TaskCancel.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL message AS STRING
  message = "{" + CHR$(34) + "jsonrpc" + CHR$(34) + ":" + CHR$(34) + "2.0" + CHR$(34) + "," + CHR$(34) + "method" + CHR$(34) + ":" + CHR$(34) + "notifications/cancelled" + CHR$(34) + "}"
  FUNCTION = MCP_NotificationCancelled(message) = 0
END FUNCTION


MCP_NotificationCreate - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_NotificationCreate

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_NotificationCreate(method AS STRING, optional value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_NotificationCreate ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_NotificationCreate("{}")
  FUNCTION = 0
END FUNCTION


MCP_NotificationInitialized - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_NotificationInitialized

Art: Funktion | Familie: MCP-Benachrichtigungen | PBXB64-Status: IMPLEMENTIERTER LOKALER VALIDATOR

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_NotificationInitialized(message AS STRING) AS LONG

Beschreibung

Art: Funktion | Familie: MCP-Benachrichtigungen | PBXB64-Status: IMPLEMENTIERTER LOKALER VALIDATOR

Beschreibung

Prueft, ob eine lokale JSON-RPC-Benachrichtigung die MCP-Methode notifications/initialized enthaelt. Damit wird die Handshake-Grenze geprueft, ohne einen Netzwerkclient in die Befehlsregistrierung einzubauen.

Verhalten

Die Funktion liefert ungleich null fuer die erwartete Methode und null fuer ungueltige oder andere Nachrichten. Die Eingabe bleibt im Besitz des Aufrufers; es wird kein Antworttext erzeugt.

Fehlerverhalten

Fehlende Methode, ungueltiges JSON oder ein falscher PB-Typ sind Fehler. Eine Request-ID wird nicht erwartet, weil es sich um eine Benachrichtigung handelt.

Seiteneffekte und Grenzen

Keine Sitzung wird geoeffnet oder auf initialisiert gesetzt. Ein kuenftiger Transportadapter muss das Ergebnis in seine Sitzungsmaschine uebernehmen.

Verwandte Befehle

Siehe MCP_InitializeParams, MCP_SessionCapabilities und MCP_NotificationCancelled.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL message AS STRING
  message = "{" + CHR$(34) + "jsonrpc" + CHR$(34) + ":" + CHR$(34) + "2.0" + CHR$(34) + "," + CHR$(34) + "method" + CHR$(34) + ":" + CHR$(34) + "notifications/initialized" + CHR$(34) + "}"
  FUNCTION = MCP_NotificationInitialized(message) = 0
END FUNCTION


MCP_NotificationSerialize - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_NotificationSerialize

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_NotificationSerialize(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_NotificationSerialize ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_NotificationSerialize("{}")
  FUNCTION = 0
END FUNCTION


MCP_PingId - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_PingId

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_PingId(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_PingId ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_PingId(0)
  FUNCTION = 0
END FUNCTION


MCP_ProgressCreate - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ProgressCreate

Art: Funktion | Familie: MCP-Fortschritt | PBXB64-Status: IMPLEMENTIERTER LOKALER ZUSTAND

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ProgressCreate(token AS STRING [, total AS LONG]) AS STRING

Beschreibung

Art: Funktion | Familie: MCP-Fortschritt | PBXB64-Status: IMPLEMENTIERTER LOKALER ZUSTAND

Beschreibung

Erzeugt und registriert einen UTF-8-JSON-Fortschrittsdatensatz fuer einen lokalen MCP-Fortschrittsstrom. Der optionale Wert total ist das Maximum und wird ohne Angabe weggelassen.

Verhalten

Das Ergebnis enthaelt Token, Wert null und optional die Gesamtsumme. Der Token bleibt im Prozess registriert. Ein Bericht darf dieses JSON oder den Token verwenden und weder rueckwaerts noch ueber das Maximum gehen.

Fehlerverhalten

Leeres Token oder falsche Argumenttypen werden abgewiesen. Werte werden als JSON serialisiert, damit Anfuehrungszeichen und Steuerzeichen das Ergebnis nicht zerstoeren.

Seiteneffekte und Grenzen

Es wird weder ein Thread noch Socket oder MCP-Sitzung erzeugt. Die entfernte Zustellung bleibt Aufgabe des Transports.

Verwandte Befehle

Siehe MCP_ProgressReport.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL progress AS STRING
  progress = MCP_ProgressCreate("load", 100)
  IF INSTR(progress, "load") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_ProgressReport - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ProgressReport

Art: Funktion | Familie: MCP-Fortschritt | PBXB64-Status: IMPLEMENTIERTE LOKALE ZUSTANDSAENDERUNG

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ProgressReport(token AS STRING, progress AS LONG) AS STRING

Beschreibung

Art: Funktion | Familie: MCP-Fortschritt | PBXB64-Status: IMPLEMENTIERTE LOKALE ZUSTANDSAENDERUNG

Beschreibung

Aktualisiert einen registrierten lokalen Fortschrittstoken und liefert dessen JSON-Zustand. Als erstes Argument sind das Ergebnis von MCP_ProgressCreate oder der Token-String zulaessig.

Verhalten

Das Ergebnis wird neu serialisiert und enthaelt keinen ausfuehrbaren Callback. Werte duerfen nicht rueckwaerts gehen und ein vorhandenes Maximum nicht ueberschreiten.

Fehlerverhalten

Leeres Token, falscher PB-Typ oder ungueltige Zahlenumwandlung setzen einen Befehlsfehler. Bei Fehler wird kein gueltiges Ergebnis geliefert.

Seiteneffekte und Grenzen

Dies ist nur lokale Nachrichtenerzeugung. Es wird kein SSE-Ereignis gesendet, keine entfernte Aufgabe geaendert und kein Worker gestartet.

Verwandte Befehle

Siehe MCP_ProgressCreate und MCP_NotificationCancelled.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL report AS STRING
  report = MCP_ProgressReport("load", 25)
  IF INSTR(report, "25") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_PromptsGet - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_PromptsGet

Art: Funktion | Familie: MCP-Prompts | PBXB64-Status: IMPLEMENTIERTER LOKALER PROTOKOLLADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_PromptsGet(request AS STRING, optional params AS STRING) AS STRING

Beschreibung

Art: Funktion | Familie: MCP-Prompts | PBXB64-Status: IMPLEMENTIERTER LOKALER PROTOKOLLADAPTER

Beschreibung

Expandiert den lokalen Prompt pbxb64-summary. Die Parameter muessen name und koennen ein arguments-Objekt mit value enthalten.

Verhalten

Das Ergebnis enthaelt Beschreibung und eine Benutzer-Textnachricht. Der Wert wird als JSON in die Nachricht serialisiert, sodass Strings, Zahlen, Arrays, Objekte und null sicher dargestellt werden. Eine Request-ID bleibt erhalten.

Fehlerverhalten

Unbekannte Promptnamen und fehlerhafte Parameterobjekte liefern invalid-params. Ein leerer String gilt nicht als erfolgreiche Promptantwort.

Seiteneffekte und Grenzen

Es wird kein Modell, Netzwerk, Datei- oder MCP-Serve-Vorgang aufgerufen. Dies ist ein lokaler Prompt-Ergebnisadapter ohne Provider-Qualifikation.

Verwandte Befehle

Siehe MCP_PromptsList, MCP_ResultAddText und MCP_ResourcesRead.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_PromptsGet("", "{" + CHR$(34) + "name" + CHR$(34) + ":" + CHR$(34) + "pbxb64-summary" + CHR$(34) + "," + CHR$(34) + "arguments" + CHR$(34) + ":{" + CHR$(34) + "value" + CHR$(34) + ":7}}")
  IF INSTR(result, "Local PBXB64 JSON summary") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_PromptsList - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_PromptsList

Art: Funktion | Familie: MCP-Prompts | PBXB64-Status: IMPLEMENTIERTER LOKALER PROTOKOLLADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_PromptsList(request AS STRING, optional params AS STRING) AS STRING

Beschreibung

Art: Funktion | Familie: MCP-Prompts | PBXB64-Status: IMPLEMENTIERTER LOKALER PROTOKOLLADAPTER

Beschreibung

Liefert den lokalen MCP-Promptkatalog. Der lokale Adapter stellt pbxb64-summary mit einem erforderlichen Argument value bereit.

Verhalten

Das Ergebnis ist ein UTF-8-JSON-Objekt mit einem prompts-Array. Ein JSON-RPC-Request in request erhaelt eine passende JSON-RPC-2.0-Antwort. params wird als Objekt akzeptiert, aber beim Listen nicht verwendet.

Fehlerverhalten

Fehlerhaftes Parameter-JSON oder ein anderer Parametertyp wird abgewiesen. Es wird kein entfernter Promptkatalog als Ersatz verwendet.

Seiteneffekte und Grenzen

Das Listen ist lokal und erzeugt keine Netzwerk- oder Sitzungswirkung. Die Erweiterung erfolgt ueber MCP_PromptsGet; ein Modellaufruf findet nicht statt.

Verwandte Befehle

Siehe MCP_PromptsGet, MCP_ResourcesList und MCP_CatalogList.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL prompts AS STRING
  prompts = MCP_PromptsList("", "{}")
  IF INSTR(prompts, "pbxb64-summary") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_RemoteCall - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_RemoteCall

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER REMOTE-JSON-RPC-ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_RemoteCall(endpoint AS STRING, method AS STRING, params AS STRING) AS STRING

Beschreibung

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER REMOTE-JSON-RPC-ADAPTER

Beschreibung

MCP_RemoteCall erzeugt eine JSON-RPC-2.0-Anfrage, oeffnet die erforderliche initialisierte MCP-Sitzung, sendet die Anfrage mit dem ausgehandelten Sitzungs-Header, prueft die Antwort, schliesst die Sitzung und gibt den JSON-RPC-Antwortkoerper zurueck. Der Name verwendet Unterstrich-Qualifizierung und keine Punktnotation.

Verhalten

method ist eine MCP-Methode wie tools/list oder tools/call; der Befehl initialisiert die Sitzung intern vor dem Aufruf. params muss ein JSON-Objekt sein oder leer fuer {}. Die Antwort muss gueltiges JSON-RPC mit passender numerischer Anfrage-ID und erfolgreichem HTTP-Status sein; der Antwortkoerper wird als neuer UTF-8-STRING zurueckgegeben.

Fehler und Grenzen

  • Ungueltige Parameter, nicht unterstuetztes HTTPS, Transportfehler, fehlende Sitzungs-Header, HTTP-Status ausserhalb 2xx sowie ungueltige oder nicht passende JSON-RPC-Antworten liefern eine leere Zeichenkette und setzen den Befehlsfehler.
  • Die Sitzung ist kurzlebig und steht nicht fuer einen zweiten Aufruf bereit. Verwenden Sie MCP_SessionOpen fuer mehrere Operationen in einer Sitzung.
  • SSE, HTTPS/TLS und Remote-Seitennummerierung bleiben offene Erweiterungen. Der Endpunkt muss ausdruecklich angegeben werden; lokale Katalogbefehle werden nicht stillschweigend zu Remote-Aufrufen.

Verwandte Befehle

Verwenden Sie HTTP_Execute fuer allgemeines HTTP und MCP_RequestParams, wenn die Anfrage lokal und ohne Seiteneffekt erzeugt werden soll. Die Transport-Lueckenliste steht in docs/Command Coverage Shortcomings.md.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL response AS STRING
  response = MCP_RemoteCall("http://127.0.0.1:55457/mcp", "tools/list", "{}")
  IF INSTR(response, "tools") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_RequestId - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_RequestId

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_RequestId(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_RequestId ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_RequestId(0)
  FUNCTION = 0
END FUNCTION


MCP_RequestIsNotification - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_RequestIsNotification

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_RequestIsNotification(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_RequestIsNotification ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_RequestIsNotification(0)
  FUNCTION = 0
END FUNCTION


MCP_RequestMethod - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_RequestMethod

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_RequestMethod(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_RequestMethod ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_RequestMethod("{}")
  FUNCTION = 0
END FUNCTION


MCP_RequestParams - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_RequestParams

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_RequestParams(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_RequestParams ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_RequestParams("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResourcesList - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResourcesList

Art: Funktion | Familie: MCP-Ressourcen | PBXB64-Status: IMPLEMENTIERTER LOKALER PROTOKOLLADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResourcesList(request AS STRING, optional params AS STRING) AS STRING

Beschreibung

Art: Funktion | Familie: MCP-Ressourcen | PBXB64-Status: IMPLEMENTIERTER LOKALER PROTOKOLLADAPTER

Beschreibung

Erzeugt das MCP-Ergebnis fuer resources/list im lokalen PBXB64-Adapter. Der PB-STRING enthaelt UTF-8-JSON und listet den lokalen Katalog sowie die Adapterhilfe.

Verhalten

Mit leerem Request wird ein Ergebnisobjekt geliefert. Ist request ein JSON-RPC-Objekt mit id, wird das Ergebnis als JSON-RPC-2.0-Antwort mit derselben ID verpackt. params muss, falls angegeben, ein JSON-Objekt sein.

Fehlerverhalten

Fehlerhaftes Parameter-JSON oder ein anderer Parametertyp wird abgewiesen. Der Befehl liefert dann einen leeren String und setzt den Laufzeitfehler.

Seiteneffekte und Grenzen

Der Befehl ist lokal und deterministisch. Er verbindet sich nicht mit einem MCP-Server und behauptet keine Vollstaendigkeit gegenueber MCP-Serve.

Verwandte Befehle

Siehe MCP_ResourcesRead, MCP_ResourcesTemplatesList und MCP_CatalogList.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL resources AS STRING
  resources = MCP_ResourcesList("", "{}")
  IF INSTR(resources, "local://catalog") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_ResourcesRead - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResourcesRead

Art: Funktion | Familie: MCP-Ressourcen | PBXB64-Status: IMPLEMENTIERTER LOKALER PROTOKOLLADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResourcesRead(request AS STRING, optional params AS STRING) AS STRING

Beschreibung

Art: Funktion | Familie: MCP-Ressourcen | PBXB64-Status: IMPLEMENTIERTER LOKALER PROTOKOLLADAPTER

Beschreibung

Liest eine lokale MCP-Ressource. Das Parameterobjekt muss ein String-Feld uri enthalten. Das Ergebnis verwendet die MCP-Form contents.

Verhalten

local://catalog liefert den lokalen Befehlsregisterkatalog und local://help liefert Adapterhilfe. Eine file://-URI liest die angegebene lokale Datei als Text. Eine Request-ID wird in einer JSON-RPC-Antwort erhalten.

Fehlerverhalten

Fehlende oder nicht-stringartige URIs, unbekannte URI-Schemata, unlesbare Dateien und fehlerhaftes JSON fuehren bei vorhandener Request-ID zu invalid-params. Der Laufzeitfehler wird ebenfalls gesetzt.

Seiteneffekte und Grenzen

Dateilesen bleibt ein lokaler Prozessvorgang. Netzwerk-URIs, URI-Dekodierung, Zugriffskontrolle und entfernte Seitennummerierung sind nicht Teil dieses Adapters.

Verwandte Befehle

Siehe MCP_ResourcesList, File_ReadBytes und MCP_ResourcesSchemasList.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResourcesRead("", "{" + CHR$(34) + "uri" + CHR$(34) + ":" + CHR$(34) + "local://help" + CHR$(34) + "}")
  IF INSTR(result, "PBXB64 local MCP resources") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_ResourcesSchemasList - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResourcesSchemasList

Art: Funktion | Familie: MCP-Ressourcen | PBXB64-Status: IMPLEMENTIERTER LOKALER PROTOKOLL-ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResourcesSchemasList(request AS STRING) AS STRING

Beschreibung

Art: Funktion | Familie: MCP-Ressourcen | PBXB64-Status: IMPLEMENTIERTER LOKALER PROTOKOLL-ADAPTER

Beschreibung

Erzeugt die lokale MCP-Liste fuer Ressourcenschemata. Die Funktion entspricht der von MCP-Serve verwendeten Schema-Grenze, bleibt aber lokal und deterministisch.

Verhalten

Die Funktion liefert eine UTF-8-STRING mit einem schemas-Array. Der aktuelle Wert ist eine leere Liste. Das bedeutet nicht, dass ein entfernter Server keine Schemata besitzt.

Fehlerverhalten

Die Anfrage muss ein PB-String sein. Falsche PB-Typen sind Compile-Zeit-Fehler. Das Ergebnis wird neu serialisiert und ist unabhaengig von den Puffern des Aufrufers.

Seiteneffekte und Grenzen

Es werden weder Netzwerk noch Datei, Provider oder MCP-Sitzung geoeffnet. Die Ermittlung entfernter Schemata benoetigt den noch offenen Sitzungs- und Provider-Adapter.

Verwandte Befehle

Siehe MCP_ResourcesTemplatesList und MCP_ResourcesList.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResourcesSchemasList("resources/schemas/list")
  IF INSTR(result, "schemas") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_ResourcesTemplatesList - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResourcesTemplatesList

Art: Funktion | Familie: MCP-Ressourcen | PBXB64-Status: IMPLEMENTIERTER LOKALER PROTOKOLL-ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResourcesTemplatesList(request AS STRING) AS STRING

Beschreibung

Art: Funktion | Familie: MCP-Ressourcen | PBXB64-Status: IMPLEMENTIERTER LOKALER PROTOKOLL-ADAPTER

Beschreibung

Erzeugt die JSON-RPC-Ergebnisform fuer die MCP-Methode resources/templates/list. Der optionale Text wird fuer die einheitliche lokale MCP-Schnittstelle angenommen, aber nicht ueber das Netzwerk gesendet.

Verhalten

Das Ergebnis ist eine neue UTF-8-STRING mit resourceTemplates. Der lokale Adapter liefert derzeit eine leere Liste, weil noch kein entfernter Ressourcenanbieter registriert ist.

Fehlerverhalten

Nicht-String-Argumente werden zur Compile-Zeit abgewiesen. Es wird kein Anbieter stillschweigend ausgefuehrt und keine ungueltige Anfrage als Netzwerkaufruf umgedeutet.

Seiteneffekte und Grenzen

Es werden keine Dateien, Sockets, Sitzungen oder MCP-Server angesprochen. Die echte Ermittlung von Vorlagen bleibt eine offene Transport- und Provider-Aufgabe.

Verwandte Befehle

Siehe MCP_ResourcesSchemasList und die MCP-Katalogseiten.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResourcesTemplatesList("resources/templates/list")
  IF INSTR(result, "resourceTemplates") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_ResponseCreate - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResponseCreate

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResponseCreate(method AS STRING, optional value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ResponseCreate ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResponseCreate("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResponseError - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResponseError

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResponseError(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ResponseError ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResponseError("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResponseId - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResponseId

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResponseId(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ResponseId ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_ResponseId(0)
  FUNCTION = 0
END FUNCTION


MCP_ResponseIsError - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResponseIsError

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResponseIsError(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ResponseIsError ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_ResponseIsError(0)
  FUNCTION = 0
END FUNCTION


MCP_ResponseResult - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResponseResult

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResponseResult(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ResponseResult ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResponseResult("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResponseSerialize - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResponseSerialize

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResponseSerialize(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ResponseSerialize ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResponseSerialize("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResultAddJson - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResultAddJson

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResultAddJson(result AS STRING, value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ResultAddJson ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResultAddJson("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResultAddResource - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResultAddResource

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResultAddResource(result AS STRING, value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ResultAddResource ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResultAddResource("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResultAddText - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResultAddText

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResultAddText(result AS STRING, value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ResultAddText ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResultAddText("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResultContent - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResultContent

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResultContent(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ResultContent ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResultContent("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResultData - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResultData

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResultData(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ResultData ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResultData("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResultSetError - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ResultSetError

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ResultSetError(result AS LONG, message AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ResultSetError ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_ResultSetError(0)
  FUNCTION = 0
END FUNCTION


MCP_SessionCancel - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_SessionCancel

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, REMOTE-ABBRUCHZUSTELLUNG VALIDIERT

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_SessionCancel(session AS LONG, requestID AS LONG) AS LONG

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, REMOTE-ABBRUCHZUSTELLUNG VALIDIERT

Beschreibung

MCP_SessionCancel sendet die MCP-Benachrichtigung notifications/cancelled mit dem numerischen Parameter requestId. Der Rueckgabewert ist nur dann 1, wenn der Endpunkt einen erfolgreichen HTTP-Status liefert.

Verhalten

Die Anfrage-ID muss positiv sein. Der Befehl verwendet den Sitzungs-Benachrichtigungspfad, traegt daher den ausgehandelten Sitzungs-Header und beachtet die Sitzungs-Sperre. Eine Zustellbestaetigung bedeutet nicht, dass die entfernte Aufgabe bereits beendet ist.

Fehler und Grenzen

  • Ungueltiges Handle, nichtpositive ID, belegte Sitzung, Transportfehler oder Status ausserhalb 2xx liefern 0 und setzen den Befehlsfehler.
  • Die Aufgabenbeendigung muss separat ueber den Serverstatus geprueft werden.
  • HTTPS/TLS, SSE und asynchrones Unterbrechen einer bereits blockierten Socket-Anfrage bleiben eigene Transportaufgaben.

Verwandte Befehle

Verwenden Sie MCP_SessionNotify fuer andere Methoden und MCP_SessionNotifications fuer empfangene Ereignisse.

Zurueck zum Befehlsindex

Beispiel

IF MCP_SessionCancel(session, requestID) = 0 THEN ' handle failed delivery


MCP_SessionCapabilities - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_SessionCapabilities

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_SessionCapabilities(optional catalog AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_SessionCapabilities ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_SessionCapabilities("{}")
  FUNCTION = 0
END FUNCTION


MCP_SessionClose - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_SessionClose

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTE HANDLE-FREIGABE

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_SessionClose(session AS LONG) AS LONG

Beschreibung

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTE HANDLE-FREIGABE

Beschreibung

MCP_SessionClose gibt das lokale MCP-Sitzungs-Handle und die gespeicherten Capability-Daten frei. Bei Erfolg wird 1 geliefert.

Verhalten

Das Schliessen ist lokal; Idempotenz wird nicht versprochen: Ein zweites Schliessen liefert 0 mit einem Handle-Fehler. Es wird keine Remote-Abschlussmethode gesendet, weil MCP fuer diesen Adapter keine erforderliche Sitzungsabschlussanfrage definiert.

Fehler und Grenzen

  • Ein ungueltiges oder bereits geschlossenes Handle liefert 0 und setzt den Befehlsfehler.
  • Offene Anfragen muessen vor dem Schliessen beendet sein.
  • Der Netzwerkabbau erfolgt durch die begrenzte HTTP-Anfrage jedes einzelnen Aufrufs.

Verwandte Befehle

Oeffnen Sie Sitzungen mit MCP_SessionOpen und senden Sie Aufrufe mit MCP_SessionRequest.

Zum Befehlsindex

Beispiel

IF MCP_SessionClose(session) = 0 THEN FUNCTION = 1


MCP_SessionNotifications - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_SessionNotifications

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, BEGRENZTE REMOTE-WARTESCHLANGE VALIDIERT

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_SessionNotifications(session AS LONG) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, BEGRENZTE REMOTE-WARTESCHLANGE VALIDIERT

Beschreibung

MCP_SessionNotifications liefert die pending JSON-RPC-Benachrichtigungen, die waehrend einer Sitzungsantwort empfangen wurden. Der UTF-8-STRING hat die Form {"notifications":[...],"dropped":0}.

Verhalten

Benachrichtigungen werden in FIFO-Reihenfolge in einer begrenzten Schlange mit acht Eintraegen gespeichert. Die Schlange kommt aus gemischten Antwortkoerpern und ist unabhaengig vom Kompatibilitaetsfeld lastNotification von MCP_SessionState. Ein erfolgreicher Aufruf leert die Schlange und setzt den Verwerfzaehler zurueck.

Fehler und Grenzen

  • Ein ungueltiges oder geschlossenes Handle oder ein Lesen waehrend einer aktiven Anfrage liefert eine leere Zeichenkette und setzt den Befehlsfehler.
  • Bei mehr als acht Eintraegen werden die aeltesten Eintraege verworfen und in dropped gemeldet; der Verlust bleibt sichtbar.
  • Der Befehl sendet keine Netzwerkanfrage und vermeidet mit der Sitzungs-Sperre einen Datenlauf gegen eine aktive Anfrage.

Verwandte Befehle

Verwenden Sie MCP_SessionOpen, MCP_SessionRequest, MCP_SessionNotify und MCP_SessionClose.

Zurueck zum Befehlsindex

Beispiel

LOCAL events AS STRING
events = MCP_SessionNotifications(session)
IF INSTR(events, "notifications/progress") = 0 THEN ' process the error or empty batch


MCP_SessionNotify - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_SessionNotify

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, REMOTE-ZUSTELLUNG VALIDIERT

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_SessionNotify(session AS LONG, method AS STRING, params AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, REMOTE-ZUSTELLUNG VALIDIERT

Beschreibung

MCP_SessionNotify sendet eine JSON-RPC-Benachrichtigung ueber eine initialisierte Sitzung. Der Rueckgabewert ist 1, wenn der HTTP-Endpunkt eine erfolgreiche 2xx-Antwort liefert, auch bei leerer 202-Antwort. Benachrichtigungen haben keine JSON-RPC-Antwort-ID.

Verhalten

method muss nichtleer sein; params muss ein JSON-Objekt oder leer fuer {} sein. Die Laufzeit ergaenzt jsonrpc, serialisiert Methode und Parameter, sendet den gespeicherten Mcp-Session-Id-Header und beachtet die Sitzungs-Sperre.

Fehler und Grenzen

  • Ungueltiges Handle, leere Methode, nichtobjektartige Parameter, belegte Sitzung, Transportfehler oder Status ausserhalb 2xx liefern 0 und setzen den Befehlsfehler.
  • Der aktuelle Transport ist begrenztes einfaches HTTP ohne TLS, Proxy oder SSE-Zustellung.
  • Fuer Standard-Abbruch verwenden Sie MCP_SessionCancel.

Verwandte Befehle

Oeffnen Sie mit MCP_SessionOpen, lesen Sie Ereignisse mit MCP_SessionNotifications und schliessen Sie mit MCP_SessionClose.

Zurueck zum Befehlsindex

Beispiel

LOCAL params AS STRING
params = "{" + CHR$(34) + "progressToken" + CHR$(34) + ":" + CHR$(34) + "job-1" + CHR$(34) + "," + CHR$(34) + "progress" + CHR$(34) + ":2}"
IF MCP_SessionNotify(session, "notifications/progress", params) = 0 THEN ' handle delivery failure


MCP_SessionOpen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_SessionOpen

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTE INITIALISIERTE SITZUNG

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_SessionOpen(endpoint AS STRING) AS LONG

Beschreibung

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTE INITIALISIERTE SITZUNG

Beschreibung

MCP_SessionOpen oeffnet eine ausdrueckliche MCP-Sitzung an einem http://-Endpunkt. Der Befehl sendet initialize, prueft die JSON-RPC-Antwort, speichert die ausgehandelten Capabilities, sendet notifications/initialized und liefert ein Sitzungs-Handle.

Verhalten

Die Standard-Clientidentitaet ist PBXB64 in Version 0.50.0; angefordert wird Protokollversion 2025-06-18. Nach der Initialisierung beginnen Sitzungs-IDs bei 2. Endpunkt und Capabilities bleiben im Handle und werden nur ueber MCP_SessionState ausgegeben. Jedes Handle verhindert parallele Anforderungen; bei gemischten Benachrichtigungs- und Antwortzeilen bleibt die letzte Benachrichtigung im Sitzungsstatus erhalten.

Fehler und Grenzen

  • Ungueltige Endpunkte, Verbindungsfehler, Status ausserhalb 2xx, fehlerhaftes JSON-RPC oder eine fehlende Initialisierungsantwort liefern 0 und setzen den Befehlsfehler.
  • Dieser Sitzungsadapter unterstuetzt nur einfaches HTTP; HTTPS/TLS und SSE bleiben offene Erweiterungen.
  • Die Sitzungstabelle pro Prozess ist begrenzt. MCP_SessionClose sendet vor der Freigabe des lokalen Handles die MCP-Sitzungsanforderung DELETE.

Verwandte Befehle

Verwenden Sie MCP_SessionRequest, MCP_SessionState und MCP_SessionClose fuer den Sitzungslebenszyklus.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL session AS LONG
  session = MCP_SessionOpen("http://127.0.0.1:5555/mcp")
  IF session = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  MCP_SessionClose(session)
  FUNCTION = 0
END FUNCTION


MCP_SessionRequest - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_SessionRequest

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTE REQUEST-KORRELATION

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_SessionRequest(session AS LONG, method AS STRING, params AS STRING) AS STRING

Beschreibung

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTE REQUEST-KORRELATION

Beschreibung

MCP_SessionRequest sendet eine JSON-RPC-Anfrage ueber eine initialisierte Sitzung und gibt die vollstaendige gepruefte JSON-RPC-Antwort als UTF-8-STRING zurueck. Unterstuetzt werden unter anderem tools/list, tools/call, resources/list und resources/read.

Verhalten

params muss ein JSON-Objekt sein. Die Laufzeit erhoeht die Sitzungs-ID, sendet an den bei MCP_SessionOpen gespeicherten Endpunkt und verwirft Antworten mit falscher JSON-RPC-Version, ID oder fehlendem Result/Error-Umschlag. JSON-RPC-Fehler werden zur Auswertung zurueckgegeben.

Fehler und Grenzen

  • Ungueltiges Handle, ungueltige Parameter, Transportfehler, fehlerhafte Antwort oder falsche Anfrage-ID liefern eine leere Zeichenkette und setzen den Befehlsfehler.
  • Parallele Aufrufe auf demselben Handle sind noch nicht unterstuetzt; fuer unabhaengige Worker sind getrennte Sitzungen zu verwenden.
  • Der Adapter verwendet derzeit begrenztes HTTP und decodiert kein SSE.

Verwandte Befehle

Oeffnen Sie das Handle mit MCP_SessionOpen. Pruefen Sie es mit MCP_SessionState und geben Sie es mit MCP_SessionClose frei.

Zum Befehlsindex

Beispiel

LOCAL result AS STRING
result = MCP_SessionRequest(session, "tools/list", "{}")
IF INSTR(result, "tools") = 0 THEN ' handle the command error


MCP_SessionState - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_SessionState

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER LOKALER SITZUNGSSTATUS

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_SessionState(session AS LONG) AS STRING

Beschreibung

Art: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, VALIDIERTER LOKALER SITZUNGSSTATUS

Beschreibung

MCP_SessionState liefert eine neu serialisierte JSON-Beschreibung einer offenen Sitzung mit Handle, Endpunkt, Initialisierungsflag, naechster Anfrage-ID und ausgehandelten Capabilities.

Verhalten

Das Ergebnis stammt aus lokalem Zustand und erzeugt keine Netzwerkanfrage. Die Capabilities werden bei der Initialisierung kopiert, sodass der Aufrufer den internen Sitzungszustand nicht veraendern kann.

Fehler und Grenzen

  • Ein ungueltiges oder geschlossenes Handle liefert eine leere Zeichenkette und setzt den Befehlsfehler.
  • Der Status enthaelt keine Zugangsdaten, Roh-Header oder Serverinterna.
  • Der Befehl ersetzt keine laufende Capability-Aktualisierung.

Verwandte Befehle

Verwenden Sie zuerst MCP_SessionOpen und zum Abschluss MCP_SessionClose.

Zum Befehlsindex

Beispiel

LOCAL state AS STRING
state = MCP_SessionState(session)
IF INSTR(state, "initialized") = 0 THEN ' handle the command error


MCP_SessionTransport - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_SessionTransport

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_SessionTransport(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_SessionTransport ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_SessionTransport("{}")
  FUNCTION = 0
END FUNCTION


MCP_TaskCancel - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_TaskCancel

Art: Funktion | Familie: MCP-Aufgaben | PBXB64-Status: IMPLEMENTIERTE LOKALE TASK-ZUSTANDS-AENDERUNG

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_TaskCancel(task AS LONG) AS LONG

Beschreibung

Art: Funktion | Familie: MCP-Aufgaben | PBXB64-Status: IMPLEMENTIERTE LOKALE TASK-ZUSTANDS-AENDERUNG

Beschreibung

Markiert einen wartenden, eingereihten oder laufenden lokalen Task-Handle als abgebrochen. Der Rueckgabewert ist ungleich null bei Zustandsaenderung und null bei ungueltigen, abgeschlossenen, fehlgeschlagenen, abgelaufenen oder bereits abgebrochenen Tasks.

Verhalten

Nur der prozesslokale Datensatz wird geaendert. Es wird kein Thread beendet, weil der aktuelle Task-Datensatz keinen Worker besitzt.

Fehlerverhalten

Null, unbekannte Handles und nichtnumerische PB-Argumente werden abgewiesen. Erfolg wird niemals fuer einen entfernten Abbruch gemeldet, der nicht gesendet wurde.

Seiteneffekte und Grenzen

Keine Netzwerk-Benachrichtigung wird gesendet und keine MCP-Serve-Aufgabe abgebrochen. Ein Transport muss diesen Zustand spaeter auf notifications/cancelled oder den passenden Serveraufruf abbilden.

Verwandte Befehle

Siehe MCP_NotificationCancelled und MCP_TaskStatus.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL task AS LONG
  task = MCP_TaskCreate("local", "null")
  IF MCP_TaskCancel(task) = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_TaskCreate - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_TaskCreate

Art: Funktion | Familie: MCP-Aufgaben | PBXB64-Status: IMPLEMENTIERTER LOKALER TASK-DATENSATZ

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_TaskCreate(kind AS STRING, result AS STRING) AS LONG

Beschreibung

Art: Funktion | Familie: MCP-Aufgaben | PBXB64-Status: IMPLEMENTIERTER LOKALER TASK-DATENSATZ

Beschreibung

Erzeugt einen lokalen numerischen Task-Handle mit einer JSON-Nutzlast. Der Handle ist ein PBXB64-Laufzeitwert und keine Task-ID eines MCP-Servers.

Verhalten

Gueltiges JSON mit normalem Kennzeichen startet als completed. Die Kennzeichen pending und deferred starten als pending; queued und running behalten diese Lebenszykluszustaende. Ungueltiges JSON erzeugt einen sichtbaren failed-Datensatz. Eine Objekt-Nutzlast darf ein numerisches ttlMs von 1 bis 3.600.000 enthalten. Nach Ablauf wird ein nichtterminaler Task zu expired und liefert ein Fehlerfeld.

Fehlerverhalten

Leeres Kennzeichen, falsche PB-Typen und volle Tabelle sind Fehler. Ungueltiges JSON bleibt als fehlgeschlagener Task sichtbar. Die lokale Tabelle besitzt eine begrenzte Kapazitaet.

Seiteneffekte und Grenzen

Nur der Prozessspeicher wird geaendert. Der Adapter modelliert queued/completed/failed/cancelled/expired-Zustaende, startet aber keinen Hintergrund-Worker, speichert nichts dauerhaft und sendet nichts an MCP-Serve.

Verwandte Befehle

Siehe MCP_TaskStatus, MCP_TaskResult und MCP_TaskCancel.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL task AS LONG
  task = MCP_TaskCreate("local", "{" + CHR$(34) + "ok" + CHR$(34) + ":true}")
  IF task = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_TaskResult - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_TaskResult

Art: Funktion | Familie: MCP-Aufgaben | PBXB64-Status: IMPLEMENTIERTE LOKALE TASK-ABFRAGE

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_TaskResult(task AS LONG) AS STRING

Beschreibung

Art: Funktion | Familie: MCP-Aufgaben | PBXB64-Status: IMPLEMENTIERTE LOKALE TASK-ABFRAGE

Beschreibung

Liefert die gespeicherte JSON-Ergebnisnutzlast eines lokalen Task-Handles. Das Ergebnis ist ein neuer UTF-8-String und kann direkt geparst werden.

Verhalten

Die Nutzlast wird nur fuer einen bekannten lokalen Handle geliefert. Sie ist unabhaengig von spaeteren Puffer-Aenderungen des Aufrufers und keine Referenz auf die Task-Tabelle.

Fehlerverhalten

Unbekannte, null- oder abgebrochene Handles werden nach dem lokalen Zustand abgewiesen. Ein nichtnumerisches Argument ist ein Compile-Zeit-Fehler.

Seiteneffekte und Grenzen

Es wird kein entfernter Task abgefragt und kein Wiederholungsversuch gestartet. Remote-Polling gehoert zum noch offenen Sitzungsadapter.

Verwandte Befehle

Siehe MCP_TaskStatus und JSON_Parse.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL task AS LONG, result AS STRING
  task = MCP_TaskCreate("local", "{" + CHR$(34) + "value" + CHR$(34) + ":7}")
  result = MCP_TaskResult(task)
  IF INSTR(result, "value") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_TaskStatus - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_TaskStatus

Art: Funktion | Familie: MCP-Aufgaben | PBXB64-Status: IMPLEMENTIERTE LOKALE TASK-ABFRAGE

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_TaskStatus(task AS LONG) AS STRING

Beschreibung

Art: Funktion | Familie: MCP-Aufgaben | PBXB64-Status: IMPLEMENTIERTE LOKALE TASK-ABFRAGE

Beschreibung

Liefert den JSON-Status eines lokalen Task-Handles aus MCP_TaskCreate. Die Antwort ist ein UTF-8-PB-String.

Verhalten

Der Status benennt Handle und lokalen Zustand. Ein gueltiger abgeschlossener Task meldet seinen Abschluss; ein abgebrochener Task meldet Abbruch. Unbekannte Handles sind Fehler.

Fehlerverhalten

Akzeptiert wird nur ein numerischer PB-Handle. Null, ein Bereichsfehler oder ein unbenutzter Tabelleneintrag setzen einen Fehler und liefern ein leeres Ergebnis.

Seiteneffekte und Grenzen

Die Abfrage fragt keinen Server ab und kann keine Arbeit ausserhalb des Prozesses beobachten.

Verwandte Befehle

Siehe MCP_TaskCreate und MCP_TaskResult.

Zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL task AS LONG, status AS STRING
  task = MCP_TaskCreate("local", "null")
  status = MCP_TaskStatus(task)
  IF INSTR(status, "status") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_TaskTransition - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_TaskTransition

Typ: Funktion | Familie: MCP-Aufgaben | PBXB64-Status: IMPLEMENTIERT, LOKALE ZUSTANDSMASCHINE VALIDIERT

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_TaskTransition(task AS LONG, nextStatus AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP-Aufgaben | PBXB64-Status: IMPLEMENTIERT, LOKALE ZUSTANDSMASCHINE VALIDIERT

Beschreibung

MCP_TaskTransition fuehrt eine prozesslokale Aufgabe durch die begrenzten Zustandsstufen queued, running, completed, failed, cancelled und expired. Der serialisierte Datensatz wird als UTF-8-STRING geliefert.

Verhalten

Nur ein nichtterminaler Zustand darf wechseln. Bei failed oder expired wird ein ausdruecklicher Fehler gespeichert; bei completed bleibt die JSON-Nutzlast das Ergebnis. Terminale Zustaende weisen spaetere Wechsel zurueck.

Fehler und Grenzen

  • Ungueltiges Handle, leerer Status, terminaler Ausgangszustand oder unbekannter Status liefern eine leere Zeichenkette und setzen den Befehlsfehler.
  • Die Tabelle ist prozesslokal und begrenzt; dieser Befehl startet keine Threads, speichert keine Aufgaben dauerhaft und kontaktiert MCP-Serve nicht.
  • MCP_TaskCancel bleibt der eigene Abbruchbefehl fuer pending Aufgaben.

Verwandte Befehle

Verwenden Sie MCP_TaskCreate, MCP_TaskStatus, MCP_TaskResult und MCP_TaskCancel.

Zurueck zum Befehlsindex

Beispiel

LOCAL state AS STRING
state = MCP_TaskTransition(task, "running")
IF INSTR(state, "running") = 0 THEN ' handle the transition error


MCP_ToolDescription - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ToolDescription

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ToolDescription(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ToolDescription ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ToolDescription("{}")
  FUNCTION = 0
END FUNCTION


MCP_ToolName - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ToolName

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ToolName(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ToolName ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ToolName("{}")
  FUNCTION = 0
END FUNCTION


MCP_ToolSchema - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › MCP / JSON-Adapter Hilfe zum PBXB64-Compiler

MCP_ToolSchema

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: MCP / JSON-Adapter

Syntax

FUNCTION MCP_ToolSchema(value AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: MCP | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

MCP_ToolSchema ist ein normaler, unterstrichener BASIC-Befehl der Familie MCP. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP-Aequivalent: local MCP request/catalog/result contract

Nebenwirkung: local-protocol. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie MCP sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ToolSchema("{}")
  FUNCTION = 0
END FUNCTION


Schlüsselwortreferenz (A-Z) - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Schlüsselwortreferenz (A-Z) Hilfe zum PBXB64-Compiler

Schlüsselwortreferenz (A-Z)

Themen in diesem Kapitel

WEB-Erweiterungen " PBXB64-Compiler-Hilfe


WEB-Erweiterungen " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › BASIC Frontend › Schlüsselwortreferenz (A-Z) Hilfe zum PBXB64-Compiler

WEB-Erweiterungen " PBXB64-Compiler-Hilfe

Netzwerkf&auml;hige String-, Codierungs-, Hashing-, JSON- und HTTP-Helfer.

Kategorie: Schlüsselwortreferenz (A-Z)

Beschreibung

Netzwerkfähige String-, Codierungs-, Hashing-, JSON- und HTTP-Helfer.

Typ: Funktionsbibliothek | Kategorie: Web & Netzwerk

PBXB64-Status: VERFÃœGBAR (V10+)

Ãœberblick

Die WEB-Enhancements-Bibliothek bietet 30 integrierte Funktionen für allgemeine Web- und Datenverarbeitungsaufgaben. Alle Funktionen sind direkt in der PB-Quelle ohne externe DLL-Abhängigkeiten verfügbar.

Stufe 1 “ Kodierung (9 Funktionen)

Function | Rückgaben | Beschreibung
BASE64$(s$) | Zeichenfolge | Base64-kodieren Sie eine Zeichenfolge.
BASE64URLSAFE$(s$) | Zeichenfolge | Base64-Kodierung mit URL-sicherem Alphabet (Nr +/ Polsterung).
UNBASE64$(s$) | Zeichenfolge | Dekodieren Sie eine Base64-Zeichenfolge.
HEX$(s$) | Zeichenfolge | Rohbytes hexadezimal kodieren.
UNHEX$(s$) | Zeichenfolge | Dekodieren Sie eine Hex-Zeichenfolge.
URLENCODE$(s$) | Zeichenfolge | Eine URL-Komponente prozentual kodieren.
URLDECODE$(s$) | Zeichenfolge | Prozentuale Dekodierung einer URL-Komponente.
ESCAPE$(s$) | Zeichenfolge | JSON-Escape eine Zeichenfolge (\" \\ \n \r \t).
UNESCAPE$(s$) | Zeichenfolge | Entfernen Sie JSON-Escape-Sequenzen.

Stufe 2 “ Hashing (6 Funktionen)

Function | Rückgaben | Beschreibung
MD5$(s$) | Zeichenfolge | MD5-Digest als 32-stelliger Hexadezimal-Kleinbuchstabe.
SHA1$(s$) | Zeichenfolge | SHA-1-Digest als 40-stelliger Hexadezimal-Kleinbuchstabe.
SHA256$(s$) | Zeichenfolge | SHA-256-Digest als 64-stelliger Hexadezimal-Kleinbuchstabe.
SHA512$(s$) | Zeichenfolge | SHA-512-Digest als 128-stelliger Hexadezimal-Kleinbuchstabe.
HMACSHA256$(key$, data$) | Zeichenfolge | HMAC-SHA256 als 64-stelliges Kleinbuchstaben-Hexadezimalbuch.
HMACSHA512$(key$, data$) | Zeichenfolge | HMAC-SHA512 als 128-stelliges Kleinbuchstaben-Hex.

Stufe 3 “ URL-Parsing (5 Funktionen)

Function | Rückgaben | Beschreibung
URLHOST$(url$) | Zeichenfolge | Host aus einer URL extrahieren.
URLPATH$(url$) | Zeichenfolge | Pfad aus einer URL extrahieren.
URLQUERY$(url$) | Zeichenfolge | Abfragezeichenfolge aus einer URL extrahieren.
URLPORT(url$) | Lange | Portnummer aus einer URL extrahieren.
HEADERBUILD$(key$, value$) | Zeichenfolge | Erstellen Sie eine HTTP-Headerzeile.

Tier 4+5 “ JSON (11 Funktionen)

Function | Rückgaben | Beschreibung
JSONNEW(type) | Lange | Erstellen Sie ein JSON-Handle. type = 5 für Objekt, 6 für Array.
JSONFREE(h) | Lange | Geben Sie ein JSON-Handle frei.
JSONTYPE$(h) | Zeichenfolge | Name des Rückgabetyps (null, bool, int, float, string, array, object).
JSONPARSE(txt$) | Lange | Analysieren Sie eine JSON-Zeichenfolge in ein Handle.
JSONSETINT(h, path$, v) | Lange | Ganzzahlwert festlegen auf path.
JSONSETSTRING(h, path$, v$) | Lange | Setzen Sie den String-Wert auf path.
JSONGETSTR(h, path$) | Zeichenfolge | Holen Sie sich den String-Wert bei path.
JSONGETINT(h, path$) | Lange | Holen Sie sich einen ganzzahligen Wert bei path.
JSONGETFLOAT(h, path$) | Doppelt | Erhalten Sie den Float-Wert bei path.
JSONGETBOOL(h, path$) | Lange | Holen Sie sich einen booleschen Wert bei path (0/1).
JSONREMOVE(h, path$) | Lange | Schlüssel abziehen path.
JSONSTRINGIFY$(h, pretty) | Zeichenfolge | JSON-Handle in String serialisieren.

Tier 6 “ HTTP-Client (3 Funktionen)

Function | Rückgaben | Beschreibung
HTTPOPEN(url$, timeout_ms) | Lange | Ã–ffnen Sie ein HTTP-Handle.
HTTPREQUEST(h, method$, path$, headers$, body$) | Zeichenfolge | Senden Sie eine HTTP-Anfrage und geben Sie den Antworttext zurück.
HTTPCLOSE(h) | Lange | SchlieÃŸen Sie ein HTTP-Handle.

Tier 7 “ Multipart Form-Data Builder (6 Funktionen)

Function | Rückgaben | Beschreibung
MULTIPARTNEW() | Lange | Erstellen Sie ein neues mehrteiliges Builder-Handle.
MULTIPARTFREE(h) | Lange | Geben Sie einen mehrteiligen Builder und alle seine Teile frei.
MULTIPARTADDFIELD(h, name$, value$) | Lange | Fügen Sie ein Textformularfeld hinzu (0 = Erfolg, -1 = Fehler).
MULTIPARTADDFILE(h, name$, filename$, filepath$) | Lange | Fügen Sie einen Datei-Upload-Teil von der Festplatte hinzu.
MULTIPARTBODY$(h) | Zeichenfolge | Serialisieren Sie alle Teile in multipart/form-data Körper.
MULTIPARTHEADER$(h) | Zeichenfolge | Geben Sie die zurück Content-Type Kopfzeile mit Begrenzung.

Beschreibung

WEB-Erweiterungen gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

WEB-Erweiterungen gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Beispiel

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
  LOCAL enc$, dec$, h, status, val

  ' Base64
  enc$ = BASE64$("Hello, World!")
  IF enc$ <> "SGVsbG8sIFdvcmxkIQ==" THEN FUNCTION = 1

  ' URL encode
  enc$ = URLENCODE$("a b=c")
  IF enc$ <> "a%20b%3Dc" THEN FUNCTION = 2

  ' JSON
  h = JSONNEW(5)
  status = JSONSETINT(h, "a", 42)
  status = JSONSETSTRING(h, "b", "hello")
  val = JSONGETINT(h, "a")
  IF val <> 42 THEN FUNCTION = 3
  enc$ = JSONSTRINGIFY$(h, 0)
  JSONFREE(h)

  FUNCTION = 0
END FUNCTION

Siehe auch

  • TCP- und UDP-Kommunikation
  • Druckbefehle
  • Hilfe zum PBXB64-Compiler
Nach oben


Übersicht - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

Übersicht

Themen in diesem Kapitel

C Datentypen C Funktionen C Kontrollfluss C math.h - Math-Runtime-Funktionen verwenden C Praeprozessor C signal.h - Signal-Helfer verwenden C Standardbibliothek C stdio.h - Formatierte und Datei-E/A verwenden C stdlib.h - Allokations- und Konvertierungshelfer verwenden C string.h - String- und Speicherhelfer verwenden C Strukturen und Unions C time.h - Zeit-Helfer verwenden C Variablen und Konstanten C Zeiger und Arrays PBXB64 - C11 Atomics PBXB64 - C11 Threads PBXB64 - long double


C Datentypen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C Datentypen

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Kategorie: Übersicht

Beschreibung

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Zweck

Die Seite ist bewusst ein Ueberblickskapitel. Details, Syntax, Grenzen und Validierungsbelege stehen auf den darunterliegenden Einzelseiten, damit nicht mehrere Befehle auf einer einzigen Referenzseite vermischt werden.

ABI und Zielplattform

PBXB64s C-Frontend zielt auf eine getestete C17/C23-Teilmenge fuer Windows x64. Benutzerfunktionen und externe Aufrufe werden fuer die Windows-x64-ABI gesenkt: Integer- und Zeigerargumente verwenden RCX, RDX, R8 und R9; Floating-Point-Argumente verwenden XMM0 bis XMM3; weitere Argumente liegen auf dem Stack. Diese ABI-Notiz ist fuer C/PB/ASM-Mischprogramme wichtig.

Portabilitaet

Portabilitaet: Die Hilfeseiten dokumentieren PBXB64s natives Windows-Ziel, nicht einen POSIX-C-Compiler. Vermeide Annahmen ueber Unix-Header, Hostprozessverhalten oder implementation-defined Groessen, sofern die jeweilige Einzelseite sie nicht ausdruecklich belegt.

Einzelseiten

  • int / integer types
  • float / double
  • _Bool
  • struct
  • union
  • enum
  • typedef

Pruefung

Die C-Seiten verweisen auf konkrete Beispiele oder Validierungstests. Neue C-Frontend-Behauptungen sollen erst nach einem fokussierten compile/link/run-Beleg in diese Referenz aufgenommen werden.

Beginne mit dieser Uebersicht, wenn du die passende Sprachform suchst, und wechsle dann auf die Einzelseite. Dort stehen die getestete Syntax, der begrenzte PBXB64-Umfang, bekannte Einschraenkungen und der konkrete Datei- oder Matrixbeleg.

Ein guter C-Beleg ist eine kleine, eigenstaendige Quelldatei mit Exitcode 0 fuer Erfolg, klarer Fehlerrueckgabe und nur den Headern, die das gezeigte Feature wirklich benoetigt.

← Back

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

#include <stdio.h>
int main(void) {
    int a = 42;
    double d = 3.14;
    printf("%d %.2f\n", a, d);
    return 0;
}

Siehe auch

  • PBXB64 - C-Sprache (V10)
  • C Zeiger und Arrays
  • C Strukturen und Unions


C Funktionen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C Funktionen

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Kategorie: Übersicht

Syntax

return_type name(parameter_list) {
    /* body */
    return expression;
}

Beschreibung

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Zweck

Die Seite ist bewusst ein Ueberblickskapitel. Details, Syntax, Grenzen und Validierungsbelege stehen auf den darunterliegenden Einzelseiten, damit nicht mehrere Befehle auf einer einzigen Referenzseite vermischt werden.

ABI und Zielplattform

PBXB64s C-Frontend zielt auf eine getestete C17/C23-Teilmenge fuer Windows x64. Benutzerfunktionen und externe Aufrufe werden fuer die Windows-x64-ABI gesenkt: Integer- und Zeigerargumente verwenden RCX, RDX, R8 und R9; Floating-Point-Argumente verwenden XMM0 bis XMM3; weitere Argumente liegen auf dem Stack. Diese ABI-Notiz ist fuer C/PB/ASM-Mischprogramme wichtig.

Portabilitaet

Portabilitaet: Die Hilfeseiten dokumentieren PBXB64s natives Windows-Ziel, nicht einen POSIX-C-Compiler. Vermeide Annahmen ueber Unix-Header, Hostprozessverhalten oder implementation-defined Groessen, sofern die jeweilige Einzelseite sie nicht ausdruecklich belegt.

Einzelseiten

  • function definition
  • return
  • function pointers
  • variadic calls

Pruefung

Die C-Seiten verweisen auf konkrete Beispiele oder Validierungstests. Neue C-Frontend-Behauptungen sollen erst nach einem fokussierten compile/link/run-Beleg in diese Referenz aufgenommen werden.

Beginne mit dieser Uebersicht, wenn du die passende Sprachform suchst, und wechsle dann auf die Einzelseite. Dort stehen die getestete Syntax, der begrenzte PBXB64-Umfang, bekannte Einschraenkungen und der konkrete Datei- oder Matrixbeleg.

Ein guter C-Beleg ist eine kleine, eigenstaendige Quelldatei mit Exitcode 0 fuer Erfolg, klarer Fehlerrueckgabe und nur den Headern, die das gezeigte Feature wirklich benoetigt.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#include <stdio.h>
int add(int a, int b) { return a + b; }
int main(void) {
    printf("%d\n", add(2, 3));
    return 0;
}

Siehe auch

  • PBXB64 - C-Sprache (V10)


C Kontrollfluss - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C Kontrollfluss

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Kategorie: Übersicht

Beschreibung

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Zweck

Die Seite ist bewusst ein Ueberblickskapitel. Details, Syntax, Grenzen und Validierungsbelege stehen auf den darunterliegenden Einzelseiten, damit nicht mehrere Befehle auf einer einzigen Referenzseite vermischt werden.

ABI und Zielplattform

PBXB64s C-Frontend zielt auf eine getestete C17/C23-Teilmenge fuer Windows x64. Benutzerfunktionen und externe Aufrufe werden fuer die Windows-x64-ABI gesenkt: Integer- und Zeigerargumente verwenden RCX, RDX, R8 und R9; Floating-Point-Argumente verwenden XMM0 bis XMM3; weitere Argumente liegen auf dem Stack. Diese ABI-Notiz ist fuer C/PB/ASM-Mischprogramme wichtig.

Portabilitaet

Portabilitaet: Die Hilfeseiten dokumentieren PBXB64s natives Windows-Ziel, nicht einen POSIX-C-Compiler. Vermeide Annahmen ueber Unix-Header, Hostprozessverhalten oder implementation-defined Groessen, sofern die jeweilige Einzelseite sie nicht ausdruecklich belegt.

Einzelseiten

  • if / else
  • switch / case
  • while
  • do while
  • for
  • break
  • continue
  • goto

Pruefung

Die C-Seiten verweisen auf konkrete Beispiele oder Validierungstests. Neue C-Frontend-Behauptungen sollen erst nach einem fokussierten compile/link/run-Beleg in diese Referenz aufgenommen werden.

Beginne mit dieser Uebersicht, wenn du die passende Sprachform suchst, und wechsle dann auf die Einzelseite. Dort stehen die getestete Syntax, der begrenzte PBXB64-Umfang, bekannte Einschraenkungen und der konkrete Datei- oder Matrixbeleg.

Ein guter C-Beleg ist eine kleine, eigenstaendige Quelldatei mit Exitcode 0 fuer Erfolg, klarer Fehlerrueckgabe und nur den Headern, die das gezeigte Feature wirklich benoetigt.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#include <stdio.h>
int main(void) {
    for (int i = 0; i < 3; i++) {
        if (i == 1) continue;
        printf("%d\n", i);
    }
    return 0;
}

Siehe auch

  • PBXB64 - C-Sprache (V10)


C math.h - Math-Runtime-Funktionen verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C math.h - Math-Runtime-Funktionen verwenden

Kind: Command | Category: C Frontend

Kategorie: Übersicht

Syntax

#include <math.h>

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Math-Helfer werden ueber den Runtime-/Toolchain-Pfad der Science-Beispiele gelinkt.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C Praeprozessor - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C Praeprozessor

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Kategorie: Übersicht

Beschreibung

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Zweck

Die Seite ist bewusst ein Ueberblickskapitel. Details, Syntax, Grenzen und Validierungsbelege stehen auf den darunterliegenden Einzelseiten, damit nicht mehrere Befehle auf einer einzigen Referenzseite vermischt werden.

ABI und Zielplattform

PBXB64s C-Frontend zielt auf eine getestete C17/C23-Teilmenge fuer Windows x64. Benutzerfunktionen und externe Aufrufe werden fuer die Windows-x64-ABI gesenkt: Integer- und Zeigerargumente verwenden RCX, RDX, R8 und R9; Floating-Point-Argumente verwenden XMM0 bis XMM3; weitere Argumente liegen auf dem Stack. Diese ABI-Notiz ist fuer C/PB/ASM-Mischprogramme wichtig.

Portabilitaet

Portabilitaet: Die Hilfeseiten dokumentieren PBXB64s natives Windows-Ziel, nicht einen POSIX-C-Compiler. Vermeide Annahmen ueber Unix-Header, Hostprozessverhalten oder implementation-defined Groessen, sofern die jeweilige Einzelseite sie nicht ausdruecklich belegt.

Einzelseiten

  • #include
  • #define
  • #if / #ifdef
  • __LINE__ / __FILE__
  • -std=c17 / -std=c23

Pruefung

Die C-Seiten verweisen auf konkrete Beispiele oder Validierungstests. Neue C-Frontend-Behauptungen sollen erst nach einem fokussierten compile/link/run-Beleg in diese Referenz aufgenommen werden.

Beginne mit dieser Uebersicht, wenn du die passende Sprachform suchst, und wechsle dann auf die Einzelseite. Dort stehen die getestete Syntax, der begrenzte PBXB64-Umfang, bekannte Einschraenkungen und der konkrete Datei- oder Matrixbeleg.

Ein guter C-Beleg ist eine kleine, eigenstaendige Quelldatei mit Exitcode 0 fuer Erfolg, klarer Fehlerrueckgabe und nur den Headern, die das gezeigte Feature wirklich benoetigt.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#define VERSION 1
#if VERSION >= 1
#  define MSG "v1+"
#else
#  define MSG "old"
#endif
#include <stdio.h>
int main(void) {
    printf("%s\n", MSG);
    return 0;
}

Siehe auch

  • PBXB64 - C-Sprache (V10)


C signal.h - Signal-Helfer verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C signal.h - Signal-Helfer verwenden

Kind: Command | Category: C Frontend

Kategorie: Übersicht

Syntax

#include <signal.h>

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Signal-Header-Abdeckung wird durch fokussierte C-Tests belegt.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C Standardbibliothek - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C Standardbibliothek

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Kategorie: Übersicht

Beschreibung

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Zweck

Die Seite ist bewusst ein Ueberblickskapitel. Details, Syntax, Grenzen und Validierungsbelege stehen auf den darunterliegenden Einzelseiten, damit nicht mehrere Befehle auf einer einzigen Referenzseite vermischt werden.

ABI und Zielplattform

PBXB64s C-Frontend zielt auf eine getestete C17/C23-Teilmenge fuer Windows x64. Benutzerfunktionen und externe Aufrufe werden fuer die Windows-x64-ABI gesenkt: Integer- und Zeigerargumente verwenden RCX, RDX, R8 und R9; Floating-Point-Argumente verwenden XMM0 bis XMM3; weitere Argumente liegen auf dem Stack. Diese ABI-Notiz ist fuer C/PB/ASM-Mischprogramme wichtig.

Portabilitaet

Portabilitaet: Die Hilfeseiten dokumentieren PBXB64s natives Windows-Ziel, nicht einen POSIX-C-Compiler. Vermeide Annahmen ueber Unix-Header, Hostprozessverhalten oder implementation-defined Groessen, sofern die jeweilige Einzelseite sie nicht ausdruecklich belegt.

Einzelseiten

  • stdio.h
  • string.h
  • stdlib.h
  • math.h
  • signal.h
  • time.h

Pruefung

Die C-Seiten verweisen auf konkrete Beispiele oder Validierungstests. Neue C-Frontend-Behauptungen sollen erst nach einem fokussierten compile/link/run-Beleg in diese Referenz aufgenommen werden.

Beginne mit dieser Uebersicht, wenn du die passende Sprachform suchst, und wechsle dann auf die Einzelseite. Dort stehen die getestete Syntax, der begrenzte PBXB64-Umfang, bekannte Einschraenkungen und der konkrete Datei- oder Matrixbeleg.

Ein guter C-Beleg ist eine kleine, eigenstaendige Quelldatei mit Exitcode 0 fuer Erfolg, klarer Fehlerrueckgabe und nur den Headern, die das gezeigte Feature wirklich benoetigt.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#include <stdio.h>
#include <string.h>
int main(void) {
    char buf[64];
    strcpy(buf, "hello");
    printf("%s\n", buf);
    return 0;
}

Siehe auch

  • PBXB64 - C-Sprache (V10)


C stdio.h - Formatierte und Datei-E/A verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C stdio.h - Formatierte und Datei-E/A verwenden

Kind: Command | Category: C Frontend

Kategorie: Übersicht

Syntax

#include <stdio.h>

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

C-stdio-Header und Runtime-Aufrufe sind durch write-, input-, fread- und printf-aehnliche Tests abgedeckt.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C stdlib.h - Allokations- und Konvertierungshelfer verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C stdlib.h - Allokations- und Konvertierungshelfer verwenden

Kind: Command | Category: C Frontend

Kategorie: Übersicht

Syntax

#include <stdlib.h>

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Deckt Allokations- und Hilfsfunktionen ab, die von den Validierungstests ausgeuebt werden.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C string.h - String- und Speicherhelfer verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C string.h - String- und Speicherhelfer verwenden

Kind: Command | Category: C Frontend

Kategorie: Übersicht

Syntax

#include <string.h>

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Dokumentiert die getestete String-/Speicherhelfer-Oberflaeche fuer C-Programme.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


C Strukturen und Unions - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C Strukturen und Unions

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Kategorie: Übersicht

Syntax

struct Point {
    int x;
    int y;
};
struct Point p = { .x = 1, .y = 2 };
printf("%d,%d\n", p.x, p.y);

Beschreibung

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Zweck

Die Seite ist bewusst ein Ueberblickskapitel. Details, Syntax, Grenzen und Validierungsbelege stehen auf den darunterliegenden Einzelseiten, damit nicht mehrere Befehle auf einer einzigen Referenzseite vermischt werden.

ABI und Zielplattform

PBXB64s C-Frontend zielt auf eine getestete C17/C23-Teilmenge fuer Windows x64. Benutzerfunktionen und externe Aufrufe werden fuer die Windows-x64-ABI gesenkt: Integer- und Zeigerargumente verwenden RCX, RDX, R8 und R9; Floating-Point-Argumente verwenden XMM0 bis XMM3; weitere Argumente liegen auf dem Stack. Diese ABI-Notiz ist fuer C/PB/ASM-Mischprogramme wichtig.

Portabilitaet

Portabilitaet: Die Hilfeseiten dokumentieren PBXB64s natives Windows-Ziel, nicht einen POSIX-C-Compiler. Vermeide Annahmen ueber Unix-Header, Hostprozessverhalten oder implementation-defined Groessen, sofern die jeweilige Einzelseite sie nicht ausdruecklich belegt.

Einzelseiten

  • struct
  • union
  • compound literals
  • bit-fields

Pruefung

Die C-Seiten verweisen auf konkrete Beispiele oder Validierungstests. Neue C-Frontend-Behauptungen sollen erst nach einem fokussierten compile/link/run-Beleg in diese Referenz aufgenommen werden.

Beginne mit dieser Uebersicht, wenn du die passende Sprachform suchst, und wechsle dann auf die Einzelseite. Dort stehen die getestete Syntax, der begrenzte PBXB64-Umfang, bekannte Einschraenkungen und der konkrete Datei- oder Matrixbeleg.

Ein guter C-Beleg ist eine kleine, eigenstaendige Quelldatei mit Exitcode 0 fuer Erfolg, klarer Fehlerrueckgabe und nur den Headern, die das gezeigte Feature wirklich benoetigt.

← Back

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Beispiel

#include <stdio.h>
struct Rect { int x, y, w, h; };
int main(void) {
    struct Rect r = {0, 0, 10, 20};
    printf("%d\n", r.w * r.h);
    return 0;
}

Siehe auch

  • PBXB64 - C-Sprache (V10)


C time.h - Zeit-Helfer verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C time.h - Zeit-Helfer verwenden

Kind: Command | Category: C Frontend

Kategorie: Übersicht

Syntax

#include <time.h>

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Time-Header-Abdeckung wird durch fokussierte C-Tests belegt.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C Variablen und Konstanten - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C Variablen und Konstanten

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Kategorie: Übersicht

Beschreibung

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Zweck

Die Seite ist bewusst ein Ueberblickskapitel. Details, Syntax, Grenzen und Validierungsbelege stehen auf den darunterliegenden Einzelseiten, damit nicht mehrere Befehle auf einer einzigen Referenzseite vermischt werden.

ABI und Zielplattform

PBXB64s C-Frontend zielt auf eine getestete C17/C23-Teilmenge fuer Windows x64. Benutzerfunktionen und externe Aufrufe werden fuer die Windows-x64-ABI gesenkt: Integer- und Zeigerargumente verwenden RCX, RDX, R8 und R9; Floating-Point-Argumente verwenden XMM0 bis XMM3; weitere Argumente liegen auf dem Stack. Diese ABI-Notiz ist fuer C/PB/ASM-Mischprogramme wichtig.

Portabilitaet

Portabilitaet: Die Hilfeseiten dokumentieren PBXB64s natives Windows-Ziel, nicht einen POSIX-C-Compiler. Vermeide Annahmen ueber Unix-Header, Hostprozessverhalten oder implementation-defined Groessen, sofern die jeweilige Einzelseite sie nicht ausdruecklich belegt.

Einzelseiten

  • auto locals
  • static storage
  • extern symbols
  • const qualifier
  • initializers

Pruefung

Die C-Seiten verweisen auf konkrete Beispiele oder Validierungstests. Neue C-Frontend-Behauptungen sollen erst nach einem fokussierten compile/link/run-Beleg in diese Referenz aufgenommen werden.

Beginne mit dieser Uebersicht, wenn du die passende Sprachform suchst, und wechsle dann auf die Einzelseite. Dort stehen die getestete Syntax, der begrenzte PBXB64-Umfang, bekannte Einschraenkungen und der konkrete Datei- oder Matrixbeleg.

Ein guter C-Beleg ist eine kleine, eigenstaendige Quelldatei mit Exitcode 0 fuer Erfolg, klarer Fehlerrueckgabe und nur den Headern, die das gezeigte Feature wirklich benoetigt.

← Back

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

#include <stdio.h>
static int counter = 0;
int main(void) {
    const int limit = 10;
    counter++;
    printf("%d/%d\n", counter, limit);
    return 0;
}

Siehe auch

  • PBXB64 - C-Sprache (V10)


C Zeiger und Arrays - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

C Zeiger und Arrays

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Kategorie: Übersicht

Beschreibung

Diese Hub-Seite verweist auf einzelne C-Frontend-Seiten fuer implementierte, getestete Konstrukte.

Zweck

Die Seite ist bewusst ein Ueberblickskapitel. Details, Syntax, Grenzen und Validierungsbelege stehen auf den darunterliegenden Einzelseiten, damit nicht mehrere Befehle auf einer einzigen Referenzseite vermischt werden.

ABI und Zielplattform

PBXB64s C-Frontend zielt auf eine getestete C17/C23-Teilmenge fuer Windows x64. Benutzerfunktionen und externe Aufrufe werden fuer die Windows-x64-ABI gesenkt: Integer- und Zeigerargumente verwenden RCX, RDX, R8 und R9; Floating-Point-Argumente verwenden XMM0 bis XMM3; weitere Argumente liegen auf dem Stack. Diese ABI-Notiz ist fuer C/PB/ASM-Mischprogramme wichtig.

Portabilitaet

Portabilitaet: Die Hilfeseiten dokumentieren PBXB64s natives Windows-Ziel, nicht einen POSIX-C-Compiler. Vermeide Annahmen ueber Unix-Header, Hostprozessverhalten oder implementation-defined Groessen, sofern die jeweilige Einzelseite sie nicht ausdruecklich belegt.

Einzelseiten

  • pointers
  • arrays
  • -> member access
  • sizeof
  • casts

Pruefung

Die C-Seiten verweisen auf konkrete Beispiele oder Validierungstests. Neue C-Frontend-Behauptungen sollen erst nach einem fokussierten compile/link/run-Beleg in diese Referenz aufgenommen werden.

Beginne mit dieser Uebersicht, wenn du die passende Sprachform suchst, und wechsle dann auf die Einzelseite. Dort stehen die getestete Syntax, der begrenzte PBXB64-Umfang, bekannte Einschraenkungen und der konkrete Datei- oder Matrixbeleg.

Ein guter C-Beleg ist eine kleine, eigenstaendige Quelldatei mit Exitcode 0 fuer Erfolg, klarer Fehlerrueckgabe und nur den Headern, die das gezeigte Feature wirklich benoetigt.

← Back

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Beispiel

#include <stdio.h>
int main(void) {
    int vals[] = {10, 20, 30};
    int *p = vals;
    p[1] = 99;
    printf("%d\n", vals[1]);
    return 0;
}

Siehe auch

  • PBXB64 - C-Sprache (V10)


PBXB64 - C11 Atomics - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

PBXB64 - C11 Atomics

PBXB64 implements the scalar atomic types and operations from &lt;stdatomic.h&gt;. Atomic operations are lowered to seq_cst helper calls in the embedded c_hlib runtime, so the generated code is thread-safe without requiring special backend atomic instruction support.

Kategorie: Übersicht

Beschreibung

PBXB64 implements the scalar atomic types and operations from <stdatomic.h>. Atomic operations are lowered to seq_cst helper calls in the embedded c_hlib runtime, so the generated code is thread-safe without requiring special backend atomic instruction support.

Supported Types

atomic_bool, atomic_char, atomic_schar, atomic_uchar,
atomic_short, atomic_ushort, atomic_int, atomic_uint,
atomic_long, atomic_ulong, atomic_llong, atomic_ullong,
atomic_intptr_t, atomic_uintptr_t, atomic_size_t,
atomic_ptrdiff_t, atomic_intmax_t, atomic_uintmax_t

Supported Operations

Macro | Notes
atomic_load, atomic_load_explicit | Read value
atomic_store, atomic_store_explicit | Write value
atomic_exchange, atomic_exchange_explicit | Swap value
atomic_fetch_add, atomic_fetch_sub | Add/subtract and return old value
atomic_fetch_or, atomic_fetch_and, atomic_fetch_xor | Bitwise ops and return old value
atomic_compare_exchange_strong, atomic_compare_exchange_weak | CAS (weak is strong)
atomic_flag_test_and_set, atomic_flag_clear | Atomic flag ops

Memory Orders

All six memory_order constants are accepted. The current runtime always uses seq_cst behavior regardless of the requested order.

Limitation: Pointer-sized atomics are supported; atomic pointers (_Atomic void*) and atomic floats are not yet implemented.

Back to C Language Reference

Beispiel

#include <stdatomic.h>

static atomic_int counter;

int main(void) {
    atomic_init(&counter, 0);
    atomic_fetch_add(&counter, 1);
    return atomic_load(&counter) == 1 ? 0 : 1;
}


PBXB64 - C11 Threads - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

PBXB64 - C11 Threads

PBXB64 provides a subset of &lt;threads.h&gt; implemented on top of the Win32 thread primitives already used by the PB runtime.

Kategorie: Übersicht

Beschreibung

PBXB64 provides a subset of <threads.h> implemented on top of the Win32 thread primitives already used by the PB runtime.

Supported API

Name | Description
thrd_t | Thread handle (64-bit)
thrd_create | Create a thread
thrd_join | Wait for thread and release handle
thrd_exit | Exit current thread
mtx_t | Mutex handle
mtx_init | Initialize mutex (mtx_plain only)
mtx_lock | Acquire mutex
mtx_unlock | Release mutex
mtx_destroy | Destroy mutex

Thread/Mutex Handles

Local handles may produce incorrect argument passing.

Limitation: thrd_detach, thrd_sleep, thrd_yield, mtx_timed, mtx_recursive, condition variables, and tss_* are not yet implemented.

Back to C Language Reference

Beispiel

#include <threads.h>
#include <stdatomic.h>

static atomic_int counter;
static mtx_t mutex;
static thrd_t worker;

static int thread_fn(void* arg) {
    (void)arg;
    for (int i = 0; i < 1000; ++i) {
        mtx_lock(&mutex);
        atomic_fetch_add(&counter, 1);
        mtx_unlock(&mutex);
    }
    return 0;
}

int main(void) {
    atomic_init(&counter, 0);
    mtx_init(&mutex, mtx_plain);
    thrd_create(&worker, thread_fn, NULL);
    thrd_join(worker, NULL);
    mtx_destroy(&mutex);
    return atomic_load(&counter) == 1000 ? 0 : 1;
}


PBXB64 - long double - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › Übersicht Hilfe zum PBXB64-Compiler

PBXB64 - long double

On PBXB64 the long double type is a 64-bit IEEE-754 floating-point type with the same size, alignment, and calling convention as double. This provides full source compatibility with standard C code while reusing the existing SSE float backend.

Kategorie: Übersicht

Beschreibung

On PBXB64 the long double type is a 64-bit IEEE-754 floating-point type with the same size, alignment, and calling convention as double. This provides full source compatibility with standard C code while reusing the existing SSE float backend.

Characteristics

Property | Value
Size | 8 bytes
Alignment | 8 bytes
Backend | SSE2 double
Literal suffix | L or l

Notes

  • Arithmetic, comparisons, conversions, function parameters, and returns all work.
  • sizeof(long double) equals sizeof(double).
  • The 80-bit x87 extended-precision format is not supported.
Limitation: 80-bit x87 long double and the associated math.h long-double functions (sinl, cosl, etc.) are not available.

Back to C Language Reference

Beispiel

#include <stddef.h>

long double area(long double r) {
    long double pi = 3.14159265358979323846L;
    return pi * r * r;
}

int main(void) {
    long double a = area(2.0L);
    return (a == 12.566370614359172L) ? 0 : 1;
}


C-Datentypen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Datentypen Hilfe zum PBXB64-Compiler

C-Datentypen

Themen in diesem Kapitel

C _Bool - Booleschen Speicher verwenden C enum - Integer-Konstanten deklarieren C float / double - Floating-Point-Werte verwenden C int - Integer-Typen verwenden C typedef - Typ benennen


C _Bool - Booleschen Speicher verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Datentypen Hilfe zum PBXB64-Compiler

C _Bool - Booleschen Speicher verwenden

Kind: Command | Category: C Frontend

Kategorie: C-Datentypen

Syntax

_Bool ok = 1;

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Implementiert C-Boolspeicher und logisches Konvertierungsverhalten.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C enum - Integer-Konstanten deklarieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Datentypen Hilfe zum PBXB64-Compiler

C enum - Integer-Konstanten deklarieren

Kind: Command | Category: C Frontend

Kategorie: C-Datentypen

Syntax

enum Color { RED, GREEN = 4 };

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Parst enum-Konstanten als Integerwerte fuer Ausdruecke.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C float / double - Floating-Point-Werte verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Datentypen Hilfe zum PBXB64-Compiler

C float / double - Floating-Point-Werte verwenden

Kind: Command | Category: C Frontend

Kategorie: C-Datentypen

Syntax

double x = 3.14;

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Unterstuetzt float/double-Werte und Math-Runtime-Aufrufe aus den Science-Beispielen.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C int - Integer-Typen verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Datentypen Hilfe zum PBXB64-Compiler

C int - Integer-Typen verwenden

Kind: Command | Category: C Frontend

Kategorie: C-Datentypen

Syntax

int x = 42; unsigned long long y = 1;

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Unterstuetzt uebliche Integer-Schreibweisen, signed/unsigned-Arithmetik, Hex-Literale, Shifts und Bitoperationen.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C typedef - Typ benennen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Datentypen Hilfe zum PBXB64-Compiler

C typedef - Typ benennen

Kind: Command | Category: C Frontend

Kategorie: C-Datentypen

Syntax

typedef int Count;

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Registriert Typedef-Namen und trennt sie von normalen Bezeichnern und Struct-Membern.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.


C-Variablen & Konstanten - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Variablen & Konstanten Hilfe zum PBXB64-Compiler

C-Variablen & Konstanten

Themen in diesem Kapitel

C auto - Automatischen Speicher verwenden C const - Nur-Lesen-Absicht qualifizieren C extern - Externe Symbole deklarieren C initializer - Objekte initialisieren C static - Persistenten Speicher verwenden


C auto - Automatischen Speicher verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Variablen & Konstanten Hilfe zum PBXB64-Compiler

C auto - Automatischen Speicher verwenden

Kind: Command | Category: C Frontend

Kategorie: C-Variablen & Konstanten

Syntax

auto int x = 1;

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Automatischer Blockspeicher ist der Standard fuer lokale C-Variablen.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C const - Nur-Lesen-Absicht qualifizieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Variablen & Konstanten Hilfe zum PBXB64-Compiler

C const - Nur-Lesen-Absicht qualifizieren

Kind: Command | Category: C Frontend

Kategorie: C-Variablen & Konstanten

Syntax

const int x = 1;

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Parst const-qualifizierte Typen und Zeiger im C-Deklaratorpfad.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C extern - Externe Symbole deklarieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Variablen & Konstanten Hilfe zum PBXB64-Compiler

C extern - Externe Symbole deklarieren

Kind: Command | Category: C Frontend

Kategorie: C-Variablen & Konstanten

Syntax

extern int puts(const char *);

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Deklariert Symbole, die ueber Linker oder Runtime-Objekte aufgeloest werden.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C initializer - Objekte initialisieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Variablen & Konstanten Hilfe zum PBXB64-Compiler

C initializer - Objekte initialisieren

Kind: Command | Category: C Frontend

Kategorie: C-Variablen & Konstanten

Syntax

int a[3] = {1, 2, 3};

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Unterstuetzt von den Tests abgedeckte Skalar-, Aggregat-, String- und Compound-Initialisierer.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C static - Persistenten Speicher verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Variablen & Konstanten Hilfe zum PBXB64-Compiler

C static - Persistenten Speicher verwenden

Kind: Command | Category: C Frontend

Kategorie: C-Variablen & Konstanten

Syntax

static int counter;

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Unterstuetzt statischen Speicher auf Datei- oder lokaler Ebene, soweit getestet.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C-Funktionen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Funktionen Hilfe zum PBXB64-Compiler

C-Funktionen

Themen in diesem Kapitel

C function - C-Funktion definieren C function pointer - Ueber Zeiger aufrufen C return - Aus Funktion zurueckkehren C variadic - Varargs-Funktionen aufrufen


C function - C-Funktion definieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Funktionen Hilfe zum PBXB64-Compiler

C function - C-Funktion definieren

Kind: Command | Category: C Frontend

Kategorie: C-Funktionen

Syntax

int add(int a, int b) { return a + b; }

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Funktionsdefinitionen werden in native PBXB64-IR gesenkt und verwenden die Windows-x64-Aufrufkonvention. Die Validierung deckt normale Aufrufe, Runtime-Aufrufe und C17/C23-Modus ab.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C function pointer - Ueber Zeiger aufrufen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Funktionen Hilfe zum PBXB64-Compiler

C function pointer - Ueber Zeiger aufrufen

Kind: Command | Category: C Frontend

Kategorie: C-Funktionen

Syntax

int (*fp)(int) = f; fp(1);

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Bewahrt Funktionszeiger-Prototypinformationen fuer direkte und Member-Funktionszeiger-Aufrufe.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C return - Aus Funktion zurueckkehren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Funktionen Hilfe zum PBXB64-Compiler

C return - Aus Funktion zurueckkehren

Kind: Command | Category: C Frontend

Kategorie: C-Funktionen

Syntax

return 42;

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Gibt Skalarwerte zurueck und ist Teil der nativen Kontrollfluss-Senkung. Struct-Rvalue- und Member-Faelle sind durch fokussierte C-Tests abgedeckt.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C variadic - Varargs-Funktionen aufrufen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Funktionen Hilfe zum PBXB64-Compiler

C variadic - Varargs-Funktionen aufrufen

Kind: Command | Category: C Frontend

Kategorie: C-Funktionen

Syntax

printf("%d", x);

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Unterstuetzt printf-aehnliche variadische Aufrufe ueber die Win64-ABI-Senkung.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C-Kontrollfluss - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Kontrollfluss Hilfe zum PBXB64-Compiler

C-Kontrollfluss

Themen in diesem Kapitel

C break - Schleife oder switch verlassen C continue - Schleife fortsetzen C do while - Block vor Bedingung ausfuehren C for - C-Zaehlschleife C goto - Zu Label springen C if - Bedingt verzweigen C switch - Nach Integer-Fall verzweigen C while - Schleife solange wahr


C break - Schleife oder switch verlassen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Kontrollfluss Hilfe zum PBXB64-Compiler

C break - Schleife oder switch verlassen

Kind: Command | Category: C Frontend

Kategorie: C-Kontrollfluss

Syntax

break;

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Springt zum naechsten Schleifen- oder switch-Ausgang.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C continue - Schleife fortsetzen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Kontrollfluss Hilfe zum PBXB64-Compiler

C continue - Schleife fortsetzen

Kind: Command | Category: C Frontend

Kategorie: C-Kontrollfluss

Syntax

continue;

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Springt zum Continue-Ziel der aktuellen Schleife, auch bei Faellen in switch-Bloecken.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C do while - Block vor Bedingung ausfuehren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Kontrollfluss Hilfe zum PBXB64-Compiler

C do while - Block vor Bedingung ausfuehren

Kind: Command | Category: C Frontend

Kategorie: C-Kontrollfluss

Syntax

do { i++; } while (i < 10);

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Implementiert nachlaufend getestete Schleifen im nativen Statement-Parser.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C for - C-Zaehlschleife - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Kontrollfluss Hilfe zum PBXB64-Compiler

C for - C-Zaehlschleife

Kind: Command | Category: C Frontend

Kategorie: C-Kontrollfluss

Syntax

for (int i = 0; i < 10; i++) { }

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Unterstuetzt Init-, Bedingungs- und Schritt-Klauseln, einschliesslich lokaler Deklarationen in der Init-Klausel.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C goto - Zu Label springen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Kontrollfluss Hilfe zum PBXB64-Compiler

C goto - Zu Label springen

Kind: Command | Category: C Frontend

Kategorie: C-Kontrollfluss

Syntax

goto done; done: return 0;

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Unterstuetzt Labels und direkte goto-Spruenge innerhalb einer Funktion.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C if - Bedingt verzweigen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Kontrollfluss Hilfe zum PBXB64-Compiler

C if - Bedingt verzweigen

Kind: Command | Category: C Frontend

Kategorie: C-Kontrollfluss

Syntax

if (x) { return 1; } else { return 0; }

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Unterstuetzt Integer-, Zeiger- und Floating-Logical-Bedingungen mit optionalem else-Block.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C switch - Nach Integer-Fall verzweigen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Kontrollfluss Hilfe zum PBXB64-Compiler

C switch - Nach Integer-Fall verzweigen

Kind: Command | Category: C Frontend

Kategorie: C-Kontrollfluss

Syntax

switch (x) { case 1: return 2; default: return 0; }

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Senkt switch/case/default-Segmente, einschliesslich continue-Verhalten in umgebenden Schleifen.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C while - Schleife solange wahr - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Kontrollfluss Hilfe zum PBXB64-Compiler

C while - Schleife solange wahr

Kind: Command | Category: C Frontend

Kategorie: C-Kontrollfluss

Syntax

while (i < 10) { i++; }

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Wiederholt, solange die Bedingung wahr ist, und verwendet den aktiven C-Schleifenrahmen fuer break/continue.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C-Zeiger & Arrays - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Zeiger & Arrays Hilfe zum PBXB64-Compiler

C-Zeiger & Arrays

Themen in diesem Kapitel

C -> - Zeiger-Member zugreifen C array - Indizierten Speicher verwenden C cast - Explizit konvertieren C pointer - Werte adressieren und dereferenzieren C sizeof - Objektgroesse abfragen


C -> - Zeiger-Member zugreifen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Zeiger & Arrays Hilfe zum PBXB64-Compiler

C -> - Zeiger-Member zugreifen

Kind: Command | Category: C Frontend

Kategorie: C-Zeiger & Arrays

Syntax

p->field

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Greift ueber einen Zeigerausdruck auf Struct-Member zu.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C array - Indizierten Speicher verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Zeiger & Arrays Hilfe zum PBXB64-Compiler

C array - Indizierten Speicher verwenden

Kind: Command | Category: C Frontend

Kategorie: C-Zeiger & Arrays

Syntax

int a[3] = {1, 2, 3};

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Unterstuetzt feste Arrays, Initialisiererlisten, Indizierung und Array-zu-Zeiger-Nutzung in implementierten Kontexten.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


C cast - Explizit konvertieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Zeiger & Arrays Hilfe zum PBXB64-Compiler

C cast - Explizit konvertieren

Kind: Command | Category: C Frontend

Kategorie: C-Zeiger & Arrays

Syntax

(int)x

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Behandelt explizite Skalar- und Zeigerkonvertierungen in Ausdruecken.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C pointer - Werte adressieren und dereferenzieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Zeiger & Arrays Hilfe zum PBXB64-Compiler

C pointer - Werte adressieren und dereferenzieren

Kind: Command | Category: C Frontend

Kategorie: C-Zeiger & Arrays

Syntax

int *p = &x; *p = 3;

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Unterstuetzt Address-of, Dereferenzierung, Zeigerarithmetik, Funktionsdesignatoren und Funktionszeiger-Aufrufe.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C sizeof - Objektgroesse abfragen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Zeiger & Arrays Hilfe zum PBXB64-Compiler

C sizeof - Objektgroesse abfragen

Kind: Command | Category: C Frontend

Kategorie: C-Zeiger & Arrays

Syntax

sizeof(int)

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Wertet unterstuetzte Typ- und Operandenformen zur Compilezeit fuer native Layout-Entscheidungen aus.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


C-Strukturen & Unions - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Strukturen & Unions Hilfe zum PBXB64-Compiler

C-Strukturen & Unions

Themen in diesem Kapitel

C bit-field - Struct-Member packen C compound literal - Unbenannte Objekte erzeugen C struct - Benannte Felder gruppieren C union - Felder ueberlagern


C bit-field - Struct-Member packen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Strukturen & Unions Hilfe zum PBXB64-Compiler

C bit-field - Struct-Member packen

Kind: Command | Category: C Frontend

Kategorie: C-Strukturen & Unions

Syntax

struct F { unsigned x:3; };

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Speichert Bitfeld-Breite und Offset-Metadaten in C-Record-Membern.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C compound literal - Unbenannte Objekte erzeugen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Strukturen & Unions Hilfe zum PBXB64-Compiler

C compound literal - Unbenannte Objekte erzeugen

Kind: Command | Category: C Frontend

Kategorie: C-Strukturen & Unions

Syntax

(struct P){1, 2}

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Erzeugt unbenannte Aggregatwerte und unterstuetzt in fokussierten Tests deren Adresse.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


C struct - Benannte Felder gruppieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Strukturen & Unions Hilfe zum PBXB64-Compiler

C struct - Benannte Felder gruppieren

Kind: Command | Category: C Frontend

Kategorie: C-Strukturen & Unions

Syntax

struct Point { int x; int y; };

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Unterstuetzt benannte Records, Memberzugriff, selbstreferenzielle Zeiger, Rvalue-Memberzugriff und Struct-Layout-Pruefungen.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


C union - Felder ueberlagern - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Strukturen & Unions Hilfe zum PBXB64-Compiler

C union - Felder ueberlagern

Kind: Command | Category: C Frontend

Kategorie: C-Strukturen & Unions

Syntax

union U { int i; float f; };

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Verwendet dieselbe Record-Logik wie structs mit Union-Layout-Semantik.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C-Präprozessor - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Präprozessor Hilfe zum PBXB64-Compiler

C-Präprozessor

Themen in diesem Kapitel

C #define - Makros definieren C #if / #ifdef - Bedingt kompilieren C #include - Header einbinden C -std=c17 / -std=c23 - C-Sprachmodus waehlen C __LINE__ / __FILE__ - Quellort-Makros verwenden


C #define - Makros definieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Präprozessor Hilfe zum PBXB64-Compiler

C #define - Makros definieren

Kind: Command | Category: C Frontend

Kategorie: C-Präprozessor

Syntax

#define N 42

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Unterstuetzt object-like und function-like Makroersetzung in der implementierten Praeprozessor-Teilmenge.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C #if / #ifdef - Bedingt kompilieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Präprozessor Hilfe zum PBXB64-Compiler

C #if / #ifdef - Bedingt kompilieren

Kind: Command | Category: C Frontend

Kategorie: C-Präprozessor

Syntax

#ifdef NAME

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Behandelt bedingte Praeprozessierung, inaktive C23-Token im C17-Modus und Diagnosefehler fuer abgelehnte modusspezifische Features.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C #include - Header einbinden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Präprozessor Hilfe zum PBXB64-Compiler

C #include - Header einbinden

Kind: Command | Category: C Frontend

Kategorie: C-Präprozessor

Syntax

#include <stdio.h>

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Der Praeprozessor behandelt Standard- und projektlokale Include-Formen aus den Tests.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C -std=c17 / -std=c23 - C-Sprachmodus waehlen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Präprozessor Hilfe zum PBXB64-Compiler

C -std=c17 / -std=c23 - C-Sprachmodus waehlen

Kind: Command | Category: C Frontend

Kategorie: C-Präprozessor

Syntax

PBXB64 -std=c17 file.c

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Der Driver/Frontend-Modus unterstuetzt C17- und C23-Pruefungen; nicht unterstuetzte C23-Features schlagen mit expliziten Diagnosen fehl.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


C __LINE__ / __FILE__ - Quellort-Makros verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › C Frontend › C-Präprozessor Hilfe zum PBXB64-Compiler

C __LINE__ / __FILE__ - Quellort-Makros verwenden

Kind: Command | Category: C Frontend

Kategorie: C-Präprozessor

Syntax

__LINE__

Beschreibung

Kind: Command | Category: C Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Expandiert Quellort-Makros ueber den Praeprozessorpfad.

Der gezeigte Ausschnitt ist absichtlich klein: Er isoliert genau das dokumentierte Sprachkonstrukt. Groessere Programme koennen dieses Konstrukt mit anderen getesteten C-Frontend-Features kombinieren, solange jede verwendete Form ebenfalls in der C-Referenz oder in der Validierungsmatrix belegt ist.

Nutzerbeleg: Die unten genannte Beispieldatei oder Validierungsspur ist der relevante Nachweis fuer dieses C-Sprachkonstrukt.

Verwendung im Programm

Schreiben Sie den Beispielcode so, dass das gezeigte Konstrukt direkt pruefbar ist und der Rest des Programms nur den notwendigen Rahmen bildet. Wenn das Sprachkonstrukt einen Wert liefert, zeigen Sie die exakte Weiterverarbeitung dieses Werts; wenn es ein Statement ist, zeigen Sie die sichtbare Auswirkung auf Variablen, Speicher oder Kontrollfluss.

Fehlerfaelle

Dokumentieren Sie die wichtigsten Grenzfaelle: ungueltige Operanden, unpassende Typen, fehlende Labels oder nicht unterstuetzte Moduskombinationen. Wenn das Konstrukt in einem Programm leicht missverstanden werden kann, sollte das Beispiel den Rueckgabewert oder den Zustand zeigen, den der Aufrufer nach einem Fehlschlag erwartet.

Grenzen

Diese Seite beschreibt nur die in PBXB64 implementierte und getestete C-Teilmenge. Vollstaendige C-Compiler-Kompatibilitaet wird hier nicht behauptet.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


Übersicht - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › Übersicht Hilfe zum PBXB64-Compiler

Übersicht

Themen in diesem Kapitel

B64 Aggregate B64 Datentypen B64 Funktionen B64 Inline-Assembler B64 Kontrollfluss B64 Operatoren B64 Variablen B64 Zeiger und Ausdruecke PBXB64 - B64-Sprachreferenz


B64 Aggregate - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › Übersicht Hilfe zum PBXB64-Compiler

B64 Aggregate

Kind: Reference hub | Category: B64-Frontend

Kategorie: Übersicht

Beschreibung

Kind: Reference hub | Category: B64-Frontend

PBXB64-Status: AVAILABLE

PBXB64-Zertifizierung: [CERTIFIED TESTED] Uebersichtsseite fuer die getestete B64-Frontend-Teilmenge; die verlinkten Unterseiten und examples/b64-Proben liefern den konkreten Nachweis.

Arrays, Strukturen und Varianten verwenden dieselbe native Aggregat- und ABI-Logik wie die anderen PBXB64-Frontends.

  • struct - Aggregat mit benannten Feldern
  • variant - getaggtes Payload-Aggregat
  • array - indizierter Speicher fester Groesse

Beschreibung

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verwendung dieses Unterkapitels

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verifizierungsmodell

Die verlinkten Befehlsseiten nennen Beispiele aus examples/b64. Diese Programme werden von der b64_linkrun-Spur kompiliert und ausgefuehrt, damit die Dokumentation an das aktuelle Compilerverhalten gebunden bleibt und keine statische Sprachskizze ist.

Frontend-Grenze

B64 ist das native System-Frontend von PBXB64. Diese Seiten beschreiben die getestete PBXB64-Teilmenge und ihre Senkung in native IR; sie versprechen keine Kompatibilitaet mit einer separaten externen Sprache oder Runtime.

Grenzen

Nur Konstrukte, die durch aktuelle B64-Quellen und registrierte Validierungstests belegt sind, sollen als zertifiziert beschrieben werden. Nicht unterstuetzte Sprachideen bleiben Backlog, bis Quellcode-, Test- und Hilfenachweis vorhanden sind.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Beispiel

struct Rect { x: i32; y: i32; w: i32; h: i32; }
fn area(r: Rect): i32 {
    return r.w * r.h;
}
fn main(): i32 {
    let r: Rect = Rect { x: 0, y: 0, w: 4, h: 5 };
    return area(r);
}

Siehe auch

  • PBXB64 - B64-Sprachreferenz


B64 Datentypen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › Übersicht Hilfe zum PBXB64-Compiler

B64 Datentypen

Kind: Reference hub | Category: B64-Frontend

Kategorie: Übersicht

Beschreibung

Kind: Reference hub | Category: B64-Frontend

PBXB64-Status: AVAILABLE

PBXB64-Zertifizierung: [CERTIFIED TESTED] Uebersichtsseite fuer die getestete B64-Frontend-Teilmenge; die verlinkten Unterseiten und examples/b64-Proben liefern den konkreten Nachweis.

B64 ist ein nativer System-Frontend mit expliziten Typen fester Breite, Zeigern, Arrays, Strukturen, Varianten und Typaliasen.

  • i64 - 64-Bit-Ganzzahltyp
  • bool - boolescher Typ
  • void - Typ ohne Wert
  • struct - Aggregattyp
  • variant - getaggte Union
  • typedef - Typalias

Beschreibung

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verwendung dieses Unterkapitels

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verifizierungsmodell

Die verlinkten Befehlsseiten nennen Beispiele aus examples/b64. Diese Programme werden von der b64_linkrun-Spur kompiliert und ausgefuehrt, damit die Dokumentation an das aktuelle Compilerverhalten gebunden bleibt und keine statische Sprachskizze ist.

Frontend-Grenze

B64 ist das native System-Frontend von PBXB64. Diese Seiten beschreiben die getestete PBXB64-Teilmenge und ihre Senkung in native IR; sie versprechen keine Kompatibilitaet mit einer separaten externen Sprache oder Runtime.

Grenzen

Nur Konstrukte, die durch aktuelle B64-Quellen und registrierte Validierungstests belegt sind, sollen als zertifiziert beschrieben werden. Nicht unterstuetzte Sprachideen bleiben Backlog, bis Quellcode-, Test- und Hilfenachweis vorhanden sind.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

fn main(): i32 {
    let x: i32 = 42;
    let p: *i32 = &x;
    *p = 100;
    return x;
}

Siehe auch

  • PBXB64 - B64-Sprachreferenz


B64 Funktionen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › Übersicht Hilfe zum PBXB64-Compiler

B64 Funktionen

Kind: Reference hub | Category: B64-Frontend

Kategorie: Übersicht

Syntax

fn add(a: i32, b: i32): i32 {
    return a + b;
}

Beschreibung

Kind: Reference hub | Category: B64-Frontend

PBXB64-Status: AVAILABLE

PBXB64-Zertifizierung: [CERTIFIED TESTED] Uebersichtsseite fuer die getestete B64-Frontend-Teilmenge; die verlinkten Unterseiten und examples/b64-Proben liefern den konkreten Nachweis.

Funktionen werden mit fn deklariert, in PBXB64-IR gesenkt und verwenden die Win64-ABI. Aggregat-Rueckgaben und Parameter sind durch fokussierte Beispiele abgedeckt.

  • fn - Funktionsdeklaration
  • return - Funktionsergebnis
  • extern - externe Funktion oder Daten

Beschreibung

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verwendung dieses Unterkapitels

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verifizierungsmodell

Die verlinkten Befehlsseiten nennen Beispiele aus examples/b64. Diese Programme werden von der b64_linkrun-Spur kompiliert und ausgefuehrt, damit die Dokumentation an das aktuelle Compilerverhalten gebunden bleibt und keine statische Sprachskizze ist.

Frontend-Grenze

B64 ist das native System-Frontend von PBXB64. Diese Seiten beschreiben die getestete PBXB64-Teilmenge und ihre Senkung in native IR; sie versprechen keine Kompatibilitaet mit einer separaten externen Sprache oder Runtime.

Grenzen

Nur Konstrukte, die durch aktuelle B64-Quellen und registrierte Validierungstests belegt sind, sollen als zertifiziert beschrieben werden. Nicht unterstuetzte Sprachideen bleiben Backlog, bis Quellcode-, Test- und Hilfenachweis vorhanden sind.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn sum(n: i32): i32 {
    let total: i32 = 0;
    for (let i: i32 = 1; i <= n; i = i + 1) {
        total = total + i;
    }
    return total;
}
fn main(): i32 {
    return sum(5);
}

Siehe auch

  • PBXB64 - B64-Sprachreferenz


B64 Inline-Assembler - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › Übersicht Hilfe zum PBXB64-Compiler

B64 Inline-Assembler

Kind: Reference hub | Category: B64-Frontend

Kategorie: Übersicht

Syntax

asm {
    mov rax, 42
}

Beschreibung

Kind: Reference hub | Category: B64-Frontend

PBXB64-Status: AVAILABLE

PBXB64-Zertifizierung: [CERTIFIED TESTED] Uebersichtsseite fuer die getestete B64-Frontend-Teilmenge; die verlinkten Unterseiten und examples/b64-Proben liefern den konkreten Nachweis.

B64-Inline-Assembler ist auf der Befehlsseite dokumentiert und durch viele fokussierte ASM-Beispiele in der B64-Validierungsspur abgedeckt.

  • asm - Inline-x64-Assemblerblock

Beschreibung

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verwendung dieses Unterkapitels

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verifizierungsmodell

Die verlinkten Befehlsseiten nennen Beispiele aus examples/b64. Diese Programme werden von der b64_linkrun-Spur kompiliert und ausgefuehrt, damit die Dokumentation an das aktuelle Compilerverhalten gebunden bleibt und keine statische Sprachskizze ist.

Frontend-Grenze

B64 ist das native System-Frontend von PBXB64. Diese Seiten beschreiben die getestete PBXB64-Teilmenge und ihre Senkung in native IR; sie versprechen keine Kompatibilitaet mit einer separaten externen Sprache oder Runtime.

Grenzen

Nur Konstrukte, die durch aktuelle B64-Quellen und registrierte Validierungstests belegt sind, sollen als zertifiziert beschrieben werden. Nicht unterstuetzte Sprachideen bleiben Backlog, bis Quellcode-, Test- und Hilfenachweis vorhanden sind.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Beispiel

fn main(): i32 {
    mut result: i32 = 0;
    asm {
        mov dword ptr [result], 7
    }
    return result;
}

Siehe auch

  • PBXB64 - B64-Sprachreferenz


B64 Kontrollfluss - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › Übersicht Hilfe zum PBXB64-Compiler

B64 Kontrollfluss

Kind: Reference hub | Category: B64-Frontend

Kategorie: Übersicht

Beschreibung

Kind: Reference hub | Category: B64-Frontend

PBXB64-Status: AVAILABLE

PBXB64-Zertifizierung: [CERTIFIED TESTED] Uebersichtsseite fuer die getestete B64-Frontend-Teilmenge; die verlinkten Unterseiten und examples/b64-Proben liefern den konkreten Nachweis.

B64 bietet C-aehnlichen strukturierten Kontrollfluss und Varianten-Matching im nativen Frontend.

  • if - bedingter Zweig
  • else - Alternativzweig
  • while - bedingte Schleife
  • for - Zaehlschleife
  • break - Schleife verlassen
  • continue - Schleife fortsetzen
  • match - Variant-Tag-Auswahl

Beschreibung

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verwendung dieses Unterkapitels

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verifizierungsmodell

Die verlinkten Befehlsseiten nennen Beispiele aus examples/b64. Diese Programme werden von der b64_linkrun-Spur kompiliert und ausgefuehrt, damit die Dokumentation an das aktuelle Compilerverhalten gebunden bleibt und keine statische Sprachskizze ist.

Frontend-Grenze

B64 ist das native System-Frontend von PBXB64. Diese Seiten beschreiben die getestete PBXB64-Teilmenge und ihre Senkung in native IR; sie versprechen keine Kompatibilitaet mit einer separaten externen Sprache oder Runtime.

Grenzen

Nur Konstrukte, die durch aktuelle B64-Quellen und registrierte Validierungstests belegt sind, sollen als zertifiziert beschrieben werden. Nicht unterstuetzte Sprachideen bleiben Backlog, bis Quellcode-, Test- und Hilfenachweis vorhanden sind.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i32 {
    mut x: i32 = 0;
    while (x < 5) {
        x = x + 1;
    }
    return x;
}

Siehe auch

  • PBXB64 - B64-Sprachreferenz


B64 Operatoren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › Übersicht Hilfe zum PBXB64-Compiler

B64 Operatoren

Kind: Reference hub | Category: B64-Frontend

Kategorie: Übersicht

Syntax

#B64
// Verwenden Sie die verlinkten B64-Konstrukte in einer vollstaendigen B64-Quelldatei.
#B64 END

Beschreibung

Kind: Reference hub | Category: B64-Frontend

PBXB64-Status: AVAILABLE

PBXB64-Zertifizierung: [CERTIFIED TESTED] Uebersichtsseite fuer die getestete B64-Frontend-Teilmenge; die verlinkten Unterseiten und examples/b64-Proben liefern den konkreten Nachweis.

Arithmetik, Bitoperationen, Logik, Vergleiche, Casts und Groessenabfragen sind auf der Operator-Befehlsseite dokumentiert.

  • Operatoren - Arithmetik, Bitoperationen, Vergleiche, Casts und zusammengesetzte Zuweisungen

Beschreibung

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verwendung dieses Unterkapitels

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verifizierungsmodell

Die verlinkten Befehlsseiten nennen Beispiele aus examples/b64. Diese Programme werden von der b64_linkrun-Spur kompiliert und ausgefuehrt, damit die Dokumentation an das aktuelle Compilerverhalten gebunden bleibt und keine statische Sprachskizze ist.

Frontend-Grenze

B64 ist das native System-Frontend von PBXB64. Diese Seiten beschreiben die getestete PBXB64-Teilmenge und ihre Senkung in native IR; sie versprechen keine Kompatibilitaet mit einer separaten externen Sprache oder Runtime.

Grenzen

Nur Konstrukte, die durch aktuelle B64-Quellen und registrierte Validierungstests belegt sind, sollen als zertifiziert beschrieben werden. Nicht unterstuetzte Sprachideen bleiben Backlog, bis Quellcode-, Test- und Hilfenachweis vorhanden sind.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


B64 Variablen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › Übersicht Hilfe zum PBXB64-Compiler

B64 Variablen

Kind: Reference hub | Category: B64-Frontend

Kategorie: Übersicht

Syntax

let x: i32 = 10;
mut y: i32 = 20;
y = 30;

Beschreibung

Kind: Reference hub | Category: B64-Frontend

PBXB64-Status: AVAILABLE

PBXB64-Zertifizierung: [CERTIFIED TESTED] Uebersichtsseite fuer die getestete B64-Frontend-Teilmenge; die verlinkten Unterseiten und examples/b64-Proben liefern den konkreten Nachweis.

B64 besitzt unveraenderliche lokale Bindungen, veraenderliche Bindungen, Konstanten und Globals. Diese Seiten beschreiben die in PBXB64 implementierte Teilmenge.

  • let - unveraenderliche lokale Bindung
  • var - veraenderliche lokale oder globale Bindung
  • const - Compilezeit-Konstante
  • extern - importierte Symboldeklaration

Beschreibung

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verwendung dieses Unterkapitels

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verifizierungsmodell

Die verlinkten Befehlsseiten nennen Beispiele aus examples/b64. Diese Programme werden von der b64_linkrun-Spur kompiliert und ausgefuehrt, damit die Dokumentation an das aktuelle Compilerverhalten gebunden bleibt und keine statische Sprachskizze ist.

Frontend-Grenze

B64 ist das native System-Frontend von PBXB64. Diese Seiten beschreiben die getestete PBXB64-Teilmenge und ihre Senkung in native IR; sie versprechen keine Kompatibilitaet mit einer separaten externen Sprache oder Runtime.

Grenzen

Nur Konstrukte, die durch aktuelle B64-Quellen und registrierte Validierungstests belegt sind, sollen als zertifiziert beschrieben werden. Nicht unterstuetzte Sprachideen bleiben Backlog, bis Quellcode-, Test- und Hilfenachweis vorhanden sind.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

fn main(): i32 {
    let a: i32 = 1;
    {
        let a: i32 = 2;
    }
    return a;
}

Siehe auch

  • PBXB64 - B64-Sprachreferenz


B64 Zeiger und Ausdruecke - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › Übersicht Hilfe zum PBXB64-Compiler

B64 Zeiger und Ausdruecke

Kind: Reference hub | Category: B64-Frontend

Kategorie: Übersicht

Syntax

let p: *i32 = &x;
*p = 42;

Beschreibung

Kind: Reference hub | Category: B64-Frontend

PBXB64-Status: AVAILABLE

PBXB64-Zertifizierung: [CERTIFIED TESTED] Uebersichtsseite fuer die getestete B64-Frontend-Teilmenge; die verlinkten Unterseiten und examples/b64-Proben liefern den konkreten Nachweis.

Zeiger-, Cast-, Groessen- und arithmetische Ausdruecke werden direkt in native IR-Operationen gesenkt.

  • cast - explizite Konvertierung
  • sizeof - Compilezeit-Groessenabfrage
  • Operatoren - Arithmetik, Bitoperationen und Vergleiche

Beschreibung

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verwendung dieses Unterkapitels

Diese Seite ist die Uebersicht fuer eine B64-Funktionsgruppe. Die untergeordneten Seiten enthalten die konkrete Befehlssyntax, fokussierte Verhaltenshinweise und das Getestetes Beispiel, welches die Implementierung in der Validierungsmatrix belegt.

Verifizierungsmodell

Die verlinkten Befehlsseiten nennen Beispiele aus examples/b64. Diese Programme werden von der b64_linkrun-Spur kompiliert und ausgefuehrt, damit die Dokumentation an das aktuelle Compilerverhalten gebunden bleibt und keine statische Sprachskizze ist.

Frontend-Grenze

B64 ist das native System-Frontend von PBXB64. Diese Seiten beschreiben die getestete PBXB64-Teilmenge und ihre Senkung in native IR; sie versprechen keine Kompatibilitaet mit einer separaten externen Sprache oder Runtime.

Grenzen

Nur Konstrukte, die durch aktuelle B64-Quellen und registrierte Validierungstests belegt sind, sollen als zertifiziert beschrieben werden. Nicht unterstuetzte Sprachideen bleiben Backlog, bis Quellcode-, Test- und Hilfenachweis vorhanden sind.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i32 {
    mut x: i32 = 10;
    let p: *i32 = &x;
    *p = 20;
    return x;
}

Siehe auch

  • PBXB64 - B64-Sprachreferenz


PBXB64 - B64-Sprachreferenz - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › Übersicht Hilfe zum PBXB64-Compiler

PBXB64 - B64-Sprachreferenz

B64 ist eine C-&auml;hnliche Systemprogrammiersprache und das prim&auml;re Frontend von PBXB64. Es bietet explizite Speicherverwaltung, erstklassige Zeiger, Strukturen und direkte IR-Integration.

Kategorie: Übersicht

Beschreibung

B64 ist eine C-ähnliche Systemprogrammiersprache und das primäre Frontend von PBXB64. Es bietet explizite Speicherverwaltung, erstklassige Zeiger, Strukturen und direkte IR-Integration.

Referenzseiten

Diese Seite ist die Uebersicht zum Frontend. Die verlinkten Einzelseiten enthalten Syntax, getestete Beispiele, Status und Grenzen fuer die jeweiligen Befehle oder Sprachkonstrukte.

  • Datentypen
  • Variablen
  • Funktionen
  • Kontrollfluss
  • Structs und Arrays
  • Pointer
  • Inline-ASM
  • Operatoren

Funktionssyntax

fn name(params): return_type { body }
fn add(a: i32, b: i32): i32 {
    return a + b;
}

fn main(): i32 {
    let result: i32 = add(10, 20);
    return result;
}

Primitive Datentypen

Typ | Größe | Beschreibung
i8 | 1 Byte | Vorzeichenbehaftete 8-Bit-Ganzzahl (-128 bis 127)
i16 | 2 Bytes | Vorzeichenbehaftete 16-Bit-Ganzzahl
i32 | 4 Bytes | Vorzeichenbehaftete 32-Bit-Ganzzahl (Standard int)
i64 | 8 Byte | Vorzeichenbehaftete 64-Bit-Ganzzahl
u8 | 1 Byte | Vorzeichenlose 8-Bit-Ganzzahl (0 bis 255)
u16 | 2 Bytes | Vorzeichenlose 16-Bit-Ganzzahl
u32 | 4 Bytes | Vorzeichenlose 32-Bit-Ganzzahl
u64 | 8 Byte | Vorzeichenlose 64-Bit-Ganzzahl
bool | 1 Byte | Boolescher Wert (wahr/falsch)
f32 | 4 Bytes | IEEE 754-Float mit einfacher Genauigkeit
f64 | 8 Byte | IEEE 754-Float mit doppelter Genauigkeit

Zeiger und Dereferenzierung

sei p: *type = &variable
fn main(): i32 {
    let x: i32 = 42;
    let p: *i32 = &x
    *p = 100;       // dereference write
    return *p;      // dereference read -> 100
}

Strukturen

struct Point {
    x: i32,
    y: i32,
}

fn main(): i32 {
    let p: Point = Point { x: 10, y: 20 };
    return p.x + p.y;
}

Kontrollfluss

// Conditional
if condition { body } else { body }

// Looping
while expr { body }
for let i: i32 = start; i < end; i = i + step { body }

// Return
return expression;
return; // void return

Externe Funktionen (FFI)

extern "kernel32.dll" fn Sleep(dwMilliseconds: u32): void;
extern "user32.dll" fn MessageBoxA(hWnd: *void, lpText: *u8, lpCaption: *u8, uType: u32): i32;
Speichermodell:B64 verwendet die explizite Zuweisung überalloc/deallocEigenheiten. Stapelvariablen sind automatisch. Zeiger müssen vor der Dereferenzierung im abgesicherten Modus validiert werden.
← CLI-Optionen BASIC-Referenz → Beispiele ansehen
PBXB64-Compiler-Dokumentation · V8 Native Edition · Zuletzt aktualisiert am 15.01.2026
Für Fragen und Beiträge:smart-package.com

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


B64-Datentypen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Datentypen Hilfe zum PBXB64-Compiler

B64-Datentypen

Themen in diesem Kapitel

B64 bool - boolescher Typ B64 false - Boolesches false-Literal B64 i64 - 64-Bit-Ganzzahltyp B64 true - Boolesches true-Literal B64 typedef - Typalias B64 void - Typ ohne Wert


B64 bool - boolescher Typ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Datentypen Hilfe zum PBXB64-Compiler

B64 bool - boolescher Typ

Kind: Command | Category: B64 Frontend

Kategorie: B64-Datentypen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

let b: bool = true;

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Speichert boolesche Wahrheitswerte und wird in Bedingungspruefungen verwendet.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i64 {
    let b: bool = 5 > 3;
    if b {
        return 1;
    }
    return 0;
}

Siehe auch

  • B64 i64 - 64-Bit-Ganzzahltyp
  • B64 true - Boolesches true-Literal
  • B64 false - Boolesches false-Literal
  • B64 Datentypen
  • Hilfe zum PBXB64-Compiler


B64 false - Boolesches false-Literal - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Datentypen Hilfe zum PBXB64-Compiler

B64 false - Boolesches false-Literal

Kind: Command | Category: B64 Frontend

Kategorie: B64-Datentypen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

let b: bool = false;

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Boolesches false-Literal.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i64 {
    let b: bool = false;
    if b { return 1; }
    return 0;
}

Siehe auch

  • B64 true - Boolesches true-Literal
  • B64 bool - boolescher Typ
  • B64 Datentypen
  • Hilfe zum PBXB64-Compiler


B64 i64 - 64-Bit-Ganzzahltyp - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Datentypen Hilfe zum PBXB64-Compiler

B64 i64 - 64-Bit-Ganzzahltyp

Kind: Command | Category: B64 Frontend

Kategorie: B64-Datentypen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

let x: i64 = 0;

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Der primaere Ganzzahltyp in den aktuellen Beispielen und vielen Frontend-Tests.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i64 {
    let n: i64 = 42;
    return n;
}

Siehe auch

  • B64 bool - boolescher Typ
  • B64 void - Typ ohne Wert
  • B64 variant - getaggte Union
  • B64 Datentypen
  • Hilfe zum PBXB64-Compiler


B64 true - Boolesches true-Literal - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Datentypen Hilfe zum PBXB64-Compiler

B64 true - Boolesches true-Literal

Kind: Command | Category: B64 Frontend

Kategorie: B64-Datentypen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

let b: bool = true;

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Boolesches true-Literal.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i64 {
    let b: bool = true;
    if b { return 1; }
    return 0;
}

Siehe auch

  • B64 false - Boolesches false-Literal
  • B64 bool - boolescher Typ
  • B64 Datentypen
  • Hilfe zum PBXB64-Compiler


B64 typedef - Typalias - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Datentypen Hilfe zum PBXB64-Compiler

B64 typedef - Typalias

Kind: Command | Category: B64 Frontend

Kategorie: B64-Datentypen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

typedef NewName = ExistingType;

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Erzeugt einen benannten Alias fuer einen vorhandenen B64-Typ. Typaliasse werden vom B64-Frontend lexikalisiert und geparst.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

typedef Count = i64;

fn main(): i64 {
    let n: Count = 5;
    return n;
}

Siehe auch

  • B64 i64 - 64-Bit-Ganzzahltyp
  • B64 struct - Aggregat mit benannten Feldern
  • B64 Datentypen
  • Hilfe zum PBXB64-Compiler


B64 void - Typ ohne Wert - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Datentypen Hilfe zum PBXB64-Compiler

B64 void - Typ ohne Wert

Kind: Command | Category: B64 Frontend

Kategorie: B64-Datentypen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

fn proc(): void { ... }

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Repraesentiert ein Funktionsergebnis ohne Wert oder eine Position ohne Payload, wo zutreffend.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn greet(): void {
    return;
}

fn main(): i64 {
    greet();
    return 0;
}

Siehe auch

  • B64 fn - Funktionsdeklaration
  • B64 return - Funktionsergebnis
  • B64 Datentypen
  • Hilfe zum PBXB64-Compiler


B64-Variablen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Variablen Hilfe zum PBXB64-Compiler

B64-Variablen

Themen in diesem Kapitel

B64 const - Compilezeit-Konstante B64 extern - externe Symboldeklaration B64 let - unveraenderliche lokale Bindung B64 var - veraenderliche Bindung


B64 const - Compilezeit-Konstante - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Variablen Hilfe zum PBXB64-Compiler

B64 const - Compilezeit-Konstante

Kind: Command | Category: B64 Frontend

Kategorie: B64-Variablen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

const name: type = expression;

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Deklariert einen konstanten Wert, der von spaeteren B64-Ausdruecken und Varianten-Tests verwendet werden kann.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

const MaxCount: i64 = 100;

fn main(): i64 {
    return MaxCount;
}

Siehe auch

  • B64 let - unveraenderliche lokale Bindung
  • B64 var - veraenderliche Bindung
  • B64 Variablen
  • Hilfe zum PBXB64-Compiler


B64 extern - externe Symboldeklaration - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Variablen Hilfe zum PBXB64-Compiler

B64 extern - externe Symboldeklaration

Kind: Command | Category: B64 Frontend

Kategorie: B64-Variablen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

extern name: type;
extern fn name(param: type): return_type;

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Deklariert eine externe Funktion oder ein Datensymbol zum Linken mit Host-Objekten und Runtime-Helfern.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

extern fn puts(s: *i8): i64;

fn main(): i64 {
    let msg: *i8 = "hello";
    return puts(msg);
}

Siehe auch

  • B64 fn - Funktionsdeklaration
  • B64 return - Funktionsergebnis
  • B64 Funktionen
  • Hilfe zum PBXB64-Compiler


B64 let - unveraenderliche lokale Bindung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Variablen Hilfe zum PBXB64-Compiler

B64 let - unveraenderliche lokale Bindung

Kind: Command | Category: B64 Frontend

Kategorie: B64-Variablen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

let name: type = expression;

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Fuehrt eine lokale Bindung mit Initialisierer ein. Das aktuelle Frontend speichert den Wert in nativer IR-Speicherung und weist inkompatible Nutzungen beim Parsen/Senken zurueck.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i64 {
    let x: i64 = 10;
    let y = x + 5;
    return y;
}

Siehe auch

  • B64 var - veraenderliche Bindung
  • B64 const - Compilezeit-Konstante
  • B64 Variablen
  • Hilfe zum PBXB64-Compiler


B64 var - veraenderliche Bindung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Variablen Hilfe zum PBXB64-Compiler

B64 var - veraenderliche Bindung

Kind: Command | Category: B64 Frontend

Kategorie: B64-Variablen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

var name: type = expression;

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Fuehrt veraenderlichen lokalen oder globalen Speicher ein. Die Validierung deckt veraenderliche Schleifenzaehler, globale Daten und globale Initialisierungsausdruecke ab.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i64 {
    var n: i64 = 1;
    n = n + 1;
    return n;
}

Siehe auch

  • B64 let - unveraenderliche lokale Bindung
  • B64 const - Compilezeit-Konstante
  • B64 Variablen
  • Hilfe zum PBXB64-Compiler


B64-Funktionen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Funktionen Hilfe zum PBXB64-Compiler

B64-Funktionen

Themen in diesem Kapitel

B64 fn - Funktionsdeklaration B64 return - Funktionsergebnis


B64 fn - Funktionsdeklaration - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Funktionen Hilfe zum PBXB64-Compiler

B64 fn - Funktionsdeklaration

Kind: Command | Category: B64 Frontend

Kategorie: B64-Funktionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

fn name(param: type, ...): return_type {
    [statements]
    return expression;
}

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Deklariert eine native B64-Funktion. Aufrufe und Rueckgaben folgen der Win64-ABI, mit fokussierter Abdeckung fuer fuenf, sechs und sieben Argumente sowie Aggregat-Rueckgaben und -Parameter.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn add(a: i64, b: i64): i64 {
    return a + b;
}

fn main(): i64 {
    let x: i64 = add(3, 4);
    return x;
}

Siehe auch

  • B64 extern - externe Symboldeklaration
  • B64 return - Funktionsergebnis
  • B64 let - unveraenderliche lokale Bindung
  • B64 Funktionen
  • Hilfe zum PBXB64-Compiler


B64 return - Funktionsergebnis - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Funktionen Hilfe zum PBXB64-Compiler

B64 return - Funktionsergebnis

Kind: Command | Category: B64 Frontend

Kategorie: B64-Funktionen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

return expression;
return;

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Gibt einen Skalar-, Zeiger-, Aggregat-, Array- oder Variantenwert aus der aktuellen Funktion zurueck. Aggregatfaelle verwenden bei Bedarf den versteckten sret-Pfad des Frontends.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn square(n: i64): i64 {
    return n * n;
}

fn main(): i64 {
    return square(5);
}

Siehe auch

  • B64 fn - Funktionsdeklaration
  • B64 if - bedingter Zweig
  • B64 Kontrollfluss
  • Hilfe zum PBXB64-Compiler


B64-Kontrollfluss - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Kontrollfluss Hilfe zum PBXB64-Compiler

B64-Kontrollfluss

Themen in diesem Kapitel

B64 break - Schleife verlassen B64 continue - Schleife fortsetzen B64 else - Alternativzweig B64 for - Zaehlschleife B64 if - bedingter Zweig B64 match - Variant-Tag-Auswahl B64 while - bedingte Schleife


B64 break - Schleife verlassen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Kontrollfluss Hilfe zum PBXB64-Compiler

B64 break - Schleife verlassen

Kind: Command | Category: B64 Frontend

Kategorie: B64-Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

break;

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Springt zum Exit-Block der aktuellen Schleife.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i64 {
    var i: i64 = 1;
    while true {
        if i > 10 { break; }
        i = i + 1;
    }
    return i;
}

Siehe auch

  • B64 continue - Schleife fortsetzen
  • B64 while - bedingte Schleife
  • B64 for - Zaehlschleife
  • B64 Kontrollfluss
  • Hilfe zum PBXB64-Compiler


B64 continue - Schleife fortsetzen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Kontrollfluss Hilfe zum PBXB64-Compiler

B64 continue - Schleife fortsetzen

Kind: Command | Category: B64 Frontend

Kategorie: B64-Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

continue;

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Springt zum Continue- beziehungsweise Schrittblock der aktuellen Schleife.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i64 {
    var sum: i64 = 0;
    for i = 1 to 10 {
        if i MOD 2 == 0 { continue; }
        sum = sum + i;
    }
    return sum;
}

Siehe auch

  • B64 break - Schleife verlassen
  • B64 while - bedingte Schleife
  • B64 for - Zaehlschleife
  • B64 Kontrollfluss
  • Hilfe zum PBXB64-Compiler


B64 else - Alternativzweig - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Kontrollfluss Hilfe zum PBXB64-Compiler

B64 else - Alternativzweig

Kind: Command | Category: B64 Frontend

Kategorie: B64-Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

if condition { ... } else { ... }

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Stellt den Alternativzweig einer if-Anweisung bereit. Verschachtelte und lineare Verwendungen werden als separate IR-Bloecke dargestellt.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i64 {
    let x: i64 = 2;
    if x == 1 {
        return 10;
    } else {
        return 20;
    }
}

Siehe auch

  • B64 if - bedingter Zweig
  • B64 match - Variant-Tag-Auswahl
  • B64 Kontrollfluss
  • Hilfe zum PBXB64-Compiler


B64 for - Zaehlschleife - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Kontrollfluss Hilfe zum PBXB64-Compiler

B64 for - Zaehlschleife

Kind: Command | Category: B64 Frontend

Kategorie: B64-Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

for i = start to end [step n] {
    [statements]
}

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Parst C-aehnliche Init/Bedingung/Schritt-Schleifen und senkt sie ueber dieselbe Schleifenrahmen-Logik wie while.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i64 {
    var sum: i64 = 0;
    for i = 1 to 5 {
        sum = sum + i;
    }
    return sum;
}

Siehe auch

  • B64 while - bedingte Schleife
  • B64 break - Schleife verlassen
  • B64 continue - Schleife fortsetzen
  • B64 Kontrollfluss
  • Hilfe zum PBXB64-Compiler


B64 if - bedingter Zweig - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Kontrollfluss Hilfe zum PBXB64-Compiler

B64 if - bedingter Zweig

Kind: Command | Category: B64 Frontend

Kategorie: B64-Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

if condition {
    [statements]
} else {
    [statements]
}

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Verzweigt anhand einer Integer- oder Bool-Bedingung und wird zu nativen bedingten Kontrollfluss-Bloecken gesenkt.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i64 {
    let x: i64 = 10;
    if x > 5 {
        return 1;
    } else {
        return 0;
    }
}

Siehe auch

  • B64 else - Alternativzweig
  • B64 bool - boolescher Typ
  • B64 Kontrollfluss
  • Hilfe zum PBXB64-Compiler


B64 match - Variant-Tag-Auswahl - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Kontrollfluss Hilfe zum PBXB64-Compiler

B64 match - Variant-Tag-Auswahl

Kind: Command | Category: B64 Frontend

Kategorie: B64-Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

match value {
    CaseName(binding) => expression,
    ...
}

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Verzweigt anhand eines Variant-Tags und bindet Payloads in implementierten Faellen. Nicht-erschoepfendes Verhalten ist separat getestet.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

variant Option {
    Some(i64),
    None,
}

fn main(): i64 {
    let v: Option = Some(7);
    match v {
        Some(n) => return n,
        None => return 0,
    }
}

Siehe auch

  • B64 variant - getaggte Union
  • B64 else - Alternativzweig
  • B64 Kontrollfluss
  • Hilfe zum PBXB64-Compiler


B64 while - bedingte Schleife - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Kontrollfluss Hilfe zum PBXB64-Compiler

B64 while - bedingte Schleife

Kind: Command | Category: B64 Frontend

Kategorie: B64-Kontrollfluss | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

while condition {
    [statements]
}

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Wiederholt einen Block, solange die Bedingung wahr bleibt. Break und Continue zielen auf den aktiven Schleifenrahmen.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i64 {
    var n: i64 = 1;
    var sum: i64 = 0;
    while n <= 5 {
        sum = sum + n;
        n = n + 1;
    }
    return sum;
}

Siehe auch

  • B64 for - Zaehlschleife
  • B64 break - Schleife verlassen
  • B64 continue - Schleife fortsetzen
  • B64 Kontrollfluss
  • Hilfe zum PBXB64-Compiler


B64-Zeiger & Ausdrücke - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Zeiger & Ausdrücke Hilfe zum PBXB64-Compiler

B64-Zeiger & Ausdrücke

Themen in diesem Kapitel

B64 cast - explizite Konvertierung B64 operators - Arithmetik, Bitoperationen und Vergleiche B64 sizeof - Compilezeit-Groessenabfrage


B64 cast - explizite Konvertierung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Zeiger & Ausdrücke Hilfe zum PBXB64-Compiler

B64 cast - explizite Konvertierung

Kind: Command | Category: B64 Frontend

Kategorie: B64-Zeiger & Ausdrücke | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

cast<TargetType>(expression)

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Fuehrt explizite skalare Konvertierung in Ausdruecken aus, wenn das Frontend einen konkreten Zieltyp hat.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

fn main(): i64 {
    let n: i64 = 65;
    let c: i8 = cast<i8>(n);
    return cast<i64>(c);
}

Siehe auch

  • B64 sizeof - Compilezeit-Groessenabfrage
  • B64 i64 - 64-Bit-Ganzzahltyp
  • B64 Datentypen
  • Hilfe zum PBXB64-Compiler


B64 operators - Arithmetik, Bitoperationen und Vergleiche - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Zeiger & Ausdrücke Hilfe zum PBXB64-Compiler

B64 operators - Arithmetik, Bitoperationen und Vergleiche

Kind: Command | Category: B64 Frontend

Kategorie: B64-Zeiger & Ausdrücke

Syntax

x = (a + b) * 2;

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Deckt Arithmetik, Rest, Shifts, Bitoperationen, Vergleiche, logische Formen und zusammengesetzte Zuweisungen des Ausdrucksparsers ab.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


B64 sizeof - Compilezeit-Groessenabfrage - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Zeiger & Ausdrücke Hilfe zum PBXB64-Compiler

B64 sizeof - Compilezeit-Groessenabfrage

Kind: Command | Category: B64 Frontend

Kategorie: B64-Zeiger & Ausdrücke | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

sizeof<Type>

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Berechnet die Bytegroesse eines B64-Typs oder einer unterstuetzten Operandenform waehrend der Frontend-Senkung.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Beispiel

fn main(): i64 {
    return sizeof<i64>;
}

Siehe auch

  • B64 i64 - 64-Bit-Ganzzahltyp
  • B64 struct - Aggregat mit benannten Feldern
  • B64 Datentypen
  • Hilfe zum PBXB64-Compiler


B64-Aggregate - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Aggregate Hilfe zum PBXB64-Compiler

B64-Aggregate

Themen in diesem Kapitel

B64 array - indizierter Speicher fester Groesse B64 struct - Aggregat mit benannten Feldern B64 variant - getaggte Union


B64 array - indizierter Speicher fester Groesse - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Aggregate Hilfe zum PBXB64-Compiler

B64 array - indizierter Speicher fester Groesse

Kind: Command | Category: B64 Frontend

Kategorie: B64-Aggregate

Syntax

var xs: [3]i64 = [1, 2, 3];

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Definiert indizierten Speicher fester Groesse. Die Validierung deckt Array-Rueckgabe und einfache indizierte Berechnung ab.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


B64 struct - Aggregat mit benannten Feldern - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Aggregate Hilfe zum PBXB64-Compiler

B64 struct - Aggregat mit benannten Feldern

Kind: Command | Category: B64 Frontend

Kategorie: B64-Aggregate | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

struct Name {
    field: type,
    ...
}

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Definiert einen benannten Aggregattyp mit Feldzugriff, Aggregat-Initialisierung, Aggregat-Rueckgabe und Aggregat-Parameterabdeckung.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Beispiel

struct Point {
    x: i64,
    y: i64,
}

fn main(): i64 {
    let p: Point = { x: 3, y: 4 };
    return p.x + p.y;
}

Siehe auch

  • B64 i64 - 64-Bit-Ganzzahltyp
  • B64 sizeof - Compilezeit-Groessenabfrage
  • B64 Aggregate
  • Hilfe zum PBXB64-Compiler


B64 variant - getaggte Union - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Aggregate Hilfe zum PBXB64-Compiler

B64 variant - getaggte Union

Kind: Command | Category: B64 Frontend

Kategorie: B64-Aggregate | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

variant Name {
    CaseName(type),
    ...
}

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Definiert einen getaggten Wert mit Unit- oder Payload-Faellen. Variant-Tag und Payload-Senkung sind durch fokussierte Beispiele abgedeckt.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

variant Option {
    Some(i64),
    None,
}

fn main(): i64 {
    let v: Option = Some(7);
    match v {
        Some(n) => return n,
        None => return 0,
    }
}

Siehe auch

  • B64 match - Variant-Tag-Auswahl
  • B64 struct - Aggregat mit benannten Feldern
  • B64 Datentypen
  • Hilfe zum PBXB64-Compiler


B64-Inline-Assembler - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Inline-Assembler Hilfe zum PBXB64-Compiler

B64-Inline-Assembler

Themen in diesem Kapitel

B64 asm - Inline-x64-Assemblerblock


B64 asm - Inline-x64-Assemblerblock - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › B64 Frontend › B64-Inline-Assembler Hilfe zum PBXB64-Compiler

B64 asm - Inline-x64-Assemblerblock

Kind: Command | Category: B64 Frontend

Kategorie: B64-Inline-Assembler

Syntax

asm { mov rax, 42 }

Beschreibung

Kind: Command | Category: B64 Frontend

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Bettet einen x64-Assemblerblock in B64 ein. Die Validierung enthaelt viele Beispiele fuer Instruktionsfamilien.

Nutzerbeleg: Die unten genannte Beispieldatei ist der relevante Nachweis fuer dieses Sprachkonstrukt.

Verwendungshinweise

Nutzen Sie die gezeigte Form als kleinste dokumentierte Schreibweise und lesen Sie die genannte Beispieldatei, wenn Sie sehen wollen, wie der Befehl in einem vollstaendigen Programm eingebettet wird. Die B64-Seiten dokumentieren bewusst die getestete PBXB64-Teilmenge, nicht alle denkbaren Schreibweisen einer aehnlichen Sprache.

Grenzen

Diese Seite behauptet nur die durch den B64-Frontend-Code und die fokussierten Beispiele belegte PBXB64-Teilmenge. Sie ist keine Zusage vollstaendiger Kompatibilitaet mit einer externen Sprache.

B64-Frontend-Semantik

Dieses Schlüsselwort wird vom B64-Frontend geparst und vor der x64-Codeerzeugung in die native PBXB64-IR abgesenkt. Die dokumentierte Syntax ist die akzeptierte B64-Quellform; Beispiele sollen als .b64-Dateien gespeichert und mit PBXB64 beispiel.b64 -o beispiel.exe kompiliert werden.

Typ- und Kontrollflussregeln

Prüfen Sie den deklarierten Typ jedes Ausdrucks, der an diesem Schlüsselwort beteiligt ist. Kontrollfluss-Schlüsselwörter wirken nur auf das innerste passende Konstrukt, sofern die Seite nichts anderes sagt. Typ-Schlüsselwörter und Aliase beeinflussen Compile-Time-Prüfung und Layout, nicht dynamische Laufzeitdispatches.

Vollständiges Testprogramm

Ein vollständiges B64-Beispiel soll fn main(): i64 enthalten, einen vorhersagbaren Exit-Code liefern und keine externen Bibliotheken benötigen, sofern die Seite die Linkage nicht ausdrücklich dokumentiert. Wenn ein Verhalten keine Konsolenausgabe erzeugt, verwenden Sie den Prozess-Exit-Code als Prüfergebnis.

Diagnosen und Grenzen

Bei fehlerhafter Syntax oder verletzten Typregeln soll PBXB64 die Quelle beim Parsen, bei der semantischen Prüfung oder bei der IR-Verifikation ablehnen. Halten Sie Grenzen ausdrücklich fest: Beschreiben Sie ein Schlüsselwort nicht als allgemein unterstützt, wenn nur eine engere B64-Teilmenge verifiziert wurde.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Nach oben


Übersicht - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › Übersicht Hilfe zum PBXB64-Compiler

Übersicht

Themen in diesem Kapitel

Getting Started with PILOT PBXB64 - PILOT-Sprachreferenz PILOT Cookbook: Menu Navigation PILOT Cookbook: Scoring Loop PILOT V: - PowerBASIC-Variablenbruecke PILOT-Kochbuch: Einfaches Quiz


Getting Started with PILOT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › Übersicht Hilfe zum PBXB64-Compiler

Getting Started with PILOT

PILOT is an educational language built into PBXB64. The current native implementation supports remarks, text output, variables, input calls, labels, jumps, match guards, subroutine-style U: calls, sound, and program/subroutine end handling.

Kategorie: Übersicht

Beschreibung

PILOT is an educational language built into PBXB64. The current native implementation supports remarks, text output, variables, input calls, labels, jumps, match guards, subroutine-style U: calls, sound, and program/subroutine end handling.

Hello World

R: Hello world example
T: "Hello, PILOT!"
E:

Command Summary

  • R: remark
  • T: type/output
  • E: end program or return from a U: subroutine
  • A: accept input into $ or # variables
  • C: compute/assign and update the match slot
  • J:, M:, Y:, N:, U:, S:, *label control flow, guards, subroutine calls, sound, and labels

File Extension

Save PILOT source files with the .pil extension.

How to Verify

For currently implemented PILOT commands, compile a focused .pil file and compare the console output or exit behavior with the expected result. The validation lane pilot_linkrun covers the command reference examples.

Porting Guidance

When a cookbook pattern needs richer expressions, complex string comparison, file I/O, arrays, or full historical PILOT dialect behavior, use BASIC or C for production code or add a focused PILOT test before documenting the behavior as supported.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • PBXB64 - PILOT-Sprachreferenz


PBXB64 - PILOT-Sprachreferenz - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › Übersicht Hilfe zum PBXB64-Compiler

PBXB64 - PILOT-Sprachreferenz

PILOT ist eine p&auml;dagogische Programmiersprache, die von PBXB64 als Standalone-Version unterst&uuml;tzt wird .pil Dateien. Der Compiler erstellt native ausf&uuml;hrbare Windows x64-Dateien aus dem PILOT-Quellcode &uuml;ber das einheitliche IR-Backend.

Kategorie: Übersicht

Beschreibung

PILOT ist eine pädagogische Programmiersprache, die von PBXB64 als Standalone-Version unterstützt wird .pil Dateien. Der Compiler erstellt native ausführbare Windows x64-Dateien aus dem PILOT-Quellcode über das einheitliche IR-Backend.

Dateierweiterung: Speichern Sie PILOT-Programme mit dem .pil Erweiterung. Kompilieren mit PBXB64 program.pil -o program.exe.

Referenzseiten

Diese Seite ist die Uebersicht zum Frontend. Die Abschnitte darunter verweisen auf eigene Befehls- oder Referenzseiten; getestete Beispiele und Grenzen gehoeren auf diese Einzelseiten.

  • ← B64-Inline-Assembly – PBXB64-Hilfe

Implementierte Befehle

Befehl | Beschreibung | Status
R: | Bemerkung (Kommentar). Wird vom Compiler ignoriert. | Voll
T: | Geben Sie Text ein. Unterstützt String-Literale, $variablesund mehrteilige durch Kommas getrennte Literale. | Voll
E: | Programm beenden. Gibt 0 vom Einstiegspunkt zurück. | Voll
C: | Berechnen / zuweisen. C: $var = "string"oderC: #var = number. | Voll
A: | Liest Eingaben ueber die PILOT-Runtime in $var oder #var. | Implementiert
J: | Springe bedingungslos zu *label. | Voll
M: | Passen Sie den bedingten Sprung an. Springt zu *label wenn der Übereinstimmungsslot wahr ist. | Voll
Y: | Ja Wache. Nächste Zeile nur ausführen, wenn Übereinstimmungsslot wahr ist. | Voll
N: | Keine Wache. Nächste Zeile nur ausführen, wenn Übereinstimmungsslot falsch ist. | Voll
U: | Unterprogrammaufruf. Speichert einen Rueckkehrindex, springt zu *label und kehrt ueber E: zurueck. | Implementiert
S: | Ton. Ruft den PILOT-Sound/Beep-Runtime-Helfer auf. | Implementiert
V: | Bindet eine PILOT-Variable in beide Richtungen an ein PowerBASIC-GLOBAL. | Implementiert
*label | Label-Definition für J:-, M:- und U:-Ziele. | Voll

Variablentypen

Präfix | Typ | Beispiel
$ | String-Variable | $name, $message
# | Zahlenvariable (64-Bit-Ganzzahl mit Vorzeichen) | #count, #age

Match-Slot

Der Match-Slot ist ein internes boolesches Flag, das von verwendet wird Y:, N:, UndM: Befehle:

  • Nachher C: #var = value, der Match-Slot ist auf eingestellt wahr wenn der Wert ungleich Null ist, falsch wenn Null.
  • Nachher C: $var = "string", der Match-Slot ist auf eingestellt wahr wenn die Zeichenfolge nicht leer ist, falsch wenn leer.
  • Nach A: (Eingabe) spiegelt der Match-Slot das Runtime-Ergebnis wider: nicht-null String oder nicht-null Zahl ist wahr.

Zahlenausdrücke

DerC: Befehl für Zahlenvariablen unterstützt:

  • Ganzzahlige Konstanten: 42, -5, 0
  • Boolesche Konstanten: TRUE (1), FALSE (0)
  • Variablenreferenzen: #other
  • Getestete einfache arithmetische Formen aus den Validierungsbeispielen, zum Beispiel #A + 1 und #A * 2
Einschraenkung: Die implementierte Ausdrucksoberflaeche ist weiterhin bewusst klein. Verwenden Sie BASIC oder C fuer komplexe Formeln, ausdrucksstarke Praezedenzfaelle, Arrays oder dateiorientierte PILOT-Dialekterweiterungen.

Textausdrücke

DerT:UndC: Befehle für die String-Unterstützung:

  • String-Literale in Anführungszeichen: "Hello"
  • Verweise auf String-Variablen: $var
  • Mehrteilige durch Kommas getrennte Literale (nur T:): T: "Hello", " ", "World"
Einschränkung: Gemischter mehrteiliger Text (Literale kombiniert mit Variablen) wird noch nicht unterstützt.

PowerBASIC-Variablenbrücke

V: #LOCAL|pb_global_name|QUAD
V: $LOCAL|pb_global_name|STRING

Lesezugriffe importieren den aktuellen Wert des PB-GLOBAL. Zuweisungen mit C: und Eingaben mit A: exportieren den neuen Wert sofort. Mehrere PILOT-Namen dürfen auf dasselbe PB-Global zeigen.

Link-Anforderung: Die PowerBASIC-Quelldatei mit dem benannten GLOBAL muss als zusätzliche Compiler-Eingabe übergeben werden. Präfix und Brückentyp müssen übereinstimmen.

Einstiegspunkt

PILOT-Programme werden zu a kompiliertpilot_mainFunktion, die eine 64-Bit-Ganzzahl zurückgibt. Die E: Befehl wird ausgegeben return 0. Wenn nein E: vorhanden ist, fügt der Compiler am Ende eine implizite Rückgabe hinzu.

Testen

← Assemblyreferenz Beispiele ansehen → Zurück zur Übersicht
PBXB64-Compiler-Dokumentation · V8 Native Edition · Zuletzt aktualisiert am 17.06.2026
Für Fragen und Beiträge:smart-package.com

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

T: "Hello from PILOT"
E:


PILOT Cookbook: Menu Navigation - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › Übersicht Hilfe zum PBXB64-Compiler

PILOT Cookbook: Menu Navigation

A menu loop is a natural fit for PILOT's implemented J:, M:, and *label commands.

Kategorie: Übersicht

Beschreibung

A menu loop is a natural fit for PILOT's implemented J:, M:, and *label commands.

Program Pattern

*menu
T: "1) Start  2) Options  3) Quit"
A: $choice
C: #quit = FALSE
M: *done
J: *menu
*done
T: "Goodbye!"
E:

Implementation Note

Note: Labels and jumps are implemented. Complex menu choice parsing still depends on the currently limited string/number expression surface.

How to Verify

For currently implemented PILOT commands, compile a focused .pil file and compare the console output or exit behavior with the expected result. The validation lane pilot_linkrun covers the command reference examples.

Porting Guidance

When a cookbook pattern needs richer expressions, complex string comparison, file I/O, arrays, or full historical PILOT dialect behavior, use BASIC or C for production code or add a focused PILOT test before documenting the behavior as supported.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Getting Started with PILOT
  • PBXB64 - PILOT-Sprachreferenz


PILOT Cookbook: Scoring Loop - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › Übersicht Hilfe zum PBXB64-Compiler

PILOT Cookbook: Scoring Loop

This cookbook shows how C: compute commands and labels can maintain a running score in the currently implemented subset.

Kategorie: Übersicht

Beschreibung

This cookbook shows how C: compute commands and labels can maintain a running score in the currently implemented subset.

Program Pattern

C: #score = 0
*round
T: "Enter points (0 to finish):"
A: #points
C: #score = #points
M: *finish
J: *round
*finish
T: "Final score stored in #score"
U: *done
E:
*done
S:
E:

Implementation Note

Note: Compute, input, labels, jumps, subroutine-style U:, sound, and variable text output are implemented in the native frontend. Arbitrary arithmetic and direct numeric text output remain narrower than full historical PILOT dialects.

How to Verify

For currently implemented PILOT commands, compile a focused .pil file and compare the console output or exit behavior with the expected result. The validation lane pilot_linkrun covers the command reference examples.

Porting Guidance

When a cookbook pattern needs richer expressions, complex string comparison, file I/O, arrays, or full historical PILOT dialect behavior, use BASIC or C for production code or add a focused PILOT test before documenting the behavior as supported.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Getting Started with PILOT
  • PBXB64 - PILOT-Sprachreferenz


PILOT V: - PowerBASIC-Variablenbruecke - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › Übersicht Hilfe zum PBXB64-Compiler

PILOT V: - PowerBASIC-Variablenbruecke

Erzeugt eine live arbeitende, bidirektionale Bindung zwischen einer PILOT-Variablen und einem separat gelinkten PowerBASIC-GLOBAL.

Kategorie: Übersicht | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

V: #pilot_name|pb_global_name|QUAD
V: $pilot_name|pb_global_name|STRING

Beschreibung

Erzeugt eine live arbeitende, bidirektionale Bindung zwischen einer PILOT-Variablen und einem separat gelinkten PowerBASIC-GLOBAL.

Art: Deklaration | Kategorie: PILOT-Frontend

PBXB64-Status: VOLL IMPLEMENTIERT

PBXB64-Prüfung: [CERTIFIED TESTED]

Beschreibung

Eine numerische Bindung greift direkt auf das PB-QUAD-Global zu. Eine String-Bindung verwendet die verwaltete PB-String-ABI und erhält die explizite Stringlänge. Lesen importiert den aktuellen PB-Wert; C: und A: exportieren sofort.

Mehrere PILOT-Aliase dürfen an dasselbe PB-Global gebunden werden.

PowerBASIC-Quelle

GLOBAL pilot_bridge_number AS QUAD = 40
GLOBAL pilot_bridge_text AS STRING

SUB PilotBridgeGlobalsAnchor()
END SUB

PILOT-Quelle

V: #NUMBER|pilot_bridge_number|QUAD
V: $TEXT|pilot_bridge_text|STRING
C: #NUMBER = #NUMBER + 2
C: $TEXT = "from-pilot"
T: $TEXT
E:
Anforderungen: Das PB-Global muss als zusätzliche Eingabe gelinkt werden. Das PILOT-Präfix muss zu QUAD oder STRING passen; andere PB-Typen werden abgewiesen.

Siehe auch

  • PILOT A: - Eingabe
  • PILOT C: - Berechnen / Zuweisen
  • PBXB64 - PILOT-Sprachreferenz


PILOT-Kochbuch: Einfaches Quiz - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › Übersicht Hilfe zum PBXB64-Compiler

PILOT-Kochbuch: Einfaches Quiz

Dieses Beispiel zeigt ein kleines Multiple-Choice-Quiz mit den implementierten Eingabe-, Berechnungs-, Vergleichs- und bedingten Ausgabebefehlen.

Kategorie: Übersicht

Beschreibung

Dieses Beispiel zeigt ein kleines Multiple-Choice-Quiz mit den implementierten Eingabe-, Berechnungs-, Vergleichs- und bedingten Ausgabebefehlen.

Programmmuster

R: Simple quiz demonstration
T: "What is 2 + 2?"
T: "a) 3  b) 4  c) 5"
A: $answer
C: $expected = "b"
C: #correct = TRUE
Y: T: "Correct!"
N: T: "Try again."
E:

Implementierungshinweis

Hinweis: Eingabe und bedingte Ausgabe sind implementiert. Umfangreiche String-Vergleichsausdruecke bleiben begrenzt; verwenden Sie getestete Zuweisungs-/Vergleichsformen oder BASIC/C fuer komplexe Auswertung.

Pruefung

Kompilieren Sie eine kleine .pil-Datei und vergleichen Sie Konsolenausgabe oder Exit-Verhalten mit dem erwarteten Ergebnis. Die Spur pilot_linkrun deckt die Befehlsbeispiele ab.

Portierung

Verwenden Sie fuer reichhaltigere Ausdruecke, komplexe Stringvergleiche, Datei-E/A, Arrays oder den vollstaendigen historischen PILOT-Dialekt BASIC oder C beziehungsweise ergaenzen Sie zuerst einen fokussierten PILOT-Test.

← Zurueck

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Getting Started with PILOT
  • PBXB64 - PILOT-Sprachreferenz


PILOT Text & Kommentare - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Text & Kommentare Hilfe zum PBXB64-Compiler

PILOT Text & Kommentare

Themen in diesem Kapitel

PILOT R: - Kommentar PILOT T: - Ausgabe


PILOT R: - Kommentar - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Text & Kommentare Hilfe zum PBXB64-Compiler

PILOT R: - Kommentar

Ignoriert eine Kommentarzeile. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kategorie: PILOT Text & Kommentare | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

R: any text here

Beschreibung

Ignoriert eine Kommentarzeile. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kind: Anweisung | Category: PILOT Frontend

PBXB64 Status: VOLL IMPLEMENTIERT

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt die nutzbare PILOT-Befehlsform in PBXB64. Alles nach R: wird ignoriert und erzeugt keinen Runtime-Code. Verwenden Sie es fuer Kommentare direkt im PILOT-Stream; der Rest der Zeile bleibt fuer den Compiler unwirksam.

Beispiele sollen Ausloeser, erwartete Verzweigung oder Ausgabe und das folgende Label beziehungsweise den Dispatcherpfad nennen.

Grenzen

Die Seite behauptet nur die in PBXB64 implementierte und durch Beispiele abgedeckte Teilmenge. Vollstaendige historische PILOT-Dialektkompatibilitaet, freie Ausdruecke, komplexe Stringverkettung und interaktive Szenarien ohne Test sind nicht eingeschlossen. Wenn ein Beispiel Eingabe, Rücksprung oder Sound verwendet, muss die Abhaengigkeit vom Laufzeit- oder Desktop-Umfeld direkt genannt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Beispiel

R: This is a comment
R: Calculate the answer
C: #A = 42

Siehe auch

  • PILOT T: - Ausgabe
  • PILOT C: - Berechnen / Zuweisen
  • PBXB64 - PILOT-Sprachreferenz
  • Hilfe zum PBXB64-Compiler


PILOT T: - Ausgabe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Text & Kommentare Hilfe zum PBXB64-Compiler

PILOT T: - Ausgabe

Gibt Literal-, Variablen- oder mehrteiligen Text aus. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kategorie: PILOT Text & Kommentare | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

T: "string literal"
T: $variable
T: "part1", "part2", "part3"

Beschreibung

Gibt Literal-, Variablen- oder mehrteiligen Text aus. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kind: Anweisung | Category: PILOT Frontend

PBXB64 Status: VOLL IMPLEMENTIERT

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt die nutzbare PILOT-Befehlsform in PBXB64. Unterstuetzt Stringliterale, Stringvariablen und literalbasierte mehrteilige Ausgaben. Verwenden Sie es fuer sichtbare Ausgaben, Statusmeldungen und Debugtext. Gemischte mehrteilige Ausgaben mit Variablen sind weiterhin begrenzt und sollten mit einem kleinen Beispiel belegt werden.

Beispiele sollen Ausloeser, erwartete Verzweigung oder Ausgabe und das folgende Label beziehungsweise den Dispatcherpfad nennen.

Grenzen

Die Seite behauptet nur die in PBXB64 implementierte und durch Beispiele abgedeckte Teilmenge. Vollstaendige historische PILOT-Dialektkompatibilitaet, freie Ausdruecke, komplexe Stringverkettung und interaktive Szenarien ohne Test sind nicht eingeschlossen. Wenn ein Beispiel Eingabe, Rücksprung oder Sound verwendet, muss die Abhaengigkeit vom Laufzeit- oder Desktop-Umfeld direkt genannt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Beispiel

T: "Hello from PILOT"
C: $msg = "variable text"
T: $msg
T: "Hello", " ", "World"

Siehe auch

  • PILOT C: - Berechnen / Zuweisen
  • PILOT A: - Eingabe
  • PBXB64 - PILOT-Sprachreferenz
  • Hilfe zum PBXB64-Compiler


PILOT Variablen & Eingabe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Variablen & Eingabe Hilfe zum PBXB64-Compiler

PILOT Variablen & Eingabe

Themen in diesem Kapitel

PILOT A: - Eingabe PILOT C: - Berechnen / Zuweisen


PILOT A: - Eingabe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Variablen & Eingabe Hilfe zum PBXB64-Compiler

PILOT A: - Eingabe

Liest String- oder Zahleneingabe in eine PILOT-Variable. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kategorie: PILOT Variablen & Eingabe | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

A: $var
A: #var

Beschreibung

Liest String- oder Zahleneingabe in eine PILOT-Variable. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kind: Anweisung | Category: PILOT Frontend

PBXB64 Status: IMPLEMENTIERT

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt die nutzbare PILOT-Befehlsform in PBXB64. Liest eine Zeichenkette oder Zahl ein und setzt den Match-Status anhand des Ergebnisses. Verwenden Sie es fuer einfache Eingabeschritte oder als Teil eines interaktiven Flow-Proofs.

Beispiele sollen Ausloeser, erwartete Verzweigung oder Ausgabe und das folgende Label beziehungsweise den Dispatcherpfad nennen.

Grenzen

Die Seite behauptet nur die in PBXB64 implementierte und durch Beispiele abgedeckte Teilmenge. Vollstaendige historische PILOT-Dialektkompatibilitaet, freie Ausdruecke, komplexe Stringverkettung und interaktive Szenarien ohne Test sind nicht eingeschlossen. Wenn ein Beispiel Eingabe, Rücksprung oder Sound verwendet, muss die Abhaengigkeit vom Laufzeit- oder Desktop-Umfeld direkt genannt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Beispiel

A: $name
A: #age

Siehe auch

  • PILOT T: - Ausgabe
  • PILOT C: - Berechnen / Zuweisen
  • PBXB64 - PILOT-Sprachreferenz
  • Hilfe zum PBXB64-Compiler


PILOT C: - Berechnen / Zuweisen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Variablen & Eingabe Hilfe zum PBXB64-Compiler

PILOT C: - Berechnen / Zuweisen

Weist String- oder Zahlenvariablen zu und aktualisiert den Match-Slot. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kategorie: PILOT Variablen & Eingabe | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

C: $var = "string literal"
C: #var = integer
C: #var = TRUE | FALSE
C: #var = #other
C: #var = #left + #right * 2
C: $var = $other

Beschreibung

Weist String- oder Zahlenvariablen zu und aktualisiert den Match-Slot. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kind: Anweisung | Category: PILOT Frontend

PBXB64 Status: VOLL IMPLEMENTIERT

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt die nutzbare PILOT-Befehlsform in PBXB64. Unterstuetzt $-Stringvariablen, #-Zahlenvariablen, TRUE/FALSE, Variablenreferenzen und die getesteten einfachen arithmetischen Formen. Jede Zuweisung aktualisiert den Match-Slot und kann daher direkt den nachfolgenden Y:- oder M:-Pfad beeinflussen.

Beispiele sollen Ausloeser, erwartete Verzweigung oder Ausgabe und das folgende Label beziehungsweise den Dispatcherpfad nennen.

Grenzen

Die Seite behauptet nur die in PBXB64 implementierte und durch Beispiele abgedeckte Teilmenge. Vollstaendige historische PILOT-Dialektkompatibilitaet, freie Ausdruecke, komplexe Stringverkettung und interaktive Szenarien ohne Test sind nicht eingeschlossen. Wenn ein Beispiel Eingabe, Rücksprung oder Sound verwendet, muss die Abhaengigkeit vom Laufzeit- oder Desktop-Umfeld direkt genannt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Beispiel

C: #A = 42
C: $MSG = "Hello"
C: #FLAG = TRUE

Siehe auch

  • PILOT Y: - Ja-Guard
  • PILOT N: - Nein-Guard
  • PILOT M: - Match-Sprung
  • PBXB64 - PILOT-Sprachreferenz
  • Hilfe zum PBXB64-Compiler


PILOT Marken & Verzweigungen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Marken & Verzweigungen Hilfe zum PBXB64-Compiler

PILOT Marken & Verzweigungen

Themen in diesem Kapitel

PILOT *label - Label-Definition PILOT J: - Sprung PILOT M: - Match-Sprung


PILOT *label - Label-Definition - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Marken & Verzweigungen Hilfe zum PBXB64-Compiler

PILOT *label - Label-Definition

Definiert ein Ziel fuer Sprung, Match oder Subroutine. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kategorie: PILOT Marken & Verzweigungen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

*labelname

Beschreibung

Definiert ein Ziel fuer Sprung, Match oder Subroutine. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kind: Anweisung | Category: PILOT Frontend

PBXB64 Status: VOLL IMPLEMENTIERT

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt die nutzbare PILOT-Befehlsform in PBXB64. Erzeugt einen Basic Block, der von J:, M: oder U: angesprungen werden kann. Das Label markiert damit eine konkrete Stelle im Steuerfluss.

Beispiele sollen Ausloeser, erwartete Verzweigung oder Ausgabe und das folgende Label beziehungsweise den Dispatcherpfad nennen.

Grenzen

Die Seite behauptet nur die in PBXB64 implementierte und durch Beispiele abgedeckte Teilmenge. Vollstaendige historische PILOT-Dialektkompatibilitaet, freie Ausdruecke, komplexe Stringverkettung und interaktive Szenarien ohne Test sind nicht eingeschlossen. Wenn ein Beispiel Eingabe, Rücksprung oder Sound verwendet, muss die Abhaengigkeit vom Laufzeit- oder Desktop-Umfeld direkt genannt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Beispiel

J: *target
T: "Skipped"
*target
T: "After jump"

Siehe auch

  • PILOT J: - Sprung
  • PILOT M: - Match-Sprung
  • PBXB64 - PILOT-Sprachreferenz
  • Hilfe zum PBXB64-Compiler


PILOT J: - Sprung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Marken & Verzweigungen Hilfe zum PBXB64-Compiler

PILOT J: - Sprung

Springt bedingungslos zu einem `*label`. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kategorie: PILOT Marken & Verzweigungen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

J: *label

Beschreibung

Springt bedingungslos zu einem `*label`. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kind: Anweisung | Category: PILOT Frontend

PBXB64 Status: VOLL IMPLEMENTIERT

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt die nutzbare PILOT-Befehlsform in PBXB64. Verzweigt direkt zum benannten Label. Der Zielpunkt muss als *label im selben PILOT-Quelltext vorhanden sein.

Beispiele sollen Ausloeser, erwartete Verzweigung oder Ausgabe und das folgende Label beziehungsweise den Dispatcherpfad nennen.

Grenzen

Die Seite behauptet nur die in PBXB64 implementierte und durch Beispiele abgedeckte Teilmenge. Vollstaendige historische PILOT-Dialektkompatibilitaet, freie Ausdruecke, komplexe Stringverkettung und interaktive Szenarien ohne Test sind nicht eingeschlossen. Wenn ein Beispiel Eingabe, Rücksprung oder Sound verwendet, muss die Abhaengigkeit vom Laufzeit- oder Desktop-Umfeld direkt genannt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Beispiel

J: *skip
T: "This is skipped"
*skip
T: "After jump"

Siehe auch

  • PILOT M: - Match-Sprung
  • PILOT *label - Label-Definition
  • PBXB64 - PILOT-Sprachreferenz
  • Hilfe zum PBXB64-Compiler


PILOT M: - Match-Sprung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Marken & Verzweigungen Hilfe zum PBXB64-Compiler

PILOT M: - Match-Sprung

Springt zu einem Label, wenn der Match-Slot wahr ist. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kategorie: PILOT Marken & Verzweigungen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

M: *label

Beschreibung

Springt zu einem Label, wenn der Match-Slot wahr ist. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kind: Anweisung | Category: PILOT Frontend

PBXB64 Status: VOLL IMPLEMENTIERT

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt die nutzbare PILOT-Befehlsform in PBXB64. Prueft den Match-Slot und springt nur bei wahr zum Ziel. Verwenden Sie es fuer Ergebnis-gesteuerte Verzweigungen, wenn der aktuelle Match-Zustand bereits feststeht.

Beispiele sollen Ausloeser, erwartete Verzweigung oder Ausgabe und das folgende Label beziehungsweise den Dispatcherpfad nennen.

Grenzen

Die Seite behauptet nur die in PBXB64 implementierte und durch Beispiele abgedeckte Teilmenge. Vollstaendige historische PILOT-Dialektkompatibilitaet, freie Ausdruecke, komplexe Stringverkettung und interaktive Szenarien ohne Test sind nicht eingeschlossen. Wenn ein Beispiel Eingabe, Rücksprung oder Sound verwendet, muss die Abhaengigkeit vom Laufzeit- oder Desktop-Umfeld direkt genannt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Beispiel

C: #A = 1
M: *success
T: "Match was false"
E:
*success
T: "Match was true"
E:

Siehe auch

  • PILOT Y: - Ja-Guard
  • PILOT N: - Nein-Guard
  • PILOT C: - Berechnen / Zuweisen
  • PBXB64 - PILOT-Sprachreferenz
  • Hilfe zum PBXB64-Compiler


PILOT Bedingungen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Bedingungen Hilfe zum PBXB64-Compiler

PILOT Bedingungen

Themen in diesem Kapitel

PILOT N: - Nein-Guard PILOT Y: - Ja-Guard


PILOT N: - Nein-Guard - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Bedingungen Hilfe zum PBXB64-Compiler

PILOT N: - Nein-Guard

Fuehrt Nutzlast oder naechste Zeile aus, wenn der Match-Slot falsch ist. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kategorie: PILOT Bedingungen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

N: command

Beschreibung

Fuehrt Nutzlast oder naechste Zeile aus, wenn der Match-Slot falsch ist. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kind: Anweisung | Category: PILOT Frontend

PBXB64 Status: VOLL IMPLEMENTIERT

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt die nutzbare PILOT-Befehlsform in PBXB64. Invertiert den Y:-Guard und laeuft bei falschem Match-Slot. Nutzen Sie es fuer den Fehlpfad oder einen Fallback-Text.

Beispiele sollen Ausloeser, erwartete Verzweigung oder Ausgabe und das folgende Label beziehungsweise den Dispatcherpfad nennen.

Grenzen

Die Seite behauptet nur die in PBXB64 implementierte und durch Beispiele abgedeckte Teilmenge. Vollstaendige historische PILOT-Dialektkompatibilitaet, freie Ausdruecke, komplexe Stringverkettung und interaktive Szenarien ohne Test sind nicht eingeschlossen. Wenn ein Beispiel Eingabe, Rücksprung oder Sound verwendet, muss die Abhaengigkeit vom Laufzeit- oder Desktop-Umfeld direkt genannt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Beispiel

C: #A = 0
N: T: "Match is false"
C: #A = 1
N: T: "This is skipped"

Siehe auch

  • PILOT Y: - Ja-Guard
  • PILOT M: - Match-Sprung
  • PILOT C: - Berechnen / Zuweisen
  • PBXB64 - PILOT-Sprachreferenz
  • Hilfe zum PBXB64-Compiler


PILOT Y: - Ja-Guard - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Bedingungen Hilfe zum PBXB64-Compiler

PILOT Y: - Ja-Guard

Fuehrt Nutzlast oder naechste Zeile aus, wenn der Match-Slot wahr ist. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kategorie: PILOT Bedingungen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

Y: command

Beschreibung

Fuehrt Nutzlast oder naechste Zeile aus, wenn der Match-Slot wahr ist. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kind: Anweisung | Category: PILOT Frontend

PBXB64 Status: VOLL IMPLEMENTIERT

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt die nutzbare PILOT-Befehlsform in PBXB64. Kann als Inline-Guard mit Nutzlast oder als Guard fuer die folgende Zeile verwendet werden. Das ist die einfachste Form fuer bedingte Ausgabe im getesteten PILOT-Subset.

Beispiele sollen Ausloeser, erwartete Verzweigung oder Ausgabe und das folgende Label beziehungsweise den Dispatcherpfad nennen.

Grenzen

Die Seite behauptet nur die in PBXB64 implementierte und durch Beispiele abgedeckte Teilmenge. Vollstaendige historische PILOT-Dialektkompatibilitaet, freie Ausdruecke, komplexe Stringverkettung und interaktive Szenarien ohne Test sind nicht eingeschlossen. Wenn ein Beispiel Eingabe, Rücksprung oder Sound verwendet, muss die Abhaengigkeit vom Laufzeit- oder Desktop-Umfeld direkt genannt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Beispiel

C: #A = 1
Y: T: "Match is true"
C: #A = 0
Y: T: "This is skipped"

Siehe auch

  • PILOT N: - Nein-Guard
  • PILOT M: - Match-Sprung
  • PILOT C: - Berechnen / Zuweisen
  • PBXB64 - PILOT-Sprachreferenz
  • Hilfe zum PBXB64-Compiler


PILOT Unterprogramme & Ende - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Unterprogramme & Ende Hilfe zum PBXB64-Compiler

PILOT Unterprogramme & Ende

Themen in diesem Kapitel

PILOT E: - Ende PILOT U: - Subroutine verwenden


PILOT E: - Ende - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Unterprogramme & Ende Hilfe zum PBXB64-Compiler

PILOT E: - Ende

Beendet das Programm oder den Subroutinen-Rueckkehrpfad. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kategorie: PILOT Unterprogramme & Ende | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

E:

Beschreibung

Beendet das Programm oder den Subroutinen-Rueckkehrpfad. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kind: Anweisung | Category: PILOT Frontend

PBXB64 Status: VOLL IMPLEMENTIERT

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt die nutzbare PILOT-Befehlsform in PBXB64. Springt zum Return-Dispatcher. In einem durch U: aufgerufenen Block kehrt E: zum Aufrufer zurueck; sonst endet pilot_main mit 0. Nutzen Sie es als eindeutigen Abschluss des Subroutinenpfads.

Beispiele sollen Ausloeser, erwartete Verzweigung oder Ausgabe und das folgende Label beziehungsweise den Dispatcherpfad nennen.

Grenzen

Die Seite behauptet nur die in PBXB64 implementierte und durch Beispiele abgedeckte Teilmenge. Vollstaendige historische PILOT-Dialektkompatibilitaet, freie Ausdruecke, komplexe Stringverkettung und interaktive Szenarien ohne Test sind nicht eingeschlossen. Wenn ein Beispiel Eingabe, Rücksprung oder Sound verwendet, muss die Abhaengigkeit vom Laufzeit- oder Desktop-Umfeld direkt genannt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Beispiel

T: "Hello"
E:

Siehe auch

  • PILOT J: - Sprung
  • PBXB64 - PILOT-Sprachreferenz
  • Hilfe zum PBXB64-Compiler


PILOT U: - Subroutine verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Unterprogramme & Ende Hilfe zum PBXB64-Compiler

PILOT U: - Subroutine verwenden

Ruft ein `*label` als Subroutine auf und kehrt ueber `E:` zurueck. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kategorie: PILOT Unterprogramme & Ende | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

U: *label

Beschreibung

Ruft ein `*label` als Subroutine auf und kehrt ueber `E:` zurueck. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kind: Anweisung | Category: PILOT Frontend

PBXB64 Status: IMPLEMENTIERT

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt die nutzbare PILOT-Befehlsform in PBXB64. Speichert einen Rueckkehrindex, springt zum Label und laesst E: ueber den Return-Dispatcher zum Fortsetzungsblock zurueckkehren. Damit lassen sich kleine Unterprogramme und wiederverwendbare Abläufe modellieren.

Beispiele sollen Ausloeser, erwartete Verzweigung oder Ausgabe und das folgende Label beziehungsweise den Dispatcherpfad nennen.

Grenzen

Die Seite behauptet nur die in PBXB64 implementierte und durch Beispiele abgedeckte Teilmenge. Vollstaendige historische PILOT-Dialektkompatibilitaet, freie Ausdruecke, komplexe Stringverkettung und interaktive Szenarien ohne Test sind nicht eingeschlossen. Wenn ein Beispiel Eingabe, Rücksprung oder Sound verwendet, muss die Abhaengigkeit vom Laufzeit- oder Desktop-Umfeld direkt genannt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Beispiel

U:

Siehe auch

  • PILOT S: - Ton
  • PILOT J: - Sprung
  • PBXB64 - PILOT-Sprachreferenz
  • Hilfe zum PBXB64-Compiler


PILOT Laufzeit-Helfer - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Laufzeit-Helfer Hilfe zum PBXB64-Compiler

PILOT Laufzeit-Helfer

Themen in diesem Kapitel

PILOT S: - Ton


PILOT S: - Ton - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › PILOT Frontend › PILOT Laufzeit-Helfer Hilfe zum PBXB64-Compiler

PILOT S: - Ton

Fuehrt den PILOT-Sound/Beep-Runtime-Aufruf aus. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kategorie: PILOT Laufzeit-Helfer

Syntax

S:

Beschreibung

Fuehrt den PILOT-Sound/Beep-Runtime-Aufruf aus. Die Seite nennt den getesteten Einstiegspunkt, die erwartete Steuerflusswirkung und das zugehoerige Validierungsbeispiel.

Kind: Anweisung | Category: PILOT Frontend

PBXB64 Status: IMPLEMENTIERT

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt die nutzbare PILOT-Befehlsform in PBXB64. Ruft den PILOT-Soundhelper auf; die sichtbare Wirkung haengt vom Desktop- und Audio-Umfeld ab. Dokumentieren Sie die Umgebung, wenn das Beispiel auf Ton oder sichtbares Feedback angewiesen ist.

Beispiele sollen Ausloeser, erwartete Verzweigung oder Ausgabe und das folgende Label beziehungsweise den Dispatcherpfad nennen.

Grenzen

Die Seite behauptet nur die in PBXB64 implementierte und durch Beispiele abgedeckte Teilmenge. Vollstaendige historische PILOT-Dialektkompatibilitaet, freie Ausdruecke, komplexe Stringverkettung und interaktive Szenarien ohne Test sind nicht eingeschlossen. Wenn ein Beispiel Eingabe, Rücksprung oder Sound verwendet, muss die Abhaengigkeit vom Laufzeit- oder Desktop-Umfeld direkt genannt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Beispiel

S:

Siehe auch

  • PILOT U: - Subroutine verwenden
  • PBXB64 - PILOT-Sprachreferenz
  • Hilfe zum PBXB64-Compiler
Nach oben


Übersicht - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Übersicht Hilfe zum PBXB64-Compiler

Übersicht

Themen in diesem Kapitel

PBXB64 - Rust Language (V10) Rust arithmetische und bitweise Operatoren Rust logische Operatoren Rust-Datentypen Rust-Funktionen und Aufrufe Rust-Kontrollfluss Rust-Operatoren Rust-Pointer und unsafe-Bloecke PBXB64 Help Rust-Structs und Enums Rust-Variablen und Konstanten


PBXB64 - Rust Language (V10) - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Übersicht Hilfe zum PBXB64-Compiler

PBXB64 - Rust Language (V10)

PBXB64 supports a Rust-subset syntax that compiles to the same unified IR &mdash; and the same Windows x64 PE32+ executables &mdash; as B64, C and PowerBASIC. Source files use the .rs extension and are dispatched automatically by the driver.

Kategorie: Übersicht

Beschreibung

PBXB64 supports a Rust-subset syntax that compiles to the same unified IR — and the same Windows x64 PE32+ executables — as B64, C and PowerBASIC. Source files use the .rs extension and are dispatched automatically by the driver.

Kein Rust-Compiler. Dieses Frontend implementiert Rust-ähnliche Syntax, nicht die vollstaendige Sprache Rust. Es gibt keinen Borrow-Checker, kein geprueftes Lifetime-Modell, keine Traits und keine Standardbibliothek. Programme werden manuell speicherverwaltet, wie bei den B64- und C-Frontends. Ein breiter imperativer Teilsatz — Funktionen, Structs/Tupel/Enums, minimale Generics, impl-Methoden, Closures, Raw-Pointer, Arrays, Threads und match — wird unterstuetzt, wie unten aufgefuehrt.

Referenzseiten

Diese Seite ist die Uebersicht zum Frontend. Die verlinkten Einzelseiten enthalten Syntax, getestete Beispiele, Status und Grenzen fuer die jeweiligen Befehle oder Sprachkonstrukte.

  • Datentypen
  • Variablen und Konstanten
  • Funktionen und aufrufbare Konstrukte
  • Kontrollfluss
  • Pointer und unsafe-Bloecke
  • Structs und Enums
  • Operatoren

Eingebettetes Rust innerhalb von PowerBASIC (#RUST / #ENDRUST)

Eine Rust-Region kann direkt innerhalb einer PowerBASIC-Quelldatei (.pb) zwischen den Markierungen #RUST und #ENDRUST eingebettet werden, analog zur COBOL-Einbettung mittels #COBOL / #COBOL END. Der Rust-Text wird in dieselbe Modul-IR uebersetzt und in die finale ausfuehrbare Datei gelinkt. Innerhalb eines eingebetteten Blocks erlauben die PB-Variablen-Bridge-Intrinsics, aus Rust heraus die Lokalen und Arrays der umschliessenden PB-Funktion zu lesen und zu schreiben:

Intrinsic | Art der PB-Variablen | Wirkung
pb_val_i64("x") / pb_set_i64("x", v) | Skalar (Ganzzahl) | lesen / schreiben eines PB LONG/QUAD
pb_val_f64("x") / pb_set_f64("x", v) | Skalar (Gleitkomma) | lesen / schreiben eines PB SINGLE/DOUBLE
pb_val_str("s") / pb_str_len("s") / pb_set_str("s", p) | Zeichenkette | Pointer lesen / Länge / ein PB STRING schreiben
pb_arr_get_i64("a", i) / pb_arr_set_i64("a", i, v) | Ganzzahl-Array | Element i lesen / schreiben
pb_arr_get_f64("a", i) / pb_arr_set_f64("a", i, v) | Gleitkomma-Array | PB-Elemente SINGLE/DOUBLE als Rust f64 lesen / schreiben
pb_arr_len_i64("a") / pb_arr_lbound_i64 / pb_arr_ubound_i64 | Array | Array-Umfang / untere / obere Grenze fuer feste und dynamische Ganzzahl- oder Gleitkomma-Arrays
rust_thread_spawnN_i64 ... rust_thread_join_i64 / _detach / _is_finished / _join_timeout / _sleep_ms | — | Worker-Funktionen / Closures auf nativen Threads starten (0–6 i64-Argumente), auch Worker, die PB-Bridge-Intrinsics verwenden, solange der eingebettete Block aktiv ist

Wenn ein Thread-Worker ueber diese Bridge-Intrinsics auf PB-Lokale oder Arrays zugreift, sollte der Worker vor der Rueckkehr aus dem eingebetteten Block gejoint werden. Detached Worker duerfen nach Abschluss des Blocks nicht weiter auf PB-Lokale zugreifen.

Fuer von BASIC exportierten oder importierten quellenuebergreifenden Speicher erhaelt eine Rust-Nebeneingabe generierte extern "PBXB64" static mut-Deklarationen fuer skalare BRIDGE ... ALIAS-Symbole, bevor die Benutzer-Rust-Quelle kompiliert wird. Feste STRINGZ * n-Bridge-Puffer werden als static mut alias: [i8; n] erzeugt, sodass Rust exakte Bytes per Index lesen und schreiben kann. Pointer-Bridge-Slots werden als usize erzeugt; getestete Helfer casten die gespeicherte Adresse zu *mut i8 und schreiben durch den BASIC-Zielpuffer. Passende Benutzerdeklarationen sind erlaubt, falsche extern-static-Deklarationen schlagen fail-closed zur Compile-Zeit fehl. Der fokussierte Bridge-Test tests/pb/test_bridge_basic_rust_export.pb mit tests/rust/bridge_basic_rust_export.rs belegt BASIC-eigene Integer- und Gleitkomma-Updates ueber diesen Weg. tests/pb/test_bridge_basic_rust_export_stringz.pb mit tests/rust/bridge_basic_rust_export_stringz.rs belegt BASIC-eigene Festpuffer-Updates durch Rust-Indexzugriffe. tests/pb/test_bridge_basic_rust_export_ptr.pb mit tests/rust/bridge_basic_rust_export_ptr.rs belegt BASIC-eigene Pointer-Slot-Updates durch Rust-Raw-Pointer-Bytezugriffe. tests/pb/test_bridge_rust_import_c_owner.pb mit tests/c/bridge_rust_import_c_owner.c und tests/rust/bridge_rust_import_c_owner.rs belegt, dass Rust auch C-eigenen, von BASIC importierten Skalarspeicher aendern kann. tests/pb/test_bridge_rust_import_c_stringz.pb mit tests/c/bridge_rust_import_c_stringz.c und tests/rust/bridge_rust_import_c_stringz.rs belegt denselben generierten Festpuffer-Deklarationspfad fuer C-eigene Byte-Arrays, die BASIC importiert. tests/pb/test_bridge_rust_import_c_ptr.pb mit tests/c/bridge_rust_import_c_ptr.c und tests/rust/bridge_rust_import_c_ptr.rs belegt, dass Rust durch einen C-eigenen, von BASIC importierten Pointer-Slot schreiben kann. tests/rust/bridge_basic_rust_mismatch.rs belegt die Ablehnung falscher Breiten.

#RUST
fn rust_main() -> i64 {
    let v = pb_val_i64("Counter");
    pb_set_i64("Counter", v + 1);
    return 0;
}
#ENDRUST

Getting Started

fn main() -> i64 {
    return 42;
}
PBXB64 hello.rs -o hello.exe
hello.exe
echo %ERRORLEVEL%      &:: prints 42

Hello, Sum

fn sum_to_n(n: i64) -> i64 {
    let mut total: i64 = 0;
    let mut i: i64 = 1;
    while i <= n {
        total = total + i;
        i = i + 1;
    }
    return total;
}

fn main() -> i64 {
    return sum_to_n(5);   // 15
}

Was in V10 funktioniert

  • Funktionen (fn), einschließlich Aufrufen, Rekursion und dem Einsprungpunkt main() -> i64
  • Variablen (let, let mut) mit Typrückschluss für Ganzzahl-/Gleitkomma-Literale; Tupel-Dekonstruktion let (a, b) = ...
  • Konstanten (const) — Ganzzahl-/Gleitkomma-/Bool-Konstanten werden zu Übersetzungszeit-Werten gefaltet; static-Globals
  • Typ-Aliase (type Name = T;)
  • Kontrollfluss: if/else/else if-Ketten, while, loop, break, continue, return, for v in lo..hi/..=hi
  • match auf Ganzzahl-Literalen, inklusiven/exklusiven Bereichen (..=/..), dem Wildcard (_), |-Alternierung und if-Guards
  • Ganzzahl-/Gleitkomma-/Bool-/Pointer-Typen einschließlich usize/isize (pointer-groß, 64-Bit auf Win64); vollständiger binärer/unärer/Vergleichs-/Compound-Assign-Operator-Satz einschließlich <<= >>= &= |= ^=
  • Ganzzahl-Literal-Suffixe (42i64, 3.14f64) und Radix-Formen (0x, 0o, 0b)
  • Logische Operatoren && / || (kurzschließend — siehe Operators)
  • Named-field-struct mit Struct-Literal-Syntax Point { x: 1, y: 2 } (inkl. Kurzform); Tupel-Structs struct P(i64, i64); Unit-Structs struct Marker;
  • C-artiges enum mit optionalen expliziten Diskriminanten und Enums mit Daten-Varianten enum Opt { Some(i64), None } (Tagged-Union-Senkung; Opt::Some(42)-Konstruktion und match Some(x) => / Mehrfeld-Pair(a, b)-Dekonstruktion)
  • impl-Blöcke mit Methoden (p.get(), &self) und assoziierten Funktionen (T::new())
  • Closures |x| body, move-Closures und das Capturing einschließender Variablen
  • Raw-Pointer (*mut T / *const T) und Referenzen (&T / &mut T): Adress-of (&x, &mut x), typisierte Dereferenz-Laden/Speichern (*p, (*p).field, *p = v)
  • Festgroße Arrays ([T; N]) und Array-Literale ([a, b, c], [val; N]): Element-Zuweisung und -Lesen (a[i])
  • Tupel ((T1, T2)), Tupel-Ausdrücke und .0-Indexzugriff
  • Char-Literale ('A', '\n', '\x41', '\u{1F600}')
  • unsafe-Blöcke (akzeptiert, ohne semantische Wirkung)
  • Threads über die Intrinsics rust_thread_spawnN_i64 / join / detach / is_finished / join_timeout / sleep_ms

Unterstützer Teilsatz im Überblick

Merkmal | Unterstützung
fn, Aufrufe, Rekursion, main-Einsprung | Ja
let / let mut, Typrückschluss, Tupel-Dekonstruktion | Ja
iN / uN / fN / bool / usize / isize / *mut T / &T | Ja
if / else if / while / loop / for in / break / continue | Ja
match (Literale, Bereiche ..=/.., _, |-Alt, if-Guards, Enum-Daten) | Ja
&& / || (kurzschließend) / bitweise & | ^ << >> / alle Compound-Assigns | Ja
Raw-Pointer, Referenzen, &x, &mut x, typisiert *p, *p = v | Ja
Arrays [T; N], Array-Literale [a,b,c] / [v;N], a[i] | Ja
Named-/Tupel-/Unit-Structs, Struct-Literale, Tupel, .0-Zugriff | Ja
enum (C-artig, explizite Diskriminanten, Daten-Varianten) + impl-Methoden/assoz. Fns | Ja
Closures (|x|, move, Captures) | Ja
unsafe-Blöcke, Char-Literale ('\u{...}'), as-Casts | Ja
const (Ganzzahl/Gleitkomma/Bool, Übersetzungszeit gefaltet), static, type-Aliase | Ja
Struct als Wert übergeben (Win64-Register-/Hidden-Pointer-ABI) | Ja
Threads (rust_thread_spawnN_i64-Familie) | Ja
Borrow-Checker, Lifetimes | Nein — by design
Traits, Generics (<T>), where-Bounds | Nein
String, Vec, Box, Standardbibliothek | Nein (Raw-Pointer / Arrays verwenden)
async, dyn, use/mod-Items, Makros (println!) | Nein

IR-Zuordnung

The Rust subset maps to the PBXB64 IR almost identically to B64. The frontend is a syntax-transformation layer: the same IR instructions (alloca, load, store, add, cmp_le, cond_br, ret, ...) are emitted as for an equivalent B64 program.

Dateierweiterung

Extension | Frontend
.rs | Rust subset (this frontend)
.b64 | B64
.c / .h | C17 subset

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust arithmetische und bitweise Operatoren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Übersicht Hilfe zum PBXB64-Compiler

Rust arithmetische und bitweise Operatoren

Category: Rust Frontend

Kategorie: Übersicht

Syntax

let a = x + y;
let b = x - y;
let c = x * y;
let d = x / y;
let e = x % y;

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Arithmetik

let a = x + y;
let b = x - y;
let c = x * y;
let d = x / y;
let e = x % y;

Bitweise Operatoren

let a = x & y;
let b = x | y;
let c = x ^ y;
let d = x << 2;
let e = x >> 1;

Zusammengesetzte Zuweisung

total += 1;
mask ^= flag;
value <<= 1;

Typregel

Halten Sie beide Operanden moeglichst in derselben numerischen Familie. Verwenden Sie as fuer explizite Casts zwischen signed/unsigned oder Integer/Float.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust logische Operatoren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Übersicht Hilfe zum PBXB64-Compiler

Rust logische Operatoren

Category: Rust Frontend

Kategorie: Übersicht

Syntax

let both = a && b;
let either = a || b;
let inverse = !a;

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Operatoren

let both = a && b;
let either = a || b;
let inverse = !a;

Short-Circuit-Verhalten

&& ueberspringt die rechte Seite, wenn der linke Operand false ist. || ueberspringt die rechte Seite, wenn der linke Operand true ist. Damit sind Nullpointer-Guards in der rechten Seite moeglich.

Vergleiche

Vergleichsoperatoren liefern Boolean-Werte, die in logischen Operatoren und Kontrollflussbedingungen verwendbar sind.

if (x >= 0) && (x < limit) {
    return x;
}

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust-Datentypen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Übersicht Hilfe zum PBXB64-Compiler

Rust-Datentypen

Category: Rust Frontend

Kategorie: Übersicht

Beschreibung

Category: Rust Frontend

PBXB64 Status: UEBERSICHT

PBXB64 Certification: Overview page. The linked child pages carry the tested construct evidence.

Beschreibung

Skalare, Aggregate, Pointer, Tupel, Arrays und Lifetime-nahe Formen im PBXB64-Rust-Subset.

Einzelseiten

  • Arrays
  • Tuples
  • Lifetimes
  • Raw pointers

Pruefung

Validierungsbeleg: Die Unterseiten nennen konkrete Rust-Beispiele oder Validierungstests. Neue Rust-Frontend-Aussagen sollen nur mit Compile/Link/Run-Beleg ergaenzt werden.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.


Rust-Funktionen und Aufrufe - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Übersicht Hilfe zum PBXB64-Compiler

Rust-Funktionen und Aufrufe

Category: Rust Frontend

Kategorie: Übersicht

Beschreibung

Category: Rust Frontend

PBXB64 Status: UEBERSICHT

PBXB64 Certification: Overview page. The linked child pages carry the tested construct evidence.

Beschreibung

Aufrufbare Rust-Subset-Konstrukte, Methoden, Closures, Generics, Extern-Deklarationen und Thread-Task-Helfer.

Einzelseiten

  • fn
  • impl methods
  • closures
  • generics
  • extern static
  • thread tasks

Pruefung

Validierungsbeleg: Die Unterseiten nennen konkrete Rust-Beispiele oder Validierungstests. Neue Rust-Frontend-Aussagen sollen nur mit Compile/Link/Run-Beleg ergaenzt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust-Kontrollfluss - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Übersicht Hilfe zum PBXB64-Compiler

Rust-Kontrollfluss

Category: Rust Frontend

Kategorie: Übersicht

Beschreibung

Category: Rust Frontend

PBXB64 Status: UEBERSICHT

PBXB64 Certification: Overview page. The linked child pages carry the tested construct evidence.

Beschreibung

Strukturierter Rust-Subset-Kontrollfluss. Die Unterseite enthaelt jeweils getestete Syntax und Beispiel.

Einzelseiten

  • if / else
  • while
  • for ranges
  • match

Pruefung

Validierungsbeleg: Die Unterseiten nennen konkrete Rust-Beispiele oder Validierungstests. Neue Rust-Frontend-Aussagen sollen nur mit Compile/Link/Run-Beleg ergaenzt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust-Operatoren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Übersicht Hilfe zum PBXB64-Compiler

Rust-Operatoren

Category: Rust Frontend

Kategorie: Übersicht

Beschreibung

Category: Rust Frontend

PBXB64 Status: UEBERSICHT

PBXB64 Certification: Overview page. The linked child pages carry the tested construct evidence.

Beschreibung

Arithmetische und logische Operatoren mit getestetem PBXB64-Rust-Subset-Verhalten.

Einzelseiten

  • arithmetic, comparison, and cast operators
  • logical operators

Pruefung

Validierungsbeleg: Die Unterseiten nennen konkrete Rust-Beispiele oder Validierungstests. Neue Rust-Frontend-Aussagen sollen nur mit Compile/Link/Run-Beleg ergaenzt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust-Pointer und unsafe-Bloecke PBXB64 Help - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Übersicht Hilfe zum PBXB64-Compiler

Rust-Pointer und unsafe-Bloecke PBXB64 Help

Category: Rust Frontend

Kategorie: Übersicht

Beschreibung

Category: Rust Frontend

PBXB64 Status: UEBERSICHT

PBXB64 Certification: Overview page. The linked child pages carry the tested construct evidence.

Beschreibung

Raw-Pointer, Referenzen, Dereferenzierung und unsafe-Bloecke im PBXB64-Rust-Subset.

Einzelseiten

  • raw pointers and references
  • unsafe blocks

Pruefung

Validierungsbeleg: Die Unterseiten nennen konkrete Rust-Beispiele oder Validierungstests. Neue Rust-Frontend-Aussagen sollen nur mit Compile/Link/Run-Beleg ergaenzt werden.


Rust-Structs und Enums - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Übersicht Hilfe zum PBXB64-Compiler

Rust-Structs und Enums

Category: Rust Frontend

Kategorie: Übersicht

Beschreibung

Category: Rust Frontend

PBXB64 Status: UEBERSICHT

PBXB64 Certification: Overview page. The linked child pages carry the tested construct evidence.

Beschreibung

Aggregate und Enum-Formen, die das PBXB64-Rust-Frontend unterstuetzt.

Einzelseiten

  • named structs
  • tuple structs
  • unit structs
  • enums

Pruefung

Validierungsbeleg: Die Unterseiten nennen konkrete Rust-Beispiele oder Validierungstests. Neue Rust-Frontend-Aussagen sollen nur mit Compile/Link/Run-Beleg ergaenzt werden.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


Rust-Variablen und Konstanten - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Übersicht Hilfe zum PBXB64-Compiler

Rust-Variablen und Konstanten

Category: Rust Frontend

Kategorie: Übersicht

Beschreibung

Category: Rust Frontend

PBXB64 Status: UEBERSICHT

PBXB64 Certification: Overview page. The linked child pages carry the tested construct evidence.

Beschreibung

Lokale Bindungen und Compile-Time-Konstanten.

Einzelseiten

  • let
  • const

Pruefung

Validierungsbeleg: Die Unterseiten nennen konkrete Rust-Beispiele oder Validierungstests. Neue Rust-Frontend-Aussagen sollen nur mit Compile/Link/Run-Beleg ergaenzt werden.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.


Rust-Datentypen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Datentypen Hilfe zum PBXB64-Compiler

Rust-Datentypen

Themen in diesem Kapitel

Rust lifetimes - Referenzannotationen parsen Rust tuples - Feste Werte gruppieren Rust-Fixed-Arrays


Rust lifetimes - Referenzannotationen parsen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Datentypen Hilfe zum PBXB64-Compiler

Rust lifetimes - Referenzannotationen parsen

Category: Rust Frontend

Kategorie: Rust-Datentypen

Syntax

fn pick<'a>(x: &'a i64) -> &'a i64 {
    return x;
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Lifetime-Annotationen werden in den minimal getesteten Referenzformen akzeptiert, damit Rust-artige Signaturen von PBXB64 kompiliert werden koennen.

Semantik

PBXB64 parst und verwirft Lifetime-Namen. Referenzen werden zu normalen Pointern abgesenkt. Es gibt keinen Borrow Checker, keine Lifetime-Analyse und keine Alias-Validierung.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust tuples - Feste Werte gruppieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Datentypen Hilfe zum PBXB64-Compiler

Rust tuples - Feste Werte gruppieren

Category: Rust Frontend

Kategorie: Rust-Datentypen

Syntax

let p: (i64, i64) = (3, 4);
let x = p.0;
let y = p.1;
let (a, b): (i64, i64) = p;

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Tuple-Typen und Tuple-Ausdruecke bilden kleine feste Aggregate. PBXB64 senkt Tuples ueber dieselbe Aggregate-Layout-Mechanik wie Structs ab.

Unterstuetztes Verhalten

Die getestete Teilmenge umfasst Tuple-Typannotationen, Tuple-Ausdruecke, .0/.1-Zugriff und Tuple-Destructuring in let-Bindungen.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust-Fixed-Arrays - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Datentypen Hilfe zum PBXB64-Compiler

Rust-Fixed-Arrays

Category: Rust Frontend

Kategorie: Rust-Datentypen

Syntax

let values: [i64; 4];

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Deklaration

let values: [i64; 4];

Elementzuweisung und Lesen

values[0] = 10;
values[1] = 20;
let total = values[0] + values[1];

Indexregeln

Indizes sind Integer-Ausdruecke. Der erzeugte Code verwendet die berechnete Elementadresse; Rust-Bounds-Checks oder Slice-Typen werden nicht eingefuegt.

Literalformen

Die getestete Teilmenge akzeptiert explizite Elementlisten wie [10i64, 20i64, 30i64] und Wiederholungsliterale wie [5i64; 2]. Die Array-Laenge ist durch Literal oder Typannotation festgelegt und ist keine dynamische Slice-Laenge.

Einsatz

Fixed Arrays eignen sich fuer kleine Buffer, Lookup-Tabellen und Beispiele mit zur Compile-Zeit bekannter Groesse. Initialisierung erfolgt mit expliziten Schleifen.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


Rust-Variablen & Konstanten - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Variablen & Konstanten Hilfe zum PBXB64-Compiler

Rust-Variablen & Konstanten

Themen in diesem Kapitel

Rust const-Werte Rust let-Bindungen


Rust const-Werte - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Variablen & Konstanten Hilfe zum PBXB64-Compiler

Rust const-Werte

Category: Rust Frontend

Kategorie: Rust-Variablen & Konstanten

Syntax

const ANSWER: i64 = 42;
const PI: f64 = 3.14;
const ENABLED: bool = true;

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

const definiert einen Compile-Time-Wert. PBXB64 faltet Integer-, Float- und Bool-Konstanten in die abgesenkte IR, statt veraenderlichen Speicher anzulegen.

Verwendung in Ausdruecken

fn main() -> i64 {
    if ENABLED {
        return ANSWER;
    }
    return 0;
}

Nutzen

Konstanten eignen sich fuer Magic Numbers, Limits, Flags und Branch-Bedingungen, die im Quelltext sichtbar bleiben, aber keinen Laufzeitspeicher benoetigen.

Grenzen

Komplexe Rust-Const-Evaluation, const functions, associated constants und generische Const-Parameter liegen ausserhalb des V14-Subsets.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust let-Bindungen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Variablen & Konstanten Hilfe zum PBXB64-Compiler

Rust let-Bindungen

Category: Rust Frontend

Kategorie: Rust-Variablen & Konstanten

Syntax

let a: i64 = 42;
let b = 42;
let mut c: i64 = 0;
let d: i64;

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Formen

let a: i64 = 42;
let b = 42;
let mut c: i64 = 0;
let d: i64;

Mutability-Modell

mut wird fuer Rust-Kompatibilitaet geparst. Das aktuelle Frontend implementiert keine Rust-Borrow-Checks; Zuweisungen werden daher durch die PBXB64-Absenkung und nicht durch Rust-Ownership-Regeln bestimmt.

Zuweisung

let mut total: i64 = 0;
total = total + 1;
total += 10;

Praxisregel

Verwenden Sie explizite Typen an Modulgrenzen und fuer nicht initialisierte Lokale. Typableitung eignet sich fuer einfache numerische temporaere Werte.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust-Funktionen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Funktionen Hilfe zum PBXB64-Compiler

Rust-Funktionen

Themen in diesem Kapitel

Rust closures - Inline-Funktionen erfassen und aufrufen Rust extern/static - Symbole aufrufen und Globals teilen Rust fn-Funktionen Rust generics - Type-Erased-Teilmenge verwenden Rust impl - Methoden und Associated Functions definieren Rust thread tasks - Native Worker starten und verbinden


Rust closures - Inline-Funktionen erfassen und aufrufen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Funktionen Hilfe zum PBXB64-Compiler

Rust closures - Inline-Funktionen erfassen und aufrufen

Category: Rust Frontend

Kategorie: Rust-Funktionen

Syntax

let add1 = |x: i64| x + 1;
let v = add1(41);

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Closures verwenden die Rust-artige Syntax |args| body. PBXB64 senkt einen Closure-Wert zu Funktionspointer plus Environment-Pointer ab, wenn Captures benoetigt werden.

Captures

let base: i64 = 10;
let add_base = |x: i64| x + base;

Threads

Die Thread-Task-Beispiele decken Closure-Worker, Inline-Closure-Spawning und erfasste Struct-Werte ab.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust extern/static - Symbole aufrufen und Globals teilen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Funktionen Hilfe zum PBXB64-Compiler

Rust extern/static - Symbole aufrufen und Globals teilen

Category: Rust Frontend

Kategorie: Rust-Funktionen

Syntax

extern "C" {
    fn host_add(x: i64, y: i64) -> i64;
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Extern-Funktion

extern "C" {
    fn host_add(x: i64, y: i64) -> i64;
}

Extern-/Static-Daten

extern "C" {
    static mut HOST_VALUE: f64;
}

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust fn-Funktionen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Funktionen Hilfe zum PBXB64-Compiler

Rust fn-Funktionen

Category: Rust Frontend

Kategorie: Rust-Funktionen

Syntax

fn name(arg: Type, ...) -> ReturnType {
    return expression;
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

fn deklariert eine aufrufbare Routine im PBXB64-Rust-Subset. Eine Rust-Quelldatei enthaelt normalerweise fn main() -> i64; der Rueckgabewert wird als Prozess-Exitcode verwendet.

Parameter und Aufrufe

Parameter verwenden die Rust-Schreibweise name: Type. Integer- und Pointer-Argumente werden in die gemeinsame PBXB64-IR abgesenkt und nutzen die Win64-Aufrufkonvention der anderen Frontends.

fn add(a: i64, b: i64) -> i64 {
    return a + b;
}

fn main() -> i64 {
    return add(40, 2);
}

Rekursion

Direkte Rekursion ist unterstuetzt, weil Funktionen registriert werden, bevor Aufrufe in Funktionskoerpern abgesenkt werden.

fn fib(n: i64) -> i64 {
    if n <= 1 { return n; }
    return fib(n - 1) + fib(n - 2);
}

Grenzen

Traits, async-Funktionen, Varargs und Rust-Standardbibliothek gehoeren nicht zum Umfang. Die getestete Teilmenge enthaelt generische Funktionen/Structs mit geloeschten Typparametern, impl-Methoden, Associated Functions, Closures und Extern-Deklarationen; die jeweiligen Detailseiten nennen die exakt unterstuetzten Formen.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust generics - Type-Erased-Teilmenge verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Funktionen Hilfe zum PBXB64-Compiler

Rust generics - Type-Erased-Teilmenge verwenden

Category: Rust Frontend

Kategorie: Rust-Funktionen

Syntax

fn id<T>(x: T) -> T {
    return x;
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Generische Funktionen

fn id<T>(x: T) -> T {
    return x;
}

Generische Structs

struct Wrapper<T>(T);

Grenzen

Trait Bounds, where-Klauseln, Spezialisierung, generische Enums und Const Generics sind nicht zertifiziert. Verwenden Sie diese Syntax nur fuer die getesteten einfachen Muster mit einem Typparameter.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust impl - Methoden und Associated Functions definieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Funktionen Hilfe zum PBXB64-Compiler

Rust impl - Methoden und Associated Functions definieren

Category: Rust Frontend

Kategorie: Rust-Funktionen

Syntax

impl Point {
    fn sum(&self) -> i64 {
        return self.0 + self.1;
    }
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Methoden

impl Point {
    fn sum(&self) -> i64 {
        return self.0 + self.1;
    }
}

Associated Functions

impl Point {
    fn new(x: i64, y: i64) -> Point {
        return Point(x, y);
    }
}

let p = Point::new(3, 4);

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust thread tasks - Native Worker starten und verbinden - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Funktionen Hilfe zum PBXB64-Compiler

Rust thread tasks - Native Worker starten und verbinden

Category: Rust Frontend

Kategorie: Rust-Funktionen

Syntax

fn worker(x: i64) -> i64 {
    return x + 1;
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Worker-Form

fn worker(x: i64) -> i64 {
    return x + 1;
}

Lebenszyklus

Spawn liefert einen Handle. Join wartet und liefert das Worker-Ergebnis. Detached Worker duerfen nach Rueckkehr eines eingebetteten Blocks nicht mehr auf PB-Host-Lokale zugreifen.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust-Kontrollfluss - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Kontrollfluss Hilfe zum PBXB64-Compiler

Rust-Kontrollfluss

Themen in diesem Kapitel

Rust for - Integer-Ranges iterieren Rust if / else Rust match Rust while und loop


Rust for - Integer-Ranges iterieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Kontrollfluss Hilfe zum PBXB64-Compiler

Rust for - Integer-Ranges iterieren

Category: Rust Frontend

Kategorie: Rust-Kontrollfluss

Syntax

for i in 0..5 {
    total += i;
}

for i in 1..=5 {
    total += i;
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

for wird zu einer einfachen gezaehlten Integer-Schleife abgesenkt. Die Schleifenvariable ist eine lokale Integer-Bindung im Schleifenrumpf.

Range-Formen

lo..hi schliesst hi aus. lo..=hi schliesst hi ein. Grenzen sind in der getesteten Teilmenge Integer-Ausdruecke.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust if / else - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Kontrollfluss Hilfe zum PBXB64-Compiler

Rust if / else

Category: Rust Frontend

Kategorie: Rust-Kontrollfluss

Syntax

if condition {
    statements;
} else {
    statements;
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

if waehlt einen von zwei Anweisungsbloecken. Bedingungen werden als Integer-Boolean-Ausdruecke abgesenkt; null ist false, ungleich null ist true.

else-if-Kette

if x < 0 {
    return -1;
} else if x == 0 {
    return 0;
} else {
    return 1;
}

Vergleichsausdruecke

Die Bedingung kann ==, !=, <, <=, >, >=, logische Operatoren, Funktionsaufrufe und arithmetische Teilausdruecke verwenden.

Grenzen

Rust-if als allgemeiner Ausdruck ist nicht garantiert. Verwenden Sie explizite Zuweisungen oder return in den Bloecken.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust match - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Kontrollfluss Hilfe zum PBXB64-Compiler

Rust match

Category: Rust Frontend

Kategorie: Rust-Kontrollfluss

Syntax

match value {
    0 => { return 10; }
    1 => { return 20; }
    _ => { return 30; }
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Literal-Arme

match value {
    0 => { return 10; }
    1 => { return 20; }
    _ => { return 30; }
}

Ranges

match value {
    1..=3 => { return 1; }
    4..6  => { return 2; }
    _     => { return 0; }
}

Wildcard

_ ist der Default-Arm. Er sollte fuer gut lesbaren Kontrollfluss zuletzt stehen.

Unterstuetzte Eingaben

Verwenden Sie Integer-Ausdruecke und Enum-Discriminants. Datenbehaftete Enum-Variantenpatterns mit Payload-Bindings, |-Alternativen und if-Guards sind Teil der getesteten Teilmenge. Allgemeines Struct-Destructuring und vollstaendige Rust-Pattern-Semantik bleiben ausserhalb dieser Seite.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust while und loop - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Kontrollfluss Hilfe zum PBXB64-Compiler

Rust while und loop

Category: Rust Frontend

Kategorie: Rust-Kontrollfluss

Syntax

let mut i: i64 = 0;
while i < 10 {
    i += 1;
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

while

let mut i: i64 = 0;
while i < 10 {
    i += 1;
}

loop

loop {
    if done {
        break;
    }
}

break und continue

break verlaesst die naechste Schleife. continue springt zur naechsten Iteration. Verschachtelte Schleifen verwenden den naechsten Schleifenrahmen; gelabelte Breaks gehoeren nicht zum Subset.

Rueckgabe aus einer Schleife

while i < limit {
    if i == target {
        return i;
    }
    i += 1;
}

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust-Zeiger & Speicher - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Zeiger & Speicher Hilfe zum PBXB64-Compiler

Rust-Zeiger & Speicher

Themen in diesem Kapitel

Rust Raw Pointer Rust unsafe-Bloecke


Rust Raw Pointer - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Zeiger & Speicher Hilfe zum PBXB64-Compiler

Rust Raw Pointer

Category: Rust Frontend

Kategorie: Rust-Zeiger & Speicher

Syntax

let p: *mut i64;

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Deklaration

let p: *mut i64;

Address-of

let mut value: i64 = 0;
let p: *mut i64 = &mut value;

Dereferenz-Lesen und -Schreiben

unsafe {
    *p = 99;
    let copy = *p;
}

Safety-Modell

PBXB64 bietet keine Rust-Borrow-Checks, Lifetimes oder Alias-Pruefungen. Pointer-Korrektheit liegt wie im C-Frontend in der Verantwortung des Programms.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust unsafe-Bloecke - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Zeiger & Speicher Hilfe zum PBXB64-Compiler

Rust unsafe-Bloecke

Category: Rust Frontend

Kategorie: Rust-Zeiger & Speicher

Syntax

unsafe {
    *ptr = 42;
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

unsafe-Bloecke werden akzeptiert, damit pointerlastiger Code eine Rust-aehnliche Form behalten kann. In PBXB64 sind sie syntaktische Gruppierungsbloecke; sie aktivieren oder deaktivieren keinen Borrow Checker.

Verwendung

Verwenden Sie unsafe um Raw-Pointer-Dereferenzen und anderen Code, der in Rust unsafe waere. Das macht die Absicht klar, auch wenn das Frontend die Rust-Sicherheitsgrenze nicht erzwingt.

Absenkung

Die Anweisungen im Block werden wie normale Anweisungen abgesenkt. Der Block selbst hat keine Laufzeitkosten.

Grenzen

Rust-Alias-Analyse, Lifetime-Pruefung, unsafe traits, Inline-Assembly und unsafe-Funktionsvertraege sind fuer Rust-Quelltext nicht implementiert.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust-Structs & Enums - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Structs & Enums Hilfe zum PBXB64-Compiler

Rust-Structs & Enums

Themen in diesem Kapitel

Rust C-Style-Enums Rust Named Structs Rust tuple structs - Positionale Felder benennen Rust unit structs - Marker-Typen deklarieren


Rust C-Style-Enums - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Structs & Enums Hilfe zum PBXB64-Compiler

Rust C-Style-Enums

Category: Rust Frontend

Kategorie: Rust-Structs & Enums

Syntax

enum State {
    Idle,
    Running,
    Done,
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Implizite Discriminants

enum State {
    Idle,
    Running,
    Done,
}

Explizite Discriminants

enum Code {
    Ok = 0,
    Missing = 10,
    Failed = 20,
}

Enums in Ausdruecken

Enum-Varianten koennen verglichen, zurueckgegeben und in match- Armen wie Integer-Werte verwendet werden.

match state {
    State::Idle => { return 1; }
    State::Running => { return 2; }
    _ => { return 0; }
}

Datenbehaftete Varianten

Tuple-artige Payload-Varianten wie Some(i64) sind fuer Konstruktion und getestetes match-Payload-Binding unterstuetzt. Struct-artige Varianten, generische Enums und vollstaendige Rust- Destructuring-Patterns liegen ausserhalb der verifizierten Teilmenge.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rust Named Structs - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Structs & Enums Hilfe zum PBXB64-Compiler

Rust Named Structs

Category: Rust Frontend

Kategorie: Rust-Structs & Enums

Syntax

struct Point {
    x: i64,
    y: i64,
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Deklaration

struct Point {
    x: i64,
    y: i64,
}

Feldzugriff

let p: Point;
p.x = 3;
p.y = 4;
return p.x + p.y;

Structs uebergeben

Struct-by-value folgt der Win64-ABI des Backends: kleine Aggregate mit 1, 2, 4 oder 8 Bytes koennen in einem Register uebergeben werden; groessere Aggregate werden per hidden pointer uebergeben.

Verschachtelte Structs

struct Pair {
    left: Point,
    right: Point,
}

Verwandte unterstuetzte Formen

Tuple Structs, Unit Structs, impl-Methoden und Associated Functions sind in der getesteten Teilmenge unterstuetzt und auf eigenen Seiten dokumentiert. Derives, Traits und vollstaendige Rust-Visibility-/Modulsemantik sind nicht unterstuetzt.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


Rust tuple structs - Positionale Felder benennen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Structs & Enums Hilfe zum PBXB64-Compiler

Rust tuple structs - Positionale Felder benennen

Category: Rust Frontend

Kategorie: Rust-Structs & Enums

Syntax

struct Point(i64, i64);

fn main() -> i64 {
    let p = Point(3, 4);
    return p.0 + p.1;
}

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Tuple Structs verbinden einen benannten Typ mit positionalen Feldern. PBXB64 speichert die Felder als Aggregate-Member mit Indexnamen.

Unterstuetztes Verhalten

Konstruktion durch Aufruf des Tuple-Struct-Namens, Feldlesen mit .0 und Verwendung mit Methoden in impl-Bloecken sind durch die aktuellen Beispiele abgedeckt.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


Rust unit structs - Marker-Typen deklarieren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Rust Frontend › Rust-Structs & Enums Hilfe zum PBXB64-Compiler

Rust unit structs - Marker-Typen deklarieren

Category: Rust Frontend

Kategorie: Rust-Structs & Enums

Syntax

struct Marker;

Beschreibung

Category: Rust Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: CERTIFIED TESTED - source/test-backed Rust subset behavior, with limits stated on this page.

Beschreibung

Ein Unit Struct deklariert einen benannten Typ ohne Felder. Der Parser akzeptiert ihn und senkt ihn als Aggregate-Typ ohne Payload-Felder ab.

Verwendung

Unit Structs eignen sich als Marker-Werte fuer Code, der einen benannten Rust-artigen Typ ohne Speicherfelder braucht. Traits, Derives oder Modul-Visibility-Semantik werden dadurch nicht bereitgestellt.

Pruefung

Validierungsbeleg: Das auf dieser Seite genannte fokussierte Rust-Beispiel oder der genannte Validierungstest ist der Compile/Link/Run-Beleg fuer das dokumentierte Konstrukt. Eigenstaendige Rust-Beispiele mit PBXB64 example.rs -o example.exe kompilieren und die EXE ausfuehren, um den erwarteten Prozess-Exitcode zu pruefen.

Pruefliste

Kompilieren Sie das genannte Beispiel mit PBXB64 example.rs -o example.exe, fuehren Sie die EXE aus und dokumentieren Sie den erwarteten Prozess-Exitcode. Die Seite soll nur Verhalten beschreiben, das im PBXB64-Rust-Frontend implementiert und durch ein Beispiel oder eine Matrixprobe abgedeckt ist.

Absenkung und Diagnosen

Das Rust-Frontend parst das Konstrukt in die gemeinsame PBXB64-AST und senkt es in dieselbe IR ab, die auch die B64-, C-, COBOL- und BASIC-Frontends nutzen. Eine als verfuegbar markierte Seite muss abgesenktes Verhalten, akzeptierte Syntax, relevante Grenzen und den beweisenden Test oder das Beispiel nennen. Nicht unterstuetzte Rust-Sprachformen muessen als Grenzen dokumentiert bleiben, statt durch aehnlich aussehende Syntax impliziert zu werden.

Frontend-Grenze

Dies ist ein Rust-Subset-Frontend, kein vollstaendiger Rust-Compiler. Standardbibliothek, Cargo-Metadaten, Borrow Checking, Lifetime-Analyse, Traits, Generics, Makros und vollstaendige Rust-Pattern-Semantik duerfen nur behauptet werden, wenn eine separate Seite die Funktion ausdruecklich dokumentiert und verifiziert.

← Back

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


Übersicht - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Übersicht Hilfe zum PBXB64-Compiler

Übersicht

Themen in diesem Kapitel

COBOL Divisions COBOL-Arithmetik und Datenbewegung COBOL-Aufrufe und Parameter COBOL-Copybooks COBOL-Datei-E/A COBOL-Datenbeschreibung COBOL-Konsole und Strings COBOL-Kontrollfluss Eingebettetes COBOL in BASIC PBXB64 - COBOL Language (V10)


COBOL Divisions - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Übersicht Hilfe zum PBXB64-Compiler

COBOL Divisions

Kind: Reference hub | Category: COBOL Frontend

Kategorie: Übersicht

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Beschreibung

Kind: Reference hub | Category: COBOL Frontend

PBXB64 Status: Overview / navigation; child pages carry the command-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen COBOL-Befehle und Klauseln stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Einzelseiten

  • IDENTIFICATION DIVISION
  • ENVIRONMENT DIVISION
  • DATA DIVISION
  • PROCEDURE DIVISION
  • SECTION

Pruefung

Die darunterliegenden Seiten nennen konkrete Dateien aus den COBOL-Validierungslaeufen. Neue COBOL-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: COBOL command pages cite registered COBOL validation files such as tests/cobol/gaps.cbl or a focused sibling test.

Getestetes Beispiel

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELP.
       PROCEDURE DIVISION.
           STOP RUN.

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


COBOL-Arithmetik und Datenbewegung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Übersicht Hilfe zum PBXB64-Compiler

COBOL-Arithmetik und Datenbewegung

Kind: Reference hub | Category: COBOL Frontend

Kategorie: Übersicht

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Beschreibung

Kind: Reference hub | Category: COBOL Frontend

PBXB64 Status: Overview / navigation; child pages carry the command-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen COBOL-Befehle und Klauseln stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Einzelseiten

  • MOVE
  • MOVE CORRESPONDING
  • ADD
  • SUBTRACT
  • MULTIPLY
  • DIVIDE
  • COMPUTE
  • ROUNDED
  • INITIALIZE
  • SET

Pruefung

Die darunterliegenden Seiten nennen konkrete Dateien aus den COBOL-Validierungslaeufen. Neue COBOL-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: COBOL command pages cite registered COBOL validation files such as tests/cobol/gaps.cbl or a focused sibling test.

Getestetes Beispiel

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELP.
       PROCEDURE DIVISION.
           STOP RUN.

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


COBOL-Aufrufe und Parameter - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Übersicht Hilfe zum PBXB64-Compiler

COBOL-Aufrufe und Parameter

Kind: Reference hub | Category: COBOL Frontend

Kategorie: Übersicht

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Beschreibung

Kind: Reference hub | Category: COBOL Frontend

PBXB64 Status: Overview / navigation; child pages carry the command-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen COBOL-Befehle und Klauseln stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Einzelseiten

  • CALL
  • USING
  • GIVING

Pruefung

Die darunterliegenden Seiten nennen konkrete Dateien aus den COBOL-Validierungslaeufen. Neue COBOL-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: COBOL command pages cite registered COBOL validation files such as tests/cobol/gaps.cbl or a focused sibling test.

Getestetes Beispiel

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELP.
       PROCEDURE DIVISION.
           STOP RUN.

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


COBOL-Copybooks - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Übersicht Hilfe zum PBXB64-Compiler

COBOL-Copybooks

Kind: Reference hub | Category: COBOL Frontend

Kategorie: Übersicht

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Beschreibung

Kind: Reference hub | Category: COBOL Frontend

PBXB64 Status: Overview / navigation; child pages carry the command-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen COBOL-Befehle und Klauseln stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Einzelseiten

  • COPY
  • COPY REPLACING

Pruefung

Die darunterliegenden Seiten nennen konkrete Dateien aus den COBOL-Validierungslaeufen. Neue COBOL-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: COBOL command pages cite registered COBOL validation files such as tests/cobol/gaps.cbl or a focused sibling test.

Getestetes Beispiel

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELP.
       PROCEDURE DIVISION.
           STOP RUN.

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


COBOL-Datei-E/A - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Übersicht Hilfe zum PBXB64-Compiler

COBOL-Datei-E/A

Kind: Reference hub | Category: COBOL Frontend

Kategorie: Übersicht

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Beschreibung

Kind: Reference hub | Category: COBOL Frontend

PBXB64 Status: Overview / navigation; child pages carry the command-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen COBOL-Befehle und Klauseln stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Einzelseiten

  • SELECT ASSIGN
  • FILE SECTION
  • OPEN
  • READ
  • WRITE
  • CLOSE

Pruefung

Die darunterliegenden Seiten nennen konkrete Dateien aus den COBOL-Validierungslaeufen. Neue COBOL-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: COBOL command pages cite registered COBOL validation files such as tests/cobol/gaps.cbl or a focused sibling test.

Getestetes Beispiel

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELP.
       PROCEDURE DIVISION.
           STOP RUN.

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


COBOL-Datenbeschreibung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Übersicht Hilfe zum PBXB64-Compiler

COBOL-Datenbeschreibung

Kind: Reference hub | Category: COBOL Frontend

Kategorie: Übersicht

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Beschreibung

Kind: Reference hub | Category: COBOL Frontend

PBXB64 Status: Overview / navigation; child pages carry the command-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen COBOL-Befehle und Klauseln stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Einzelseiten

  • PIC
  • VALUE
  • OCCURS
  • 88 Condition Name
  • USAGE
  • REDEFINES
  • GLOBAL
  • EXTERNAL
  • OF / IN

Pruefung

Die darunterliegenden Seiten nennen konkrete Dateien aus den COBOL-Validierungslaeufen. Neue COBOL-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: COBOL command pages cite registered COBOL validation files such as tests/cobol/gaps.cbl or a focused sibling test.

Getestetes Beispiel

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELP.
       PROCEDURE DIVISION.
           STOP RUN.

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


COBOL-Konsole und Strings - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Übersicht Hilfe zum PBXB64-Compiler

COBOL-Konsole und Strings

Kind: Reference hub | Category: COBOL Frontend

Kategorie: Übersicht

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Beschreibung

Kind: Reference hub | Category: COBOL Frontend

PBXB64 Status: Overview / navigation; child pages carry the command-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen COBOL-Befehle und Klauseln stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Einzelseiten

  • DISPLAY
  • ACCEPT
  • STRING
  • DELIMITED BY
  • WITH POINTER
  • UNSTRING
  • INSPECT
  • TALLYING
  • REPLACING
  • CONVERTING

Pruefung

Die darunterliegenden Seiten nennen konkrete Dateien aus den COBOL-Validierungslaeufen. Neue COBOL-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: COBOL command pages cite registered COBOL validation files such as tests/cobol/gaps.cbl or a focused sibling test.

Getestetes Beispiel

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELP.
       PROCEDURE DIVISION.
           STOP RUN.

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


COBOL-Kontrollfluss - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Übersicht Hilfe zum PBXB64-Compiler

COBOL-Kontrollfluss

Kind: Reference hub | Category: COBOL Frontend

Kategorie: Übersicht

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Beschreibung

Kind: Reference hub | Category: COBOL Frontend

PBXB64 Status: Overview / navigation; child pages carry the command-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen COBOL-Befehle und Klauseln stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Einzelseiten

  • IF
  • ELSE
  • END-IF
  • AND
  • OR
  • NOT
  • PERFORM
  • EXIT PERFORM
  • GO TO
  • DEPENDING ON
  • EVALUATE
  • WHEN
  • WHEN OTHER
  • END-EVALUATE
  • SEARCH
  • AT END
  • NOT AT END
  • END-SEARCH
  • CONTINUE
  • GOBACK
  • STOP RUN

Pruefung

Die darunterliegenden Seiten nennen konkrete Dateien aus den COBOL-Validierungslaeufen. Neue COBOL-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: COBOL command pages cite registered COBOL validation files such as tests/cobol/gaps.cbl or a focused sibling test.

Getestetes Beispiel

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELP.
       PROCEDURE DIVISION.
           STOP RUN.

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Eingebettetes COBOL in BASIC - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Übersicht Hilfe zum PBXB64-Compiler

Eingebettetes COBOL in BASIC

Kind: Reference hub | Category: COBOL Frontend

Kategorie: Übersicht

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Beschreibung

Kind: Reference hub | Category: COBOL Frontend

PBXB64 Status: Overview / navigation; child pages carry the command-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen COBOL-Befehle und Klauseln stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Einzelseiten

  • #COBOL
  • #COBOL END
  • #COBOL USING

Pruefung

Die darunterliegenden Seiten nennen konkrete Dateien aus den COBOL-Validierungslaeufen. Neue COBOL-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: COBOL command pages cite registered COBOL validation files such as tests/cobol/gaps.cbl or a focused sibling test.

Getestetes Beispiel

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELP.
       PROCEDURE DIVISION.
           STOP RUN.

Diese Seite ist ein Uebersichtskapitel. Die verlinkten Einzelseiten enthalten die konkreten getesteten Beispiele oder nennen eine ausdrueckliche Begrenzung, wenn ein Befehl nicht zertifiziert ist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


PBXB64 - COBOL Language (V10) - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Übersicht Hilfe zum PBXB64-Compiler

PBXB64 - COBOL Language (V10)

PBXB64 supports a COBOL-85 core language that compiles to the same unified IR &mdash; and the same Windows x64 PE32+ executables &mdash; as B64, C, BASIC and PILOT. The frontend lowers COBOL source to the shared IrModule in a single pass using exact scaled fixed-point arithmetic for all numeric PIC fields &mdash; no floating-point rounding loss.

Kategorie: Übersicht

Beschreibung

PBXB64 supports a COBOL-85 core language that compiles to the same unified IR — and the same Windows x64 PE32+ executables — as B64, C, BASIC and PILOT. The frontend lowers COBOL source to the shared IrModule in a single pass using exact scaled fixed-point arithmetic for all numeric PIC fields — no floating-point rounding loss.

File extensions: .cbl, .cob, .CBL, .COB. Embedded COBOL blocks inside a host source file are recognized between the #COBOL and #COBOL END markers and execute at the directive site through a generated callable helper.

Referenzseiten

Diese Seite ist die Uebersicht zum Frontend. Die verlinkten Einzelseiten enthalten Syntax, getestete Beispiele, Status und Grenzen fuer die jeweiligen Befehle oder Sprachkonstrukte.

  • Divisions
  • Datenbeschreibung
  • Arithmetik und Datenbewegung
  • Kontrollfluss
  • Konsole und Strings
  • Aufrufe und Parameter
  • Datei-E/A
  • Copybooks
  • Eingebettetes COBOL in BASIC

Command-Line Invocation

PBXB64 program.cbl -o program.exe

A standalone COBOL source file is classified by its extension and compiled and linked like any other frontend:

PBXB64 hello.cbl -o hello.exe
hello.exe

Embedded COBOL blocks within a host file (e.g. PowerBASIC) use the directive markers, analogous to the existing #FORTH mechanism:

#COBOL
       IDENTIFICATION DIVISION.
       PROGRAM-ID. EMBEDDED.
       PROCEDURE DIVISION.
           DISPLAY "From embedded COBOL".
           STOP RUN.
#COBOL END

In a host source file, the embedded COBOL block does not create a competing standalone main entry. PBXB64 lowers the block as an internal helper and emits a host-side call where the #COBOL directive appears.

Program Structure (Divisions)

A COBOL program consists of up to four divisions, which must appear in this order:

Division | Role | Support
IDENTIFICATION DIVISION | Program name and metadata (PROGRAM-ID) | Read, then skipped
ENVIRONMENT DIVISION | Konfiguration und line-sequential I/O-Zuweisungen | SELECT ... ASSIGN wird fuer unterstuetzte Datei-I/O erkannt
DATA DIVISION | Datendefinitionen (WORKING-STORAGE und unterstuetzte FILE SECTION-Datensaetze) | Unterstuetzte Teilmenge
PROCEDURE DIVISION | Executable statements and paragraphs | Fully supported
       IDENTIFICATION DIVISION.
       PROGRAM-ID. MY-PROGRAM.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  WS-VALUE   PIC 9(4)  VALUE 0.
       PROCEDURE DIVISION.
       MAIN-PARA.
           MOVE 42 TO WS-VALUE.
           DISPLAY WS-VALUE.
           STOP RUN.
Source form: The frontend is free-form tolerant. Leading whitespace, fixed-column layout (Area A/B), sequence columns, fixed-form comment lines, basic continuation lines, and simple source-local COPY copybooks are accepted.

DATA DIVISION (Data Definitions)

PIC Symbols

Symbol | Meaning
9 | Numeric digit (0–9)
X | Alphanumeric character
A | Alphabetic character
S | Sign (leading, signed)
V | Implied decimal point
Z | Zero suppression
P | Scaling position
(n) | Repetition factor, e.g. 9(5) = five digits

Examples

01  WS-COUNT     PIC 9(3)       VALUE 0.
01  WS-AMOUNT    PIC 9(7)V99    VALUE 1234.50.
01  WS-STOCK     PIC S9(6)      VALUE -100.
01  WS-NAME      PIC X(20)      VALUE "unknown".
01  WS-FILLER    PIC X(10)      VALUE SPACES.
01  WS-TABLE     PIC 9(3)       OCCURS 5 TIMES.
01  WS-CURR      PIC 9          VALUE 3.
01  WS-VAR-TBL.
    05 WS-VAR-ITEM PIC X(2)     OCCURS 1 TO 5 TIMES
                                DEPENDING ON WS-CURR
                                INDEXED BY WS-IX.

External Data Symbols

EXTERNAL and GLOBAL on WORKING-STORAGE items export the item as an object symbol with the exact COBOL source spelling:

01  SHARED-COUNT PIC S9(9) VALUE 41 EXTERNAL.

Das Objektsymbol ist SHARED-COUNT. Eine BASIC-Hauptquelle kann ein COBOL-eigenes numerisches External mit BRIDGE IMPORT name AS QUAD ALIAS "SHARED-COUNT" binden; die fokussierte Regression tests/pb/test_bridge_cobol_import_numeric.pb beweist, dass BASIC ein COBOL-Feld PIC S9(9) EXTERNAL lesen und schreiben kann. BASIC kann auch festen COBOL-Byte-Speicher mit BRIDGE IMPORT name AS STRINGZ * n ALIAS "COBOL-TEXT" binden; tests/pb/test_bridge_cobol_import_picx.pb beweist exakte Byte-Lesezugriffe ueber PEEK$ und Schreibzugriffe ueber den festen BASIC-Pufferpfad. Wenn COBOL die Hauptquelle ist, veroeffentlichen skalare numerische und feste PIC X/PIC A-EXTERNAL/GLOBAL-Elemente Bridge-Metadaten und erzeugen dieselbe C-Bridge-Header-Oberflaeche wie BASIC-Bridge-Builds. Dieser Bridge-Slice umfasst jetzt getestete numerische Export-Formen fuer DISPLAY, BINARY/COMP, COMP-3 und COMP-5; tests/cobol/bridge_cobol_primary_usage.cbl beweist, dass C-Consumer gepackten und nativen Binaerspeicher ueber die generierten Aliase aendern koennen. Der naechste Bridge-Slice deckt jetzt feste OCCURS-Arrays fuer dieselben Skalarformen ab: tests/cobol/bridge_cobol_primary_occurs_numeric.cbl beweist, dass C-Consumer einen numerischen OCCURS 3 TIMES-Export ueber den generierten Alias und die ausgegebenen PB_BRIDGE_*_COUNT/PB_BRIDGE_*_ELEMENT_SIZE-Metadaten lesen und schreiben koennen, und tests/cobol/bridge_cobol_primary_occurs_picx.cbl beweist dasselbe fuer festen PIC X(5) OCCURS 2 TIMES-Speicher. Ein-Level verschachtelte Gruppen mit festen Elementarfeldern werden ebenfalls als Bridge-Structs mit flachgezogenen, alias-sicheren Feldnamen und Offset-Metadaten ausgegeben: tests/cobol/bridge_cobol_group_nested_export.cbl beweist, dass C-Consumer verschachtelte Felder ueber die generierten Aliase aendern koennen, waehrend das exakte COBOL-Objektsymbol intakt bleibt. COBOL-Namen mit Bindestrich behalten ihr exaktes Objektsymbol und erhalten zusaetzlich einen C-sicheren Alias, zum Beispiel COBOL_COUNT fuer COBOL-COUNT; tests/cobol/bridge_cobol_primary_numeric.cbl, tests/cobol/bridge_cobol_primary_picx.cbl und die neuen OCCURS-Regressionen beweisen, dass C-Consumer numerischen und festen Byte-Speicher von COBOL ueber diese generierten Aliase aendern koennen. In der anderen Besitzrichtung beweist tests/pb/test_bridge_basic_cobol_export_picx.pb, dass ein BASIC-eigener BRIDGE EXPORT ... AS STRINGZ * 8 ALIAS "BASIC-TEXT" von COBOL als 01 BASIC-TEXT PIC X(8) EXTERNAL importiert werden kann; abweichende PIC X-Breiten werden abgelehnt. Doppelte COBOL-EXTERNAL/GLOBAL-Datensymbole, generierte Alias-Kollisionen und nicht unterstuetzte Aggregate oder OCCURS-Bridge-Exports werden zur Compile-Zeit abgelehnt. Die neuen OCCURS-Mismatch-Regressionen lehnen sowohl falsche Consumer-Array-Groessen als auch falsche Elementbreiten zur Compile-Zeit ab. Eingebettetes #COBOL USING-Hostvariablen-Binding ist fuer ganzzahlige BASIC-Skalarvariablen und feste STRINGZ * n-Puffer getestet: COBOL sieht Integer-Hosts als numerische 8-Byte-Felder, kann sie anzeigen oder aendern, und sieht feste Puffer als PIC X(n)-Speicher, der exakte Bytes round-tripped. Unbekannte Hostnamen, mehr als acht Hostvariablen, unsized STRINGZ, dynamische Strings, Gleitkommavariablen, Arrays, Strukturen, Objekte, Varianten und PICFIELD-Handles werden zur Compile-Zeit abgelehnt, bis sie einen eigenen typisierten Bridge-Vertrag haben.

Numeric Storage Accuracy

Every numeric field is stored as a scaled 64-bit integer (value × 10^scale). Arithmetic uses only native integer operations and is exact for all COBOL-85 fields up to 18 digits — no floating-point rounding loss. When storing into a field, the full COBOL-85 rules are enforced:

Rule | Behaviour
High-order digit truncation | MOVE 1234 TO 9(3) stores 234
Sign with unsigned PIC 9 (no S) | Absolute value forced: MOVE -55 TO 9(4) → 55
Sign with PIC S9 | Sign preserved: MOVE -55 TO S9(4) → -55

PROCEDURE DIVISION (Statements)

Executable code is organized into paragraphs. A paragraph header is an identifier followed by a period. Forward references to paragraphs (e.g. in PERFORM) are supported.

Supported Statements

Statement | Description
DISPLAY | Outputs operands (literals and fields) to the console, followed by a newline
ACCEPT | Reads a value from the console into a field
MOVE | Transfers a value into a field (numeric with scaling/conversion, alphanumeric with padding)
ADD | Adds operands to receivers: ADD a TO b or ADD a b GIVING c
SUBTRACT | Subtracts: SUBTRACT a FROM b or SUBTRACT a FROM b GIVING c
MULTIPLY | Multiplies: MULTIPLY a BY b (result in b) or MULTIPLY a BY b GIVING c
DIVIDE | Divides: DIVIDE a INTO b, DIVIDE a BY b GIVING c
COMPUTE | Berechnet einen Ausdruck unter Erhalt der natuerlichen Skalierung der Teilausdruecke; ROUNDED und ON SIZE ERROR werden unterstuetzt
IF / ELSE / END-IF | Conditional branching
PERFORM | Fuehrt Paragraphen und getestete Schleifen aus: einfach, THRU, UNTIL, VARYING und n TIMES
GO TO | Springt zu einem Paragraphen, einschliesslich berechnetem GO TO ... DEPENDING ON
STOP RUN | Terminates the program with return code 0
CONTINUE | No operation
EVALUATE | Mehrfachverzweigung mit WHEN, mehreren Werten und WHEN OTHER
GOBACK | Kehrt aus dem aktuellen COBOL-Programm oder Hilfsprogramm zurueck
EXIT PERFORM | Bricht die naechstgelegene inline PERFORM-Schleife ab
STRING / UNSTRING | Baut und teilt Festfeld-Strings in der implementierten Begrenzer-Teilmenge
INSPECT | Zaehlen, Ersetzen und Konvertieren mit getesteten Einbyte- und Mehrbyte-Operanden
INITIALIZE | Fuellt numerische Felder mit null und alphanumerische Felder mit Leerzeichen
SET | Setzt getestete 88-Level-Bedingungsnamen auf TRUE
CALL | Ruft externe Symbole mit getesteten USING-, BY VALUE- und GIVING-Formen auf
OPEN / READ / WRITE / CLOSE | Line-sequential Datei-I/O in der getesteten Datensatz-Teilmenge
SEARCH | Lineare Suche ueber feste OCCURS-Tabellen mit VARYING, AT END, WHEN und END-SEARCH

ROUNDED Clause

The optional ROUNDED clause rounds the arithmetic result half-away-from-zero before storage, while the default truncates:

       MULTIPLY 1.0055 BY WS-VALUE ROUNDED.   *> 10.055 -> 10.06
       MULTIPLY 1.0055 BY WS-VALUE.            *> 10.055 -> 10.05 (truncated)

Conditions (Comparisons)

Relational operators are supported both as symbols and in word form:

Operator | Word form | Meaning
= | EQUAL | equal
<> | NOT EQUAL | not equal
< | LESS | less than
<= | — | less than or equal
> | GREATER | greater than
>= | — | greater than or equal

Conditions can be combined with AND, OR, NOT and grouped with parentheses:

       IF WS-AGE >= 18 AND WS-COUNTRY = "US"
           DISPLAY "Adult in the US".

Bedingungsnamen (88-Ebene)

Ein 88-Eintrag bindet einen benannten Bedingungsnamen an den Wert des übergeordneten Elementarfelds. SET weist dem Elternfeld den aufgezeichneten Wert zu; der bloße Bedingungsname prüft auf Gleichheit damit.

       01  WS-STATUS PIC 9(1) VALUE 0.
           88  IS-OK    VALUE 1.
           88  IS-ERROR VALUE 2.
       ...
           SET IS-OK TO TRUE.            *> WS-STATUS = 1
           IF IS-OK DISPLAY "ok" END-IF. *> WS-STATUS = 1 ?

EVALUATE (Mehrfachverzweigung)

EVALUATE wühlt eine WHEN-Klausel durch Gleichheit mit dem Subjekt aus; WHEN OTHER ist der Standardfall.

       EVALUATE WS-DAY
           WHEN 1 DISPLAY "MONDAY"
           WHEN 2 DISPLAY "TUESDAY"
           WHEN OTHER DISPLAY "OTHER"
       END-EVALUATE.

STRING / INSPECT / INITIALIZE / SET

       STRING "HELLO" " " "WORLD" DELIMITED BY SIZE INTO WS-OUT.
       INSPECT WS-BUF REPLACING ALL "A" BY "X".
       INSPECT WS-BUF CONVERTING "a" TO "A".
       INITIALIZE WS-NUM WS-TXT.
       SET IS-OK TO TRUE.

MOVE CORRESPONDING / qualifizierte Namen

MOVE CORRESPONDING übertrügt gleichnamige Elementarfelder zwischen zwei Gruppen. Namen dürfen mit OF oder IN qualifiziert werden.

       MOVE CORRESPONDING REC-A TO REC-B.
       MOVE FLD-X OF REC-A TO WS-OUT.

USAGE / REDEFINES / GOBACK / EXIT PERFORM

USAGE-Klauseln (COMP, COMP-3, BINARY, PACKED-DECIMAL, DISPLAY ...) werden akzeptiert; alle Zahlen werden als skaliertes int64 gespeichert. REDEFINES aliasiert den Speicher eines Elementarfelds. GOBACK kehrt aus dem Programm zurück. EXIT PERFORM bricht die n&aauml;chstgelegene inline PERFORM-Schleife ab. PROCEDURE-DIVISION-SECTION-Header werden als Bereichsmarkierungen akzeptiert. CALL "name" USING ... ruft ein externes Symbol auf; Standardargumente werden per Referenz uebergeben, und BY VALUE plus GIVING unterstuetzt Runtime-ABI-Aufrufe mit ganzzahligem Rueckgabewert.

Primäre COBOL-EXTERNAL- und GLOBAL-Elemente erzeugen ebenfalls Bridge-Metadaten für C-Verbraucher. Skalare Zahlen bleiben bei festen Breiten, feste PIC X/PIC A-Felder bleiben Byte-Arrays, ein-Level verschachtelte Gruppen mit festen Elementarfeldern werden als gepackte C-Structs mit flachgezogenen, alias-sicheren Feldnamen ausgegeben, und feste OCCURS-Arrays solcher Gruppen werden als C-Arrays dieser Structs mit Elementgrößen-Metadaten und Offset-Assertions ausgegeben. Tiefer oder mehrdeutig verschachtelte Gruppen, Gruppen-REDEFINES und OCCURS innerhalb von Gruppen liegen weiterhin ausserhalb dieser Bridge-Teilmenge.

Decimal Runtime (DECIMAL128 and UNL)

For fields that need higher precision, the COBOL runtime provides corrected DECIMAL128 functions (cobol_dec128_mul/div via __int128, no double round-trip) and UNL-backed arbitrary-precision decimal operations for COBOL-2002 fields up to 31 digits. The default scaled int64 path is exact for all COBOL-85 widths.

Bekannte Einschraenkungen: Sequentielle zeilenorientierte Datei-I/O ist fuer die getestete OPEN/READ/WRITE/CLOSE-Teilmenge implementiert, aber REWRITE, DELETE, START, indexierte/relative Dateien und SORT/MERGE sind nicht implementiert. Mehrere COPY ... REPLACING-Paare, Kommandozeilen-Copybook-Suchpfade, tiefer verschachtelte Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische Speicherauswahl fuer mehr als 18-stellige PIC-Felder liegen ausserhalb der zertifizierten Oberflaeche. OCCURS mit DEPENDING ON und INDEXED BY, SEARCH, gemischt-skalierte COMPUTE-Ausdruecke sowie CALL ... BY VALUE / BY CONTENT / RETURNING sind in den kanonischen Validierungsspuren qualifiziert.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Back to command index


COBOL-Divisionen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Divisionen Hilfe zum PBXB64-Compiler

COBOL-Divisionen

Themen in diesem Kapitel

DATA DIVISION - Startet die von PBXB64 COBOL unterstuetzten Working-Storage-Deklarationen. ENVIRONMENT DIVISION - Wird vom aktuellen nativen Frontend akzeptiert und uebersprungen, wenn vorhanden. IDENTIFICATION DIVISION - Deklariert COBOL-Programminformationen. PROCEDURE DIVISION - Startet ausfuehrbare COBOL-Anweisungen. SECTION - Akzeptiert SECTION-Header in der PROCEDURE DIVISION als Bereichsmarkierungen.


DATA DIVISION - Startet die von PBXB64 COBOL unterstuetzten Working-Storage-Deklarationen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Divisionen Hilfe zum PBXB64-Compiler

DATA DIVISION - Startet die von PBXB64 COBOL unterstuetzten Working-Storage-Deklarationen.

Startet die von PBXB64 COBOL unterstuetzten Working-Storage-Deklarationen.

Kategorie: COBOL-Divisionen

Syntax

DATA DIVISION.
WORKING-STORAGE SECTION.

Beschreibung

Startet die von PBXB64 COBOL unterstuetzten Working-Storage-Deklarationen.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

DATA DIVISION hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

DATA DIVISION.
WORKING-STORAGE SECTION.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


ENVIRONMENT DIVISION - Wird vom aktuellen nativen Frontend akzeptiert und uebersprungen, wenn vorhanden. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Divisionen Hilfe zum PBXB64-Compiler

ENVIRONMENT DIVISION - Wird vom aktuellen nativen Frontend akzeptiert und uebersprungen, wenn vorhanden.

Wird vom aktuellen nativen Frontend akzeptiert und uebersprungen, wenn vorhanden.

Kategorie: COBOL-Divisionen

Syntax

ENVIRONMENT DIVISION.

Beschreibung

Wird vom aktuellen nativen Frontend akzeptiert und uebersprungen, wenn vorhanden.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

ENVIRONMENT DIVISION hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

ENVIRONMENT DIVISION.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← DATA DIVISION - Startet die von PBXB64 COBOL unterstuetzten Working-Storage-Deklarationen. Nach oben IDENTIFICATION DIVISION - Deklariert COBOL-Programminformationen. →


IDENTIFICATION DIVISION - Deklariert COBOL-Programminformationen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Divisionen Hilfe zum PBXB64-Compiler

IDENTIFICATION DIVISION - Deklariert COBOL-Programminformationen.

Deklariert COBOL-Programminformationen.

Kategorie: COBOL-Divisionen

Syntax

IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE.

Beschreibung

Deklariert COBOL-Programminformationen.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

IDENTIFICATION DIVISION hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← ENVIRONMENT DIVISION - Wird vom aktuellen nativen Frontend akzeptiert und uebersprungen, wenn vorhanden. Nach oben PROCEDURE DIVISION - Startet ausfuehrbare COBOL-Anweisungen. →


PROCEDURE DIVISION - Startet ausfuehrbare COBOL-Anweisungen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Divisionen Hilfe zum PBXB64-Compiler

PROCEDURE DIVISION - Startet ausfuehrbare COBOL-Anweisungen.

Startet ausfuehrbare COBOL-Anweisungen.

Kategorie: COBOL-Divisionen

Syntax

PROCEDURE DIVISION.

Beschreibung

Startet ausfuehrbare COBOL-Anweisungen.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

PROCEDURE DIVISION hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

PROCEDURE DIVISION.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← IDENTIFICATION DIVISION - Deklariert COBOL-Programminformationen. Nach oben SECTION - Akzeptiert SECTION-Header in der PROCEDURE DIVISION als Bereichsmarkierungen. →


SECTION - Akzeptiert SECTION-Header in der PROCEDURE DIVISION als Bereichsmarkierungen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Divisionen Hilfe zum PBXB64-Compiler

SECTION - Akzeptiert SECTION-Header in der PROCEDURE DIVISION als Bereichsmarkierungen.

Akzeptiert SECTION-Header in der PROCEDURE DIVISION als Bereichsmarkierungen.

Kategorie: COBOL-Divisionen

Syntax

MAIN-SECTION SECTION.

Beschreibung

Akzeptiert SECTION-Header in der PROCEDURE DIVISION als Bereichsmarkierungen.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

SECTION hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

MAIN-SECTION SECTION.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


COBOL-Datenbeschreibung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datenbeschreibung Hilfe zum PBXB64-Compiler

COBOL-Datenbeschreibung

Themen in diesem Kapitel

88 Condition Name - Deklariert einen COBOL-Bedingungsnamen, der an ein uebergeordnetes Elementarfeld gebunden ist. EXTERNAL - Exportiert ein unterstuetztes WORKING-STORAGE-Feld mit dem exakt in COBOL geschriebenen Objektsymbol. GLOBAL - Erfasst COBOL-GLOBAL-Sichtbarkeitsmetadaten fuer unterstuetzte WORKING-STORAGE-Felder. OCCURS - Deklariert Arrays fester Groesse mit 1-basierten Subskripten. OF / IN - Qualifiziert einen Datennamen mit seiner enthaltenden Gruppe zur Eindeutigkeit. PIC - Deklariert numerische und String-Speicherung mit 9/X/A/S/V/Z/P und Wiederholungszaehlern. REDEFINES - Aliasiert den Speicher eines Elementarfelds auf ein anderes Elementarfeld. USAGE - Akzeptiert DISPLAY-, BINARY/COMP-, COMP-3/PACKED-DECIMAL-, INDEX-, POINTER-, COMP-1- und COMP-2-Speicherklauseln in der aktuellen skalierten-int64-Absenkung. VALUE - Weist unterstuetzten Datenfeldern Anfangswerte zu.


88 Condition Name - Deklariert einen COBOL-Bedingungsnamen, der an ein uebergeordnetes Elementarfeld gebunden ist. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datenbeschreibung Hilfe zum PBXB64-Compiler

88 Condition Name - Deklariert einen COBOL-Bedingungsnamen, der an ein uebergeordnetes Elementarfeld gebunden ist.

Deklariert einen COBOL-Bedingungsnamen, der an ein uebergeordnetes Elementarfeld gebunden ist.

Kategorie: COBOL-Datenbeschreibung

Syntax

88 IS-OK VALUE 1.

Beschreibung

Deklariert einen COBOL-Bedingungsnamen, der an ein uebergeordnetes Elementarfeld gebunden ist.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

88 Condition Name hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

88 IS-OK VALUE 1.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


EXTERNAL - Exportiert ein unterstuetztes WORKING-STORAGE-Feld mit dem exakt in COBOL geschriebenen Objektsymbol. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datenbeschreibung Hilfe zum PBXB64-Compiler

EXTERNAL - Exportiert ein unterstuetztes WORKING-STORAGE-Feld mit dem exakt in COBOL geschriebenen Objektsymbol.

Exportiert ein unterstuetztes WORKING-STORAGE-Feld mit dem exakt in COBOL geschriebenen Objektsymbol.

Kategorie: COBOL-Datenbeschreibung

Syntax

01 SHARED-COUNT PIC S9(9) VALUE 41 EXTERNAL.

Beschreibung

Exportiert ein unterstuetztes WORKING-STORAGE-Feld mit dem exakt in COBOL geschriebenen Objektsymbol.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

EXTERNAL hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

01 SHARED-COUNT PIC S9(9) VALUE 41 EXTERNAL.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← 88 Condition Name - Deklariert einen COBOL-Bedingungsnamen, der an ein uebergeordnetes Elementarfeld gebunden ist. Nach oben GLOBAL - Erfasst COBOL-GLOBAL-Sichtbarkeitsmetadaten fuer unterstuetzte WORKING-STORAGE-Felder. →


GLOBAL - Erfasst COBOL-GLOBAL-Sichtbarkeitsmetadaten fuer unterstuetzte WORKING-STORAGE-Felder. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datenbeschreibung Hilfe zum PBXB64-Compiler

GLOBAL - Erfasst COBOL-GLOBAL-Sichtbarkeitsmetadaten fuer unterstuetzte WORKING-STORAGE-Felder.

Erfasst COBOL-GLOBAL-Sichtbarkeitsmetadaten fuer unterstuetzte WORKING-STORAGE-Felder.

Kategorie: COBOL-Datenbeschreibung

Syntax

01 SHARED-COUNT PIC S9(9) VALUE 41 GLOBAL.

Beschreibung

Erfasst COBOL-GLOBAL-Sichtbarkeitsmetadaten fuer unterstuetzte WORKING-STORAGE-Felder.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

GLOBAL hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

01 SHARED-COUNT PIC S9(9) VALUE 41 GLOBAL.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← EXTERNAL - Exportiert ein unterstuetztes WORKING-STORAGE-Feld mit dem exakt in COBOL geschriebenen Objektsymbol. Nach oben OCCURS - Deklariert Arrays fester Groesse mit 1-basierten Subskripten. →


OCCURS - Deklariert Arrays fester Groesse mit 1-basierten Subskripten. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datenbeschreibung Hilfe zum PBXB64-Compiler

OCCURS - Deklariert Arrays fester Groesse mit 1-basierten Subskripten.

Deklariert Arrays fester Groesse mit 1-basierten Subskripten.

Kategorie: COBOL-Datenbeschreibung

Syntax

01 WS-LIST PIC 9(3) OCCURS 5 TIMES.

Beschreibung

Deklariert Arrays fester Groesse mit 1-basierten Subskripten.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

OCCURS hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Feste Tabellen, variable Tabellen mit OCCURS DEPENDING ON und implizite INDEXED BY-Indizes werden unterstuetzt. Subskripte sind 1-basiert. SEARCH akzeptiert sowohl den Tabellennamen als auch den umgebenden Gruppennamen, wenn die Gruppe genau ein OCCURS-Kind enthaelt.

Getestetes Beispiel

01 WS-CURR      PIC 9 VALUE 3.
01 WS-VAR-TBL.
    05 WS-VAR-ITEM PIC X(2) OCCURS 1 TO 5 TIMES
                                DEPENDING ON WS-CURR
                                INDEXED BY WS-IX.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← GLOBAL - Erfasst COBOL-GLOBAL-Sichtbarkeitsmetadaten fuer unterstuetzte WORKING-STORAGE-Felder. Nach oben OF / IN - Qualifiziert einen Datennamen mit seiner enthaltenden Gruppe zur Eindeutigkeit. →


OF / IN - Qualifiziert einen Datennamen mit seiner enthaltenden Gruppe zur Eindeutigkeit. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datenbeschreibung Hilfe zum PBXB64-Compiler

OF / IN - Qualifiziert einen Datennamen mit seiner enthaltenden Gruppe zur Eindeutigkeit.

Qualifiziert einen Datennamen mit seiner enthaltenden Gruppe zur Eindeutigkeit.

Kategorie: COBOL-Datenbeschreibung

Syntax

MOVE FLD-X OF REC-A TO WS-OUT.

Beschreibung

Qualifiziert einen Datennamen mit seiner enthaltenden Gruppe zur Eindeutigkeit.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

OF / IN hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

MOVE FLD-X OF REC-A TO WS-OUT.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← OCCURS - Deklariert Arrays fester Groesse mit 1-basierten Subskripten. Nach oben PIC - Deklariert numerische und String-Speicherung mit 9/X/A/S/V/Z/P und Wiederholungszaehlern. →


PIC - Deklariert numerische und String-Speicherung mit 9/X/A/S/V/Z/P und Wiederholungszaehlern. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datenbeschreibung Hilfe zum PBXB64-Compiler

PIC - Deklariert numerische und String-Speicherung mit 9/X/A/S/V/Z/P und Wiederholungszaehlern.

Deklariert numerische und String-Speicherung mit 9/X/A/S/V/Z/P und Wiederholungszaehlern.

Kategorie: COBOL-Datenbeschreibung

Syntax

01 WS-AMOUNT PIC 9(6)V99 VALUE 0.

Beschreibung

Deklariert numerische und String-Speicherung mit 9/X/A/S/V/Z/P und Wiederholungszaehlern.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

PIC hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

01 WS-AMOUNT PIC 9(6)V99 VALUE 0.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← OF / IN - Qualifiziert einen Datennamen mit seiner enthaltenden Gruppe zur Eindeutigkeit. Nach oben REDEFINES - Aliasiert den Speicher eines Elementarfelds auf ein anderes Elementarfeld. →


REDEFINES - Aliasiert den Speicher eines Elementarfelds auf ein anderes Elementarfeld. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datenbeschreibung Hilfe zum PBXB64-Compiler

REDEFINES - Aliasiert den Speicher eines Elementarfelds auf ein anderes Elementarfeld.

Aliasiert den Speicher eines Elementarfelds auf ein anderes Elementarfeld.

Kategorie: COBOL-Datenbeschreibung

Syntax

01 WS-B REDEFINES WS-A PIC 9(4).

Beschreibung

Aliasiert den Speicher eines Elementarfelds auf ein anderes Elementarfeld.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

REDEFINES hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

01 WS-B REDEFINES WS-A PIC 9(4).

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← PIC - Deklariert numerische und String-Speicherung mit 9/X/A/S/V/Z/P und Wiederholungszaehlern. Nach oben USAGE - Akzeptiert DISPLAY-, BINARY/COMP-, COMP-3/PACKED-DECIMAL-, INDEX-, POINTER-, COMP-1- und COMP-2-Speicherklauseln in der aktuellen skalierten-int64-Absenkung. →


USAGE - Akzeptiert DISPLAY-, BINARY/COMP-, COMP-3/PACKED-DECIMAL-, INDEX-, POINTER-, COMP-1- und COMP-2-Speicherklauseln in der aktuellen skalierten-int64-Absenkung. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datenbeschreibung Hilfe zum PBXB64-Compiler

USAGE - Akzeptiert DISPLAY-, BINARY/COMP-, COMP-3/PACKED-DECIMAL-, INDEX-, POINTER-, COMP-1- und COMP-2-Speicherklauseln in der aktuellen skalierten-int64-Absenkung.

Akzeptiert DISPLAY-, BINARY/COMP-, COMP-3/PACKED-DECIMAL-, INDEX-, POINTER-, COMP-1- und COMP-2-Speicherklauseln in der aktuellen skalierten-int64-Absenkung.

Kategorie: COBOL-Datenbeschreibung

Syntax

01 WS-A PIC 9(5) USAGE COMP VALUE 100.

Beschreibung

Akzeptiert DISPLAY-, BINARY/COMP-, COMP-3/PACKED-DECIMAL-, INDEX-, POINTER-, COMP-1- und COMP-2-Speicherklauseln in der aktuellen skalierten-int64-Absenkung.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

USAGE hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

01 WS-A PIC 9(5) USAGE COMP VALUE 100.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← REDEFINES - Aliasiert den Speicher eines Elementarfelds auf ein anderes Elementarfeld. Nach oben VALUE - Weist unterstuetzten Datenfeldern Anfangswerte zu. →


VALUE - Weist unterstuetzten Datenfeldern Anfangswerte zu. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datenbeschreibung Hilfe zum PBXB64-Compiler

VALUE - Weist unterstuetzten Datenfeldern Anfangswerte zu.

Weist unterstuetzten Datenfeldern Anfangswerte zu.

Kategorie: COBOL-Datenbeschreibung

Syntax

01 WS-COUNT PIC 9(3) VALUE 5.

Beschreibung

Weist unterstuetzten Datenfeldern Anfangswerte zu.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

VALUE hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

01 WS-COUNT PIC 9(3) VALUE 5.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← USAGE - Akzeptiert DISPLAY-, BINARY/COMP-, COMP-3/PACKED-DECIMAL-, INDEX-, POINTER-, COMP-1- und COMP-2-Speicherklauseln in der aktuellen skalierten-int64-Absenkung. Nach oben


COBOL-Arithmetik & Datenbewegung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Arithmetik & Datenbewegung Hilfe zum PBXB64-Compiler

COBOL-Arithmetik & Datenbewegung

Themen in diesem Kapitel

ADD - Addiert Werte mit unterstuetzter TO- und GIVING-Arithmetikabsenkung. COMPUTE - Weist arithmetische Ausdruecke mit Vorrang, Klammern, unaeren Vorzeichen und Array-Zielen zu. DIVIDE - Dividiert Festkommawerte mit erhaltener Nachkommenskala in getesteten Faellen. INITIALIZE - Fuellt numerische Ziele mit null und alphanumerische Ziele mit Leerzeichen. MOVE - Verschiebt numerische und String-Werte mit getesteter PIC-Kuerzung und Vorzeichenbehandlung. MOVE CORRESPONDING - Verschiebt gleichnamige Elementarfelder zwischen zwei Gruppen. MULTIPLY - Multipliziert Festkommawerte und unterstuetzt ROUNDED auf getesteten Zielen. ROUNDED - Wendet Half-away-from-zero-Rundung fuer unterstuetzte arithmetische Ziele an. SET - Setzt unterstuetzte 88-Level-Bedingungsnamen auf TRUE, indem der aufgezeichnete Elternwert gespeichert wird. SUBTRACT - Subtrahiert Werte mit unterstuetzten FROM- und GIVING-Formen.


ADD - Addiert Werte mit unterstuetzter TO- und GIVING-Arithmetikabsenkung. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Arithmetik & Datenbewegung Hilfe zum PBXB64-Compiler

ADD - Addiert Werte mit unterstuetzter TO- und GIVING-Arithmetikabsenkung.

Addiert Werte mit unterstuetzter TO- und GIVING-Arithmetikabsenkung.

Kategorie: COBOL-Arithmetik & Datenbewegung

Syntax

ADD WS-A TO WS-B.

Beschreibung

Addiert Werte mit unterstuetzter TO- und GIVING-Arithmetikabsenkung.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

ADD hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

ADD WS-A TO WS-B.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


COMPUTE - Weist arithmetische Ausdruecke mit Vorrang, Klammern, unaeren Vorzeichen und Array-Zielen zu. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Arithmetik & Datenbewegung Hilfe zum PBXB64-Compiler

COMPUTE - Weist arithmetische Ausdruecke mit Vorrang, Klammern, unaeren Vorzeichen und Array-Zielen zu.

Weist arithmetische Ausdruecke mit Vorrang, Klammern, unaeren Vorzeichen und Array-Zielen zu.

Kategorie: COBOL-Arithmetik & Datenbewegung

Syntax

COMPUTE WS-A = (2.00 + 3.00) * 4.00.

Beschreibung

Weist arithmetische Ausdruecke mit Vorrang, Klammern, unaeren Vorzeichen und Array-Zielen zu.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

COMPUTE hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Teilausdruecke werden mit ihrer natuerlichen Nachkommaskala ausgewertet und erst zum Schluss auf die Skala des Empfaengers zurueckskaliert. Dadurch bleibt die Genauigkeit in gemischt-skalierten Ausdruecken erhalten, bei denen Operanden unterschiedliche PIC-Skalen haben. ROUNDED sowie ON SIZE ERROR / NOT ON SIZE ERROR werden unterstuetzt.

Getestetes Beispiel

01  WS-A    PIC 9(4)      VALUE 100.
01  WS-B    PIC 9(2)V99   VALUE 0.25.
01  WS-C    PIC 9(4)V99.
...
    COMPUTE WS-C = (WS-A * WS-B) + 50.
    COMPUTE WS-C ROUNDED = WS-A / 3.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Zurueck zum Befehlsindex

← ADD - Addiert Werte mit unterstuetzter TO- und GIVING-Arithmetikabsenkung. Nach oben DIVIDE - Dividiert Festkommawerte mit erhaltener Nachkommenskala in getesteten Faellen. →


DIVIDE - Dividiert Festkommawerte mit erhaltener Nachkommenskala in getesteten Faellen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Arithmetik & Datenbewegung Hilfe zum PBXB64-Compiler

DIVIDE - Dividiert Festkommawerte mit erhaltener Nachkommenskala in getesteten Faellen.

Dividiert Festkommawerte mit erhaltener Nachkommenskala in getesteten Faellen.

Kategorie: COBOL-Arithmetik & Datenbewegung

Syntax

DIVIDE WS-B BY WS-D GIVING WS-E.

Beschreibung

Dividiert Festkommawerte mit erhaltener Nachkommenskala in getesteten Faellen.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

DIVIDE hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

DIVIDE ... REMAINDER wird fuer schmale und breite numerische Empfaenger unterstuetzt, mit optional ROUNDED auf dem Quotienten und ON SIZE ERROR-Pruefung. Der Rest wird in der gemeinsamen Skala von Dividend und Divisor gespeichert.

Getestetes Beispiel

DIVIDE WS-A BY WS-B GIVING WS-Q REMAINDER WS-R.
DIVIDE WS-A BY WS-B GIVING WS-Q REMAINDER WS-R ROUNDED.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← COMPUTE - Weist arithmetische Ausdruecke mit Vorrang, Klammern, unaeren Vorzeichen und Array-Zielen zu. Nach oben INITIALIZE - Fuellt numerische Ziele mit null und alphanumerische Ziele mit Leerzeichen. →


INITIALIZE - Fuellt numerische Ziele mit null und alphanumerische Ziele mit Leerzeichen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Arithmetik & Datenbewegung Hilfe zum PBXB64-Compiler

INITIALIZE - Fuellt numerische Ziele mit null und alphanumerische Ziele mit Leerzeichen.

Fuellt numerische Ziele mit null und alphanumerische Ziele mit Leerzeichen.

Kategorie: COBOL-Arithmetik & Datenbewegung

Syntax

INITIALIZE WS-NUM WS-TXT.

Beschreibung

Fuellt numerische Ziele mit null und alphanumerische Ziele mit Leerzeichen.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

INITIALIZE hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

INITIALIZE WS-NUM WS-TXT.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← DIVIDE - Dividiert Festkommawerte mit erhaltener Nachkommenskala in getesteten Faellen. Nach oben MOVE - Verschiebt numerische und String-Werte mit getesteter PIC-Kuerzung und Vorzeichenbehandlung. →


MOVE - Verschiebt numerische und String-Werte mit getesteter PIC-Kuerzung und Vorzeichenbehandlung. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Arithmetik & Datenbewegung Hilfe zum PBXB64-Compiler

MOVE - Verschiebt numerische und String-Werte mit getesteter PIC-Kuerzung und Vorzeichenbehandlung.

Verschiebt numerische und String-Werte mit getesteter PIC-Kuerzung und Vorzeichenbehandlung.

Kategorie: COBOL-Arithmetik & Datenbewegung

Syntax

MOVE 1234 TO WS-SMALL.

Beschreibung

Verschiebt numerische und String-Werte mit getesteter PIC-Kuerzung und Vorzeichenbehandlung.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

MOVE hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

MOVE 1234 TO WS-SMALL.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← INITIALIZE - Fuellt numerische Ziele mit null und alphanumerische Ziele mit Leerzeichen. Nach oben MOVE CORRESPONDING - Verschiebt gleichnamige Elementarfelder zwischen zwei Gruppen. →


MOVE CORRESPONDING - Verschiebt gleichnamige Elementarfelder zwischen zwei Gruppen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Arithmetik & Datenbewegung Hilfe zum PBXB64-Compiler

MOVE CORRESPONDING - Verschiebt gleichnamige Elementarfelder zwischen zwei Gruppen.

Verschiebt gleichnamige Elementarfelder zwischen zwei Gruppen.

Kategorie: COBOL-Arithmetik & Datenbewegung

Syntax

MOVE CORRESPONDING REC-A TO REC-B.

Beschreibung

Verschiebt gleichnamige Elementarfelder zwischen zwei Gruppen.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

MOVE CORRESPONDING hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

MOVE CORRESPONDING REC-A TO REC-B.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← MOVE - Verschiebt numerische und String-Werte mit getesteter PIC-Kuerzung und Vorzeichenbehandlung. Nach oben MULTIPLY - Multipliziert Festkommawerte und unterstuetzt ROUNDED auf getesteten Zielen. →


MULTIPLY - Multipliziert Festkommawerte und unterstuetzt ROUNDED auf getesteten Zielen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Arithmetik & Datenbewegung Hilfe zum PBXB64-Compiler

MULTIPLY - Multipliziert Festkommawerte und unterstuetzt ROUNDED auf getesteten Zielen.

Multipliziert Festkommawerte und unterstuetzt ROUNDED auf getesteten Zielen.

Kategorie: COBOL-Arithmetik & Datenbewegung

Syntax

MULTIPLY 1.005 BY WS-R ROUNDED.

Beschreibung

Multipliziert Festkommawerte und unterstuetzt ROUNDED auf getesteten Zielen.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

MULTIPLY hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

MULTIPLY 1.005 BY WS-R ROUNDED.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← MOVE CORRESPONDING - Verschiebt gleichnamige Elementarfelder zwischen zwei Gruppen. Nach oben ROUNDED - Wendet Half-away-from-zero-Rundung fuer unterstuetzte arithmetische Ziele an. →


ROUNDED - Wendet Half-away-from-zero-Rundung fuer unterstuetzte arithmetische Ziele an. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Arithmetik & Datenbewegung Hilfe zum PBXB64-Compiler

ROUNDED - Wendet Half-away-from-zero-Rundung fuer unterstuetzte arithmetische Ziele an.

Wendet Half-away-from-zero-Rundung fuer unterstuetzte arithmetische Ziele an.

Kategorie: COBOL-Arithmetik & Datenbewegung

Syntax

MULTIPLY 1.005 BY WS-R ROUNDED.

Beschreibung

Wendet Half-away-from-zero-Rundung fuer unterstuetzte arithmetische Ziele an.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

ROUNDED hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

MULTIPLY 1.005 BY WS-R ROUNDED.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← MULTIPLY - Multipliziert Festkommawerte und unterstuetzt ROUNDED auf getesteten Zielen. Nach oben SET - Setzt unterstuetzte 88-Level-Bedingungsnamen auf TRUE, indem der aufgezeichnete Elternwert gespeichert wird. →


SET - Setzt unterstuetzte 88-Level-Bedingungsnamen auf TRUE, indem der aufgezeichnete Elternwert gespeichert wird. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Arithmetik & Datenbewegung Hilfe zum PBXB64-Compiler

SET - Setzt unterstuetzte 88-Level-Bedingungsnamen auf TRUE, indem der aufgezeichnete Elternwert gespeichert wird.

Setzt unterstuetzte 88-Level-Bedingungsnamen auf TRUE, indem der aufgezeichnete Elternwert gespeichert wird.

Kategorie: COBOL-Arithmetik & Datenbewegung

Syntax

SET IS-OK TO TRUE.

Beschreibung

Setzt unterstuetzte 88-Level-Bedingungsnamen auf TRUE, indem der aufgezeichnete Elternwert gespeichert wird.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

SET hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

SET IS-OK TO TRUE.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← ROUNDED - Wendet Half-away-from-zero-Rundung fuer unterstuetzte arithmetische Ziele an. Nach oben SUBTRACT - Subtrahiert Werte mit unterstuetzten FROM- und GIVING-Formen. →


SUBTRACT - Subtrahiert Werte mit unterstuetzten FROM- und GIVING-Formen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Arithmetik & Datenbewegung Hilfe zum PBXB64-Compiler

SUBTRACT - Subtrahiert Werte mit unterstuetzten FROM- und GIVING-Formen.

Subtrahiert Werte mit unterstuetzten FROM- und GIVING-Formen.

Kategorie: COBOL-Arithmetik & Datenbewegung

Syntax

SUBTRACT 1.50 FROM WS-A.

Beschreibung

Subtrahiert Werte mit unterstuetzten FROM- und GIVING-Formen.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

SUBTRACT hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

SUBTRACT 1.50 FROM WS-A.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


COBOL-Kontrollfluss - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

COBOL-Kontrollfluss

Themen in diesem Kapitel

AND - Verknuepft getestete COBOL-Bedingungen konjunktiv. AT END - Fuehrt einen Rueckfallzweig fuer READ-Dateiende oder SEARCH-ohne-Treffer aus. CONTINUE - Erzeugt eine explizite No-Operation-Anweisung. DEPENDING ON - Waehlt mit einem numerischen Selektor ein GO-TO-Ziel aus einer Liste. ELSE - Startet den Alternativzweig einer getesteten IF-Anweisung. END-EVALUATE - Schliesst eine EVALUATE-Mehrfachverzweigung. END-IF - Schliesst einen IF- oder IF/ELSE-Block. END-SEARCH - Schliesst eine SEARCH-Anweisung. EVALUATE - Waehlt einen WHEN-Zweig durch Vergleich eines Subjektwerts; WHEN OTHER ist der Rueckfallzweig. EXIT PERFORM - Bricht die naechstgelegene inline PERFORM-Schleife ab. GO TO - Uebergibt die Kontrolle an ein Paragraph-Label in der aktuellen nativen Teilmenge. GOBACK - Kehrt aus dem aktuellen COBOL-Programm oder Hilfsprogramm zurueck. IF - Startet bedingte Ausfuehrung mit getesteten Vergleichs- und Booleschen Bedingungen. NOT - Negiert eine getestete COBOL-Bedingung. NOT AT END - Fuehrt den erfolgreichen READ-Zweig aus, wenn ein Datensatz gelesen wurde. OR - Verknuepft getestete COBOL-Bedingungen alternativ. PERFORM - Fuehrt Paragraph-Aufrufe, THRU-Bereiche, UNTIL, VARYING und n-TIMES-Schleifen in der getesteten Teilmenge aus. SEARCH - Fuehrt eine lineare Suche ueber eine feste OCCURS-Tabelle mit VARYING, AT END, WHEN und END-SEARCH aus. STOP RUN - Beendet das COBOL-Programm. WHEN - Leitet einen EVALUATE-Zweig oder eine SEARCH-Trefferbedingung im unterstuetzten COBOL-Frontend ein. WHEN OTHER - Definiert den Rueckfallzweig fuer EVALUATE, wenn kein vorheriger WHEN-Wert passt.


AND - Verknuepft getestete COBOL-Bedingungen konjunktiv. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

AND - Verknuepft getestete COBOL-Bedingungen konjunktiv.

Verknuepft getestete COBOL-Bedingungen konjunktiv.

Kategorie: COBOL-Kontrollfluss

Syntax

IF WS-A > 0 AND WS-B > 0

Beschreibung

Verknuepft getestete COBOL-Bedingungen konjunktiv.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

AND hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

IF WS-A > 0 AND WS-B > 0

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


AT END - Fuehrt einen Rueckfallzweig fuer READ-Dateiende oder SEARCH-ohne-Treffer aus. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

AT END - Fuehrt einen Rueckfallzweig fuer READ-Dateiende oder SEARCH-ohne-Treffer aus.

Fuehrt einen Rueckfallzweig fuer READ-Dateiende oder SEARCH-ohne-Treffer aus.

Kategorie: COBOL-Kontrollfluss

Syntax

AT END MOVE 999 TO OUT-VAL

Beschreibung

Fuehrt einen Rueckfallzweig fuer READ-Dateiende oder SEARCH-ohne-Treffer aus.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

AT END hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

AT END MOVE 999 TO OUT-VAL

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


CONTINUE - Erzeugt eine explizite No-Operation-Anweisung. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

CONTINUE - Erzeugt eine explizite No-Operation-Anweisung.

Erzeugt eine explizite No-Operation-Anweisung.

Kategorie: COBOL-Kontrollfluss

Syntax

CONTINUE.

Beschreibung

Erzeugt eine explizite No-Operation-Anweisung.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

CONTINUE hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

CONTINUE.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← AT END - Fuehrt einen Rueckfallzweig fuer READ-Dateiende oder SEARCH-ohne-Treffer aus. Nach oben DEPENDING ON - Waehlt mit einem numerischen Selektor ein GO-TO-Ziel aus einer Liste. →


DEPENDING ON - Waehlt mit einem numerischen Selektor ein GO-TO-Ziel aus einer Liste. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

DEPENDING ON - Waehlt mit einem numerischen Selektor ein GO-TO-Ziel aus einer Liste.

Waehlt mit einem numerischen Selektor ein GO-TO-Ziel aus einer Liste.

Kategorie: COBOL-Kontrollfluss

Syntax

GO TO P1, P2, P3 DEPENDING ON IDX.

Beschreibung

Waehlt mit einem numerischen Selektor ein GO-TO-Ziel aus einer Liste.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

DEPENDING ON hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

GO TO P1, P2, P3 DEPENDING ON IDX.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


ELSE - Startet den Alternativzweig einer getesteten IF-Anweisung. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

ELSE - Startet den Alternativzweig einer getesteten IF-Anweisung.

Startet den Alternativzweig einer getesteten IF-Anweisung.

Kategorie: COBOL-Kontrollfluss

Syntax

ELSE

Beschreibung

Startet den Alternativzweig einer getesteten IF-Anweisung.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

ELSE hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

ELSE

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← DEPENDING ON - Waehlt mit einem numerischen Selektor ein GO-TO-Ziel aus einer Liste. Nach oben END-EVALUATE - Schliesst eine EVALUATE-Mehrfachverzweigung. →


END-EVALUATE - Schliesst eine EVALUATE-Mehrfachverzweigung. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

END-EVALUATE - Schliesst eine EVALUATE-Mehrfachverzweigung.

Schliesst eine EVALUATE-Mehrfachverzweigung.

Kategorie: COBOL-Kontrollfluss

Syntax

END-EVALUATE.

Beschreibung

Schliesst eine EVALUATE-Mehrfachverzweigung.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

END-EVALUATE hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

END-EVALUATE.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


END-IF - Schliesst einen IF- oder IF/ELSE-Block. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

END-IF - Schliesst einen IF- oder IF/ELSE-Block.

Schliesst einen IF- oder IF/ELSE-Block.

Kategorie: COBOL-Kontrollfluss

Syntax

END-IF.

Beschreibung

Schliesst einen IF- oder IF/ELSE-Block.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

END-IF hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

END-IF.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


END-SEARCH - Schliesst eine SEARCH-Anweisung. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

END-SEARCH - Schliesst eine SEARCH-Anweisung.

Schliesst eine SEARCH-Anweisung.

Kategorie: COBOL-Kontrollfluss

Syntax

END-SEARCH

Beschreibung

Schliesst eine SEARCH-Anweisung.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

END-SEARCH hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

END-SEARCH

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← END-IF - Schliesst einen IF- oder IF/ELSE-Block. Nach oben EVALUATE - Waehlt einen WHEN-Zweig durch Vergleich eines Subjektwerts; WHEN OTHER ist der Rueckfallzweig. →


EVALUATE - Waehlt einen WHEN-Zweig durch Vergleich eines Subjektwerts; WHEN OTHER ist der Rueckfallzweig. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

EVALUATE - Waehlt einen WHEN-Zweig durch Vergleich eines Subjektwerts; WHEN OTHER ist der Rueckfallzweig.

Waehlt einen WHEN-Zweig durch Vergleich eines Subjektwerts; WHEN OTHER ist der Rueckfallzweig.

Kategorie: COBOL-Kontrollfluss

Syntax

EVALUATE WS-DAY
    WHEN 1 DISPLAY "MONDAY"
    WHEN OTHER DISPLAY "OTHER"
END-EVALUATE.

Beschreibung

Waehlt einen WHEN-Zweig durch Vergleich eines Subjektwerts; WHEN OTHER ist der Rueckfallzweig.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

EVALUATE hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

EVALUATE WS-DAY
    WHEN 1 DISPLAY "MONDAY"
    WHEN OTHER DISPLAY "OTHER"
END-EVALUATE.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


EXIT PERFORM - Bricht die naechstgelegene inline PERFORM-Schleife ab. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

EXIT PERFORM - Bricht die naechstgelegene inline PERFORM-Schleife ab.

Bricht die naechstgelegene inline PERFORM-Schleife ab.

Kategorie: COBOL-Kontrollfluss

Syntax

EXIT PERFORM

Beschreibung

Bricht die naechstgelegene inline PERFORM-Schleife ab.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

EXIT PERFORM hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

EXIT PERFORM

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← EVALUATE - Waehlt einen WHEN-Zweig durch Vergleich eines Subjektwerts; WHEN OTHER ist der Rueckfallzweig. Nach oben GO TO - Uebergibt die Kontrolle an ein Paragraph-Label in der aktuellen nativen Teilmenge. →


GO TO - Uebergibt die Kontrolle an ein Paragraph-Label in der aktuellen nativen Teilmenge. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

GO TO - Uebergibt die Kontrolle an ein Paragraph-Label in der aktuellen nativen Teilmenge.

Uebergibt die Kontrolle an ein Paragraph-Label in der aktuellen nativen Teilmenge.

Kategorie: COBOL-Kontrollfluss

Syntax

GO TO DONE.

Beschreibung

Uebergibt die Kontrolle an ein Paragraph-Label in der aktuellen nativen Teilmenge.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

GO TO hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

GO TO DONE.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← EXIT PERFORM - Bricht die naechstgelegene inline PERFORM-Schleife ab. Nach oben GOBACK - Kehrt aus dem aktuellen COBOL-Programm oder Hilfsprogramm zurueck. →


GOBACK - Kehrt aus dem aktuellen COBOL-Programm oder Hilfsprogramm zurueck. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

GOBACK - Kehrt aus dem aktuellen COBOL-Programm oder Hilfsprogramm zurueck.

Kehrt aus dem aktuellen COBOL-Programm oder Hilfsprogramm zurueck.

Kategorie: COBOL-Kontrollfluss

Syntax

GOBACK.

Beschreibung

Kehrt aus dem aktuellen COBOL-Programm oder Hilfsprogramm zurueck.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

GOBACK hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

GOBACK.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← GO TO - Uebergibt die Kontrolle an ein Paragraph-Label in der aktuellen nativen Teilmenge. Nach oben IF - Startet bedingte Ausfuehrung mit getesteten Vergleichs- und Booleschen Bedingungen. →


IF - Startet bedingte Ausfuehrung mit getesteten Vergleichs- und Booleschen Bedingungen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

IF - Startet bedingte Ausfuehrung mit getesteten Vergleichs- und Booleschen Bedingungen.

Startet bedingte Ausfuehrung mit getesteten Vergleichs- und Booleschen Bedingungen.

Kategorie: COBOL-Kontrollfluss

Syntax

IF WS-AVG > 30000.00

Beschreibung

Startet bedingte Ausfuehrung mit getesteten Vergleichs- und Booleschen Bedingungen.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

IF hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

IF WS-AVG > 30000.00

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


NOT - Negiert eine getestete COBOL-Bedingung. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

NOT - Negiert eine getestete COBOL-Bedingung.

Negiert eine getestete COBOL-Bedingung.

Kategorie: COBOL-Kontrollfluss

Syntax

IF NOT WS-A = 0

Beschreibung

Negiert eine getestete COBOL-Bedingung.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

NOT hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

IF NOT WS-A = 0

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← IF - Startet bedingte Ausfuehrung mit getesteten Vergleichs- und Booleschen Bedingungen. Nach oben NOT AT END - Fuehrt den erfolgreichen READ-Zweig aus, wenn ein Datensatz gelesen wurde. →


NOT AT END - Fuehrt den erfolgreichen READ-Zweig aus, wenn ein Datensatz gelesen wurde. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

NOT AT END - Fuehrt den erfolgreichen READ-Zweig aus, wenn ein Datensatz gelesen wurde.

Fuehrt den erfolgreichen READ-Zweig aus, wenn ein Datensatz gelesen wurde.

Kategorie: COBOL-Kontrollfluss

Syntax

NOT AT END MOVE 1 TO WS-GOTDATA

Beschreibung

Fuehrt den erfolgreichen READ-Zweig aus, wenn ein Datensatz gelesen wurde.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

NOT AT END hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

NOT AT END MOVE 1 TO WS-GOTDATA

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


OR - Verknuepft getestete COBOL-Bedingungen alternativ. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

OR - Verknuepft getestete COBOL-Bedingungen alternativ.

Verknuepft getestete COBOL-Bedingungen alternativ.

Kategorie: COBOL-Kontrollfluss

Syntax

IF WS-A = 1 OR WS-B = 1

Beschreibung

Verknuepft getestete COBOL-Bedingungen alternativ.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

OR hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

IF WS-A = 1 OR WS-B = 1

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← NOT AT END - Fuehrt den erfolgreichen READ-Zweig aus, wenn ein Datensatz gelesen wurde. Nach oben PERFORM - Fuehrt Paragraph-Aufrufe, THRU-Bereiche, UNTIL, VARYING und n-TIMES-Schleifen in der getesteten Teilmenge aus. →


PERFORM - Fuehrt Paragraph-Aufrufe, THRU-Bereiche, UNTIL, VARYING und n-TIMES-Schleifen in der getesteten Teilmenge aus. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

PERFORM - Fuehrt Paragraph-Aufrufe, THRU-Bereiche, UNTIL, VARYING und n-TIMES-Schleifen in der getesteten Teilmenge aus.

Fuehrt Paragraph-Aufrufe, THRU-Bereiche, UNTIL, VARYING und n-TIMES-Schleifen in der getesteten Teilmenge aus.

Kategorie: COBOL-Kontrollfluss

Syntax

PERFORM FILL VARYING WS-I FROM 1 BY 1 UNTIL WS-I > 5.

Beschreibung

Fuehrt Paragraph-Aufrufe, THRU-Bereiche, UNTIL, VARYING und n-TIMES-Schleifen in der getesteten Teilmenge aus.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

PERFORM hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

PERFORM FILL VARYING WS-I FROM 1 BY 1 UNTIL WS-I > 5.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← OR - Verknuepft getestete COBOL-Bedingungen alternativ. Nach oben SEARCH - Fuehrt eine lineare Suche ueber eine feste OCCURS-Tabelle mit VARYING, AT END, WHEN und END-SEARCH aus. →


SEARCH - Fuehrt eine lineare Suche ueber eine feste OCCURS-Tabelle mit VARYING, AT END, WHEN und END-SEARCH aus. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

SEARCH - Fuehrt eine lineare Suche ueber eine feste OCCURS-Tabelle mit VARYING, AT END, WHEN und END-SEARCH aus.

Fuehrt eine lineare Suche ueber eine feste OCCURS-Tabelle mit VARYING, AT END, WHEN und END-SEARCH aus.

Kategorie: COBOL-Kontrollfluss

Syntax

SEARCH TBL VARYING IDX
    AT END MOVE 999 TO OUT-VAL
    WHEN TBL(IDX) = 450 MOVE TBL(IDX) TO OUT-VAL
END-SEARCH.

Beschreibung

Fuehrt eine lineare Suche ueber eine feste OCCURS-Tabelle mit VARYING, AT END, WHEN und END-SEARCH aus.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

SEARCH fuehrt eine lineare Suche ueber eine feste OCCURS-Tabelle aus. Als Tabellenname ist sowohl das OCCURS-Element selbst zulaessig als auch die umgebende Gruppe, sofern diese genau ein OCCURS-Kind enthaelt. Wird VARYING weggelassen, wird der erste INDEXED BY-Index der Tabelle verwendet. AT END wird nur ausgefuehrt, wenn keine WHEN-Bedingung zutrifft.

Getestetes Beispiel

01  TBL.
    05 ITEM PIC X(2) OCCURS 5 TIMES INDEXED BY IX.
...
    SEARCH TBL
        AT END DISPLAY "NOT FOUND"
        WHEN ITEM(IX) = "BB" DISPLAY "FOUND"
    END-SEARCH.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← PERFORM - Fuehrt Paragraph-Aufrufe, THRU-Bereiche, UNTIL, VARYING und n-TIMES-Schleifen in der getesteten Teilmenge aus. Nach oben STOP RUN - Beendet das COBOL-Programm. →


STOP RUN - Beendet das COBOL-Programm. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

STOP RUN - Beendet das COBOL-Programm.

Beendet das COBOL-Programm.

Kategorie: COBOL-Kontrollfluss

Syntax

STOP RUN.

Beschreibung

Beendet das COBOL-Programm.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

STOP RUN hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

STOP RUN.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← SEARCH - Fuehrt eine lineare Suche ueber eine feste OCCURS-Tabelle mit VARYING, AT END, WHEN und END-SEARCH aus. Nach oben WHEN - Leitet einen EVALUATE-Zweig oder eine SEARCH-Trefferbedingung im unterstuetzten COBOL-Frontend ein. →


WHEN - Leitet einen EVALUATE-Zweig oder eine SEARCH-Trefferbedingung im unterstuetzten COBOL-Frontend ein. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

WHEN - Leitet einen EVALUATE-Zweig oder eine SEARCH-Trefferbedingung im unterstuetzten COBOL-Frontend ein.

Leitet einen EVALUATE-Zweig oder eine SEARCH-Trefferbedingung im unterstuetzten COBOL-Frontend ein.

Kategorie: COBOL-Kontrollfluss

Syntax

WHEN 3 DISPLAY "WEDNESDAY"

Beschreibung

Leitet einen EVALUATE-Zweig oder eine SEARCH-Trefferbedingung im unterstuetzten COBOL-Frontend ein.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

WHEN hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

WHEN 3 DISPLAY "WEDNESDAY"

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


WHEN OTHER - Definiert den Rueckfallzweig fuer EVALUATE, wenn kein vorheriger WHEN-Wert passt. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Kontrollfluss Hilfe zum PBXB64-Compiler

WHEN OTHER - Definiert den Rueckfallzweig fuer EVALUATE, wenn kein vorheriger WHEN-Wert passt.

Definiert den Rueckfallzweig fuer EVALUATE, wenn kein vorheriger WHEN-Wert passt.

Kategorie: COBOL-Kontrollfluss

Syntax

WHEN OTHER DISPLAY "WEEKEND"

Beschreibung

Definiert den Rueckfallzweig fuer EVALUATE, wenn kein vorheriger WHEN-Wert passt.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

WHEN OTHER hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

WHEN OTHER DISPLAY "WEEKEND"

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


COBOL-Konsole & Zeichenketten - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Konsole & Zeichenketten Hilfe zum PBXB64-Compiler

COBOL-Konsole & Zeichenketten

Themen in diesem Kapitel

ACCEPT - Liest Eingabe oder ausgewaehlte FROM-Quellen in Datenfelder. CONVERTING - Bildet Zeichen oder Mehrbyte-Token in einer INSPECT-Anweisung um. DELIMITED BY - Steuert, wie STRING Quelltext kopiert: vollstaendig per SIZE oder bis zu einem Literalbegrenzer. DISPLAY - Schreibt Literale und Datenfelder auf die Konsolenausgabe. INSPECT - Zaehlt, ersetzt und konvertiert Zeichenketten ueber getestete Einbyte- und Mehrbyte-Helferpfade. REPLACING - Ersetzt passende Zeichen- oder Stringoperanden in einer INSPECT-Anweisung. STRING - Verkettet Quellfelder oder Literale in ein Ziel mit DELIMITED BY SIZE oder einem getesteten Literalbegrenzer. TALLYING - Zaehlt Zeichen oder Vorkommen in einer INSPECT-Anweisung. UNSTRING - Teilt ein Quellfeld ueber den implementierten Begrenzerpfad in Zielfelder auf. WITH POINTER - Verwendet ein COBOL-Zeiger-/Zaehlerfeld als aktuelle STRING-Zielposition, wenn vorhanden.


ACCEPT - Liest Eingabe oder ausgewaehlte FROM-Quellen in Datenfelder. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Konsole & Zeichenketten Hilfe zum PBXB64-Compiler

ACCEPT - Liest Eingabe oder ausgewaehlte FROM-Quellen in Datenfelder.

Liest Eingabe oder ausgewaehlte FROM-Quellen in Datenfelder.

Kategorie: COBOL-Konsole & Zeichenketten

Syntax

ACCEPT WS-NAME.
ACCEPT WS-DATE FROM DATE.

Beschreibung

Liest Eingabe oder ausgewaehlte FROM-Quellen in Datenfelder.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

ACCEPT hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

ACCEPT WS-NAME.
ACCEPT WS-DATE FROM DATE.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


CONVERTING - Bildet Zeichen oder Mehrbyte-Token in einer INSPECT-Anweisung um. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Konsole & Zeichenketten Hilfe zum PBXB64-Compiler

CONVERTING - Bildet Zeichen oder Mehrbyte-Token in einer INSPECT-Anweisung um.

Bildet Zeichen oder Mehrbyte-Token in einer INSPECT-Anweisung um.

Kategorie: COBOL-Konsole & Zeichenketten

Syntax

INSPECT WS-C CONVERTING "AB" TO "XY".

Beschreibung

Bildet Zeichen oder Mehrbyte-Token in einer INSPECT-Anweisung um.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

CONVERTING hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

INSPECT WS-C CONVERTING "AB" TO "XY".

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← ACCEPT - Liest Eingabe oder ausgewaehlte FROM-Quellen in Datenfelder. Nach oben DELIMITED BY - Steuert, wie STRING Quelltext kopiert: vollstaendig per SIZE oder bis zu einem Literalbegrenzer. →


DELIMITED BY - Steuert, wie STRING Quelltext kopiert: vollstaendig per SIZE oder bis zu einem Literalbegrenzer. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Konsole & Zeichenketten Hilfe zum PBXB64-Compiler

DELIMITED BY - Steuert, wie STRING Quelltext kopiert: vollstaendig per SIZE oder bis zu einem Literalbegrenzer.

Steuert, wie STRING Quelltext kopiert: vollstaendig per SIZE oder bis zu einem Literalbegrenzer.

Kategorie: COBOL-Konsole & Zeichenketten

Syntax

STRING SRC-A SRC-B DELIMITED BY "," INTO DEST.

Beschreibung

Steuert, wie STRING Quelltext kopiert: vollstaendig per SIZE oder bis zu einem Literalbegrenzer.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

DELIMITED BY hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

STRING SRC-A SRC-B DELIMITED BY "," INTO DEST.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← CONVERTING - Bildet Zeichen oder Mehrbyte-Token in einer INSPECT-Anweisung um. Nach oben DISPLAY - Schreibt Literale und Datenfelder auf die Konsolenausgabe. →


DISPLAY - Schreibt Literale und Datenfelder auf die Konsolenausgabe. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Konsole & Zeichenketten Hilfe zum PBXB64-Compiler

DISPLAY - Schreibt Literale und Datenfelder auf die Konsolenausgabe.

Schreibt Literale und Datenfelder auf die Konsolenausgabe.

Kategorie: COBOL-Konsole & Zeichenketten

Syntax

DISPLAY "TOTAL=" WS-TOTAL.

Beschreibung

Schreibt Literale und Datenfelder auf die Konsolenausgabe.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

DISPLAY hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

DISPLAY "TOTAL=" WS-TOTAL.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← DELIMITED BY - Steuert, wie STRING Quelltext kopiert: vollstaendig per SIZE oder bis zu einem Literalbegrenzer. Nach oben INSPECT - Zaehlt, ersetzt und konvertiert Zeichenketten ueber getestete Einbyte- und Mehrbyte-Helferpfade. →


INSPECT - Zaehlt, ersetzt und konvertiert Zeichenketten ueber getestete Einbyte- und Mehrbyte-Helferpfade. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Konsole & Zeichenketten Hilfe zum PBXB64-Compiler

INSPECT - Zaehlt, ersetzt und konvertiert Zeichenketten ueber getestete Einbyte- und Mehrbyte-Helferpfade.

Zaehlt, ersetzt und konvertiert Zeichenketten ueber getestete Einbyte- und Mehrbyte-Helferpfade.

Kategorie: COBOL-Konsole & Zeichenketten

Syntax

INSPECT WS-S REPLACING ALL "A" BY "X".

Beschreibung

Zaehlt, ersetzt und konvertiert Zeichenketten ueber getestete Einbyte- und Mehrbyte-Helferpfade.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

INSPECT hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

INSPECT WS-S REPLACING ALL "A" BY "X".

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← DISPLAY - Schreibt Literale und Datenfelder auf die Konsolenausgabe. Nach oben REPLACING - Ersetzt passende Zeichen- oder Stringoperanden in einer INSPECT-Anweisung. →


REPLACING - Ersetzt passende Zeichen- oder Stringoperanden in einer INSPECT-Anweisung. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Konsole & Zeichenketten Hilfe zum PBXB64-Compiler

REPLACING - Ersetzt passende Zeichen- oder Stringoperanden in einer INSPECT-Anweisung.

Ersetzt passende Zeichen- oder Stringoperanden in einer INSPECT-Anweisung.

Kategorie: COBOL-Konsole & Zeichenketten

Syntax

INSPECT WS-R REPLACING ALL "AB" BY "XY".

Beschreibung

Ersetzt passende Zeichen- oder Stringoperanden in einer INSPECT-Anweisung.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

REPLACING hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

INSPECT WS-R REPLACING ALL "AB" BY "XY".

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← INSPECT - Zaehlt, ersetzt und konvertiert Zeichenketten ueber getestete Einbyte- und Mehrbyte-Helferpfade. Nach oben STRING - Verkettet Quellfelder oder Literale in ein Ziel mit DELIMITED BY SIZE oder einem getesteten Literalbegrenzer. →


STRING - Verkettet Quellfelder oder Literale in ein Ziel mit DELIMITED BY SIZE oder einem getesteten Literalbegrenzer. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Konsole & Zeichenketten Hilfe zum PBXB64-Compiler

STRING - Verkettet Quellfelder oder Literale in ein Ziel mit DELIMITED BY SIZE oder einem getesteten Literalbegrenzer.

Verkettet Quellfelder oder Literale in ein Ziel mit DELIMITED BY SIZE oder einem getesteten Literalbegrenzer.

Kategorie: COBOL-Konsole & Zeichenketten

Syntax

STRING "HELLO" " " "WORLD" DELIMITED BY SIZE INTO WS-OUT.

Beschreibung

Verkettet Quellfelder oder Literale in ein Ziel mit DELIMITED BY SIZE oder einem getesteten Literalbegrenzer.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

STRING hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

STRING "HELLO" " " "WORLD" DELIMITED BY SIZE INTO WS-OUT.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Zurueck zum Befehlsindex

← REPLACING - Ersetzt passende Zeichen- oder Stringoperanden in einer INSPECT-Anweisung. Nach oben TALLYING - Zaehlt Zeichen oder Vorkommen in einer INSPECT-Anweisung. →


TALLYING - Zaehlt Zeichen oder Vorkommen in einer INSPECT-Anweisung. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Konsole & Zeichenketten Hilfe zum PBXB64-Compiler

TALLYING - Zaehlt Zeichen oder Vorkommen in einer INSPECT-Anweisung.

Zaehlt Zeichen oder Vorkommen in einer INSPECT-Anweisung.

Kategorie: COBOL-Konsole & Zeichenketten

Syntax

INSPECT WS-S TALLYING WS-CNT FOR ALL "A".

Beschreibung

Zaehlt Zeichen oder Vorkommen in einer INSPECT-Anweisung.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

TALLYING hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

INSPECT WS-S TALLYING WS-CNT FOR ALL "A".

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← STRING - Verkettet Quellfelder oder Literale in ein Ziel mit DELIMITED BY SIZE oder einem getesteten Literalbegrenzer. Nach oben UNSTRING - Teilt ein Quellfeld ueber den implementierten Begrenzerpfad in Zielfelder auf. →


UNSTRING - Teilt ein Quellfeld ueber den implementierten Begrenzerpfad in Zielfelder auf. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Konsole & Zeichenketten Hilfe zum PBXB64-Compiler

UNSTRING - Teilt ein Quellfeld ueber den implementierten Begrenzerpfad in Zielfelder auf.

Teilt ein Quellfeld ueber den implementierten Begrenzerpfad in Zielfelder auf.

Kategorie: COBOL-Konsole & Zeichenketten

Syntax

UNSTRING WS-SRC DELIMITED BY "," INTO WS-A WS-B.

Beschreibung

Teilt ein Quellfeld ueber den implementierten Begrenzerpfad in Zielfelder auf.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

UNSTRING hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

UNSTRING WS-SRC DELIMITED BY "," INTO WS-A WS-B.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Zurueck zum Befehlsindex

← TALLYING - Zaehlt Zeichen oder Vorkommen in einer INSPECT-Anweisung. Nach oben WITH POINTER - Verwendet ein COBOL-Zeiger-/Zaehlerfeld als aktuelle STRING-Zielposition, wenn vorhanden. →


WITH POINTER - Verwendet ein COBOL-Zeiger-/Zaehlerfeld als aktuelle STRING-Zielposition, wenn vorhanden. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Konsole & Zeichenketten Hilfe zum PBXB64-Compiler

WITH POINTER - Verwendet ein COBOL-Zeiger-/Zaehlerfeld als aktuelle STRING-Zielposition, wenn vorhanden.

Verwendet ein COBOL-Zeiger-/Zaehlerfeld als aktuelle STRING-Zielposition, wenn vorhanden.

Kategorie: COBOL-Konsole & Zeichenketten

Syntax

STRING SRC DELIMITED BY SIZE INTO DEST WITH POINTER PTR.

Beschreibung

Verwendet ein COBOL-Zeiger-/Zaehlerfeld als aktuelle STRING-Zielposition, wenn vorhanden.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

WITH POINTER hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

STRING SRC DELIMITED BY SIZE INTO DEST WITH POINTER PTR.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


COBOL-Aufrufe & Parameter - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Aufrufe & Parameter Hilfe zum PBXB64-Compiler

COBOL-Aufrufe & Parameter

Themen in diesem Kapitel

CALL - Ruft ein externes C-aehnliches Symbol aus COBOL auf. GIVING - Speichert den ganzzahligen Rueckgabewert eines CALL oder einer Rechenoperation in einem Ziel. USING - Liefert CALL-Argumente; Standardmodus ist BY REFERENCE, mit getesteten BY-VALUE-Runtime-Aufrufen.


CALL - Ruft ein externes C-aehnliches Symbol aus COBOL auf. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Aufrufe & Parameter Hilfe zum PBXB64-Compiler

CALL - Ruft ein externes C-aehnliches Symbol aus COBOL auf.

Ruft ein externes C-aehnliches Symbol aus COBOL auf.

Kategorie: COBOL-Aufrufe & Parameter

Syntax

CALL "cobol-host" USING ARG1 GIVING RESULT.

Beschreibung

Ruft ein externes C-aehnliches Symbol aus COBOL auf.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

CALL hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Argumente werden standardmaessig per BY REFERENCE uebergeben. BY VALUE, BY CONTENT und RETURNING/GIVING werden unterstuetzt. Das Zielsymbol entsteht aus dem Programmnamen durch Ersetzen von Bindestrichen und Leerzeichen durch Unterstriche; die Gross-/Kleinschreibung bleibt erhalten. Ein separat compiliertes COBOL-Unterprogramm mit PROCEDURE DIVISION USING wird als extern sichtbare Funktion mit einem Zeiger pro USING-Element emittiert.

Getestetes Beispiel

CALL "add-one" BY VALUE IN-VAL GIVING OUT-VAL.
CALL "concat" BY CONTENT IN-BUF RETURNING LEN.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


GIVING - Speichert den ganzzahligen Rueckgabewert eines CALL oder einer Rechenoperation in einem Ziel. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Aufrufe & Parameter Hilfe zum PBXB64-Compiler

GIVING - Speichert den ganzzahligen Rueckgabewert eines CALL oder einer Rechenoperation in einem Ziel.

Speichert den ganzzahligen Rueckgabewert eines CALL oder einer Rechenoperation in einem Ziel.

Kategorie: COBOL-Aufrufe & Parameter

Syntax

CALL "cobol-host" USING ARG1 GIVING RESULT.

Beschreibung

Speichert den ganzzahligen Rueckgabewert eines CALL oder einer Rechenoperation in einem Ziel.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

GIVING hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

CALL "cobol-host" USING ARG1 GIVING RESULT.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← CALL - Ruft ein externes C-aehnliches Symbol aus COBOL auf. Nach oben USING - Liefert CALL-Argumente; Standardmodus ist BY REFERENCE, mit getesteten BY-VALUE-Runtime-Aufrufen. →


USING - Liefert CALL-Argumente; Standardmodus ist BY REFERENCE, mit getesteten BY-VALUE-Runtime-Aufrufen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Aufrufe & Parameter Hilfe zum PBXB64-Compiler

USING - Liefert CALL-Argumente; Standardmodus ist BY REFERENCE, mit getesteten BY-VALUE-Runtime-Aufrufen.

Liefert CALL-Argumente; Standardmodus ist BY REFERENCE, mit getesteten BY-VALUE-Runtime-Aufrufen.

Kategorie: COBOL-Aufrufe & Parameter

Syntax

CALL "name" USING BY VALUE 160 GIVING WS-R.

Beschreibung

Liefert CALL-Argumente; Standardmodus ist BY REFERENCE, mit getesteten BY-VALUE-Runtime-Aufrufen.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

USING hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

CALL "name" USING BY VALUE 160 GIVING WS-R.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


COBOL-Datei-E/A - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datei-E/A Hilfe zum PBXB64-Compiler

COBOL-Datei-E/A

Themen in diesem Kapitel

CLOSE - Schliesst einen geoeffneten COBOL-Dateihandle. FILE SECTION - Deklariert FD-Datensaetze fuer den unterstuetzten line-sequential Datei-I/O-Pfad. OPEN - Oeffnet eine ausgewaehlte line-sequential COBOL-Datei fuer INPUT, OUTPUT, I-O oder EXTEND. READ - Liest einen Datensatz aus einer geoeffneten COBOL-Datei mit INTO, AT END, NOT AT END und END-READ-Unterstuetzung. SELECT ASSIGN - Ordnet einen COBOL-Dateinamen dem Literalpfad der Hostdatei fuer line-sequential Datei-I/O zu. WRITE - Schreibt einen Datensatz in eine geoeffnete COBOL-Datei, einschliesslich WRITE record FROM source.


CLOSE - Schliesst einen geoeffneten COBOL-Dateihandle. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datei-E/A Hilfe zum PBXB64-Compiler

CLOSE - Schliesst einen geoeffneten COBOL-Dateihandle.

Schliesst einen geoeffneten COBOL-Dateihandle.

Kategorie: COBOL-Datei-E/A

Syntax

CLOSE TEST-FILE.

Beschreibung

Schliesst einen geoeffneten COBOL-Dateihandle.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

CLOSE hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

CLOSE TEST-FILE.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


FILE SECTION - Deklariert FD-Datensaetze fuer den unterstuetzten line-sequential Datei-I/O-Pfad. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datei-E/A Hilfe zum PBXB64-Compiler

FILE SECTION - Deklariert FD-Datensaetze fuer den unterstuetzten line-sequential Datei-I/O-Pfad.

Deklariert FD-Datensaetze fuer den unterstuetzten line-sequential Datei-I/O-Pfad.

Kategorie: COBOL-Datei-E/A

Syntax

FILE SECTION.
FD TEST-FILE.
01 TEST-REC PIC X(12).

Beschreibung

Deklariert FD-Datensaetze fuer den unterstuetzten line-sequential Datei-I/O-Pfad.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

FILE SECTION hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

FILE SECTION.
FD TEST-FILE.
01 TEST-REC PIC X(12).

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Zurueck zum Befehlsindex

← CLOSE - Schliesst einen geoeffneten COBOL-Dateihandle. Nach oben OPEN - Oeffnet eine ausgewaehlte line-sequential COBOL-Datei fuer INPUT, OUTPUT, I-O oder EXTEND. →


OPEN - Oeffnet eine ausgewaehlte line-sequential COBOL-Datei fuer INPUT, OUTPUT, I-O oder EXTEND. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datei-E/A Hilfe zum PBXB64-Compiler

OPEN - Oeffnet eine ausgewaehlte line-sequential COBOL-Datei fuer INPUT, OUTPUT, I-O oder EXTEND.

Oeffnet eine ausgewaehlte line-sequential COBOL-Datei fuer INPUT, OUTPUT, I-O oder EXTEND.

Kategorie: COBOL-Datei-E/A

Syntax

OPEN OUTPUT TEST-FILE.

Beschreibung

Oeffnet eine ausgewaehlte line-sequential COBOL-Datei fuer INPUT, OUTPUT, I-O oder EXTEND.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

OPEN hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

OPEN OUTPUT TEST-FILE.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← FILE SECTION - Deklariert FD-Datensaetze fuer den unterstuetzten line-sequential Datei-I/O-Pfad. Nach oben READ - Liest einen Datensatz aus einer geoeffneten COBOL-Datei mit INTO, AT END, NOT AT END und END-READ-Unterstuetzung. →


READ - Liest einen Datensatz aus einer geoeffneten COBOL-Datei mit INTO, AT END, NOT AT END und END-READ-Unterstuetzung. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datei-E/A Hilfe zum PBXB64-Compiler

READ - Liest einen Datensatz aus einer geoeffneten COBOL-Datei mit INTO, AT END, NOT AT END und END-READ-Unterstuetzung.

Liest einen Datensatz aus einer geoeffneten COBOL-Datei mit INTO, AT END, NOT AT END und END-READ-Unterstuetzung.

Kategorie: COBOL-Datei-E/A

Syntax

READ TEST-FILE INTO WS-IN AT END MOVE 0 TO WS-GOTDATA END-READ.

Beschreibung

Liest einen Datensatz aus einer geoeffneten COBOL-Datei mit INTO, AT END, NOT AT END und END-READ-Unterstuetzung.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

READ hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

READ TEST-FILE INTO WS-IN AT END MOVE 0 TO WS-GOTDATA END-READ.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← OPEN - Oeffnet eine ausgewaehlte line-sequential COBOL-Datei fuer INPUT, OUTPUT, I-O oder EXTEND. Nach oben SELECT ASSIGN - Ordnet einen COBOL-Dateinamen dem Literalpfad der Hostdatei fuer line-sequential Datei-I/O zu. →


SELECT ASSIGN - Ordnet einen COBOL-Dateinamen dem Literalpfad der Hostdatei fuer line-sequential Datei-I/O zu. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datei-E/A Hilfe zum PBXB64-Compiler

SELECT ASSIGN - Ordnet einen COBOL-Dateinamen dem Literalpfad der Hostdatei fuer line-sequential Datei-I/O zu.

Ordnet einen COBOL-Dateinamen dem Literalpfad der Hostdatei fuer line-sequential Datei-I/O zu.

Kategorie: COBOL-Datei-E/A

Syntax

SELECT TEST-FILE ASSIGN TO "tmp_fileio.txt".

Beschreibung

Ordnet einen COBOL-Dateinamen dem Literalpfad der Hostdatei fuer line-sequential Datei-I/O zu.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

SELECT ASSIGN hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

SELECT TEST-FILE ASSIGN TO "tmp_fileio.txt".

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← READ - Liest einen Datensatz aus einer geoeffneten COBOL-Datei mit INTO, AT END, NOT AT END und END-READ-Unterstuetzung. Nach oben WRITE - Schreibt einen Datensatz in eine geoeffnete COBOL-Datei, einschliesslich WRITE record FROM source. →


WRITE - Schreibt einen Datensatz in eine geoeffnete COBOL-Datei, einschliesslich WRITE record FROM source. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Datei-E/A Hilfe zum PBXB64-Compiler

WRITE - Schreibt einen Datensatz in eine geoeffnete COBOL-Datei, einschliesslich WRITE record FROM source.

Schreibt einen Datensatz in eine geoeffnete COBOL-Datei, einschliesslich WRITE record FROM source.

Kategorie: COBOL-Datei-E/A

Syntax

WRITE TEST-REC FROM WS-SRC.

Beschreibung

Schreibt einen Datensatz in eine geoeffnete COBOL-Datei, einschliesslich WRITE record FROM source.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

WRITE hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

WRITE TEST-REC FROM WS-SRC.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


COBOL-Copybooks - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Copybooks Hilfe zum PBXB64-Compiler

COBOL-Copybooks

Themen in diesem Kapitel

COPY - Erweitert ein einfaches quellnahes Copybook aus dem Quellverzeichnis oder dem Unterverzeichnis copybooks. COPY REPLACING - Wendet beim Erweitern eines Copybooks das implementierte Identifier- oder Pseudotext-Ersetzungspaar an.


COPY - Erweitert ein einfaches quellnahes Copybook aus dem Quellverzeichnis oder dem Unterverzeichnis copybooks. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Copybooks Hilfe zum PBXB64-Compiler

COPY - Erweitert ein einfaches quellnahes Copybook aus dem Quellverzeichnis oder dem Unterverzeichnis copybooks.

Erweitert ein einfaches quellnahes Copybook aus dem Quellverzeichnis oder dem Unterverzeichnis copybooks.

Kategorie: COBOL-Copybooks

Syntax

COPY CUSTREC.

Beschreibung

Erweitert ein einfaches quellnahes Copybook aus dem Quellverzeichnis oder dem Unterverzeichnis copybooks.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

COPY hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

COPY CUSTREC.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


COPY REPLACING - Wendet beim Erweitern eines Copybooks das implementierte Identifier- oder Pseudotext-Ersetzungspaar an. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › COBOL-Copybooks Hilfe zum PBXB64-Compiler

COPY REPLACING - Wendet beim Erweitern eines Copybooks das implementierte Identifier- oder Pseudotext-Ersetzungspaar an.

Wendet beim Erweitern eines Copybooks das implementierte Identifier- oder Pseudotext-Ersetzungspaar an.

Kategorie: COBOL-Copybooks

Syntax

COPY REPLTEST REPLACING REPL-NAME BY CUST-NAME.

Beschreibung

Wendet beim Erweitern eines Copybooks das implementierte Identifier- oder Pseudotext-Ersetzungspaar an.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

COPY REPLACING hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

COPY REPLTEST REPLACING REPL-NAME BY CUST-NAME.

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Eingebettetes COBOL in BASIC - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Eingebettetes COBOL in BASIC Hilfe zum PBXB64-Compiler

Eingebettetes COBOL in BASIC

Themen in diesem Kapitel

#COBOL - Startet einen eingebetteten COBOL-Block in PB-Quelltext. #COBOL END - Beendet einen eingebetteten COBOL-Block in PB-Quelltext. #COBOL USING - Bindet PB-Hostvariablen per Referenz fuer einen eingebetteten COBOL-Block. Ganzzahlige Skalare nutzen den bisherigen numerischen Host-Pfad; feste STRINGZ-Puffer binden als PIC X(n).


#COBOL - Startet einen eingebetteten COBOL-Block in PB-Quelltext. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Eingebettetes COBOL in BASIC Hilfe zum PBXB64-Compiler

#COBOL - Startet einen eingebetteten COBOL-Block in PB-Quelltext.

Startet einen eingebetteten COBOL-Block in PB-Quelltext.

Kategorie: Eingebettetes COBOL in BASIC

Syntax

#COBOL

Beschreibung

Startet einen eingebetteten COBOL-Block in PB-Quelltext.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

#COBOL hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

#COBOL

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


#COBOL END - Beendet einen eingebetteten COBOL-Block in PB-Quelltext. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Eingebettetes COBOL in BASIC Hilfe zum PBXB64-Compiler

#COBOL END - Beendet einen eingebetteten COBOL-Block in PB-Quelltext.

Beendet einen eingebetteten COBOL-Block in PB-Quelltext.

Kategorie: Eingebettetes COBOL in BASIC

Syntax

#COBOL END

Beschreibung

Beendet einen eingebetteten COBOL-Block in PB-Quelltext.

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

#COBOL END hat eine eigene Seite, weil jeder getestete COBOL-Befehl, jede Klausel und jede eingebettete Direktive einen eigenen Frontend-Referenzeintrag haben muss. Die aktuelle Implementierung senkt COBOL direkt in PBXB64-IR ab und verwendet danach den normalen x64-Backend- und Linkerpfad.

Getestetes Beispiel

#COBOL END

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, OCCURS DEPENDING ON, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← #COBOL - Startet einen eingebetteten COBOL-Block in PB-Quelltext. Nach oben #COBOL USING - Bindet PB-Hostvariablen per Referenz fuer einen eingebetteten COBOL-Block. Ganzzahlige Skalare nutzen den bisherigen numerischen Host-Pfad; feste STRINGZ-Puffer binden als PIC X(n). →


#COBOL USING - Bindet PB-Hostvariablen per Referenz fuer einen eingebetteten COBOL-Block. Ganzzahlige Skalare nutzen den bisherigen numerischen Host-Pfad; feste STRINGZ-Puffer binden als PIC X(n). - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › COBOL Frontend › Eingebettetes COBOL in BASIC Hilfe zum PBXB64-Compiler

#COBOL USING - Bindet PB-Hostvariablen per Referenz fuer einen eingebetteten COBOL-Block. Ganzzahlige Skalare nutzen den bisherigen numerischen Host-Pfad; feste STRINGZ-Puffer binden als PIC X(n).

Bindet PB-Hostvariablen per Referenz fuer einen eingebetteten COBOL-Block. Ganzzahlige Skalare nutzen den bisherigen numerischen Host-Pfad; feste STRINGZ-Puffer binden als PIC X(n).

Kategorie: Eingebettetes COBOL in BASIC

Syntax

#COBOL USING var1, var2, ...

Beschreibung

Bindet PB-Hostvariablen per Referenz fuer einen eingebetteten COBOL-Block. Ganzzahlige Skalare nutzen den bisherigen numerischen Host-Pfad; feste STRINGZ-Puffer binden als PIC X(n).

Kind: COBOL-Befehl/Klausel | Category: COBOL Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

#COBOL USING bindet PB-Hostvariablen per Referenz an einen eingebetteten COBOL-Block. Ganzzahlige Skalare (INTEGER, LONG, QUAD, UINT64, CURRENCY) werden als PIC 9(18) uebergeben; feste STRING * n- und STRINGZ * n-Puffer werden als PIC X(n) uebergeben. Dynamische Strings, WSTRING, Arrays, VARIANT und OBJECT werden mit einer Fehlermeldung zurueckgewiesen.

Getestetes Beispiel

FUNCTION PBMAIN() AS LONG
    LOCAL n AS LONG
    LOCAL s AS STRING * 20
    n = 10
    s = "before"
    #COBOL USING n, s
       IDENTIFICATION DIVISION.
       PROGRAM-ID. EMB.
       DATA DIVISION.
       LINKAGE SECTION.
       01 N PIC 9(18).
       01 S PIC X(20).
       PROCEDURE DIVISION USING N, S.
           MOVE 42 TO N.
           MOVE "hello from COBOL" TO S.
           STOP RUN.
    #ENDCOBOL
    PRINT n
    PRINT s
END FUNCTION

Grenzen

Diese Seite dokumentiert nur die getestete PBXB64-Teilmenge. Indexierte/relative Dateien, SORT/MERGE, mehrere COPY-Ersetzungspaare, Kommandozeilen-Copybook-Suchpfade, Gruppen-REDEFINES-Overlay, verschachtelte COBOL-Unterprogrammaufrufe und automatische >18-stellige PIC-Speicherauswahl liegen ausserhalb der zertifizierten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Übersicht - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Übersicht Hilfe zum PBXB64-Compiler

Übersicht

Themen in diesem Kapitel

Eingebettetes Forth in BASIC Forth-Arithmetik und Bitoperationen Forth-Definitionen und Compile-State Forth-Frontend Forth-Kontrollfluss Forth-Programmsteuerung Forth-Return-Stack und Runtime Forth-Schleifen Forth-Speicher und Datenobjekte Forth-Stack-Woerter Forth-Strings und Konsolen-E/A Forth-Vergleiche und Konstanten


Eingebettetes Forth in BASIC - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Übersicht Hilfe zum PBXB64-Compiler

Eingebettetes Forth in BASIC

Kind: Reference hub | Category: Forth Frontend

Kategorie: Übersicht

Syntax

: WORD ( stack -- stack ) ... ;

Beschreibung

Kind: Reference hub | Category: Forth Frontend

PBXB64 Status: Overview / navigation; child pages carry the word-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen Forth-Woerter und Direktiven stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Dieses Kapitel beschreibt die Gruppierung der Forth-Woerter, nicht eine pauschale Zusage voller ANS-Forth-Kompatibilitaet. Verwenden Sie die verlinkten Einzelseiten fuer Syntax, Stack-Effekt, Beispielcode, Validierungsdatei und bekannte Grenzen des aktuell getesteten PBXB64-Frontends.

Einzelseiten

  • #FORTH
  • #ENDFORTH
  • PBVAR
  • PBVAL
  • PBSET

Pruefung

Die darunterliegenden Seiten nennen konkrete Forth- oder eingebettete PB-Beispiele. Neue Forth-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: Forth command pages cite registered standalone tests/forth files or embedded PB examples.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth-Arithmetik und Bitoperationen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Übersicht Hilfe zum PBXB64-Compiler

Forth-Arithmetik und Bitoperationen

Kind: Reference hub | Category: Forth Frontend

Kategorie: Übersicht

Syntax

: WORD ( stack -- stack ) ... ;

Beschreibung

Kind: Reference hub | Category: Forth Frontend

PBXB64 Status: Overview / navigation; child pages carry the word-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen Forth-Woerter und Direktiven stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Dieses Kapitel beschreibt die Gruppierung der Forth-Woerter, nicht eine pauschale Zusage voller ANS-Forth-Kompatibilitaet. Verwenden Sie die verlinkten Einzelseiten fuer Syntax, Stack-Effekt, Beispielcode, Validierungsdatei und bekannte Grenzen des aktuell getesteten PBXB64-Frontends.

Einzelseiten

  • +
  • -
  • *
  • /
  • MOD
  • 1+
  • 1-
  • 2*
  • 2/
  • NEGATE
  • ABS
  • MIN
  • MAX
  • AND
  • OR
  • XOR
  • INVERT
  • LSHIFT
  • RSHIFT

Pruefung

Die darunterliegenden Seiten nennen konkrete Forth- oder eingebettete PB-Beispiele. Neue Forth-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: Forth command pages cite registered standalone tests/forth files or embedded PB examples.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth-Definitionen und Compile-State - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Übersicht Hilfe zum PBXB64-Compiler

Forth-Definitionen und Compile-State

Kind: Reference hub | Category: Forth Frontend

Kategorie: Übersicht

Syntax

: WORD ( stack -- stack ) ... ;

Beschreibung

Kind: Reference hub | Category: Forth Frontend

PBXB64 Status: Overview / navigation; child pages carry the word-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen Forth-Woerter und Direktiven stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Dieses Kapitel beschreibt die Gruppierung der Forth-Woerter, nicht eine pauschale Zusage voller ANS-Forth-Kompatibilitaet. Verwenden Sie die verlinkten Einzelseiten fuer Syntax, Stack-Effekt, Beispielcode, Validierungsdatei und bekannte Grenzen des aktuell getesteten PBXB64-Frontends.

Einzelseiten

  • :
  • ;
  • CONSTANT
  • VARIABLE
  • VALUE
  • TO
  • IMMEDIATE
  • POSTPONE
  • STATE
  • [
  • ]
  • LITERAL
  • RECURSE

Pruefung

Die darunterliegenden Seiten nennen konkrete Forth- oder eingebettete PB-Beispiele. Neue Forth-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: Forth command pages cite registered standalone tests/forth files or embedded PB examples.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Zurueck zum Befehlsindex


Forth-Frontend - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Übersicht Hilfe zum PBXB64-Compiler

Forth-Frontend

PBXB64 akzeptiert eigenst&auml;ndige Forth-Quelldateien mit den Erweiterungen .fth, .forth und .4th sowie eingebettete Forth-Bl&ouml;cke in PowerBASIC-Quelltext mit #FORTH und #ENDFORTH.

Kategorie: Übersicht

Beschreibung

PBXB64 akzeptiert eigenständige Forth-Quelldateien mit den Erweiterungen .fth, .forth und .4th sowie eingebettete Forth-Blöcke in PowerBASIC-Quelltext mit #FORTH und #ENDFORTH.

Das aktuelle Frontend ist eine teilweise native Forth-Implementierung. Unterstützt ist eine getestete Integer-Teilmenge mit Stack-Wörtern, Arithmetik, erweiterter Arithmetik 1+/1-/2*/2//NEGATE/ABS/MIN/MAX, Bitwörtern AND/OR/XOR/INVERT/LSHIFT/RSHIFT, Vergleichen, Speicherzellen- und Bytezugriff, ausgewählten Konsolenwörtern, BYE, QUIT, ABORT, Return-Stack-Grundlagen, Core-Defining-Words : ... ;, CONSTANT und VARIABLE, Compile-State-Hilfen IMMEDIATE, POSTPONE, STATE, [/] und LITERAL, Stack-/Bereichshilfen ?DUP und WITHIN, einfachen CREATE-Datenobjekten mit ALLOT, Komma-Zellablage und begrenztem DOES>-Laufzeitkoerper auf CREATE-Wörtern, Source-Input-Grundlagen SOURCE, ACCEPT, delimiterbasiertem PARSE und Counted-String-WORD, String-Grundlagen COUNT, TYPE, S", COMPARE, BLANK und -TRAILING, veränderlichen Wertobjekten mit VALUE/TO, Booleschen und Leerzeichen-Konstanten TRUE/FALSE/BL, Null-Prädikaten 0<>/0<=/0>=, Zeichen-Token-Wörtern CHAR/[CHAR], EXIT aus Colon-Definitionen einschliesslich der getesteten strukturierten Kontrollflussfaelle, getesteten IF/ELSE/THEN-Verzweigungen, getesteten CASE/OF/ENDOF/ENDCASE-Mehrfachverzweigungen, geradlinigem, bedingtem und verschachteltem IF-gesteuertem LEAVE, getesteten BEGIN/UNTIL-, BEGIN/AGAIN- und BEGIN/WHILE/REPEAT-Schleifen, gezählten DO/LOOP-Schleifen mit I/J, positivem und negativem Literalschritt bei +LOOP, UNLOOP EXIT- und UNLOOP LEAVE-Bereinigung aus gezählten Schleifen, getestetem inline RECURSE mit begrenzter Expansionsdiagnose sowie PB-Local-Interoperabilität über PBVAR, PBADDR, PBLEN, PBVAL, PBSET, PBVALI64, PBSETI64, PBVALF64 und PBSETF64. PBADDR legt die aktuelle PB-Variablenadresse auf den Stack; PBLEN ist fuer PB-STRING- und Array-Variablen getestet. PBVALF64/PBSETF64 sind auf PB-DOUBLE-breite Skalarvariablen begrenzt; F64 und F+ bilden die getestete fokussierte Floating-Hilfsoberflaeche. Colon-Definitionen werden in der aktuellen Übersetzungseinheit inline abgesenkt; ausufernde rekursive Expansion wird durch eine begrenzte Compilerdiagnose abgewiesen.

Wenn eine eigenstaendige Forth-Datei als Nebeneingabe neben einer BASIC-Hauptquelle kompiliert wird, fuegt PBXB64 generierte Bridge-Deklarationen fuer explizite BASIC-BRIDGE EXPORT- und BRIDGE IMPORT-Symbole voran. Die getesteten Bridge-Woerter sind BRIDGE@ symbol und value BRIDGE! symbol fuer 64-Bit-Integer-Bridge-Speicher sowie BRIDGE@F64 symbol und value BRIDGE!F64 symbol fuer getesteten DOUBLE-breiten Floating-Bridge-Speicher. Feste Bridge-Puffer nutzen BRIDGEADDR symbol und BRIDGELEN symbol mit Byte-Speicherwoertern wie C!. Pointer-Bridge-Slots nutzen BRIDGEPTR symbol, um den gespeicherten Pointerwert vor Byte-Speicherzugriffen auf den Stack zu legen. Der Importpfad ist mit C-eigenem Skalarspeicher, C-eigenen Byte-Arrays und C-eigenen Pointer-Slots getestet, die von BASIC importiert und von Forth geaendert werden. Die untypisierten Integer-Bridge-Woerter lehnen Floating-Bridge-Symbole weiterhin ab; Festpuffer-Adresswoerter lehnen Pointer-Symbole ab.

In eingebetteten #FORTH-Bloecken werden die lokalen PB-Variablen ueber PBVAR, PBADDR, PBLEN, PBVAL/PBSET sowie die typisierten I64-, F64- und F32-Formen angebunden. Feste eindimensionale Arrays von Integer-, SINGLE- sowie DOUBLE-/EXTENDED-/FLOAT-Elementen sind ebenfalls gemappt: PBLEN legt die Elementanzahl auf den Stack, PBADDR die Basisadresse, und die normalen Speicherwoerter (@, !, C@, C!, +!) greifen mit dem passenden Byte-Offset auf einzelne Elemente zu.

Die Forth-2012/ANS-Word-Set-Vervollständigung wird fail-closed verfolgt. PBXB64 beansprucht keine Vollständigkeit für Core- oder optionale Word-Sets, bevor die entsprechenden Word-Set-Tests, gemischten PB-Tests und die Hilfedokumentation grün sind.

Referenzseiten

Diese Seite ist die Uebersicht zum Frontend. Die verlinkten Einzelseiten enthalten Syntax, getestete Beispiele, Status und Grenzen fuer die jeweiligen Befehle oder Sprachkonstrukte.

  • Stack-Worte
  • Arithmetik und Bitoperationen
  • Vergleiche und Konstanten
  • Kontrollfluss
  • Schleifen
  • Definitionen und Compile-State
  • Speicher und Datenobjekte
  • Strings und Konsolen-E/A
  • Return-Stack und Runtime
  • Programmsteuerung
  • Eingebettetes Forth in BASIC

Qualifizierte V15-Erweiterungen

  • Das Live-Wörterbuch registriert 174 native Primitive.
  • Dateizugriff umfasst Erzeugen, Öffnen, Schließen, Lesen, Schreiben, Position/Größe, INCLUDE-FILE und REQUIRED.
  • Speicherfamilien umfassen berechnetes ALLOT, ALLOCATE/FREE/RESIZE, MOVE, FILL, ERASE und SEARCH.
  • Execution Tokens werden über Tick, Bracket-Tick und EXECUTE ausgeführt; CATCH/THROW besitzt Runtime-Unterstützung.
  • Der Floating-Word-Set-Teil umfasst Stack-, Speicher-, Rechen-, Vergleichs- und Transzendentalfunktionen sowie F32/F64-Konvertierung.
  • PB-Interop besitzt zusätzlich PBVALF32/PBSETF32 und externe F32-Brücken. Deklarationen umfassen BRIDGEI64, BRIDGEF64, BRIDGEF32, BRIDGEPTRDECL und BRIDGEBUF.

Die kanonische Matrix umfasst 67 Link/Laufzeit-, 68 Objekt- und 19 Negativfälle: 154 insgesamt, davon 154 bestanden und null erwartete Fehler.

Prüfung

Forth-Beispiele sollen als kleine .fth-Dateien getestet werden und einen reproduzierbaren Exit-Code oder eine eindeutige Konsolenausgabe liefern. Eingebettete Forth-Blöcke müssen zusätzlich mit einem PB-Hostprogramm geprüft werden.

Grenzen

Die Oberfläche bleibt ein getesteter nativer Teilumfang und beansprucht keine vollständige ANS-Forth-/Forth-2012-Kompatibilität. Mehrdimensionale Arrays, dynamische Arrays sowie Arrays von STRING- oder UDT-Elementen sind noch nicht angebunden. QUIT und ABORT werden als Prozessbeendigungs-Hilfen behandelt; DOES> bleibt auf das getestete CREATE-gebundene Laufzeitmuster begrenzt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Forth-Kontrollfluss - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Übersicht Hilfe zum PBXB64-Compiler

Forth-Kontrollfluss

Kind: Reference hub | Category: Forth Frontend

Kategorie: Übersicht

Syntax

: WORD ( stack -- stack ) ... ;

Beschreibung

Kind: Reference hub | Category: Forth Frontend

PBXB64 Status: Overview / navigation; child pages carry the word-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen Forth-Woerter und Direktiven stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Dieses Kapitel beschreibt die Gruppierung der Forth-Woerter, nicht eine pauschale Zusage voller ANS-Forth-Kompatibilitaet. Verwenden Sie die verlinkten Einzelseiten fuer Syntax, Stack-Effekt, Beispielcode, Validierungsdatei und bekannte Grenzen des aktuell getesteten PBXB64-Frontends.

Einzelseiten

  • IF
  • ELSE
  • THEN
  • CASE
  • OF
  • ENDOF
  • ENDCASE
  • EXIT

Pruefung

Die darunterliegenden Seiten nennen konkrete Forth- oder eingebettete PB-Beispiele. Neue Forth-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: Forth command pages cite registered standalone tests/forth files or embedded PB examples.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth-Programmsteuerung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Übersicht Hilfe zum PBXB64-Compiler

Forth-Programmsteuerung

Kind: Reference hub | Category: Forth Frontend

Kategorie: Übersicht

Syntax

: WORD ( stack -- stack ) ... ;

Beschreibung

Kind: Reference hub | Category: Forth Frontend

PBXB64 Status: Overview / navigation; child pages carry the word-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen Forth-Woerter und Direktiven stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Dieses Kapitel beschreibt die Gruppierung der Forth-Woerter, nicht eine pauschale Zusage voller ANS-Forth-Kompatibilitaet. Verwenden Sie die verlinkten Einzelseiten fuer Syntax, Stack-Effekt, Beispielcode, Validierungsdatei und bekannte Grenzen des aktuell getesteten PBXB64-Frontends.

Einzelseiten

  • BYE
  • QUIT
  • ABORT

Pruefung

Die darunterliegenden Seiten nennen konkrete Forth- oder eingebettete PB-Beispiele. Neue Forth-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: Forth command pages cite registered standalone tests/forth files or embedded PB examples.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth-Return-Stack und Runtime - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Übersicht Hilfe zum PBXB64-Compiler

Forth-Return-Stack und Runtime

Kind: Reference hub | Category: Forth Frontend

Kategorie: Übersicht

Syntax

: WORD ( stack -- stack ) ... ;

Beschreibung

Kind: Reference hub | Category: Forth Frontend

PBXB64 Status: Overview / navigation; child pages carry the word-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen Forth-Woerter und Direktiven stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Dieses Kapitel beschreibt die Gruppierung der Forth-Woerter, nicht eine pauschale Zusage voller ANS-Forth-Kompatibilitaet. Verwenden Sie die verlinkten Einzelseiten fuer Syntax, Stack-Effekt, Beispielcode, Validierungsdatei und bekannte Grenzen des aktuell getesteten PBXB64-Frontends.

Einzelseiten

  • >R
  • R>
  • R@
  • SP@
  • SP!
  • DEPTH
  • SOURCE
  • MS

Pruefung

Die darunterliegenden Seiten nennen konkrete Forth- oder eingebettete PB-Beispiele. Neue Forth-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: Forth command pages cite registered standalone tests/forth files or embedded PB examples.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurueck zum Befehlsindex


Forth-Schleifen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Übersicht Hilfe zum PBXB64-Compiler

Forth-Schleifen

Kind: Reference hub | Category: Forth Frontend

Kategorie: Übersicht

Syntax

: WORD ( stack -- stack ) ... ;

Beschreibung

Kind: Reference hub | Category: Forth Frontend

PBXB64 Status: Overview / navigation; child pages carry the word-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen Forth-Woerter und Direktiven stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Dieses Kapitel beschreibt die Gruppierung der Forth-Woerter, nicht eine pauschale Zusage voller ANS-Forth-Kompatibilitaet. Verwenden Sie die verlinkten Einzelseiten fuer Syntax, Stack-Effekt, Beispielcode, Validierungsdatei und bekannte Grenzen des aktuell getesteten PBXB64-Frontends.

Einzelseiten

  • BEGIN
  • UNTIL
  • AGAIN
  • WHILE
  • REPEAT
  • DO
  • LOOP
  • I
  • J
  • +LOOP
  • LEAVE
  • UNLOOP

Pruefung

Die darunterliegenden Seiten nennen konkrete Forth- oder eingebettete PB-Beispiele. Neue Forth-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: Forth command pages cite registered standalone tests/forth files or embedded PB examples.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth-Speicher und Datenobjekte - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Übersicht Hilfe zum PBXB64-Compiler

Forth-Speicher und Datenobjekte

Kind: Reference hub | Category: Forth Frontend

Kategorie: Übersicht

Syntax

: WORD ( stack -- stack ) ... ;

Beschreibung

Kind: Reference hub | Category: Forth Frontend

PBXB64 Status: Overview / navigation; child pages carry the word-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen Forth-Woerter und Direktiven stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Dieses Kapitel beschreibt die Gruppierung der Forth-Woerter, nicht eine pauschale Zusage voller ANS-Forth-Kompatibilitaet. Verwenden Sie die verlinkten Einzelseiten fuer Syntax, Stack-Effekt, Beispielcode, Validierungsdatei und bekannte Grenzen des aktuell getesteten PBXB64-Frontends.

Einzelseiten

  • @
  • !
  • +!
  • C@
  • C!
  • CREATE
  • DOES>
  • ALLOT
  • ,
  • CELL+
  • CELLS

Pruefung

Die darunterliegenden Seiten nennen konkrete Forth- oder eingebettete PB-Beispiele. Neue Forth-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: Forth command pages cite registered standalone tests/forth files or embedded PB examples.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Zurueck zum Befehlsindex


Forth-Stack-Woerter - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Übersicht Hilfe zum PBXB64-Compiler

Forth-Stack-Woerter

Kind: Reference hub | Category: Forth Frontend

Kategorie: Übersicht

Syntax

: WORD ( stack -- stack ) ... ;

Beschreibung

Kind: Reference hub | Category: Forth Frontend

PBXB64 Status: Overview / navigation; child pages carry the word-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen Forth-Woerter und Direktiven stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Dieses Kapitel beschreibt die Gruppierung der Forth-Woerter, nicht eine pauschale Zusage voller ANS-Forth-Kompatibilitaet. Verwenden Sie die verlinkten Einzelseiten fuer Syntax, Stack-Effekt, Beispielcode, Validierungsdatei und bekannte Grenzen des aktuell getesteten PBXB64-Frontends.

Einzelseiten

  • DUP
  • DROP
  • SWAP
  • OVER
  • ROT
  • NIP
  • TUCK
  • ?DUP
  • 2DROP
  • 2DUP
  • 2SWAP
  • 2OVER

Pruefung

Die darunterliegenden Seiten nennen konkrete Forth- oder eingebettete PB-Beispiele. Neue Forth-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: Forth command pages cite registered standalone tests/forth files or embedded PB examples.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurueck zum Befehlsindex


Forth-Strings und Konsolen-E/A - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Übersicht Hilfe zum PBXB64-Compiler

Forth-Strings und Konsolen-E/A

Kind: Reference hub | Category: Forth Frontend

Kategorie: Übersicht

Syntax

: WORD ( stack -- stack ) ... ;

Beschreibung

Kind: Reference hub | Category: Forth Frontend

PBXB64 Status: Overview / navigation; child pages carry the word-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen Forth-Woerter und Direktiven stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Dieses Kapitel beschreibt die Gruppierung der Forth-Woerter, nicht eine pauschale Zusage voller ANS-Forth-Kompatibilitaet. Verwenden Sie die verlinkten Einzelseiten fuer Syntax, Stack-Effekt, Beispielcode, Validierungsdatei und bekannte Grenzen des aktuell getesteten PBXB64-Frontends.

Einzelseiten

  • COUNT
  • TYPE
  • S"
  • COMPARE
  • BLANK
  • -TRAILING
  • ACCEPT
  • CHAR
  • [CHAR]
  • CMOVE
  • CMOVE>
  • .
  • ."
  • EMIT
  • CR
  • KEY
  • PARSE
  • WORD

Pruefung

Die darunterliegenden Seiten nennen konkrete Forth- oder eingebettete PB-Beispiele. Neue Forth-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: Forth command pages cite registered standalone tests/forth files or embedded PB examples.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Zurueck zum Befehlsindex


Forth-Vergleiche und Konstanten - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Übersicht Hilfe zum PBXB64-Compiler

Forth-Vergleiche und Konstanten

Kind: Reference hub | Category: Forth Frontend

Kategorie: Übersicht

Syntax

: WORD ( stack -- stack ) ... ;

Beschreibung

Kind: Reference hub | Category: Forth Frontend

PBXB64 Status: Overview / navigation; child pages carry the word-specific support proof.

Beschreibung

Diese Seite ist ein Ueberblickskapitel. Die einzelnen Forth-Woerter und Direktiven stehen darunter jeweils auf eigenen, getesteten Referenzseiten.

Dieses Kapitel beschreibt die Gruppierung der Forth-Woerter, nicht eine pauschale Zusage voller ANS-Forth-Kompatibilitaet. Verwenden Sie die verlinkten Einzelseiten fuer Syntax, Stack-Effekt, Beispielcode, Validierungsdatei und bekannte Grenzen des aktuell getesteten PBXB64-Frontends.

Einzelseiten

  • =
  • <>
  • <
  • <=
  • >
  • >=
  • 0=
  • 0<>
  • 0<
  • 0<=
  • 0>
  • 0>=
  • WITHIN
  • TRUE
  • FALSE
  • BL

Pruefung

Die darunterliegenden Seiten nennen konkrete Forth- oder eingebettete PB-Beispiele. Neue Forth-Hilfeintraege sollen nur mit compile/link/run-Beleg ergaenzt werden.

Validation evidence: Forth command pages cite registered standalone tests/forth files or embedded PB examples.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Zurueck zum Befehlsindex


Forth-Programmsteuerung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Programmsteuerung Hilfe zum PBXB64-Compiler

Forth-Programmsteuerung

Themen in diesem Kapitel

Forth ABORT Forth BYE Forth QUIT


Forth ABORT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Programmsteuerung Hilfe zum PBXB64-Compiler

Forth ABORT

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Programmsteuerung

Syntax

ABORT

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

ABORT ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie System registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BYE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Programmsteuerung Hilfe zum PBXB64-Compiler

Forth BYE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Programmsteuerung

Syntax

BYE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BYE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie System registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth QUIT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Programmsteuerung Hilfe zum PBXB64-Compiler

Forth QUIT

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Programmsteuerung

Syntax

QUIT

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

QUIT ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie System registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth-Stapelwörter - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Stapelwörter Hilfe zum PBXB64-Compiler

Forth-Stapelwörter

Themen in diesem Kapitel

Forth 2DROP - Verwirft die zwei obersten Stack-Zellen. Forth 2DUP - Dupliziert die zwei obersten Stack-Zellen. Forth 2OVER - Kopiert das zweite Stack-Paar nach oben. Forth 2SWAP - Vertauscht das oberste Zellenpaar mit dem darunterliegenden Paar. Forth ?DUP Forth DROP Forth DUP Forth NIP Forth OVER Forth ROT Forth SWAP Forth TUCK


Forth 2DROP - Verwirft die zwei obersten Stack-Zellen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Stapelwörter Hilfe zum PBXB64-Compiler

Forth 2DROP - Verwirft die zwei obersten Stack-Zellen.

Verwirft die zwei obersten Stack-Zellen.

Kategorie: Forth-Stapelwörter

Syntax

2DROP

Beschreibung

Verwirft die zwei obersten Stack-Zellen.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

2DROP hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie 2DROP im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/core_stack_arith.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth 2DUP - Dupliziert die zwei obersten Stack-Zellen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Stapelwörter Hilfe zum PBXB64-Compiler

Forth 2DUP - Dupliziert die zwei obersten Stack-Zellen.

Dupliziert die zwei obersten Stack-Zellen.

Kategorie: Forth-Stapelwörter

Syntax

2DUP

Beschreibung

Dupliziert die zwei obersten Stack-Zellen.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

2DUP hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie 2DUP im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/core_stack_arith.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth 2OVER - Kopiert das zweite Stack-Paar nach oben. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Stapelwörter Hilfe zum PBXB64-Compiler

Forth 2OVER - Kopiert das zweite Stack-Paar nach oben.

Kopiert das zweite Stack-Paar nach oben.

Kategorie: Forth-Stapelwörter

Syntax

2OVER

Beschreibung

Kopiert das zweite Stack-Paar nach oben.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

2OVER hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie 2OVER im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/core_stack_arith.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth 2SWAP - Vertauscht das oberste Zellenpaar mit dem darunterliegenden Paar. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Stapelwörter Hilfe zum PBXB64-Compiler

Forth 2SWAP - Vertauscht das oberste Zellenpaar mit dem darunterliegenden Paar.

Vertauscht das oberste Zellenpaar mit dem darunterliegenden Paar.

Kategorie: Forth-Stapelwörter

Syntax

2SWAP

Beschreibung

Vertauscht das oberste Zellenpaar mit dem darunterliegenden Paar.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

2SWAP hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie 2SWAP im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/core_stack_arith.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth ?DUP - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Stapelwörter Hilfe zum PBXB64-Compiler

Forth ?DUP

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Stapelwörter

Syntax

?DUP

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

?DUP ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack manipulation registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth DROP - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Stapelwörter Hilfe zum PBXB64-Compiler

Forth DROP

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Stapelwörter

Syntax

DROP

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

DROP ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack manipulation registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth DUP - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Stapelwörter Hilfe zum PBXB64-Compiler

Forth DUP

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Stapelwörter

Syntax

DUP

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

DUP ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack manipulation registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth NIP - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Stapelwörter Hilfe zum PBXB64-Compiler

Forth NIP

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Stapelwörter

Syntax

NIP

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

NIP ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack manipulation registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth OVER - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Stapelwörter Hilfe zum PBXB64-Compiler

Forth OVER

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Stapelwörter

Syntax

OVER

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

OVER ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack manipulation registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth ROT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Stapelwörter Hilfe zum PBXB64-Compiler

Forth ROT

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Stapelwörter

Syntax

ROT

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

ROT ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack manipulation registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth SWAP - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Stapelwörter Hilfe zum PBXB64-Compiler

Forth SWAP

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Stapelwörter

Syntax

SWAP

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

SWAP ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack manipulation registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth TUCK - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Stapelwörter Hilfe zum PBXB64-Compiler

Forth TUCK

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Stapelwörter

Syntax

TUCK

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

TUCK ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack manipulation registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth-Arithmetik & Bitoperationen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth-Arithmetik & Bitoperationen

Themen in diesem Kapitel

Forth * Forth + Forth - Forth / Forth 1+ - Addiert eins zur obersten Integer-Zelle. Forth 1- - Subtrahiert eins von der obersten Integer-Zelle. Forth 2* - Multipliziert die oberste Integer-Zelle mit zwei. Forth 2/ - Dividiert die oberste Integer-Zelle durch zwei. Forth ABS Forth AND Forth INVERT Forth LSHIFT Forth MAX Forth MIN Forth MOD Forth NEGATE Forth OR Forth RSHIFT Forth XOR


Forth * - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth *

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

*

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

* ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Arithmetic registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth + - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth +

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

+

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

+ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Arithmetic registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth - - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth -

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

-

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

- ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Arithmetic registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth / - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth /

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

/

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

/ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Arithmetic registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 1+ - Addiert eins zur obersten Integer-Zelle. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth 1+ - Addiert eins zur obersten Integer-Zelle.

Addiert eins zur obersten Integer-Zelle.

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

1+

Beschreibung

Addiert eins zur obersten Integer-Zelle.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

1+ hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie 1+ im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/help_arith_core.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth 1- - Subtrahiert eins von der obersten Integer-Zelle. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth 1- - Subtrahiert eins von der obersten Integer-Zelle.

Subtrahiert eins von der obersten Integer-Zelle.

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

1-

Beschreibung

Subtrahiert eins von der obersten Integer-Zelle.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

1- hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie 1- im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/help_arith_core.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth 2* - Multipliziert die oberste Integer-Zelle mit zwei. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth 2* - Multipliziert die oberste Integer-Zelle mit zwei.

Multipliziert die oberste Integer-Zelle mit zwei.

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

2*

Beschreibung

Multipliziert die oberste Integer-Zelle mit zwei.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

2* hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie 2* im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/help_arith_core.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth 2/ - Dividiert die oberste Integer-Zelle durch zwei. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth 2/ - Dividiert die oberste Integer-Zelle durch zwei.

Dividiert die oberste Integer-Zelle durch zwei.

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

2/

Beschreibung

Dividiert die oberste Integer-Zelle durch zwei.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

2/ hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie 2/ im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/help_arith_core.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth ABS - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth ABS

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

ABS

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

ABS ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Arithmetic registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth AND - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth AND

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

AND

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

AND ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Bitwise registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth INVERT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth INVERT

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

INVERT

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

INVERT ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Bitwise registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth LSHIFT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth LSHIFT

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

LSHIFT

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

LSHIFT ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Bitwise registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth MAX - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth MAX

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

MAX

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

MAX ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Arithmetic registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth MIN - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth MIN

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

MIN

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

MIN ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Arithmetic registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth MOD - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth MOD

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

MOD

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

MOD ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Arithmetic registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth NEGATE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth NEGATE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

NEGATE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

NEGATE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Arithmetic registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth OR - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth OR

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

OR

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

OR ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Bitwise registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth RSHIFT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth RSHIFT

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

RSHIFT

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

RSHIFT ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Bitwise registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth XOR - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Arithmetik & Bitoperationen Hilfe zum PBXB64-Compiler

Forth XOR

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Arithmetik & Bitoperationen

Syntax

XOR

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

XOR ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Bitwise registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth-Vergleiche & Konstanten - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth-Vergleiche & Konstanten

Themen in diesem Kapitel

Forth 0< Forth 0<= Forth 0<> Forth 0= Forth 0> Forth 0>= Forth < - Vorzeichenbehafteter Kleiner-als-Vergleich. Forth <= Forth <> Forth = - Vergleicht zwei Zellen auf Gleichheit. Forth > - Vorzeichenbehafteter Groesser-als-Vergleich. Forth >= Forth BL - Legt den ASCII-Code fuer Leerzeichen auf den Stack. Forth FALSE - Legt den False-Flag auf den Stack. Forth TRUE - Legt den True-Flag auf den Stack. Forth WITHIN


Forth 0< - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth 0<

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Vergleiche & Konstanten

Syntax

0<

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

0< ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Comparison registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 0<= - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth 0<=

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Vergleiche & Konstanten

Syntax

0<=

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

0<= ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Comparison extended registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 0<> - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth 0<>

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Vergleiche & Konstanten

Syntax

0<>

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

0<> ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Comparison registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 0= - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth 0=

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Vergleiche & Konstanten

Syntax

0=

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

0= ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Comparison registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 0> - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth 0>

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Vergleiche & Konstanten

Syntax

0>

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

0> ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Comparison registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 0>= - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth 0>=

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Vergleiche & Konstanten

Syntax

0>=

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

0>= ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Comparison extended registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth < - Vorzeichenbehafteter Kleiner-als-Vergleich. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth < - Vorzeichenbehafteter Kleiner-als-Vergleich.

Vorzeichenbehafteter Kleiner-als-Vergleich.

Kategorie: Forth-Vergleiche & Konstanten

Syntax

<

Beschreibung

Vorzeichenbehafteter Kleiner-als-Vergleich.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

< hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie < im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/core_bool_colon.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth <= - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth <=

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Vergleiche & Konstanten

Syntax

<=

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

<= ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Comparison registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth <> - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth <>

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Vergleiche & Konstanten

Syntax

<>

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

<> ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Comparison registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth = - Vergleicht zwei Zellen auf Gleichheit. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth = - Vergleicht zwei Zellen auf Gleichheit.

Vergleicht zwei Zellen auf Gleichheit.

Kategorie: Forth-Vergleiche & Konstanten

Syntax

=

Beschreibung

Vergleicht zwei Zellen auf Gleichheit.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

= hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie = im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/core_bool_colon.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth > - Vorzeichenbehafteter Groesser-als-Vergleich. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth > - Vorzeichenbehafteter Groesser-als-Vergleich.

Vorzeichenbehafteter Groesser-als-Vergleich.

Kategorie: Forth-Vergleiche & Konstanten

Syntax

>

Beschreibung

Vorzeichenbehafteter Groesser-als-Vergleich.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

> hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie > im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/core_bool_colon.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth >= - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth >=

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Vergleiche & Konstanten

Syntax

>=

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

>= ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Comparison registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BL - Legt den ASCII-Code fuer Leerzeichen auf den Stack. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth BL - Legt den ASCII-Code fuer Leerzeichen auf den Stack.

Legt den ASCII-Code fuer Leerzeichen auf den Stack.

Kategorie: Forth-Vergleiche & Konstanten

Syntax

BL

Beschreibung

Legt den ASCII-Code fuer Leerzeichen auf den Stack.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

BL hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie BL im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/core_bool_constants.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth FALSE - Legt den False-Flag auf den Stack. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth FALSE - Legt den False-Flag auf den Stack.

Legt den False-Flag auf den Stack.

Kategorie: Forth-Vergleiche & Konstanten

Syntax

FALSE

Beschreibung

Legt den False-Flag auf den Stack.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

FALSE hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie FALSE im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/core_bool_constants.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth TRUE - Legt den True-Flag auf den Stack. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth TRUE - Legt den True-Flag auf den Stack.

Legt den True-Flag auf den Stack.

Kategorie: Forth-Vergleiche & Konstanten

Syntax

TRUE

Beschreibung

Legt den True-Flag auf den Stack.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

TRUE hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie TRUE im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/core_bool_constants.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth WITHIN - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Vergleiche & Konstanten Hilfe zum PBXB64-Compiler

Forth WITHIN

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Vergleiche & Konstanten

Syntax

WITHIN

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

WITHIN ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Comparison extended registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth-Definitionen & Übersetzungsstatus - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth-Definitionen & Übersetzungsstatus

Themen in diesem Kapitel

Forth ' Forth 1+ Forth 1- Forth 2* Forth 2/ Forth 2DROP Forth 2DUP Forth 2OVER Forth 2SWAP Forth : - Startet eine Colon-Wortdefinition. Forth ; - Beendet eine Colon-Wortdefinition. Forth < Forth > Forth ? Forth ?DO Forth [ Forth ['] Forth ] Forth ALLOCATE Forth BRIDGE! Forth BRIDGE!F32 Forth BRIDGE!F64 Forth BRIDGE@ Forth BRIDGE@F32 Forth BRIDGE@F64 Forth BRIDGEADDR Forth BRIDGEBUF Forth BRIDGEF32 Forth BRIDGEF64 Forth BRIDGEI64 Forth BRIDGELEN Forth BRIDGEPTR Forth BRIDGEPTRDECL Forth C" Forth C, Forth CATCH Forth CLOSE-FILE Forth CONSTANT - Definiert eine benannte Konstante. Forth CREATE-FILE Forth ENVIRONMENT? Forth ERASE Forth EXECUTE Forth F! Forth F* Forth F** Forth F+ Forth F- Forth F/ Forth F0< Forth F0<> Forth F0= Forth F0> Forth F32 Forth F64 Forth F< Forth F<= Forth F<> Forth F= Forth F> Forth F>= Forth F>N Forth F@ Forth FABS Forth FCOS Forth FDROP Forth FDUP Forth FEXP Forth FILE-POSITION Forth FILE-SIZE Forth FILL Forth FLN Forth FMAX Forth FMIN Forth FNEGATE Forth FOVER Forth FREE Forth FROT Forth FSIN Forth FSQRT Forth FSTARSTAR Forth FSWAP Forth FTAN Forth IMMEDIATE Forth INCLUDE-FILE Forth LITERAL Forth MOVE Forth OPEN-FILE Forth PBADDR Forth PBLEN Forth PBSETF32 Forth PBSETF64 Forth PBSETI64 Forth PBSETSTR Forth PBVALF32 Forth PBVALF64 Forth PBVALI64 Forth PBVALSTR Forth POSTPONE Forth READ-FILE Forth RECURSE - Wiederholt die aktuelle Colon-Definition fuer getestete inline rekursive Definitionen mit begrenzter Expansionsdiagnose. Forth REPOSITION-FILE Forth REQUIRED Forth RESIZE Forth S>F Forth SEARCH Forth STATE Forth THROW Forth VALUE - Definiert ein veraenderliches VALUE-Objekt. Forth VARIABLE - Definiert eine zellbasierte Variable. Forth WRITE-FILE


Forth ' - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth '

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

'

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

' ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Tick and execute registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 1+ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth 1+

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

1+

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

1+ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Arithmetic registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 1- - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth 1-

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

1-

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

1- ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Arithmetic registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 2* - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth 2*

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

2*

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

2* ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Arithmetic registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 2/ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth 2/

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

2/

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

2/ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Arithmetic registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 2DROP - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth 2DROP

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

2DROP

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

2DROP ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack manipulation registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 2DUP - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth 2DUP

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

2DUP

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

2DUP ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack manipulation registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 2OVER - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth 2OVER

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

2OVER

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

2OVER ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack manipulation registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth 2SWAP - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth 2SWAP

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

2SWAP

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

2SWAP ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack manipulation registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth : - Startet eine Colon-Wortdefinition. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth : - Startet eine Colon-Wortdefinition.

Startet eine Colon-Wortdefinition.

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

:

Beschreibung

Startet eine Colon-Wortdefinition.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

: hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie : im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/colon_square.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth ; - Beendet eine Colon-Wortdefinition. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth ; - Beendet eine Colon-Wortdefinition.

Beendet eine Colon-Wortdefinition.

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

;

Beschreibung

Beendet eine Colon-Wortdefinition.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

; hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie ; im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/colon_square.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth < - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth <

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

<

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

< ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Comparison registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth > - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth >

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

>

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

> ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Comparison registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth ? - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth ?

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

?

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

? ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth ?DO - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth ?DO

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

?DO

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

?DO ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie ?DO control flow (compile-only) registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth [ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth [

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

[

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

[ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Compile-time / state words (immediate) registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth ['] - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth [']

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

[']

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

['] ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Tick and execute registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth ] - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth ]

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

]

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

] ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Compile-time / state words (immediate) registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth ALLOCATE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth ALLOCATE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

ALLOCATE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

ALLOCATE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGE! - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGE!

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGE!

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGE! ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGE!F32 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGE!F32

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGE!F32

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGE!F32 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGE!F64 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGE!F64

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGE!F64

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGE!F64 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGE@ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGE@

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGE@

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGE@ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGE@F32 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGE@F32

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGE@F32

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGE@F32 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGE@F64 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGE@F64

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGE@F64

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGE@F64 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGEADDR - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGEADDR

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGEADDR

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGEADDR ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGEBUF - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGEBUF

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGEBUF

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGEBUF ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGEF32 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGEF32

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGEF32

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGEF32 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGEF64 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGEF64

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGEF64

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGEF64 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGEI64 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGEI64

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGEI64

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGEI64 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGELEN - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGELEN

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGELEN

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGELEN ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGEPTR - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGEPTR

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGEPTR

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGEPTR ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BRIDGEPTRDECL - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth BRIDGEPTRDECL

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

BRIDGEPTRDECL

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BRIDGEPTRDECL ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth C" - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth C"

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

C"

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

C" ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie String / source registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth C, - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth C,

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

C,

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

C, ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth CATCH - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth CATCH

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

CATCH

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

CATCH ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Tick and execute registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth CLOSE-FILE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth CLOSE-FILE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

CLOSE-FILE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

CLOSE-FILE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie File access registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth CONSTANT - Definiert eine benannte Konstante. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth CONSTANT - Definiert eine benannte Konstante.

Definiert eine benannte Konstante.

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

CONSTANT

Beschreibung

Definiert eine benannte Konstante.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

CONSTANT hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie CONSTANT im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/constant_variable.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Zurueck zum Befehlsindex


Forth CREATE-FILE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth CREATE-FILE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

CREATE-FILE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

CREATE-FILE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie File access registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth ENVIRONMENT? - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth ENVIRONMENT?

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

ENVIRONMENT?

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

ENVIRONMENT? ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie String / source registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth ERASE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth ERASE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

ERASE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

ERASE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth EXECUTE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth EXECUTE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

EXECUTE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

EXECUTE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Tick and execute registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F! - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F!

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F!

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F! ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F* - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F*

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F*

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F* ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F** - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F**

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F**

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F** ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F+ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F+

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F+

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F+ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F- - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F-

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F-

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F- ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F/ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F/

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F/

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F/ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F0< - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F0<

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F0<

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F0< ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F0<> - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F0<>

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F0<>

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F0<> ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F0= - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F0=

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F0=

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F0= ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F0> - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F0>

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F0>

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F0> ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F32 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F32

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F32

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F32 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F64 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F64

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F64

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F64 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F< - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F<

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F<

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F< ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F<= - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F<=

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F<=

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F<= ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F<> - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F<>

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F<>

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F<> ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F= - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F=

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F=

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F= ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F> - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F>

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F>

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F> ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F>= - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F>=

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F>=

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F>= ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F>N - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F>N

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F>N

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F>N ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth F@ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth F@

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

F@

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

F@ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FABS - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FABS

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FABS

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FABS ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FCOS - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FCOS

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FCOS

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FCOS ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FDROP - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FDROP

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FDROP

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FDROP ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FDUP - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FDUP

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FDUP

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FDUP ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FEXP - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FEXP

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FEXP

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FEXP ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FILE-POSITION - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FILE-POSITION

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FILE-POSITION

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FILE-POSITION ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie File access registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FILE-SIZE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FILE-SIZE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FILE-SIZE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FILE-SIZE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie File access registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FILL - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FILL

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FILL

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FILL ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FLN - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FLN

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FLN

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FLN ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FMAX - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FMAX

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FMAX

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FMAX ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FMIN - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FMIN

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FMIN

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FMIN ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FNEGATE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FNEGATE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FNEGATE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FNEGATE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FOVER - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FOVER

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FOVER

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FOVER ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FREE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FREE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FREE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FREE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FROT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FROT

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FROT

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FROT ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FSIN - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FSIN

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FSIN

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FSIN ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FSQRT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FSQRT

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FSQRT

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FSQRT ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FSTARSTAR - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FSTARSTAR

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FSTARSTAR

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FSTARSTAR ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FSWAP - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FSWAP

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FSWAP

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FSWAP ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth FTAN - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth FTAN

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

FTAN

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

FTAN ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth IMMEDIATE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth IMMEDIATE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

IMMEDIATE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

IMMEDIATE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Compile-time / state words (immediate) registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth INCLUDE-FILE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth INCLUDE-FILE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

INCLUDE-FILE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

INCLUDE-FILE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie File access registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth LITERAL - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth LITERAL

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

LITERAL

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

LITERAL ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Compile-time / state words (immediate) registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth MOVE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth MOVE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

MOVE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

MOVE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth OPEN-FILE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth OPEN-FILE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

OPEN-FILE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

OPEN-FILE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie File access registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth PBADDR - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth PBADDR

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

PBADDR

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PBADDR ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth PBLEN - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth PBLEN

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

PBLEN

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PBLEN ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth PBSETF32 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth PBSETF32

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

PBSETF32

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PBSETF32 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth PBSETF64 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth PBSETF64

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

PBSETF64

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PBSETF64 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth PBSETI64 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth PBSETI64

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

PBSETI64

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PBSETI64 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth PBSETSTR - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth PBSETSTR

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

PBSETSTR

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PBSETSTR ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth PBVALF32 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth PBVALF32

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

PBVALF32

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PBVALF32 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth PBVALF64 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth PBVALF64

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

PBVALF64

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PBVALF64 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth PBVALI64 - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth PBVALI64

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

PBVALI64

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PBVALI64 ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth PBVALSTR - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth PBVALSTR

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

PBVALSTR

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PBVALSTR ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth POSTPONE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth POSTPONE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

POSTPONE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

POSTPONE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Compile-time / state words (immediate) registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth READ-FILE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth READ-FILE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

READ-FILE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

READ-FILE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie File access registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht

← Forth POSTPONE Nach oben Forth RECURSE - Wiederholt die aktuelle Colon-Definition fuer getestete inline rekursive Definitionen mit begrenzter Expansionsdiagnose. →


Forth RECURSE - Wiederholt die aktuelle Colon-Definition fuer getestete inline rekursive Definitionen mit begrenzter Expansionsdiagnose. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth RECURSE - Wiederholt die aktuelle Colon-Definition fuer getestete inline rekursive Definitionen mit begrenzter Expansionsdiagnose.

Wiederholt die aktuelle Colon-Definition fuer getestete inline rekursive Definitionen mit begrenzter Expansionsdiagnose.

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

RECURSE

Beschreibung

Wiederholt die aktuelle Colon-Definition fuer getestete inline rekursive Definitionen mit begrenzter Expansionsdiagnose.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: BEGRENZT / NICHT ZERTIFIZIERT

PBXB64 Certification: [DOCUMENTED]

Beschreibung

RECURSE hat eine eigene Navigationsseite, ist in den aktuellen PBXB64-Forth-Nachweisen aber nicht als erfolgreiches Compile-/Run-Beispiel zertifiziert. Verwenden Sie die benachbarten zertifizierten Forth-Seiten fuer funktionierende Beispiele und behandeln Sie diese Seite bis zu einem passenden Compile-/Run-Test als Syntax- und Kontextdokumentation.

Verwendung im Programm

Behandeln Sie RECURSE als dokumentierte Wortform, auch wenn die Seite nur ein Navigationshinweis ist. Leiten Sie den aktuellen Runtime-Stil aus den benachbarten zertifizierten Seiten ab und ersetzen Sie den Platzhalter-Nachweis durch ein fokussiertes Compile-/Run-Beispiel, bevor Sie sich in einem echten Programm darauf verlassen.

Fehlerfaelle

Wenn die Seite noch nicht zertifiziert ist, besteht der wichtigste Fehler darin, die Syntax bereits als bewiesen anzunehmen. Verwenden Sie bis zu einem eigenen Compile-/Run-Beleg nur die benachbarten getesteten Seiten als Ausfuehrungsnachweis.

Referenzbeispiel

: FACT DUP 1 <= IF DROP 1 EXIT THEN DUP 1 - RECURSE * ; 5 FACT 78 - BYE

Pruefung

Referenzbeispiel: tests/forth/recurse_factorial.fth. Diese Seite dokumentiert das unterstuetzte Wort, ist aber nicht als zertifiziert markiert, weil genau dieses Beispiel nicht Teil des aktuellen sauberen Compile-/Run-Nachweises ist. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth REPOSITION-FILE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth REPOSITION-FILE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

REPOSITION-FILE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

REPOSITION-FILE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie File access registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht

← Forth RECURSE - Wiederholt die aktuelle Colon-Definition fuer getestete inline rekursive Definitionen mit begrenzter Expansionsdiagnose. Nach oben Forth REQUIRED →


Forth REQUIRED - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth REQUIRED

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

REQUIRED

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

REQUIRED ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie File access registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth RESIZE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth RESIZE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

RESIZE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

RESIZE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth S>F - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth S>F

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

S>F

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

S>F ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Float registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth SEARCH - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth SEARCH

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

SEARCH

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

SEARCH ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth STATE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth STATE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

STATE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

STATE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Introspection registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth THROW - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth THROW

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

THROW

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

THROW ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Tick and execute registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth VALUE - Definiert ein veraenderliches VALUE-Objekt. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth VALUE - Definiert ein veraenderliches VALUE-Objekt.

Definiert ein veraenderliches VALUE-Objekt.

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

VALUE

Beschreibung

Definiert ein veraenderliches VALUE-Objekt.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

VALUE hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie VALUE im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/value_to.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth VARIABLE - Definiert eine zellbasierte Variable. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth VARIABLE - Definiert eine zellbasierte Variable.

Definiert eine zellbasierte Variable.

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

VARIABLE

Beschreibung

Definiert eine zellbasierte Variable.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

VARIABLE hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie VARIABLE im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/constant_variable.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Zurueck zum Befehlsindex


Forth WRITE-FILE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Definitionen & Übersetzungsstatus Hilfe zum PBXB64-Compiler

Forth WRITE-FILE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Definitionen & Übersetzungsstatus

Syntax

WRITE-FILE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

WRITE-FILE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie File access registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth-Speicher & Datenobjekte - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Speicher & Datenobjekte Hilfe zum PBXB64-Compiler

Forth-Speicher & Datenobjekte

Themen in diesem Kapitel

Forth ! Forth +! Forth , Forth @ Forth ALLOT - Reserviert Bytes in einem erzeugten Datenobjekt. Forth C! Forth C@ Forth CELL+ Forth CELLS Forth CREATE - Erzeugt ein benanntes Datenobjekt. Forth DOES> - Haengt einem zuletzt mit CREATE angelegten Wort einen Laufzeitkoerper an und laesst beim Ausfuehren seine Adresse auf dem Stack.


Forth ! - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Speicher & Datenobjekte Hilfe zum PBXB64-Compiler

Forth !

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Speicher & Datenobjekte

Syntax

!

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

! ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth +! - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Speicher & Datenobjekte Hilfe zum PBXB64-Compiler

Forth +!

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Speicher & Datenobjekte

Syntax

+!

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

+! ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth , - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Speicher & Datenobjekte Hilfe zum PBXB64-Compiler

Forth ,

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Speicher & Datenobjekte

Syntax

,

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

, ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth @ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Speicher & Datenobjekte Hilfe zum PBXB64-Compiler

Forth @

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Speicher & Datenobjekte

Syntax

@

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

@ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth ALLOT - Reserviert Bytes in einem erzeugten Datenobjekt. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Speicher & Datenobjekte Hilfe zum PBXB64-Compiler

Forth ALLOT - Reserviert Bytes in einem erzeugten Datenobjekt.

Reserviert Bytes in einem erzeugten Datenobjekt.

Kategorie: Forth-Speicher & Datenobjekte

Syntax

ALLOT

Beschreibung

Reserviert Bytes in einem erzeugten Datenobjekt.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

ALLOT hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie ALLOT im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/help_cfetch_cstore.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth C! - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Speicher & Datenobjekte Hilfe zum PBXB64-Compiler

Forth C!

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Speicher & Datenobjekte

Syntax

C!

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

C! ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth C@ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Speicher & Datenobjekte Hilfe zum PBXB64-Compiler

Forth C@

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Speicher & Datenobjekte

Syntax

C@

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

C@ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth CELL+ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Speicher & Datenobjekte Hilfe zum PBXB64-Compiler

Forth CELL+

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Speicher & Datenobjekte

Syntax

CELL+

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

CELL+ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth CELLS - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Speicher & Datenobjekte Hilfe zum PBXB64-Compiler

Forth CELLS

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Speicher & Datenobjekte

Syntax

CELLS

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

CELLS ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Memory registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth CREATE - Erzeugt ein benanntes Datenobjekt. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Speicher & Datenobjekte Hilfe zum PBXB64-Compiler

Forth CREATE - Erzeugt ein benanntes Datenobjekt.

Erzeugt ein benanntes Datenobjekt.

Kategorie: Forth-Speicher & Datenobjekte

Syntax

CREATE

Beschreibung

Erzeugt ein benanntes Datenobjekt.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

CREATE hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie CREATE im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/help_create_comma.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← Forth CELLS Nach oben Forth DOES> - Haengt einem zuletzt mit CREATE angelegten Wort einen Laufzeitkoerper an und laesst beim Ausfuehren seine Adresse auf dem Stack. →


Forth DOES> - Haengt einem zuletzt mit CREATE angelegten Wort einen Laufzeitkoerper an und laesst beim Ausfuehren seine Adresse auf dem Stack. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Speicher & Datenobjekte Hilfe zum PBXB64-Compiler

Forth DOES> - Haengt einem zuletzt mit CREATE angelegten Wort einen Laufzeitkoerper an und laesst beim Ausfuehren seine Adresse auf dem Stack.

Haengt einem zuletzt mit CREATE angelegten Wort einen Laufzeitkoerper an und laesst beim Ausfuehren seine Adresse auf dem Stack.

Kategorie: Forth-Speicher & Datenobjekte

Syntax

DOES>

Beschreibung

Haengt einem zuletzt mit CREATE angelegten Wort einen Laufzeitkoerper an und laesst beim Ausfuehren seine Adresse auf dem Stack.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

DOES> hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie DOES> im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/does_create.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth-Zeichenketten & Konsolen-E/A - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth-Zeichenketten & Konsolen-E/A

Themen in diesem Kapitel

Forth -TRAILING Forth . Forth ." Forth [CHAR] - Kompiliert ein Zeichenliteral innerhalb einer Colon-Definition. Forth ACCEPT Forth BLANK Forth CHAR - Parst das naechste Token und legt dessen ersten Zeichencode ab. Forth CMOVE - Kopiert Bytes von einer niedrigeren Quelladresse in aufsteigender Richtung. Forth CMOVE> - Kopiert Bytes von einer hoeheren Quelladresse in absteigender Richtung. Forth COMPARE Forth COUNT Forth CR Forth EMIT Forth KEY Forth PARSE Forth S" Forth TYPE Forth WORD


Forth -TRAILING - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth -TRAILING

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

-TRAILING

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

-TRAILING ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie String / source extended registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth . - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth .

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

.

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

. ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie I/O registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth ." - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth ."

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

."

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

." ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie I/O registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth [CHAR] - Kompiliert ein Zeichenliteral innerhalb einer Colon-Definition. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth [CHAR] - Kompiliert ein Zeichenliteral innerhalb einer Colon-Definition.

Kompiliert ein Zeichenliteral innerhalb einer Colon-Definition.

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

[CHAR]

Beschreibung

Kompiliert ein Zeichenliteral innerhalb einer Colon-Definition.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

[CHAR] hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie [CHAR] im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/bracket_char_colon.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth ACCEPT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth ACCEPT

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

ACCEPT

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

ACCEPT ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie I/O registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth BLANK - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth BLANK

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

BLANK

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

BLANK ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie String / source extended registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth CHAR - Parst das naechste Token und legt dessen ersten Zeichencode ab. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth CHAR - Parst das naechste Token und legt dessen ersten Zeichencode ab.

Parst das naechste Token und legt dessen ersten Zeichencode ab.

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

CHAR

Beschreibung

Parst das naechste Token und legt dessen ersten Zeichencode ab.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

CHAR hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie CHAR im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/char_word.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth CMOVE - Kopiert Bytes von einer niedrigeren Quelladresse in aufsteigender Richtung. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth CMOVE - Kopiert Bytes von einer niedrigeren Quelladresse in aufsteigender Richtung.

Kopiert Bytes von einer niedrigeren Quelladresse in aufsteigender Richtung.

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

CMOVE

Beschreibung

Kopiert Bytes von einer niedrigeren Quelladresse in aufsteigender Richtung.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: BEGRENZT / NICHT ZERTIFIZIERT

PBXB64 Certification: [DOCUMENTED]

Beschreibung

CMOVE hat eine eigene Navigationsseite, ist in den aktuellen PBXB64-Forth-Nachweisen aber nicht als erfolgreiches Compile-/Run-Beispiel zertifiziert. Verwenden Sie die benachbarten zertifizierten Forth-Seiten fuer funktionierende Beispiele und behandeln Sie diese Seite bis zu einem passenden Compile-/Run-Test als Syntax- und Kontextdokumentation.

Verwendung im Programm

Behandeln Sie CMOVE als dokumentierte Wortform, auch wenn die Seite nur ein Navigationshinweis ist. Leiten Sie den aktuellen Runtime-Stil aus den benachbarten zertifizierten Seiten ab und ersetzen Sie den Platzhalter-Nachweis durch ein fokussiertes Compile-/Run-Beispiel, bevor Sie sich in einem echten Programm darauf verlassen.

Fehlerfaelle

Wenn die Seite noch nicht zertifiziert ist, besteht der wichtigste Fehler darin, die Syntax bereits als bewiesen anzunehmen. Verwenden Sie bis zu einem eigenen Compile-/Run-Beleg nur die benachbarten getesteten Seiten als Ausfuehrungsnachweis.

Referenzbeispiel

CREATE B 8 ALLOT S" "ab" B SWAP CMOVE B C@ 55 - BYE

Pruefung

Referenzbeispiel: tests/forth/string_words.fth. Diese Seite dokumentiert das unterstuetzte Wort, ist aber nicht als zertifiziert markiert, weil genau dieses Beispiel nicht Teil des aktuellen sauberen Compile-/Run-Nachweises ist. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← Forth CHAR - Parst das naechste Token und legt dessen ersten Zeichencode ab. Nach oben Forth CMOVE> - Kopiert Bytes von einer hoeheren Quelladresse in absteigender Richtung. →


Forth CMOVE> - Kopiert Bytes von einer hoeheren Quelladresse in absteigender Richtung. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth CMOVE> - Kopiert Bytes von einer hoeheren Quelladresse in absteigender Richtung.

Kopiert Bytes von einer hoeheren Quelladresse in absteigender Richtung.

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

CMOVE>

Beschreibung

Kopiert Bytes von einer hoeheren Quelladresse in absteigender Richtung.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: BEGRENZT / NICHT ZERTIFIZIERT

PBXB64 Certification: [DOCUMENTED]

Beschreibung

CMOVE> hat eine eigene Navigationsseite, ist in den aktuellen PBXB64-Forth-Nachweisen aber nicht als erfolgreiches Compile-/Run-Beispiel zertifiziert. Verwenden Sie die benachbarten zertifizierten Forth-Seiten fuer funktionierende Beispiele und behandeln Sie diese Seite bis zu einem passenden Compile-/Run-Test als Syntax- und Kontextdokumentation.

Verwendung im Programm

Behandeln Sie CMOVE> als dokumentierte Wortform, auch wenn die Seite nur ein Navigationshinweis ist. Leiten Sie den aktuellen Runtime-Stil aus den benachbarten zertifizierten Seiten ab und ersetzen Sie den Platzhalter-Nachweis durch ein fokussiertes Compile-/Run-Beispiel, bevor Sie sich in einem echten Programm darauf verlassen.

Fehlerfaelle

Wenn die Seite noch nicht zertifiziert ist, besteht der wichtigste Fehler darin, die Syntax bereits als bewiesen anzunehmen. Verwenden Sie bis zu einem eigenen Compile-/Run-Beleg nur die benachbarten getesteten Seiten als Ausfuehrungsnachweis.

Referenzbeispiel

CREATE B 8 ALLOT S" "ab" B SWAP CMOVE> B C@ 55 - BYE

Pruefung

Referenzbeispiel: tests/forth/string_words.fth. Diese Seite dokumentiert das unterstuetzte Wort, ist aber nicht als zertifiziert markiert, weil genau dieses Beispiel nicht Teil des aktuellen sauberen Compile-/Run-Nachweises ist. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth COMPARE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth COMPARE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

COMPARE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

COMPARE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie String / source registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth COUNT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth COUNT

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

COUNT

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

COUNT ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie String / source registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth CR - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth CR

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

CR

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

CR ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie I/O registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth EMIT - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth EMIT

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

EMIT

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

EMIT ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie I/O registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth KEY - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth KEY

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

KEY

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

KEY ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie I/O registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth PARSE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth PARSE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

PARSE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PARSE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie String / source extended registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth S" - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth S"

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

S"

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

S" ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie String / source registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth TYPE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth TYPE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

TYPE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

TYPE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie I/O registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth WORD - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Zeichenketten & Konsolen-E/A Hilfe zum PBXB64-Compiler

Forth WORD

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Zeichenketten & Konsolen-E/A

Syntax

WORD

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

WORD ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie String / source registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth-Kontrollfluss - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Kontrollfluss Hilfe zum PBXB64-Compiler

Forth-Kontrollfluss

Themen in diesem Kapitel

Forth CASE - Startet eine stack-erhaltende Mehrfachverzweigung ueber einen Selektorwert. Forth ELSE - Startet den False-Zweig eines IF-Blocks. Forth ENDCASE - Beendet einen CASE-Block und stellt das zusammengefuehrte Stack-Ergebnis wieder her. Forth ENDOF - Schliesst einen CASE-Zweig und setzt mit dem naechsten Test fort. Forth EXIT - Verlaesst eine Colon-Definition frueh, einschliesslich der getesteten Faelle mit strukturiertem Kontrollfluss. Forth IF - Startet bedingte Ausfuehrung, wenn der Flag wahr ist. Forth OF - Vergleicht den CASE-Selektor mit dem aktuellen Vergleichswert. Forth THEN - Beendet einen IF- oder IF/ELSE-Block.


Forth CASE - Startet eine stack-erhaltende Mehrfachverzweigung ueber einen Selektorwert. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Kontrollfluss Hilfe zum PBXB64-Compiler

Forth CASE - Startet eine stack-erhaltende Mehrfachverzweigung ueber einen Selektorwert.

Startet eine stack-erhaltende Mehrfachverzweigung ueber einen Selektorwert.

Kategorie: Forth-Kontrollfluss

Syntax

CASE

Beschreibung

Startet eine stack-erhaltende Mehrfachverzweigung ueber einen Selektorwert.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

CASE hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie CASE im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/help_case_control.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth ELSE - Startet den False-Zweig eines IF-Blocks. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Kontrollfluss Hilfe zum PBXB64-Compiler

Forth ELSE - Startet den False-Zweig eines IF-Blocks.

Startet den False-Zweig eines IF-Blocks.

Kategorie: Forth-Kontrollfluss

Syntax

ELSE

Beschreibung

Startet den False-Zweig eines IF-Blocks.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

ELSE hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie ELSE im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/if_else_false.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← Forth CASE - Startet eine stack-erhaltende Mehrfachverzweigung ueber einen Selektorwert. Nach oben Forth ENDCASE - Beendet einen CASE-Block und stellt das zusammengefuehrte Stack-Ergebnis wieder her. →


Forth ENDCASE - Beendet einen CASE-Block und stellt das zusammengefuehrte Stack-Ergebnis wieder her. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Kontrollfluss Hilfe zum PBXB64-Compiler

Forth ENDCASE - Beendet einen CASE-Block und stellt das zusammengefuehrte Stack-Ergebnis wieder her.

Beendet einen CASE-Block und stellt das zusammengefuehrte Stack-Ergebnis wieder her.

Kategorie: Forth-Kontrollfluss

Syntax

ENDCASE

Beschreibung

Beendet einen CASE-Block und stellt das zusammengefuehrte Stack-Ergebnis wieder her.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

ENDCASE hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie ENDCASE im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/help_case_control.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth ENDOF - Schliesst einen CASE-Zweig und setzt mit dem naechsten Test fort. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Kontrollfluss Hilfe zum PBXB64-Compiler

Forth ENDOF - Schliesst einen CASE-Zweig und setzt mit dem naechsten Test fort.

Schliesst einen CASE-Zweig und setzt mit dem naechsten Test fort.

Kategorie: Forth-Kontrollfluss

Syntax

ENDOF

Beschreibung

Schliesst einen CASE-Zweig und setzt mit dem naechsten Test fort.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

ENDOF hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie ENDOF im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/help_case_control.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← Forth ENDCASE - Beendet einen CASE-Block und stellt das zusammengefuehrte Stack-Ergebnis wieder her. Nach oben Forth EXIT - Verlaesst eine Colon-Definition frueh, einschliesslich der getesteten Faelle mit strukturiertem Kontrollfluss. →


Forth EXIT - Verlaesst eine Colon-Definition frueh, einschliesslich der getesteten Faelle mit strukturiertem Kontrollfluss. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Kontrollfluss Hilfe zum PBXB64-Compiler

Forth EXIT - Verlaesst eine Colon-Definition frueh, einschliesslich der getesteten Faelle mit strukturiertem Kontrollfluss.

Verlaesst eine Colon-Definition frueh, einschliesslich der getesteten Faelle mit strukturiertem Kontrollfluss.

Kategorie: Forth-Kontrollfluss

Syntax

EXIT

Beschreibung

Verlaesst eine Colon-Definition frueh, einschliesslich der getesteten Faelle mit strukturiertem Kontrollfluss.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

EXIT hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie EXIT im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/exit_inside_if.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← Forth ENDOF - Schliesst einen CASE-Zweig und setzt mit dem naechsten Test fort. Nach oben Forth IF - Startet bedingte Ausfuehrung, wenn der Flag wahr ist. →


Forth IF - Startet bedingte Ausfuehrung, wenn der Flag wahr ist. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Kontrollfluss Hilfe zum PBXB64-Compiler

Forth IF - Startet bedingte Ausfuehrung, wenn der Flag wahr ist.

Startet bedingte Ausfuehrung, wenn der Flag wahr ist.

Kategorie: Forth-Kontrollfluss

Syntax

IF

Beschreibung

Startet bedingte Ausfuehrung, wenn der Flag wahr ist.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

IF hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie IF im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/if_else_true.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← Forth EXIT - Verlaesst eine Colon-Definition frueh, einschliesslich der getesteten Faelle mit strukturiertem Kontrollfluss. Nach oben Forth OF - Vergleicht den CASE-Selektor mit dem aktuellen Vergleichswert. →


Forth OF - Vergleicht den CASE-Selektor mit dem aktuellen Vergleichswert. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Kontrollfluss Hilfe zum PBXB64-Compiler

Forth OF - Vergleicht den CASE-Selektor mit dem aktuellen Vergleichswert.

Vergleicht den CASE-Selektor mit dem aktuellen Vergleichswert.

Kategorie: Forth-Kontrollfluss

Syntax

OF

Beschreibung

Vergleicht den CASE-Selektor mit dem aktuellen Vergleichswert.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

OF hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie OF im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/help_case_control.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth THEN - Beendet einen IF- oder IF/ELSE-Block. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Kontrollfluss Hilfe zum PBXB64-Compiler

Forth THEN - Beendet einen IF- oder IF/ELSE-Block.

Beendet einen IF- oder IF/ELSE-Block.

Kategorie: Forth-Kontrollfluss

Syntax

THEN

Beschreibung

Beendet einen IF- oder IF/ELSE-Block.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

THEN hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie THEN im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/if_no_else.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth-Schleifen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Schleifen Hilfe zum PBXB64-Compiler

Forth-Schleifen

Themen in diesem Kapitel

Forth +LOOP - Beendet eine gezaehlte Schleife mit explizitem positivem oder negativem Literalschritt. Forth AGAIN - Wiederholt eine BEGIN-Schleife bedingungslos. Forth BEGIN - Startet einen strukturierten Schleifenbereich. Forth DO - Startet eine gezaehlte Schleife. Forth I - Legt den aktuellen gezaehlten Schleifenindex auf den Stack. Forth J - Legt den aeusseren gezaehlten Schleifenindex auf den Stack. Forth LEAVE - Verlaesst die naechste gezaehlte Schleife. PBXB64 testet geradliniges LEAVE sowie einfaches und verschachteltes durch IF gesteuertes LEAVE in gezaehlten Schleifen. Forth LOOP - Beendet eine gezaehlte Schleife mit Schrittweite eins. Forth REPEAT - Schliesst eine BEGIN/WHILE-Schleife und springt zurueck. Forth UNLOOP - Bereinigt aktiven gezaehlten Schleifenzustand vor EXIT aus einer Colon-Definition oder vor einem getesteten LEAVE-Pfad. Forth UNTIL - Beendet eine BEGIN-Schleife, wenn der Flag wahr ist. Forth WHILE - Setzt eine BEGIN-Schleife fort, solange der Flag wahr ist.


Forth +LOOP - Beendet eine gezaehlte Schleife mit explizitem positivem oder negativem Literalschritt. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Schleifen Hilfe zum PBXB64-Compiler

Forth +LOOP - Beendet eine gezaehlte Schleife mit explizitem positivem oder negativem Literalschritt.

Beendet eine gezaehlte Schleife mit explizitem positivem oder negativem Literalschritt.

Kategorie: Forth-Schleifen

Syntax

+LOOP

Beschreibung

Beendet eine gezaehlte Schleife mit explizitem positivem oder negativem Literalschritt.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

+LOOP hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie +LOOP im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/plus_loop_negative.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth AGAIN - Wiederholt eine BEGIN-Schleife bedingungslos. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Schleifen Hilfe zum PBXB64-Compiler

Forth AGAIN - Wiederholt eine BEGIN-Schleife bedingungslos.

Wiederholt eine BEGIN-Schleife bedingungslos.

Kategorie: Forth-Schleifen

Syntax

AGAIN

Beschreibung

Wiederholt eine BEGIN-Schleife bedingungslos.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

AGAIN hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie AGAIN im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/begin_again_bye.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← Forth +LOOP - Beendet eine gezaehlte Schleife mit explizitem positivem oder negativem Literalschritt. Nach oben Forth BEGIN - Startet einen strukturierten Schleifenbereich. →


Forth BEGIN - Startet einen strukturierten Schleifenbereich. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Schleifen Hilfe zum PBXB64-Compiler

Forth BEGIN - Startet einen strukturierten Schleifenbereich.

Startet einen strukturierten Schleifenbereich.

Kategorie: Forth-Schleifen

Syntax

BEGIN

Beschreibung

Startet einen strukturierten Schleifenbereich.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

BEGIN hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie BEGIN im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/begin_until_counter.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth DO - Startet eine gezaehlte Schleife. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Schleifen Hilfe zum PBXB64-Compiler

Forth DO - Startet eine gezaehlte Schleife.

Startet eine gezaehlte Schleife.

Kategorie: Forth-Schleifen

Syntax

DO

Beschreibung

Startet eine gezaehlte Schleife.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

DO hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie DO im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/do_loop_sum.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth I - Legt den aktuellen gezaehlten Schleifenindex auf den Stack. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Schleifen Hilfe zum PBXB64-Compiler

Forth I - Legt den aktuellen gezaehlten Schleifenindex auf den Stack.

Legt den aktuellen gezaehlten Schleifenindex auf den Stack.

Kategorie: Forth-Schleifen

Syntax

I

Beschreibung

Legt den aktuellen gezaehlten Schleifenindex auf den Stack.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

I hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie I im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/do_loop_sum.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth J - Legt den aeusseren gezaehlten Schleifenindex auf den Stack. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Schleifen Hilfe zum PBXB64-Compiler

Forth J - Legt den aeusseren gezaehlten Schleifenindex auf den Stack.

Legt den aeusseren gezaehlten Schleifenindex auf den Stack.

Kategorie: Forth-Schleifen

Syntax

J

Beschreibung

Legt den aeusseren gezaehlten Schleifenindex auf den Stack.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

J hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie J im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/do_loop_j_nested.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← Forth I - Legt den aktuellen gezaehlten Schleifenindex auf den Stack. Nach oben Forth LEAVE - Verlaesst die naechste gezaehlte Schleife. PBXB64 testet geradliniges LEAVE sowie einfaches und verschachteltes durch IF gesteuertes LEAVE in gezaehlten Schleifen. →


Forth LEAVE - Verlaesst die naechste gezaehlte Schleife. PBXB64 testet geradliniges LEAVE sowie einfaches und verschachteltes durch IF gesteuertes LEAVE in gezaehlten Schleifen. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Schleifen Hilfe zum PBXB64-Compiler

Forth LEAVE - Verlaesst die naechste gezaehlte Schleife. PBXB64 testet geradliniges LEAVE sowie einfaches und verschachteltes durch IF gesteuertes LEAVE in gezaehlten Schleifen.

Verlaesst die naechste gezaehlte Schleife. PBXB64 testet geradliniges LEAVE sowie einfaches und verschachteltes durch IF gesteuertes LEAVE in gezaehlten Schleifen.

Kategorie: Forth-Schleifen

Syntax

LEAVE

Beschreibung

Verlaesst die naechste gezaehlte Schleife. PBXB64 testet geradliniges LEAVE sowie einfaches und verschachteltes durch IF gesteuertes LEAVE in gezaehlten Schleifen.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

LEAVE hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie LEAVE im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/leave_nested_if_loop.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth LOOP - Beendet eine gezaehlte Schleife mit Schrittweite eins. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Schleifen Hilfe zum PBXB64-Compiler

Forth LOOP - Beendet eine gezaehlte Schleife mit Schrittweite eins.

Beendet eine gezaehlte Schleife mit Schrittweite eins.

Kategorie: Forth-Schleifen

Syntax

LOOP

Beschreibung

Beendet eine gezaehlte Schleife mit Schrittweite eins.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

LOOP hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie LOOP im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/do_loop_sum.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← Forth LEAVE - Verlaesst die naechste gezaehlte Schleife. PBXB64 testet geradliniges LEAVE sowie einfaches und verschachteltes durch IF gesteuertes LEAVE in gezaehlten Schleifen. Nach oben Forth REPEAT - Schliesst eine BEGIN/WHILE-Schleife und springt zurueck. →


Forth REPEAT - Schliesst eine BEGIN/WHILE-Schleife und springt zurueck. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Schleifen Hilfe zum PBXB64-Compiler

Forth REPEAT - Schliesst eine BEGIN/WHILE-Schleife und springt zurueck.

Schliesst eine BEGIN/WHILE-Schleife und springt zurueck.

Kategorie: Forth-Schleifen

Syntax

REPEAT

Beschreibung

Schliesst eine BEGIN/WHILE-Schleife und springt zurueck.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

REPEAT hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie REPEAT im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/begin_while_repeat_counter.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← Forth LOOP - Beendet eine gezaehlte Schleife mit Schrittweite eins. Nach oben Forth UNLOOP - Bereinigt aktiven gezaehlten Schleifenzustand vor EXIT aus einer Colon-Definition oder vor einem getesteten LEAVE-Pfad. →


Forth UNLOOP - Bereinigt aktiven gezaehlten Schleifenzustand vor EXIT aus einer Colon-Definition oder vor einem getesteten LEAVE-Pfad. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Schleifen Hilfe zum PBXB64-Compiler

Forth UNLOOP - Bereinigt aktiven gezaehlten Schleifenzustand vor EXIT aus einer Colon-Definition oder vor einem getesteten LEAVE-Pfad.

Bereinigt aktiven gezaehlten Schleifenzustand vor EXIT aus einer Colon-Definition oder vor einem getesteten LEAVE-Pfad.

Kategorie: Forth-Schleifen

Syntax

UNLOOP

Beschreibung

Bereinigt aktiven gezaehlten Schleifenzustand vor EXIT aus einer Colon-Definition oder vor einem getesteten LEAVE-Pfad.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

UNLOOP hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie UNLOOP im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/unloop_leave_loop.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth UNTIL - Beendet eine BEGIN-Schleife, wenn der Flag wahr ist. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Schleifen Hilfe zum PBXB64-Compiler

Forth UNTIL - Beendet eine BEGIN-Schleife, wenn der Flag wahr ist.

Beendet eine BEGIN-Schleife, wenn der Flag wahr ist.

Kategorie: Forth-Schleifen

Syntax

UNTIL

Beschreibung

Beendet eine BEGIN-Schleife, wenn der Flag wahr ist.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

UNTIL hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie UNTIL im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/begin_until_counter.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

← Forth UNLOOP - Bereinigt aktiven gezaehlten Schleifenzustand vor EXIT aus einer Colon-Definition oder vor einem getesteten LEAVE-Pfad. Nach oben Forth WHILE - Setzt eine BEGIN-Schleife fort, solange der Flag wahr ist. →


Forth WHILE - Setzt eine BEGIN-Schleife fort, solange der Flag wahr ist. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Schleifen Hilfe zum PBXB64-Compiler

Forth WHILE - Setzt eine BEGIN-Schleife fort, solange der Flag wahr ist.

Setzt eine BEGIN-Schleife fort, solange der Flag wahr ist.

Kategorie: Forth-Schleifen

Syntax

WHILE

Beschreibung

Setzt eine BEGIN-Schleife fort, solange der Flag wahr ist.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

WHILE hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie WHILE im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/begin_while_repeat_counter.fth. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Forth-Return-Stapel & Laufzeit - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Return-Stapel & Laufzeit Hilfe zum PBXB64-Compiler

Forth-Return-Stapel & Laufzeit

Themen in diesem Kapitel

Forth >R Forth DEPTH Forth MS Forth R> Forth R@ Forth SOURCE Forth SP! Forth SP@


Forth >R - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Return-Stapel & Laufzeit Hilfe zum PBXB64-Compiler

Forth >R

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Return-Stapel & Laufzeit

Syntax

>R

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

>R ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Return stack registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth DEPTH - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Return-Stapel & Laufzeit Hilfe zum PBXB64-Compiler

Forth DEPTH

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Return-Stapel & Laufzeit

Syntax

DEPTH

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

DEPTH ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack introspection registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth MS - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Return-Stapel & Laufzeit Hilfe zum PBXB64-Compiler

Forth MS

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Return-Stapel & Laufzeit

Syntax

MS

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

MS ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie System registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth R> - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Return-Stapel & Laufzeit Hilfe zum PBXB64-Compiler

Forth R>

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Return-Stapel & Laufzeit

Syntax

R>

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

R> ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Return stack registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth R@ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Return-Stapel & Laufzeit Hilfe zum PBXB64-Compiler

Forth R@

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Return-Stapel & Laufzeit

Syntax

R@

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

R@ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Return stack registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth SOURCE - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Return-Stapel & Laufzeit Hilfe zum PBXB64-Compiler

Forth SOURCE

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Return-Stapel & Laufzeit

Syntax

SOURCE

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

SOURCE ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie String / source registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth SP! - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Return-Stapel & Laufzeit Hilfe zum PBXB64-Compiler

Forth SP!

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Return-Stapel & Laufzeit

Syntax

SP!

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

SP! ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack introspection registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth SP@ - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Forth-Return-Stapel & Laufzeit Hilfe zum PBXB64-Compiler

Forth SP@

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Forth-Return-Stapel & Laufzeit

Syntax

SP@

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

SP@ ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie Stack introspection registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Eingebettetes Forth in BASIC - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Eingebettetes Forth in BASIC Hilfe zum PBXB64-Compiler

Eingebettetes Forth in BASIC

Themen in diesem Kapitel

Forth #ENDFORTH - Beendet einen eingebetteten Forth-Block in PB-Quelltext. Forth #FORTH - Startet einen eingebetteten Forth-Block in PB-Quelltext. Forth PBSET Forth PBVAL Forth PBVAR


Forth #ENDFORTH - Beendet einen eingebetteten Forth-Block in PB-Quelltext. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Eingebettetes Forth in BASIC Hilfe zum PBXB64-Compiler

Forth #ENDFORTH - Beendet einen eingebetteten Forth-Block in PB-Quelltext.

Beendet einen eingebetteten Forth-Block in PB-Quelltext.

Kategorie: Eingebettetes Forth in BASIC

Syntax

#ENDFORTH

Beschreibung

Beendet einen eingebetteten Forth-Block in PB-Quelltext.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

#ENDFORTH hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie #ENDFORTH im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/embedded_numeric.pb. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Zurueck zum Befehlsindex


Forth #FORTH - Startet einen eingebetteten Forth-Block in PB-Quelltext. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Eingebettetes Forth in BASIC Hilfe zum PBXB64-Compiler

Forth #FORTH - Startet einen eingebetteten Forth-Block in PB-Quelltext.

Startet einen eingebetteten Forth-Block in PB-Quelltext.

Kategorie: Eingebettetes Forth in BASIC

Syntax

#FORTH

Beschreibung

Startet einen eingebetteten Forth-Block in PB-Quelltext.

Kind: Forth-Wort/Direktive | Category: Forth-Frontend

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

#FORTH hat eine eigene Seite, weil jeder getestete Forth-Befehl und jede PBXB64-Forth-Direktive einen eigenen Referenzeintrag haben muss. Eigenstaendige Dateien verwenden .fth, .forth oder .4th; eingebettete PB-Bloecke verwenden #FORTH und #ENDFORTH. Das Frontend senkt das unterstuetzte Integer-Stack-Verhalten direkt in PBXB64-IR ab. Die Beispiele sind bewusst konkret: Jede Seite nennt den fokussierten Test, der das dokumentierte Verhalten belegt, statt volle ANS-Abdeckung zu behaupten.

Verwendung im Programm

Verwenden Sie #FORTH im normalen Forth-Quelltext, wenn das aktuelle Programm den auf dieser Seite gezeigten exakten Stack-Effekt benoetigt. Halten Sie den umgebenden Code klein, damit die Testdatei den Befehl isoliert belegen kann, und halten Sie das genannte Beispiel moeglichst nah an der dokumentierten Form.

Fehlerfaelle

Die meisten Fehler entstehen durch die falsche Stack-Form, den falschen Ausfuehrungszustand oder ein Wort aus einer anderen Forth-Teilmenge als der auf dieser Seite dokumentierten. Wenn der Aufrufer ein fehlendes ANS-Wort, einen Floating-Point-Helfer oder ein Dateiwort braucht, darf er nicht erwarten, dass das Beispiel dieser Seite dieses Verhalten abdeckt.

Pruefung

Abgedeckt durch tests/forth/embedded_numeric.pb. Das referenzierte Beispiel wurde bei der Hilfepruefung direkt mit dem aktuellen PBXB64-Compiler kompiliert und ausgefuehrt. Eigenstaendige Beispiele mit PBXB64 sample.fth -o sample.exe kompilieren und die EXE ausfuehren, um Exitcode oder Ausgabe zu pruefen.

Grenzen

Nicht unterstuetzte ANS/Forth-Woerter muessen mit Diagnose fehlschlagen und duerfen nicht als abgeschlossen dokumentiert werden. Vollstaendige Forth-2012-Konformitaet, Dateiwoerter, Floating Point, Locals, Exceptions, Search Order und erweiterte Defining-Word-Semantik liegen ausserhalb dieser Seite, sofern spaetere getestete Seiten den Anspruch nicht erweitern.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Zurueck zum Befehlsindex


Forth PBSET - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Eingebettetes Forth in BASIC Hilfe zum PBXB64-Compiler

Forth PBSET

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Eingebettetes Forth in BASIC

Syntax

PBSET

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PBSET ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth PBVAL - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Eingebettetes Forth in BASIC Hilfe zum PBXB64-Compiler

Forth PBVAL

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Eingebettetes Forth in BASIC

Syntax

PBVAL

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PBVAL ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Forth PBVAR - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › Forth Frontend › Eingebettetes Forth in BASIC Hilfe zum PBXB64-Compiler

Forth PBVAR

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Kategorie: Eingebettetes Forth in BASIC

Syntax

PBVAR

Beschreibung

PBXB64 V15 status: IM QUELLCODE REGISTRIERT

Implementation

PBVAR ist im Live-Quellcode des PBXB64-V15-Forth-Woerterbuchs in der Familie PB interop registriert.

Qualification

Die Forth-Objekt-, Link/Laufzeit-, eingebetteten PB- und Negativspuren bilden den ausfuehrbaren Vertrag. Nicht unterstuetzte Stackformen oder Operanden muessen mit Diagnose abbrechen.

Forth-Sprachuebersicht


Übersicht - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › Übersicht Hilfe zum PBXB64-Compiler

Übersicht

Themen in diesem Kapitel

LOGO-Frontend


LOGO-Frontend - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › Übersicht Hilfe zum PBXB64-Compiler

LOGO-Frontend

PBXB64 enthaelt ein natives LOGO-Frontend fuer Turtle-Grafik, Variablen, Prozeduren, Kontrollfluss, numerische Ausdruecke und Listenhelfer. Dieser Abschnitt ist eine Uebersicht; jede verlinkte Befehlsseite zeigt die nutzbare Syntax und, soweit vorhanden, ein fokussiertes Beispiel.

Kategorie: Übersicht

Beschreibung

PBXB64 enthaelt ein natives LOGO-Frontend fuer Turtle-Grafik, Variablen, Prozeduren, Kontrollfluss, numerische Ausdruecke und Listenhelfer. Dieser Abschnitt ist eine Uebersicht; jede verlinkte Befehlsseite zeigt die nutzbare Syntax und, soweit vorhanden, ein fokussiertes Beispiel.

Diese Seite dient zum Auffinden eines LOGO-Befehls nach Bereich. Die Unterseite enthaelt genaue Syntax, Verhalten, Grenzen und den Pfad zum getesteten Beispiel.

Turtle Motion

  • FD
  • BK
  • RT
  • LT
  • HOME
  • SETXY
  • SETPOS
  • SETH

Pen State

  • PU
  • PD
  • PENREVERSE
  • PENSIZE
  • SETPC

Screen State

  • SETBG
  • CS
  • CLEAN
  • SETSCRUNCH
  • HT
  • ST
  • TEXTSCREEN
  • FULLSCREEN
  • SPLITSCREEN

Drawing

  • FILL
  • LABEL

Console

  • PRINT
  • CT

Variables

  • MAKE
  • LOCAL
  • :name
  • "name

Procedures

  • TO
  • END
  • OUTPUT
  • STOP

Control Flow

  • IF
  • IFELSE
  • REPEAT
  • WHILE

Math

  • SUM
  • DIFFERENCE
  • PRODUCT
  • QUOTIENT
  • REMAINDER
  • GREATERP
  • LESSP
  • EQUALP
  • SIN
  • COS
  • SQRT
  • ABS
  • RANDOM
  • INT
  • ROUND
  • POWER

Lists

  • LIST
  • FIRST
  • LAST
  • BUTFIRST
  • BUTLAST
  • ITEM
  • FPUT
  • LPUT

Grenzen

Diese Seiten dokumentieren die implementierte PBXB64-Teilmenge, nicht vollstaendige UCBLogo-/MSWLogo-Kompatibilitaet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Nach oben


LOGO Turtle-Bewegung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Turtle-Bewegung Hilfe zum PBXB64-Compiler

LOGO Turtle-Bewegung

Themen in diesem Kapitel

LOGO BK - Bewegt die Turtle rueckwaerts LOGO FD - Bewegt die Turtle vorwaerts LOGO HOME - Bewegt die Turtle zum Ursprung und setzt die Richtung zurueck LOGO LT - Dreht die Turtle nach links LOGO RT - Dreht die Turtle nach rechts LOGO SETH - Setzt die Turtle-Richtung in Grad LOGO SETPOS - Setzt die Turtle-Position aus einer Koordinatenliste LOGO SETXY - Setzt die Turtle-Position aus zwei numerischen Ausdruecken


LOGO BK - Bewegt die Turtle rueckwaerts - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Turtle-Bewegung Hilfe zum PBXB64-Compiler

LOGO BK - Bewegt die Turtle rueckwaerts

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

Kategorie: LOGO Turtle-Bewegung

Syntax

BK

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Bewegt die Turtle rueckwaerts.

Beschreibung

BK ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Turtle Motion verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie BK, wenn das Programm eine explizite Turtle-Bewegung oder Richtungsaenderung benoetigt. Kombinieren Sie es mit Stiftzustandsbefehlen wie PU und PD, wenn Bewegung ohne Zeichnung oder mit sichtbarer Spur gewuenscht ist.

Fehlerfaelle

Falsche Koordinaten, ein fehlendes Ziel oder ein unerwarteter Stiftzustand zeigen sich meist als Zeichnung an der falschen Stelle statt als Compile-Fehler. Halten Sie das Beispiel deterministisch, damit jede sichtbare Abweichung vom erwarteten Pfad eindeutig ist.

Fokussiertes Beispiel

BK 50

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO FD - Bewegt die Turtle vorwaerts - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Turtle-Bewegung Hilfe zum PBXB64-Compiler

LOGO FD - Bewegt die Turtle vorwaerts

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

Kategorie: LOGO Turtle-Bewegung

Syntax

FD

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Bewegt die Turtle vorwaerts.

Beschreibung

FD ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Turtle Motion verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie FD, wenn das Programm eine explizite Turtle-Bewegung oder Richtungsaenderung benoetigt. Kombinieren Sie es mit Stiftzustandsbefehlen wie PU und PD, wenn Bewegung ohne Zeichnung oder mit sichtbarer Spur gewuenscht ist.

Fehlerfaelle

Falsche Koordinaten, ein fehlendes Ziel oder ein unerwarteter Stiftzustand zeigen sich meist als Zeichnung an der falschen Stelle statt als Compile-Fehler. Halten Sie das Beispiel deterministisch, damit jede sichtbare Abweichung vom erwarteten Pfad eindeutig ist.

Fokussiertes Beispiel

FD 100

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO HOME - Bewegt die Turtle zum Ursprung und setzt die Richtung zurueck - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Turtle-Bewegung Hilfe zum PBXB64-Compiler

LOGO HOME - Bewegt die Turtle zum Ursprung und setzt die Richtung zurueck

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

Kategorie: LOGO Turtle-Bewegung

Syntax

HOME

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Bewegt die Turtle zum Ursprung und setzt die Richtung zurueck.

Beschreibung

HOME ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Turtle Motion verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie HOME, wenn das Programm eine explizite Turtle-Bewegung oder Richtungsaenderung benoetigt. Kombinieren Sie es mit Stiftzustandsbefehlen wie PU und PD, wenn Bewegung ohne Zeichnung oder mit sichtbarer Spur gewuenscht ist.

Fehlerfaelle

Falsche Koordinaten, ein fehlendes Ziel oder ein unerwarteter Stiftzustand zeigen sich meist als Zeichnung an der falschen Stelle statt als Compile-Fehler. Halten Sie das Beispiel deterministisch, damit jede sichtbare Abweichung vom erwarteten Pfad eindeutig ist.

Fokussiertes Beispiel

HOME

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO LT - Dreht die Turtle nach links - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Turtle-Bewegung Hilfe zum PBXB64-Compiler

LOGO LT - Dreht die Turtle nach links

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

Kategorie: LOGO Turtle-Bewegung

Syntax

LT

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Dreht die Turtle nach links.

Beschreibung

LT ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Turtle Motion verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie LT, wenn das Programm eine explizite Turtle-Bewegung oder Richtungsaenderung benoetigt. Kombinieren Sie es mit Stiftzustandsbefehlen wie PU und PD, wenn Bewegung ohne Zeichnung oder mit sichtbarer Spur gewuenscht ist.

Fehlerfaelle

Falsche Koordinaten, ein fehlendes Ziel oder ein unerwarteter Stiftzustand zeigen sich meist als Zeichnung an der falschen Stelle statt als Compile-Fehler. Halten Sie das Beispiel deterministisch, damit jede sichtbare Abweichung vom erwarteten Pfad eindeutig ist.

Fokussiertes Beispiel

LT 45

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO RT - Dreht die Turtle nach rechts - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Turtle-Bewegung Hilfe zum PBXB64-Compiler

LOGO RT - Dreht die Turtle nach rechts

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

Kategorie: LOGO Turtle-Bewegung

Syntax

RT

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Dreht die Turtle nach rechts.

Beschreibung

RT ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Turtle Motion verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie RT, wenn das Programm eine explizite Turtle-Bewegung oder Richtungsaenderung benoetigt. Kombinieren Sie es mit Stiftzustandsbefehlen wie PU und PD, wenn Bewegung ohne Zeichnung oder mit sichtbarer Spur gewuenscht ist.

Fehlerfaelle

Falsche Koordinaten, ein fehlendes Ziel oder ein unerwarteter Stiftzustand zeigen sich meist als Zeichnung an der falschen Stelle statt als Compile-Fehler. Halten Sie das Beispiel deterministisch, damit jede sichtbare Abweichung vom erwarteten Pfad eindeutig ist.

Fokussiertes Beispiel

RT 90

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO SETH - Setzt die Turtle-Richtung in Grad - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Turtle-Bewegung Hilfe zum PBXB64-Compiler

LOGO SETH - Setzt die Turtle-Richtung in Grad

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

Kategorie: LOGO Turtle-Bewegung

Syntax

SETH

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Setzt die Turtle-Richtung in Grad.

Beschreibung

SETH ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Turtle Motion verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie SETH, wenn das Programm eine explizite Turtle-Bewegung oder Richtungsaenderung benoetigt. Kombinieren Sie es mit Stiftzustandsbefehlen wie PU und PD, wenn Bewegung ohne Zeichnung oder mit sichtbarer Spur gewuenscht ist.

Fehlerfaelle

Falsche Koordinaten, ein fehlendes Ziel oder ein unerwarteter Stiftzustand zeigen sich meist als Zeichnung an der falschen Stelle statt als Compile-Fehler. Halten Sie das Beispiel deterministisch, damit jede sichtbare Abweichung vom erwarteten Pfad eindeutig ist.

Fokussiertes Beispiel

SETH 180

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO SETPOS - Setzt die Turtle-Position aus einer Koordinatenliste - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Turtle-Bewegung Hilfe zum PBXB64-Compiler

LOGO SETPOS - Setzt die Turtle-Position aus einer Koordinatenliste

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

Kategorie: LOGO Turtle-Bewegung

Syntax

SETPOS

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Setzt die Turtle-Position aus einer Koordinatenliste.

Beschreibung

SETPOS ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Turtle Motion verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie SETPOS, wenn das Programm eine explizite Turtle-Bewegung oder Richtungsaenderung benoetigt. Kombinieren Sie es mit Stiftzustandsbefehlen wie PU und PD, wenn Bewegung ohne Zeichnung oder mit sichtbarer Spur gewuenscht ist.

Fehlerfaelle

Falsche Koordinaten, ein fehlendes Ziel oder ein unerwarteter Stiftzustand zeigen sich meist als Zeichnung an der falschen Stelle statt als Compile-Fehler. Halten Sie das Beispiel deterministisch, damit jede sichtbare Abweichung vom erwarteten Pfad eindeutig ist.

Fokussiertes Beispiel

SETPOS [10 20]

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO SETXY - Setzt die Turtle-Position aus zwei numerischen Ausdruecken - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Turtle-Bewegung Hilfe zum PBXB64-Compiler

LOGO SETXY - Setzt die Turtle-Position aus zwei numerischen Ausdruecken

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

Kategorie: LOGO Turtle-Bewegung

Syntax

SETXY

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Turtle Motion

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Setzt die Turtle-Position aus zwei numerischen Ausdruecken.

Beschreibung

SETXY ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Turtle Motion verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie SETXY, wenn das Programm eine explizite Turtle-Bewegung oder Richtungsaenderung benoetigt. Kombinieren Sie es mit Stiftzustandsbefehlen wie PU und PD, wenn Bewegung ohne Zeichnung oder mit sichtbarer Spur gewuenscht ist.

Fehlerfaelle

Falsche Koordinaten, ein fehlendes Ziel oder ein unerwarteter Stiftzustand zeigen sich meist als Zeichnung an der falschen Stelle statt als Compile-Fehler. Halten Sie das Beispiel deterministisch, damit jede sichtbare Abweichung vom erwarteten Pfad eindeutig ist.

Fokussiertes Beispiel

SETXY 10 20

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO Stiftstatus - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Stiftstatus Hilfe zum PBXB64-Compiler

LOGO Stiftstatus

Themen in diesem Kapitel

LOGO PD - Senkt den Stift, damit Bewegungen zeichnen LOGO PENREVERSE - Schaltet den Stift in den Reverse/XOR-Zeichenmodus LOGO PENSIZE - Setzt die Stiftbreite der Turtle LOGO PU - Hebt den Stift, damit Bewegungen nicht zeichnen LOGO SETPC - Setzt den Stiftfarbindex der Turtle


LOGO PD - Senkt den Stift, damit Bewegungen zeichnen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Stiftstatus Hilfe zum PBXB64-Compiler

LOGO PD - Senkt den Stift, damit Bewegungen zeichnen

Art: LOGO command/expression | Category: LOGO Frontend / Pen State

Kategorie: LOGO Stiftstatus

Syntax

PD

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Pen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Senkt den Stift, damit Bewegungen zeichnen.

Beschreibung

PD ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Pen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie PD, um zu steuern, wie spaetere Turtle-Bewegungen gerendert werden. Diese Familie gehoert zum Zeichenvertrag, daher sollte das Beispiel die Zustandsaenderung zeigen, bevor ein weiterer Bewegungsbefehl die Wirkung belegt.

Fehlerfaelle

Wenn PD zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

PD
FD 20

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO PENREVERSE - Schaltet den Stift in den Reverse/XOR-Zeichenmodus - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Stiftstatus Hilfe zum PBXB64-Compiler

LOGO PENREVERSE - Schaltet den Stift in den Reverse/XOR-Zeichenmodus

Art: LOGO command/expression | Category: LOGO Frontend / Pen State

Kategorie: LOGO Stiftstatus

Syntax

PENREVERSE

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Pen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Schaltet den Stift in den Reverse/XOR-Zeichenmodus.

Beschreibung

PENREVERSE ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Pen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie PENREVERSE, um zu steuern, wie spaetere Turtle-Bewegungen gerendert werden. Diese Familie gehoert zum Zeichenvertrag, daher sollte das Beispiel die Zustandsaenderung zeigen, bevor ein weiterer Bewegungsbefehl die Wirkung belegt.

Fehlerfaelle

Wenn PENREVERSE zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

PENREVERSE
FD 40

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO PENSIZE - Setzt die Stiftbreite der Turtle - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Stiftstatus Hilfe zum PBXB64-Compiler

LOGO PENSIZE - Setzt die Stiftbreite der Turtle

Art: LOGO command/expression | Category: LOGO Frontend / Pen State

Kategorie: LOGO Stiftstatus

Syntax

PENSIZE

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Pen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Setzt die Stiftbreite der Turtle.

Beschreibung

PENSIZE ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Pen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie PENSIZE, um zu steuern, wie spaetere Turtle-Bewegungen gerendert werden. Diese Familie gehoert zum Zeichenvertrag, daher sollte das Beispiel die Zustandsaenderung zeigen, bevor ein weiterer Bewegungsbefehl die Wirkung belegt.

Fehlerfaelle

Wenn PENSIZE zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

PENSIZE 3

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO PU - Hebt den Stift, damit Bewegungen nicht zeichnen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Stiftstatus Hilfe zum PBXB64-Compiler

LOGO PU - Hebt den Stift, damit Bewegungen nicht zeichnen

Art: LOGO command/expression | Category: LOGO Frontend / Pen State

Kategorie: LOGO Stiftstatus

Syntax

PU

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Pen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Hebt den Stift, damit Bewegungen nicht zeichnen.

Beschreibung

PU ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Pen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie PU, um zu steuern, wie spaetere Turtle-Bewegungen gerendert werden. Diese Familie gehoert zum Zeichenvertrag, daher sollte das Beispiel die Zustandsaenderung zeigen, bevor ein weiterer Bewegungsbefehl die Wirkung belegt.

Fehlerfaelle

Wenn PU zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

PU
FD 20

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO SETPC - Setzt den Stiftfarbindex der Turtle - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Stiftstatus Hilfe zum PBXB64-Compiler

LOGO SETPC - Setzt den Stiftfarbindex der Turtle

Art: LOGO command/expression | Category: LOGO Frontend / Pen State

Kategorie: LOGO Stiftstatus

Syntax

SETPC

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Pen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Setzt den Stiftfarbindex der Turtle.

Beschreibung

SETPC ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Pen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie SETPC, um zu steuern, wie spaetere Turtle-Bewegungen gerendert werden. Diese Familie gehoert zum Zeichenvertrag, daher sollte das Beispiel die Zustandsaenderung zeigen, bevor ein weiterer Bewegungsbefehl die Wirkung belegt.

Fehlerfaelle

Wenn SETPC zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

SETPC 12

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO Bildschirmstatus - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Bildschirmstatus Hilfe zum PBXB64-Compiler

LOGO Bildschirmstatus

Themen in diesem Kapitel

LOGO CLEAN - Loescht die Zeichenflaeche ohne den Turtle-Zustand zu aendern LOGO CS - Loescht den Bildschirm und kehrt nach Hause zurueck LOGO FULLSCREEN - Schaltet in den Vollbild-Grafikmodus LOGO HT - Versteckt die Turtle LOGO SETBG - Setzt den Hintergrundfarbindex der Turtle LOGO SETSCRUNCH - Setzt den LOGO-Zeichenskalierungsfaktor LOGO SPLITSCREEN - Schaltet in den geteilten Text/Grafik-Modus LOGO ST - Zeigt die Turtle LOGO TEXTSCREEN - Schaltet in den Textbildschirmmodus


LOGO CLEAN - Loescht die Zeichenflaeche ohne den Turtle-Zustand zu aendern - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Bildschirmstatus Hilfe zum PBXB64-Compiler

LOGO CLEAN - Loescht die Zeichenflaeche ohne den Turtle-Zustand zu aendern

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

Kategorie: LOGO Bildschirmstatus

Syntax

CLEAN

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Loescht die Zeichenflaeche ohne den Turtle-Zustand zu aendern.

Beschreibung

CLEAN ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Screen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie CLEAN, wenn das Programm den aktuellen Bildschirmmodus aendern oder die Zeichenflaeche leeren muss. Diese Seite ist richtig, wenn spaeterer Code darauf angewiesen ist, dass der Bildschirmzustand auf Text, Split, Vollbild oder einen bekannten Zeichenausgangszustand gesetzt wurde.

Fehlerfaelle

Wenn CLEAN zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

CLEAN

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO CS - Loescht den Bildschirm und kehrt nach Hause zurueck - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Bildschirmstatus Hilfe zum PBXB64-Compiler

LOGO CS - Loescht den Bildschirm und kehrt nach Hause zurueck

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

Kategorie: LOGO Bildschirmstatus

Syntax

CS

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Loescht den Bildschirm und kehrt nach Hause zurueck.

Beschreibung

CS ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Screen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie CS, wenn das Programm den aktuellen Bildschirmmodus aendern oder die Zeichenflaeche leeren muss. Diese Seite ist richtig, wenn spaeterer Code darauf angewiesen ist, dass der Bildschirmzustand auf Text, Split, Vollbild oder einen bekannten Zeichenausgangszustand gesetzt wurde.

Fehlerfaelle

Wenn CS zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

CS

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO FULLSCREEN - Schaltet in den Vollbild-Grafikmodus - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Bildschirmstatus Hilfe zum PBXB64-Compiler

LOGO FULLSCREEN - Schaltet in den Vollbild-Grafikmodus

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

Kategorie: LOGO Bildschirmstatus

Syntax

FULLSCREEN

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Schaltet in den Vollbild-Grafikmodus.

Beschreibung

FULLSCREEN ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Screen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie FULLSCREEN, wenn das Programm den aktuellen Bildschirmmodus aendern oder die Zeichenflaeche leeren muss. Diese Seite ist richtig, wenn spaeterer Code darauf angewiesen ist, dass der Bildschirmzustand auf Text, Split, Vollbild oder einen bekannten Zeichenausgangszustand gesetzt wurde.

Fehlerfaelle

Wenn FULLSCREEN zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

FULLSCREEN

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO HT - Versteckt die Turtle - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Bildschirmstatus Hilfe zum PBXB64-Compiler

LOGO HT - Versteckt die Turtle

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

Kategorie: LOGO Bildschirmstatus

Syntax

HT

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Versteckt die Turtle.

Beschreibung

HT ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Screen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie HT, wenn das Programm den aktuellen Bildschirmmodus aendern oder die Zeichenflaeche leeren muss. Diese Seite ist richtig, wenn spaeterer Code darauf angewiesen ist, dass der Bildschirmzustand auf Text, Split, Vollbild oder einen bekannten Zeichenausgangszustand gesetzt wurde.

Fehlerfaelle

Wenn HT zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

HT

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO SETBG - Setzt den Hintergrundfarbindex der Turtle - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Bildschirmstatus Hilfe zum PBXB64-Compiler

LOGO SETBG - Setzt den Hintergrundfarbindex der Turtle

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

Kategorie: LOGO Bildschirmstatus

Syntax

SETBG

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Setzt den Hintergrundfarbindex der Turtle.

Beschreibung

SETBG ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Screen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie SETBG, wenn das Programm den aktuellen Bildschirmmodus aendern oder die Zeichenflaeche leeren muss. Diese Seite ist richtig, wenn spaeterer Code darauf angewiesen ist, dass der Bildschirmzustand auf Text, Split, Vollbild oder einen bekannten Zeichenausgangszustand gesetzt wurde.

Fehlerfaelle

Wenn SETBG zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

SETBG 1

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO SETSCRUNCH - Setzt den LOGO-Zeichenskalierungsfaktor - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Bildschirmstatus Hilfe zum PBXB64-Compiler

LOGO SETSCRUNCH - Setzt den LOGO-Zeichenskalierungsfaktor

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

Kategorie: LOGO Bildschirmstatus

Syntax

SETSCRUNCH

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Setzt den LOGO-Zeichenskalierungsfaktor.

Beschreibung

SETSCRUNCH ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Screen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie SETSCRUNCH, wenn das Programm den aktuellen Bildschirmmodus aendern oder die Zeichenflaeche leeren muss. Diese Seite ist richtig, wenn spaeterer Code darauf angewiesen ist, dass der Bildschirmzustand auf Text, Split, Vollbild oder einen bekannten Zeichenausgangszustand gesetzt wurde.

Fehlerfaelle

Wenn SETSCRUNCH zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

SETSCRUNCH 2

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO SPLITSCREEN - Schaltet in den geteilten Text/Grafik-Modus - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Bildschirmstatus Hilfe zum PBXB64-Compiler

LOGO SPLITSCREEN - Schaltet in den geteilten Text/Grafik-Modus

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

Kategorie: LOGO Bildschirmstatus

Syntax

SPLITSCREEN

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Schaltet in den geteilten Text/Grafik-Modus.

Beschreibung

SPLITSCREEN ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Screen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie SPLITSCREEN, wenn das Programm den aktuellen Bildschirmmodus aendern oder die Zeichenflaeche leeren muss. Diese Seite ist richtig, wenn spaeterer Code darauf angewiesen ist, dass der Bildschirmzustand auf Text, Split, Vollbild oder einen bekannten Zeichenausgangszustand gesetzt wurde.

Fehlerfaelle

Wenn SPLITSCREEN zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

SPLITSCREEN

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO ST - Zeigt die Turtle - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Bildschirmstatus Hilfe zum PBXB64-Compiler

LOGO ST - Zeigt die Turtle

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

Kategorie: LOGO Bildschirmstatus

Syntax

ST

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Zeigt die Turtle.

Beschreibung

ST ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Screen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie ST, wenn das Programm den aktuellen Bildschirmmodus aendern oder die Zeichenflaeche leeren muss. Diese Seite ist richtig, wenn spaeterer Code darauf angewiesen ist, dass der Bildschirmzustand auf Text, Split, Vollbild oder einen bekannten Zeichenausgangszustand gesetzt wurde.

Fehlerfaelle

Wenn ST zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

ST

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO TEXTSCREEN - Schaltet in den Textbildschirmmodus - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Bildschirmstatus Hilfe zum PBXB64-Compiler

LOGO TEXTSCREEN - Schaltet in den Textbildschirmmodus

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

Kategorie: LOGO Bildschirmstatus

Syntax

TEXTSCREEN

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Screen State

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Schaltet in den Textbildschirmmodus.

Beschreibung

TEXTSCREEN ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Screen State verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie TEXTSCREEN, wenn das Programm den aktuellen Bildschirmmodus aendern oder die Zeichenflaeche leeren muss. Diese Seite ist richtig, wenn spaeterer Code darauf angewiesen ist, dass der Bildschirmzustand auf Text, Split, Vollbild oder einen bekannten Zeichenausgangszustand gesetzt wurde.

Fehlerfaelle

Wenn TEXTSCREEN zum falschen Zeitpunkt benutzt wird, kann der naechste Zeichenbefehl korrekt aussehen, obwohl der Zustand intern noch falsch ist. Dokumentieren Sie die Zustandsaenderung explizit, damit der Aufrufer weiss, welcher spaetere Befehl davon abhaengt.

Fokussiertes Beispiel

TEXTSCREEN

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO Zeichnen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Zeichnen Hilfe zum PBXB64-Compiler

LOGO Zeichnen

Themen in diesem Kapitel

LOGO FILL - Fuellt ab der aktuellen Turtle-Position LOGO LABEL - Zeichnet Text an der aktuellen Turtle-Position


LOGO FILL - Fuellt ab der aktuellen Turtle-Position - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Zeichnen Hilfe zum PBXB64-Compiler

LOGO FILL - Fuellt ab der aktuellen Turtle-Position

Art: LOGO command/expression | Category: LOGO Frontend / Drawing

Kategorie: LOGO Zeichnen

Syntax

FILL

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Drawing

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Fuellt ab der aktuellen Turtle-Position.

Beschreibung

FILL ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Drawing verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie FILL fuer sichtbare Zeichenoperationen, die Spuren auf dem aktuellen Turtle-Ziel hinterlassen sollen. Halten Sie Ziel, Stiftzustand und Koordinaten stabil, damit das Beispiel die exakten Pixel oder Textpositionen belegen kann, die der Befehl erzeugen soll.

Fehlerfaelle

Falsche Koordinaten, ein fehlendes Ziel oder ein unerwarteter Stiftzustand zeigen sich meist als Zeichnung an der falschen Stelle statt als Compile-Fehler. Halten Sie das Beispiel deterministisch, damit jede sichtbare Abweichung vom erwarteten Pfad eindeutig ist.

Fokussiertes Beispiel

FILL

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO LABEL - Zeichnet Text an der aktuellen Turtle-Position - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Zeichnen Hilfe zum PBXB64-Compiler

LOGO LABEL - Zeichnet Text an der aktuellen Turtle-Position

Art: LOGO command/expression | Category: LOGO Frontend / Drawing

Kategorie: LOGO Zeichnen

Syntax

LABEL

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Drawing

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Zeichnet Text an der aktuellen Turtle-Position.

Beschreibung

LABEL ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Drawing verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie LABEL fuer sichtbare Zeichenoperationen, die Spuren auf dem aktuellen Turtle-Ziel hinterlassen sollen. Halten Sie Ziel, Stiftzustand und Koordinaten stabil, damit das Beispiel die exakten Pixel oder Textpositionen belegen kann, die der Befehl erzeugen soll.

Fehlerfaelle

Falsche Koordinaten, ein fehlendes Ziel oder ein unerwarteter Stiftzustand zeigen sich meist als Zeichnung an der falschen Stelle statt als Compile-Fehler. Halten Sie das Beispiel deterministisch, damit jede sichtbare Abweichung vom erwarteten Pfad eindeutig ist.

Fokussiertes Beispiel

LABEL "Hello"

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO Konsole - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Konsole Hilfe zum PBXB64-Compiler

LOGO Konsole

Themen in diesem Kapitel

LOGO CT - Loescht den Konsolentextbereich LOGO PRINT - Gibt eine Zahl oder Zeichenkette auf der Konsole aus


LOGO CT - Loescht den Konsolentextbereich - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Konsole Hilfe zum PBXB64-Compiler

LOGO CT - Loescht den Konsolentextbereich

Art: LOGO command/expression | Category: LOGO Frontend / Console

Kategorie: LOGO Konsole

Syntax

CT

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Console

PBXB64 Status: AVAILABLE

PBXB64 Certification: [DOCUMENTED]

Funktion

Loescht den Konsolentextbereich.

Beschreibung

CT ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Console verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie CT, wenn das LOGO-Programm mit Konsolentextausgabe arbeiten oder den sichtbaren Konsolenbereich leeren muss. Trennen Sie bei Programmen mit Zeichnung und Text das Konsolenverhalten vom Turtle-Ziel, damit das Beispiel leicht pruefbar bleibt.

Fehlerfaelle

Konsolenseiten sollten nennen, ob umgeleitete Ausgabe, eine fehlende Konsole oder frueherer Text das sichtbare Ergebnis veraendern. Gehen Sie nicht davon aus, dass ein Konsolen-Cleanup harmlos ist, wenn das umgebende Programm erwartet, dass frueherer Text sichtbar bleibt.

Fokussiertes Beispiel

CT

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO PRINT - Gibt eine Zahl oder Zeichenkette auf der Konsole aus - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Konsole Hilfe zum PBXB64-Compiler

LOGO PRINT - Gibt eine Zahl oder Zeichenkette auf der Konsole aus

Art: LOGO command/expression | Category: LOGO Frontend / Console

Kategorie: LOGO Konsole

Syntax

PRINT

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Console

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Gibt eine Zahl oder Zeichenkette auf der Konsole aus.

Beschreibung

PRINT ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Console verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie PRINT, wenn das LOGO-Programm mit Konsolentextausgabe arbeiten oder den sichtbaren Konsolenbereich leeren muss. Trennen Sie bei Programmen mit Zeichnung und Text das Konsolenverhalten vom Turtle-Ziel, damit das Beispiel leicht pruefbar bleibt.

Fehlerfaelle

Konsolenseiten sollten nennen, ob umgeleitete Ausgabe, eine fehlende Konsole oder frueherer Text das sichtbare Ergebnis veraendern. Gehen Sie nicht davon aus, dass ein Konsolen-Cleanup harmlos ist, wenn das umgebende Programm erwartet, dass frueherer Text sichtbar bleibt.

Fokussiertes Beispiel

PRINT 42

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


LOGO Variablen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Variablen Hilfe zum PBXB64-Compiler

LOGO Variablen

Themen in diesem Kapitel

LOGO "name - Erzeugt ein LOGO-Wort/String-Literal LOGO :name - Liest einen LOGO-Variablenwert LOGO LOCAL - Deklariert oder reserviert einen lokalen LOGO-Variablenslot LOGO MAKE - Weist einer LOGO-Variablen einen Wert zu


LOGO "name - Erzeugt ein LOGO-Wort/String-Literal - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Variablen Hilfe zum PBXB64-Compiler

LOGO "name - Erzeugt ein LOGO-Wort/String-Literal

Art: LOGO command/expression | Category: LOGO Frontend / Variables

Kategorie: LOGO Variablen

Syntax

"name

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Variables

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Erzeugt ein LOGO-Wort/String-Literal.

Beschreibung

"name ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Variables verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie "name, wenn das Programm LOGO-Variablen anlegen, zuweisen oder lesen muss. Die Beispiele sollten den exakten Variablennamen, den Wertpfad und den Punkt zeigen, an dem die Variable in spaeteren Ausdruecken oder Prozeduren sichtbar wird.

Fehlerfaelle

Variablenbefehle scheitern in der Praxis, wenn der Aufrufer den falschen Namen, den falschen Bereich oder den falschen Vorwert annimmt. Das Beispiel sollte die Bindung explizit machen, damit ein falscher Zugriff oder ein Ueberschreiben sofort auffaellt.

Fokussiertes Beispiel

MAKE "name 42

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO :name - Liest einen LOGO-Variablenwert - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Variablen Hilfe zum PBXB64-Compiler

LOGO :name - Liest einen LOGO-Variablenwert

Art: LOGO command/expression | Category: LOGO Frontend / Variables

Kategorie: LOGO Variablen

Syntax

:name

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Variables

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Liest einen LOGO-Variablenwert.

Beschreibung

:name ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Variables verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie :name, wenn das Programm LOGO-Variablen anlegen, zuweisen oder lesen muss. Die Beispiele sollten den exakten Variablennamen, den Wertpfad und den Punkt zeigen, an dem die Variable in spaeteren Ausdruecken oder Prozeduren sichtbar wird.

Fehlerfaelle

Variablenbefehle scheitern in der Praxis, wenn der Aufrufer den falschen Namen, den falschen Bereich oder den falschen Vorwert annimmt. Das Beispiel sollte die Bindung explizit machen, damit ein falscher Zugriff oder ein Ueberschreiben sofort auffaellt.

Fokussiertes Beispiel

MAKE "x 42
PRINT :x

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO LOCAL - Deklariert oder reserviert einen lokalen LOGO-Variablenslot - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Variablen Hilfe zum PBXB64-Compiler

LOGO LOCAL - Deklariert oder reserviert einen lokalen LOGO-Variablenslot

Art: LOGO command/expression | Category: LOGO Frontend / Variables

Kategorie: LOGO Variablen

Syntax

LOCAL

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Variables

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Deklariert oder reserviert einen lokalen LOGO-Variablenslot.

Beschreibung

LOCAL ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Variables verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie LOCAL, wenn das Programm LOGO-Variablen anlegen, zuweisen oder lesen muss. Die Beispiele sollten den exakten Variablennamen, den Wertpfad und den Punkt zeigen, an dem die Variable in spaeteren Ausdruecken oder Prozeduren sichtbar wird.

Fehlerfaelle

Variablenbefehle scheitern in der Praxis, wenn der Aufrufer den falschen Namen, den falschen Bereich oder den falschen Vorwert annimmt. Das Beispiel sollte die Bindung explizit machen, damit ein falscher Zugriff oder ein Ueberschreiben sofort auffaellt.

Fokussiertes Beispiel

LOCAL "x

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO MAKE - Weist einer LOGO-Variablen einen Wert zu - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Variablen Hilfe zum PBXB64-Compiler

LOGO MAKE - Weist einer LOGO-Variablen einen Wert zu

Art: LOGO command/expression | Category: LOGO Frontend / Variables

Kategorie: LOGO Variablen

Syntax

MAKE

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Variables

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Weist einer LOGO-Variablen einen Wert zu.

Beschreibung

MAKE ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Variables verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie MAKE, wenn das Programm LOGO-Variablen anlegen, zuweisen oder lesen muss. Die Beispiele sollten den exakten Variablennamen, den Wertpfad und den Punkt zeigen, an dem die Variable in spaeteren Ausdruecken oder Prozeduren sichtbar wird.

Fehlerfaelle

Variablenbefehle scheitern in der Praxis, wenn der Aufrufer den falschen Namen, den falschen Bereich oder den falschen Vorwert annimmt. Das Beispiel sollte die Bindung explizit machen, damit ein falscher Zugriff oder ein Ueberschreiben sofort auffaellt.

Fokussiertes Beispiel

MAKE "x 42

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO Prozeduren - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Prozeduren Hilfe zum PBXB64-Compiler

LOGO Prozeduren

Themen in diesem Kapitel

LOGO END - Beendet eine LOGO-Prozedurdefinition LOGO OUTPUT - Gibt einen Wert aus einer LOGO-Prozedur zurueck LOGO STOP - Verlaesst die aktuelle LOGO-Prozedur bzw. das Programm frueh LOGO TO - Startet eine LOGO-Prozedurdefinition


LOGO END - Beendet eine LOGO-Prozedurdefinition - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Prozeduren Hilfe zum PBXB64-Compiler

LOGO END - Beendet eine LOGO-Prozedurdefinition

Art: LOGO command/expression | Category: LOGO Frontend / Procedures

Kategorie: LOGO Prozeduren

Syntax

END

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Beendet eine LOGO-Prozedurdefinition.

Beschreibung

END ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Procedures verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie END, wenn das Programm eine LOGO-Prozedur definiert oder verlaesst. Prozedurseiten sollten die komplette Blockform zeigen, damit der Aufrufer sieht, wie Argumente, Rueckgabe und vorzeitiges Ende zusammenwirken.

Fehlerfaelle

Prozedurseiten sollten fehlendes END, falsche Argumente und Rueckspruenge ausserhalb der Prozedur als typische Fehlerform nennen. Wenn die Seite einen Rueckgabepfad definiert, sollte sie zeigen, was der Aufrufer bei einem vorzeitigen Ende erwartet.

Fokussiertes Beispiel

TO ANSWER
OUTPUT 42
END

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO OUTPUT - Gibt einen Wert aus einer LOGO-Prozedur zurueck - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Prozeduren Hilfe zum PBXB64-Compiler

LOGO OUTPUT - Gibt einen Wert aus einer LOGO-Prozedur zurueck

Art: LOGO command/expression | Category: LOGO Frontend / Procedures

Kategorie: LOGO Prozeduren

Syntax

OUTPUT

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Gibt einen Wert aus einer LOGO-Prozedur zurueck.

Beschreibung

OUTPUT ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Procedures verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie OUTPUT, wenn das Programm eine LOGO-Prozedur definiert oder verlaesst. Prozedurseiten sollten die komplette Blockform zeigen, damit der Aufrufer sieht, wie Argumente, Rueckgabe und vorzeitiges Ende zusammenwirken.

Fehlerfaelle

Prozedurseiten sollten fehlendes END, falsche Argumente und Rueckspruenge ausserhalb der Prozedur als typische Fehlerform nennen. Wenn die Seite einen Rueckgabepfad definiert, sollte sie zeigen, was der Aufrufer bei einem vorzeitigen Ende erwartet.

Fokussiertes Beispiel

TO ANSWER
OUTPUT 42
END

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO STOP - Verlaesst die aktuelle LOGO-Prozedur bzw. das Programm frueh - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Prozeduren Hilfe zum PBXB64-Compiler

LOGO STOP - Verlaesst die aktuelle LOGO-Prozedur bzw. das Programm frueh

Art: LOGO command/expression | Category: LOGO Frontend / Procedures

Kategorie: LOGO Prozeduren

Syntax

STOP

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [DOCUMENTED]

Funktion

Verlaesst die aktuelle LOGO-Prozedur bzw. das Programm frueh.

Beschreibung

STOP ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Procedures verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie STOP, wenn das Programm eine LOGO-Prozedur definiert oder verlaesst. Prozedurseiten sollten die komplette Blockform zeigen, damit der Aufrufer sieht, wie Argumente, Rueckgabe und vorzeitiges Ende zusammenwirken.

Fehlerfaelle

Prozedurseiten sollten fehlendes END, falsche Argumente und Rueckspruenge ausserhalb der Prozedur als typische Fehlerform nennen. Wenn die Seite einen Rueckgabepfad definiert, sollte sie zeigen, was der Aufrufer bei einem vorzeitigen Ende erwartet.

Fokussiertes Beispiel

STOP

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO TO - Startet eine LOGO-Prozedurdefinition - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Prozeduren Hilfe zum PBXB64-Compiler

LOGO TO - Startet eine LOGO-Prozedurdefinition

Art: LOGO command/expression | Category: LOGO Frontend / Procedures

Kategorie: LOGO Prozeduren

Syntax

TO

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Startet eine LOGO-Prozedurdefinition.

Beschreibung

TO ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Procedures verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie TO, wenn das Programm eine LOGO-Prozedur definiert oder verlaesst. Prozedurseiten sollten die komplette Blockform zeigen, damit der Aufrufer sieht, wie Argumente, Rueckgabe und vorzeitiges Ende zusammenwirken.

Fehlerfaelle

Prozedurseiten sollten fehlendes END, falsche Argumente und Rueckspruenge ausserhalb der Prozedur als typische Fehlerform nennen. Wenn die Seite einen Rueckgabepfad definiert, sollte sie zeigen, was der Aufrufer bei einem vorzeitigen Ende erwartet.

Fokussiertes Beispiel

TO SQUARE :n
REPEAT 4 [FD :n RT 90]
END

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO Kontrollfluss - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Kontrollfluss Hilfe zum PBXB64-Compiler

LOGO Kontrollfluss

Themen in diesem Kapitel

LOGO IF - Fuehrt einen Block aus, wenn eine Bedingung wahr ist LOGO IFELSE - Waehlt zwischen Wahr- und Falsch-Block LOGO REPEAT - Fuehrt einen Block eine feste Anzahl Mal aus LOGO WHILE - Fuehrt einen Block aus, solange eine Bedingung wahr bleibt


LOGO IF - Fuehrt einen Block aus, wenn eine Bedingung wahr ist - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Kontrollfluss Hilfe zum PBXB64-Compiler

LOGO IF - Fuehrt einen Block aus, wenn eine Bedingung wahr ist

Art: LOGO command/expression | Category: LOGO Frontend / Control Flow

Kategorie: LOGO Kontrollfluss

Syntax

IF

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Fuehrt einen Block aus, wenn eine Bedingung wahr ist.

Beschreibung

IF ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Control Flow verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie IF, wenn das Programm zwischen Bloecken waehlen oder einen Block anhand eines numerischen oder logischen Tests wiederholen muss. Ein gutes Beispiel sollte sowohl den ausgefuehrten als auch den uebersprungenen Zweig oder die Schleifengrenze zeigen, die das Ergebnis bestimmt.

Fehlerfaelle

Kontrollflussfehler entstehen meist dadurch, dass der falsche Zweig erwartet wird oder eine Bedingung nie aendert. Das Beispiel sollte die Grenzbedingung klar zeigen, damit die Schleife oder der Zweig nicht missverstanden wird.

Fokussiertes Beispiel

IF 1 [PRINT 42]

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO IFELSE - Waehlt zwischen Wahr- und Falsch-Block - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Kontrollfluss Hilfe zum PBXB64-Compiler

LOGO IFELSE - Waehlt zwischen Wahr- und Falsch-Block

Art: LOGO command/expression | Category: LOGO Frontend / Control Flow

Kategorie: LOGO Kontrollfluss

Syntax

IFELSE

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Waehlt zwischen Wahr- und Falsch-Block.

Beschreibung

IFELSE ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Control Flow verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie IFELSE, wenn das Programm zwischen Bloecken waehlen oder einen Block anhand eines numerischen oder logischen Tests wiederholen muss. Ein gutes Beispiel sollte sowohl den ausgefuehrten als auch den uebersprungenen Zweig oder die Schleifengrenze zeigen, die das Ergebnis bestimmt.

Fehlerfaelle

Kontrollflussfehler entstehen meist dadurch, dass der falsche Zweig erwartet wird oder eine Bedingung nie aendert. Das Beispiel sollte die Grenzbedingung klar zeigen, damit die Schleife oder der Zweig nicht missverstanden wird.

Fokussiertes Beispiel

IFELSE 0 [PRINT 1] [PRINT 42]

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO REPEAT - Fuehrt einen Block eine feste Anzahl Mal aus - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Kontrollfluss Hilfe zum PBXB64-Compiler

LOGO REPEAT - Fuehrt einen Block eine feste Anzahl Mal aus

Art: LOGO command/expression | Category: LOGO Frontend / Control Flow

Kategorie: LOGO Kontrollfluss

Syntax

REPEAT

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [DOCUMENTED]

Funktion

Fuehrt einen Block eine feste Anzahl Mal aus.

Beschreibung

REPEAT ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Control Flow verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie REPEAT, wenn das Programm zwischen Bloecken waehlen oder einen Block anhand eines numerischen oder logischen Tests wiederholen muss. Ein gutes Beispiel sollte sowohl den ausgefuehrten als auch den uebersprungenen Zweig oder die Schleifengrenze zeigen, die das Ergebnis bestimmt.

Fehlerfaelle

Kontrollflussfehler entstehen meist dadurch, dass der falsche Zweig erwartet wird oder eine Bedingung nie aendert. Das Beispiel sollte die Grenzbedingung klar zeigen, damit die Schleife oder der Zweig nicht missverstanden wird.

Fokussiertes Beispiel

REPEAT 4 [FD 50 RT 90]

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO WHILE - Fuehrt einen Block aus, solange eine Bedingung wahr bleibt - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Kontrollfluss Hilfe zum PBXB64-Compiler

LOGO WHILE - Fuehrt einen Block aus, solange eine Bedingung wahr bleibt

Art: LOGO command/expression | Category: LOGO Frontend / Control Flow

Kategorie: LOGO Kontrollfluss

Syntax

WHILE

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Fuehrt einen Block aus, solange eine Bedingung wahr bleibt.

Beschreibung

WHILE ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Control Flow verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie WHILE, wenn das Programm zwischen Bloecken waehlen oder einen Block anhand eines numerischen oder logischen Tests wiederholen muss. Ein gutes Beispiel sollte sowohl den ausgefuehrten als auch den uebersprungenen Zweig oder die Schleifengrenze zeigen, die das Ergebnis bestimmt.

Fehlerfaelle

Kontrollflussfehler entstehen meist dadurch, dass der falsche Zweig erwartet wird oder eine Bedingung nie aendert. Das Beispiel sollte die Grenzbedingung klar zeigen, damit die Schleife oder der Zweig nicht missverstanden wird.

Fokussiertes Beispiel

MAKE "x 0
WHILE :x < 4 [MAKE "x :x + 1]

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO Mathematik - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO Mathematik

Themen in diesem Kapitel

LOGO ABS - Berechnet den Absolutwert LOGO COS - Berechnet den Kosinus aus Gradwerten LOGO DIFFERENCE - Subtrahiert den zweiten Ausdruck vom ersten LOGO EQUALP - Vergleicht zwei Werte auf Gleichheit LOGO GREATERP - Prueft, ob der erste Wert groesser ist LOGO INT - Wandelt einen numerischen Ausdruck in Integer um LOGO LESSP - Prueft, ob der erste Wert kleiner ist LOGO POWER - Potenziert eine Basis mit einem Exponenten LOGO PRODUCT - Multipliziert zwei numerische Ausdruecke LOGO QUOTIENT - Dividiert den ersten Ausdruck durch den zweiten LOGO RANDOM - Erzeugt einen durch das Argument begrenzten Zufallswert LOGO REMAINDER - Liefert den Rest einer Division LOGO ROUND - Rundet einen numerischen Ausdruck auf Integer LOGO SIN - Berechnet den Sinus aus Gradwerten LOGO SQRT - Berechnet die Quadratwurzel LOGO SUM - Addiert zwei numerische Ausdruecke


LOGO ABS - Berechnet den Absolutwert - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO ABS - Berechnet den Absolutwert

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

ABS

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Berechnet den Absolutwert.

Beschreibung

ABS ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie ABS, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

PRINT ABS -42

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO COS - Berechnet den Kosinus aus Gradwerten - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO COS - Berechnet den Kosinus aus Gradwerten

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

COS

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Berechnet den Kosinus aus Gradwerten.

Beschreibung

COS ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie COS, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

PRINT COS 0

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO DIFFERENCE - Subtrahiert den zweiten Ausdruck vom ersten - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO DIFFERENCE - Subtrahiert den zweiten Ausdruck vom ersten

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

DIFFERENCE

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Subtrahiert den zweiten Ausdruck vom ersten.

Beschreibung

DIFFERENCE ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie DIFFERENCE, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

PRINT DIFFERENCE 50 8

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO EQUALP - Vergleicht zwei Werte auf Gleichheit - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO EQUALP - Vergleicht zwei Werte auf Gleichheit

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

EQUALP

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Vergleicht zwei Werte auf Gleichheit.

Beschreibung

EQUALP ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie EQUALP, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

IF EQUALP 42 42 [PRINT 42]

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO GREATERP - Prueft, ob der erste Wert groesser ist - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO GREATERP - Prueft, ob der erste Wert groesser ist

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

GREATERP

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Prueft, ob der erste Wert groesser ist.

Beschreibung

GREATERP ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie GREATERP, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

IF GREATERP 2 1 [PRINT 42]

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO INT - Wandelt einen numerischen Ausdruck in Integer um - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO INT - Wandelt einen numerischen Ausdruck in Integer um

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

INT

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Wandelt einen numerischen Ausdruck in Integer um.

Beschreibung

INT ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie INT, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

PRINT INT 3.9

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO LESSP - Prueft, ob der erste Wert kleiner ist - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO LESSP - Prueft, ob der erste Wert kleiner ist

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

LESSP

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Prueft, ob der erste Wert kleiner ist.

Beschreibung

LESSP ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie LESSP, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

IF LESSP 1 2 [PRINT 42]

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO POWER - Potenziert eine Basis mit einem Exponenten - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO POWER - Potenziert eine Basis mit einem Exponenten

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

POWER

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [DOCUMENTED]

Funktion

Potenziert eine Basis mit einem Exponenten.

Beschreibung

POWER ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie POWER, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

PRINT POWER 2 8

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO PRODUCT - Multipliziert zwei numerische Ausdruecke - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO PRODUCT - Multipliziert zwei numerische Ausdruecke

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

PRODUCT

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Multipliziert zwei numerische Ausdruecke.

Beschreibung

PRODUCT ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie PRODUCT, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

PRINT PRODUCT 6 7

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO QUOTIENT - Dividiert den ersten Ausdruck durch den zweiten - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO QUOTIENT - Dividiert den ersten Ausdruck durch den zweiten

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

QUOTIENT

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Dividiert den ersten Ausdruck durch den zweiten.

Beschreibung

QUOTIENT ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie QUOTIENT, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

PRINT QUOTIENT 84 2

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO RANDOM - Erzeugt einen durch das Argument begrenzten Zufallswert - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO RANDOM - Erzeugt einen durch das Argument begrenzten Zufallswert

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

RANDOM

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Erzeugt einen durch das Argument begrenzten Zufallswert.

Beschreibung

RANDOM ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie RANDOM, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

PRINT RANDOM 10

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO REMAINDER - Liefert den Rest einer Division - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO REMAINDER - Liefert den Rest einer Division

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

REMAINDER

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Liefert den Rest einer Division.

Beschreibung

REMAINDER ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie REMAINDER, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

PRINT REMAINDER 85 43

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO ROUND - Rundet einen numerischen Ausdruck auf Integer - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO ROUND - Rundet einen numerischen Ausdruck auf Integer

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

ROUND

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Rundet einen numerischen Ausdruck auf Integer.

Beschreibung

ROUND ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie ROUND, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

PRINT ROUND 3.5

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO SIN - Berechnet den Sinus aus Gradwerten - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO SIN - Berechnet den Sinus aus Gradwerten

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

SIN

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Berechnet den Sinus aus Gradwerten.

Beschreibung

SIN ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie SIN, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

PRINT SIN 90

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO SQRT - Berechnet die Quadratwurzel - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO SQRT - Berechnet die Quadratwurzel

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

SQRT

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Berechnet die Quadratwurzel.

Beschreibung

SQRT ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie SQRT, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

PRINT SQRT 49

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO SUM - Addiert zwei numerische Ausdruecke - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Mathematik Hilfe zum PBXB64-Compiler

LOGO SUM - Addiert zwei numerische Ausdruecke

Art: LOGO command/expression | Category: LOGO Frontend / Math

Kategorie: LOGO Mathematik

Syntax

SUM

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Addiert zwei numerische Ausdruecke.

Beschreibung

SUM ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Math verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie SUM, wenn das Programm ein numerisches Ergebnis fuer spaetere Turtle-, Variablen- oder Kontrollflussarbeit braucht. Das Beispiel sollte den vollstaendigen Zahlenpfad zeigen und nicht nur den letzten Ausgabe-Wert, damit Prioritaet und Argumentreihenfolge klar bleiben.

Fehlerfaelle

Mathematische Fehler sind meist Eingabeformprobleme: falsche Operandenzahl, falsche Reihenfolge oder nichtnumerische Daten. Die Seite sollte die exakte Operandereihenfolge und das erwartete numerische Ergebnis zeigen, damit Fehlbenutzung auffaellt.

Fokussiertes Beispiel

PRINT SUM 40 2

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO Listen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Listen Hilfe zum PBXB64-Compiler

LOGO Listen

Themen in diesem Kapitel

LOGO BUTFIRST - Liefert eine Liste ohne erstes Element LOGO BUTLAST - Liefert eine Liste ohne letztes Element LOGO FIRST - Liefert das erste Element einer LOGO-Liste LOGO FPUT - Fuegt ein Element vorne in eine LOGO-Liste ein LOGO ITEM - Liefert ein indiziertes Element aus einer LOGO-Liste LOGO LAST - Liefert das letzte Element einer LOGO-Liste LOGO LIST - Erzeugt einen numerischen LOGO-Listenhandle LOGO LPUT - Haengt ein Element an das Ende einer LOGO-Liste an


LOGO BUTFIRST - Liefert eine Liste ohne erstes Element - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Listen Hilfe zum PBXB64-Compiler

LOGO BUTFIRST - Liefert eine Liste ohne erstes Element

Art: LOGO command/expression | Category: LOGO Frontend / Lists

Kategorie: LOGO Listen

Syntax

BUTFIRST

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Lists

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Liefert eine Liste ohne erstes Element.

Beschreibung

BUTFIRST ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Lists verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie BUTFIRST, wenn das Programm einen LOGO-Listenwert aufbauen oder pruefen muss. Die Seite sollte die exakte Listenform vor und nach der Operation zeigen, damit der Aufrufer erkennt, ob der Befehl eine Liste erzeugt, kuerzt oder ein Listenelement extrahiert hat.

Fehlerfaelle

Listenbefehle scheitern, wenn der Aufrufer eine andere Listenform, eine Nicht-Liste als Eingabe oder eine andere Nummerierungsregel annimmt. Das Beispiel sollte die Eingangsliste und die exakte Ergebnisliste oder das Listenelement zeigen, damit der Formvertrag sichtbar wird.

Fokussiertes Beispiel

MAKE "tail BUTFIRST LIST 1 2 3

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO BUTLAST - Liefert eine Liste ohne letztes Element - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Listen Hilfe zum PBXB64-Compiler

LOGO BUTLAST - Liefert eine Liste ohne letztes Element

Art: LOGO command/expression | Category: LOGO Frontend / Lists

Kategorie: LOGO Listen

Syntax

BUTLAST

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Lists

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Liefert eine Liste ohne letztes Element.

Beschreibung

BUTLAST ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Lists verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie BUTLAST, wenn das Programm einen LOGO-Listenwert aufbauen oder pruefen muss. Die Seite sollte die exakte Listenform vor und nach der Operation zeigen, damit der Aufrufer erkennt, ob der Befehl eine Liste erzeugt, kuerzt oder ein Listenelement extrahiert hat.

Fehlerfaelle

Listenbefehle scheitern, wenn der Aufrufer eine andere Listenform, eine Nicht-Liste als Eingabe oder eine andere Nummerierungsregel annimmt. Das Beispiel sollte die Eingangsliste und die exakte Ergebnisliste oder das Listenelement zeigen, damit der Formvertrag sichtbar wird.

Fokussiertes Beispiel

MAKE "head BUTLAST LIST 1 2 3

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO FIRST - Liefert das erste Element einer LOGO-Liste - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Listen Hilfe zum PBXB64-Compiler

LOGO FIRST - Liefert das erste Element einer LOGO-Liste

Art: LOGO command/expression | Category: LOGO Frontend / Lists

Kategorie: LOGO Listen

Syntax

FIRST

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Lists

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Liefert das erste Element einer LOGO-Liste.

Beschreibung

FIRST ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Lists verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie FIRST, wenn das Programm einen LOGO-Listenwert aufbauen oder pruefen muss. Die Seite sollte die exakte Listenform vor und nach der Operation zeigen, damit der Aufrufer erkennt, ob der Befehl eine Liste erzeugt, kuerzt oder ein Listenelement extrahiert hat.

Fehlerfaelle

Listenbefehle scheitern, wenn der Aufrufer eine andere Listenform, eine Nicht-Liste als Eingabe oder eine andere Nummerierungsregel annimmt. Das Beispiel sollte die Eingangsliste und die exakte Ergebnisliste oder das Listenelement zeigen, damit der Formvertrag sichtbar wird.

Fokussiertes Beispiel

PRINT FIRST LIST 42 7

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO FPUT - Fuegt ein Element vorne in eine LOGO-Liste ein - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Listen Hilfe zum PBXB64-Compiler

LOGO FPUT - Fuegt ein Element vorne in eine LOGO-Liste ein

Art: LOGO command/expression | Category: LOGO Frontend / Lists

Kategorie: LOGO Listen

Syntax

FPUT

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Lists

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Fuegt ein Element vorne in eine LOGO-Liste ein.

Beschreibung

FPUT ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Lists verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie FPUT, wenn das Programm einen LOGO-Listenwert aufbauen oder pruefen muss. Die Seite sollte die exakte Listenform vor und nach der Operation zeigen, damit der Aufrufer erkennt, ob der Befehl eine Liste erzeugt, kuerzt oder ein Listenelement extrahiert hat.

Fehlerfaelle

Listenbefehle scheitern, wenn der Aufrufer eine andere Listenform, eine Nicht-Liste als Eingabe oder eine andere Nummerierungsregel annimmt. Das Beispiel sollte die Eingangsliste und die exakte Ergebnisliste oder das Listenelement zeigen, damit der Formvertrag sichtbar wird.

Fokussiertes Beispiel

MAKE "xs FPUT 1 LIST 2 3

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO ITEM - Liefert ein indiziertes Element aus einer LOGO-Liste - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Listen Hilfe zum PBXB64-Compiler

LOGO ITEM - Liefert ein indiziertes Element aus einer LOGO-Liste

Art: LOGO command/expression | Category: LOGO Frontend / Lists

Kategorie: LOGO Listen

Syntax

ITEM

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Lists

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Liefert ein indiziertes Element aus einer LOGO-Liste.

Beschreibung

ITEM ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Lists verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie ITEM, wenn das Programm einen LOGO-Listenwert aufbauen oder pruefen muss. Die Seite sollte die exakte Listenform vor und nach der Operation zeigen, damit der Aufrufer erkennt, ob der Befehl eine Liste erzeugt, kuerzt oder ein Listenelement extrahiert hat.

Fehlerfaelle

Listenbefehle scheitern, wenn der Aufrufer eine andere Listenform, eine Nicht-Liste als Eingabe oder eine andere Nummerierungsregel annimmt. Das Beispiel sollte die Eingangsliste und die exakte Ergebnisliste oder das Listenelement zeigen, damit der Formvertrag sichtbar wird.

Fokussiertes Beispiel

PRINT ITEM 2 LIST 1 42 3

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO LAST - Liefert das letzte Element einer LOGO-Liste - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Listen Hilfe zum PBXB64-Compiler

LOGO LAST - Liefert das letzte Element einer LOGO-Liste

Art: LOGO command/expression | Category: LOGO Frontend / Lists

Kategorie: LOGO Listen

Syntax

LAST

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Lists

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Liefert das letzte Element einer LOGO-Liste.

Beschreibung

LAST ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Lists verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie LAST, wenn das Programm einen LOGO-Listenwert aufbauen oder pruefen muss. Die Seite sollte die exakte Listenform vor und nach der Operation zeigen, damit der Aufrufer erkennt, ob der Befehl eine Liste erzeugt, kuerzt oder ein Listenelement extrahiert hat.

Fehlerfaelle

Listenbefehle scheitern, wenn der Aufrufer eine andere Listenform, eine Nicht-Liste als Eingabe oder eine andere Nummerierungsregel annimmt. Das Beispiel sollte die Eingangsliste und die exakte Ergebnisliste oder das Listenelement zeigen, damit der Formvertrag sichtbar wird.

Fokussiertes Beispiel

PRINT LAST LIST 1 42

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO LIST - Erzeugt einen numerischen LOGO-Listenhandle - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Listen Hilfe zum PBXB64-Compiler

LOGO LIST - Erzeugt einen numerischen LOGO-Listenhandle

Art: LOGO command/expression | Category: LOGO Frontend / Lists

Kategorie: LOGO Listen

Syntax

LIST

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Lists

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Erzeugt einen numerischen LOGO-Listenhandle.

Beschreibung

LIST ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Lists verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie LIST, wenn das Programm einen LOGO-Listenwert aufbauen oder pruefen muss. Die Seite sollte die exakte Listenform vor und nach der Operation zeigen, damit der Aufrufer erkennt, ob der Befehl eine Liste erzeugt, kuerzt oder ein Listenelement extrahiert hat.

Fehlerfaelle

Listenbefehle scheitern, wenn der Aufrufer eine andere Listenform, eine Nicht-Liste als Eingabe oder eine andere Nummerierungsregel annimmt. Das Beispiel sollte die Eingangsliste und die exakte Ergebnisliste oder das Listenelement zeigen, damit der Formvertrag sichtbar wird.

Fokussiertes Beispiel

MAKE "xs LIST 1 2 3

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOGO LPUT - Haengt ein Element an das Ende einer LOGO-Liste an - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › LOGO Frontend › LOGO Listen Hilfe zum PBXB64-Compiler

LOGO LPUT - Haengt ein Element an das Ende einer LOGO-Liste an

Art: LOGO command/expression | Category: LOGO Frontend / Lists

Kategorie: LOGO Listen

Syntax

LPUT

Beschreibung

Art: LOGO command/expression | Category: LOGO Frontend / Lists

PBXB64 Status: AVAILABLE

PBXB64 Certification: [VERIFIZIERTES BEISPIEL]

Funktion

Haengt ein Element an das Ende einer LOGO-Liste an.

Beschreibung

LPUT ist im PBXB64-LOGO-Frontend als Befehl aus dem Bereich Lists verfuegbar. Turtle- und Bildschirmbefehle aendern den Zeichenzustand; Variablen-, Kontrollfluss-, Mathematik- und Listenbefehle aendern den LOGO-Programmzustand.

Numerische Ausdruecke verwenden im aktuellen LOGO-Frontend Double-Precision-Werte. Variablen werden als :name referenziert und ueber MAKE "name value zugewiesen. Bloecke verwenden eckige Klammern.

Verwendung im Programm

Verwenden Sie LPUT, wenn das Programm einen LOGO-Listenwert aufbauen oder pruefen muss. Die Seite sollte die exakte Listenform vor und nach der Operation zeigen, damit der Aufrufer erkennt, ob der Befehl eine Liste erzeugt, kuerzt oder ein Listenelement extrahiert hat.

Fehlerfaelle

Listenbefehle scheitern, wenn der Aufrufer eine andere Listenform, eine Nicht-Liste als Eingabe oder eine andere Nummerierungsregel annimmt. Das Beispiel sollte die Eingangsliste und die exakte Ergebnisliste oder das Listenelement zeigen, damit der Formvertrag sichtbar wird.

Fokussiertes Beispiel

MAKE "xs LPUT 3 LIST 1 2

Pruefung

Ein eigenstaendiges LOGO-Beispiel mit PBXB64 sample.lgo -o sample.exe kompilieren, nachdem das Beispiel in einer LOGO-Quelldatei gespeichert wurde. Bei zertifizierten Eintraegen wurde die oben genannte Beispieldatei kompiliert und mit Exitcode 0 ausgefuehrt.

Grenzen

Diese Seite dokumentiert nur das implementierte PBXB64-Verhalten. Sie behauptet keine vollstaendige LOGO-Dialektkompatibilitaet, zusaetzliche Aliase, Dateiwoerter, Workspace-Verwaltung oder erweiterte Listen-/String-Semantik, sofern keine andere fokussierte Seite diese dokumentiert und prueft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Übersicht - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › Übersicht Hilfe zum PBXB64-Compiler

Übersicht

Themen in diesem Kapitel

SPR/MRT-Frontend


SPR/MRT-Frontend - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › Übersicht Hilfe zum PBXB64-Compiler

SPR/MRT-Frontend

PBXB64 klassifiziert .mrt-Dateien als native SPR-Frontend-Eingaben. Die implementierte Befehlsoberflaeche verwendet dreibuchstabige Befehle mit abschliessendem Punkt und Parametern, die durch senkrechte Striche getrennt sind.

Kategorie: Übersicht

Beschreibung

PBXB64 klassifiziert .mrt-Dateien als native SPR-Frontend-Eingaben. Die implementierte Befehlsoberflaeche verwendet dreibuchstabige Befehle mit abschliessendem Punkt und Parametern, die durch senkrechte Striche getrennt sind.

Befehlsgruppen

Program Control

  • VAR.
  • JMP.
  • GTO.
  • GSB.
  • JSR.
  • RET.
  • ENR.
  • END.
  • DBP.

Conditions

  • IFC.
  • IEV.
  • ELS.
  • EIF.
  • IVB.
  • NVB.
  • IVC.
  • IVP.
  • NVP.
  • IVS.
  • IVV.
  • NEV.
  • NVC.
  • NWC.

Loops and Strings

  • FOR.
  • NEX.
  • DOL.
  • OOP.
  • BRK.
  • CON.
  • CAT.
  • LEN.
  • GSS.
  • RPL.
  • VBT.
  • VLT.
  • VRT.
  • VTL.
  • VTU.

Variables and Math

  • VIC.
  • VDC.
  • RND.
  • VAS.
  • VAU.
  • VAB.
  • VAO.
  • VAI.
  • GVT.
  • CLV.
  • SAV.
  • CAL.
  • CAX.
  • EVA.
  • BIT.
  • FMT.

File and Text I/O

  • CFF.
  • CTF.
  • ATF.
  • IEF.
  • NEF.
  • MKD.
  • SHF.
  • COP.
  • MBT.
  • MBX.
  • DCP.
  • GUT.
  • PRT.
  • OUT.
  • RES.
  • USM.
  • GSC.
  • SBD.
  • SBM.
  • CSP.
  • VRD.
  • ASC.
  • CHR.
  • FEX.
  • FEF.
  • FEL.
  • FEM.
  • FEV.
  • FEP.
  • FES.
  • FER.
  • EFX.
  • FEN.

System and Memory

  • EXE.
  • EXB.
  • EXF.
  • EXO.
  • EXX.
  • KEY.
  • KPR.
  • KRL.
  • MAP.
  • MAW.
  • MDC.
  • MEL.
  • MEM.
  • MLC.
  • MMV.
  • MPO.
  • MRC.
  • MRE.
  • SCW.
  • STW.
  • CLW.
  • HTV.

Pruefung

Jede Befehlsseite ist ein nutzerorientierter Eintrag mit Syntax, Parametern, Verhalten, Grenzen und einem fokussierten .mrt-Beispiel. Breitere Sprachvollstaendigkeit wird nur dort behauptet, wo ein fokussiertes Beispiel oder eine Validierungsspur sie belegt.

Grenzen

Nur dokumentierte Befehle gelten als von der Hilfe abgedeckte Oberflaeche. GUI-, Datei-, System- und Speicherbefehle koennen vom Windows-Laufzeitzustand abhaengen und sollen mit expliziter erwarteter Ausgabe oder Zustandsaenderung getestet werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Nach oben


SPR Programmsteuerung - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Programmsteuerung Hilfe zum PBXB64-Compiler

SPR Programmsteuerung

Themen in diesem Kapitel

DBP. END. ENR. GSB. GTO. JMP. JSR. RET. VAR.


DBP. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Programmsteuerung Hilfe zum PBXB64-Compiler

DBP.

Debug-Ausgabe - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kategorie: SPR Programmsteuerung

Syntax

DBP.[text]

Beschreibung

Debug-Ausgabe - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kind: SPR-Befehl | Category: SPR Frontend / Program Control

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

DBP. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `DBP.[text]`.

Parameter

# | Name/Form | Bedeutung
P1 | text | optional

Verwendung

  • Setzen Sie den Befehl dort ein, wo das Skript verzweigen, ein Unterprogramm aufrufen oder beenden soll, und machen Sie die umgebende Label-Struktur im Beispiel sichtbar.
  • Wenn der Befehl den Ruecksprung beeinflusst, zeigen Sie die naechste Anweisung nach dem Sprung, damit der Kontrollfluss klar bleibt.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_dbp.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


END. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Programmsteuerung Hilfe zum PBXB64-Compiler

END.

Ende - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kategorie: SPR Programmsteuerung

Syntax

END.

Beschreibung

Ende - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kind: SPR-Befehl | Category: SPR Frontend / Program Control

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

END. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `END.`.

Verwendung

  • Setzen Sie den Befehl dort ein, wo das Skript verzweigen, ein Unterprogramm aufrufen oder beenden soll, und machen Sie die umgebende Label-Struktur im Beispiel sichtbar.
  • Wenn der Befehl den Ruecksprung beeinflusst, zeigen Sie die naechste Anweisung nach dem Sprung, damit der Kontrollfluss klar bleibt.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_end.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ENR. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Programmsteuerung Hilfe zum PBXB64-Compiler

ENR.

Ende mit Rueckkehr - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kategorie: SPR Programmsteuerung

Syntax

ENR.

Beschreibung

Ende mit Rueckkehr - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kind: SPR-Befehl | Category: SPR Frontend / Program Control

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

ENR. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `ENR.`.

Verwendung

  • Setzen Sie den Befehl dort ein, wo das Skript verzweigen, ein Unterprogramm aufrufen oder beenden soll, und machen Sie die umgebende Label-Struktur im Beispiel sichtbar.
  • Wenn der Befehl den Ruecksprung beeinflusst, zeigen Sie die naechste Anweisung nach dem Sprung, damit der Kontrollfluss klar bleibt.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_enr.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GSB. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Programmsteuerung Hilfe zum PBXB64-Compiler

GSB.

Unterprogrammaufruf - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kategorie: SPR Programmsteuerung

Syntax

GSB.:label[|arg...]

Beschreibung

Unterprogrammaufruf - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kind: SPR-Befehl | Category: SPR Frontend / Program Control

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

Ruft ein Label als Unterprogramm auf.

Parameter

# | Name/Form | Bedeutung
P1 | :label | erforderlich
P2 | arg... | optional

Verwendung

  • Setzen Sie den Befehl dort ein, wo das Skript verzweigen, ein Unterprogramm aufrufen oder beenden soll, und machen Sie die umgebende Label-Struktur im Beispiel sichtbar.
  • Wenn der Befehl den Ruecksprung beeinflusst, zeigen Sie die naechste Anweisung nach dem Sprung, damit der Kontrollfluss klar bleibt.

Beschreibung

  • Die Ruecksprungadresse wird gespeichert und die Ausfuehrung verzweigt zum Label.
  • Ein spaeteres `RET.` kehrt zur Anweisung nach dem `GSB.`-Aufruf zurueck.
  • Optionale Argumente nach dem Label werden vor dem Sprung in lokale SPR-Variablen kopiert: `$$000` enthaelt die Anzahl, `$$001` das erste Argument, `$$002` das zweite.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Die fokussierte Validierung deckt die einfache aktive Aufrufform ab; beliebig verschachtelte oder wiederholte Ruecksprung-Stack-Paritaet bleibt breitere SPR-Arbeit.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GTO. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Programmsteuerung Hilfe zum PBXB64-Compiler

GTO.

Gehe zu - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kategorie: SPR Programmsteuerung

Syntax

GTO.label

Beschreibung

Gehe zu - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kind: SPR-Befehl | Category: SPR Frontend / Program Control

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

GTO. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `GTO.label`.

Parameter

# | Name/Form | Bedeutung
P1 | label | erforderlich

Verwendung

  • Setzen Sie den Befehl dort ein, wo das Skript verzweigen, ein Unterprogramm aufrufen oder beenden soll, und machen Sie die umgebende Label-Struktur im Beispiel sichtbar.
  • Wenn der Befehl den Ruecksprung beeinflusst, zeigen Sie die naechste Anweisung nach dem Sprung, damit der Kontrollfluss klar bleibt.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_gto.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


JMP. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Programmsteuerung Hilfe zum PBXB64-Compiler

JMP.

Sprung - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kategorie: SPR Programmsteuerung

Syntax

JMP.label

Beschreibung

Sprung - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kind: SPR-Befehl | Category: SPR Frontend / Program Control

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

Springt zu einem Label oder ruft ein Label wie ein Unterprogramm auf, abhaengig vom Label-Marker.

Parameter

# | Name/Form | Bedeutung
P1 | label | erforderlich

Verwendung

  • Setzen Sie den Befehl dort ein, wo das Skript verzweigen, ein Unterprogramm aufrufen oder beenden soll, und machen Sie die umgebende Label-Struktur im Beispiel sichtbar.
  • Wenn der Befehl den Ruecksprung beeinflusst, zeigen Sie die naechste Anweisung nach dem Sprung, damit der Kontrollfluss klar bleibt.

Beschreibung

  • `JMP.label` ist ein normaler GOTO-Sprung und kehrt nicht automatisch zur Folgezeile zurueck.
  • `JMP.:label` ist ein GOSUB-Sprung; ein spaeteres `RET.` kehrt zur Anweisung nach `JMP.` zurueck.
  • Zwischen Befehl und Parameter darf kein Leerzeichen stehen; `JMP.:label` ist gueltig, `JMP. :label` ist ungueltig.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Das Label muss im selben `.mrt`-Block existieren. Nur `JMP.` wechselt bei einem Ziel mit fuehrendem `:` in den GOSUB-Modus.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


JSR. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Programmsteuerung Hilfe zum PBXB64-Compiler

JSR.

Sprung ins Unterprogramm - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kategorie: SPR Programmsteuerung

Syntax

JSR.:label[|arg...]

Beschreibung

Sprung ins Unterprogramm - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kind: SPR-Befehl | Category: SPR Frontend / Program Control

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

Ruft ein Label als Unterprogramm mit optionalen lokalen Parametern auf.

Parameter

# | Name/Form | Bedeutung
P1 | :label | erforderlich
P2 | arg... | optional

Verwendung

  • Setzen Sie den Befehl dort ein, wo das Skript verzweigen, ein Unterprogramm aufrufen oder beenden soll, und machen Sie die umgebende Label-Struktur im Beispiel sichtbar.
  • Wenn der Befehl den Ruecksprung beeinflusst, zeigen Sie die naechste Anweisung nach dem Sprung, damit der Kontrollfluss klar bleibt.

Beschreibung

  • `JSR.:label|arg1|arg2` entspricht der originalen MiniRobot-Parameterform.
  • Der Aufruf speichert die Ruecksprungadresse, fuellt `$$000`, `$$001`, `$$002` und `RET.` setzt danach hinter dem `JSR.` fort.
  • Die Parameter werden in der dokumentierten Reihenfolge in die lokalen Rueckgabefelder uebernommen; historische Varianten mit anderer Bindung brauchen einen eigenen fokussierten Test.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Das Ziel-Label muss existieren.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RET. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Programmsteuerung Hilfe zum PBXB64-Compiler

RET.

Rueckkehr - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kategorie: SPR Programmsteuerung

Syntax

RET.

Beschreibung

Rueckkehr - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kind: SPR-Befehl | Category: SPR Frontend / Program Control

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

Kehrt vom letzten `GSB.`- oder `JSR.`-Aufruf zurueck.

Verwendung

  • Setzen Sie den Befehl dort ein, wo das Skript verzweigen, ein Unterprogramm aufrufen oder beenden soll, und machen Sie die umgebende Label-Struktur im Beispiel sichtbar.
  • Wenn der Befehl den Ruecksprung beeinflusst, zeigen Sie die naechste Anweisung nach dem Sprung, damit der Kontrollfluss klar bleibt.

Beschreibung

  • Die Ausfuehrung wird am gespeicherten Ruecksprungblock fortgesetzt.
  • `RET.` nimmt keine Parameter an.
  • Ein `RET.` ohne passenden Unterprogrammaufruf ist ein Compilezeitfehler.
  • Der belegte Vertrag umfasst die Rueckkehr zur Anweisung direkt nach dem letzten aktiven Unterprogrammaufruf.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Nur in Code verwenden, der ueber `GSB.` oder `JSR.` erreicht wird. Verschachtelte oder alternative historische Ruecksprungmodelle bleiben ausserhalb dieser Seite, bis sie durch eigene SPR-Link/Run-Tests belegt sind.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VAR. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Programmsteuerung Hilfe zum PBXB64-Compiler

VAR.

Variablenzuweisung - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kategorie: SPR Programmsteuerung

Syntax

VAR.$$TGT=value / VAR.$$TGT+text

Beschreibung

Variablenzuweisung - Programmsteuerungsbefehle fuer Variablen, Labels, Subroutinen, Programmende und Diagnoseausgabe.

Kind: SPR-Befehl | Category: SPR Frontend / Program Control

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VAR. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VAR.$$TGT=value / VAR.$$TGT+text`.

Parameter

# | Name/Form | Bedeutung
P1 | $$TGT | erforderliche Zielvariable
P2 | value / VAR.$$TGT+text | erforderlicher Wert

Verwendung

  • Setzen Sie den Befehl dort ein, wo das Skript verzweigen, ein Unterprogramm aufrufen oder beenden soll, und machen Sie die umgebende Label-Struktur im Beispiel sichtbar.
  • Wenn der Befehl den Ruecksprung beeinflusst, zeigen Sie die naechste Anweisung nach dem Sprung, damit der Kontrollfluss klar bleibt.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_var.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SPR Bedingungen - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Bedingungen Hilfe zum PBXB64-Compiler

SPR Bedingungen

Themen in diesem Kapitel

EIF. ELS. IEV. IFC. IVB. IVC. IVP. IVS. IVV. NEV. NVC. NWC.


EIF. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Bedingungen Hilfe zum PBXB64-Compiler

EIF.

Ende der Bedingung - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: SPR Bedingungen

Syntax

EIF.

Beschreibung

Ende der Bedingung - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

EIF. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `EIF.`.

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_eif.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ELS. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Bedingungen Hilfe zum PBXB64-Compiler

ELS.

Sonst-Zweig - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: SPR Bedingungen

Syntax

ELS.

Beschreibung

Sonst-Zweig - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

ELS. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `ELS.`.

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_els.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


IEV. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Bedingungen Hilfe zum PBXB64-Compiler

IEV.

Variable existiert - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: SPR Bedingungen

Syntax

IEV.$$VAR[|label]

Beschreibung

Variable existiert - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

IEV. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `IEV.$$VAR[|label]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | label | optional

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_iev.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


IFC. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Bedingungen Hilfe zum PBXB64-Compiler

IFC.

Fuzzy-Vergleich - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: SPR Bedingungen

Syntax

IFC.textA|textB|threshold[|m]

Beschreibung

Fuzzy-Vergleich - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

IFC. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `IFC.textA|textB|threshold[|m]`.

Parameter

# | Name/Form | Bedeutung
P1 | textA | erforderlich
P2 | textB | erforderlich
P3 | threshold | erforderlich
P4 | m | optional

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_ifc.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


IVB. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Bedingungen Hilfe zum PBXB64-Compiler

IVB.

Variable im Bereich - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: SPR Bedingungen

Syntax

IVB.$$VAR|min|max[|label]

Beschreibung

Variable im Bereich - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

IVB. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `IVB.$$VAR|min|max[|label]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | min | erforderlich
P3 | max | erforderlich
P4 | label | optional

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_ivb.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


IVC. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Bedingungen Hilfe zum PBXB64-Compiler

IVC.

Variable enthaelt - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: SPR Bedingungen

Syntax

IVC.$$VAR|operator|value[|label][|e]

Beschreibung

Variable enthaelt - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

IVC. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `IVC.$$VAR|operator|value[|label][|e]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | operator | erforderlich
P3 | value | erforderlich
P4 | label | optional
P5 | e | optional

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_ivc.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


IVP. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Bedingungen Hilfe zum PBXB64-Compiler

IVP.

Variablenmuster - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: SPR Bedingungen

Syntax

IVP.$$VAR=pattern[|label][|e]

Beschreibung

Variablenmuster - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

IVP. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `IVP.$$VAR=pattern[|label][|e]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR=pattern | erforderlich
P2 | label | optional
P3 | e | optional

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_ivp.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


IVS. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Bedingungen Hilfe zum PBXB64-Compiler

IVS.

Zeichenkettenvergleich - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: SPR Bedingungen

Syntax

IVS.$$VAR|string[|label]

Beschreibung

Zeichenkettenvergleich - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

IVS. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `IVS.$$VAR|string[|label]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | string | erforderlich
P3 | label | optional

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_ivs.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


IVV. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Bedingungen Hilfe zum PBXB64-Compiler

IVV.

Variablenwert - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: SPR Bedingungen

Syntax

IVV.$$VAR|value[|label]

Beschreibung

Variablenwert - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

IVV. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `IVV.$$VAR|value[|label]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | value | erforderlich
P3 | label | optional

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_ivv.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


NEV. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Bedingungen Hilfe zum PBXB64-Compiler

NEV.

Variable existiert nicht - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: SPR Bedingungen

Syntax

NEV.$$VAR[|label]

Beschreibung

Variable existiert nicht - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

NEV. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `NEV.$$VAR[|label]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | label | optional

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_nev.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


NVC. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Bedingungen Hilfe zum PBXB64-Compiler

NVC.

Variable enthaelt nicht - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: SPR Bedingungen

Syntax

NVC.$$VAR|operator|value[|label][|e]

Beschreibung

Variable enthaelt nicht - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

NVC. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `NVC.$$VAR|operator|value[|label][|e]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | operator | erforderlich
P3 | value | erforderlich
P4 | label | optional
P5 | e | optional

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_nvc.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


NWC. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Bedingungen Hilfe zum PBXB64-Compiler

NWC.

Negativer Vergleich - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: SPR Bedingungen

Syntax

NWC.textA|textB|threshold[|m]

Beschreibung

Negativer Vergleich - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

NWC. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `NWC.textA|textB|threshold[|m]`.

Parameter

# | Name/Form | Bedeutung
P1 | textA | erforderlich
P2 | textB | erforderlich
P3 | threshold | erforderlich
P4 | m | optional

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_nwc.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SPR Schleifen & Zeichenketten - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

SPR Schleifen & Zeichenketten

Themen in diesem Kapitel

BRK. CAT. CON. DOL. FOR. GSS. LEN. NEX. OOP. RPL. VBT. VTL. VTU.


BRK. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

BRK.

Schleife abbrechen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: SPR Schleifen & Zeichenketten

Syntax

BRK.

Beschreibung

Schleife abbrechen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

BRK. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `BRK.`.

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_brk.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CAT. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

CAT.

Verketten - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: SPR Schleifen & Zeichenketten

Syntax

CAT.$$VAR|text1[|text2...]

Beschreibung

Verketten - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

CAT. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `CAT.$$VAR|text1[|text2...]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | text1 | erforderlich
P3 | text2... | optional

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_cat.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CON. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

CON.

Schleife fortsetzen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: SPR Schleifen & Zeichenketten

Syntax

CON.

Beschreibung

Schleife fortsetzen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

CON. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `CON.`.

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_con.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


DOL. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

DOL.

Do-Schleife - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: SPR Schleifen & Zeichenketten

Syntax

DOL.[condition]

Beschreibung

Do-Schleife - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

DOL. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `DOL.[condition]`.

Parameter

# | Name/Form | Bedeutung
P1 | condition | optional

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_dol.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FOR. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

FOR.

Zaehlschleife - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: SPR Schleifen & Zeichenketten

Syntax

FOR.$$IDX|start|end[|step]

Beschreibung

Zaehlschleife - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

FOR. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `FOR.$$IDX|start|end[|step]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$IDX | erforderlich
P2 | start | erforderlich
P3 | end | erforderlich
P4 | step | optional

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_for.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GSS. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

GSS.

Teilzeichenkette holen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: SPR Schleifen & Zeichenketten

Syntax

GSS.start|end[|source][|$$RES]

Beschreibung

Teilzeichenkette holen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

GSS. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `GSS.start|end[|source][|$$RES]`.

Parameter

# | Name/Form | Bedeutung
P1 | start | erforderlich
P2 | end | erforderlich
P3 | source | optional
P4 | $$RES | optional

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_gss.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LEN. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

LEN.

Laenge - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: SPR Schleifen & Zeichenketten

Syntax

LEN.source[|$$RES]

Beschreibung

Laenge - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

LEN. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `LEN.source[|$$RES]`.

Parameter

# | Name/Form | Bedeutung
P1 | source | erforderlich
P2 | $$RES | optional

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_len.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


NEX. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

NEX.

Naechster Schleifendurchlauf - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: SPR Schleifen & Zeichenketten

Syntax

NEX.

Beschreibung

Naechster Schleifendurchlauf - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

NEX. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `NEX.`.

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_nex.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


OOP. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

OOP.

Schleifenende - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: SPR Schleifen & Zeichenketten

Syntax

OOP.[condition]

Beschreibung

Schleifenende - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

OOP. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `OOP.[condition]`.

Parameter

# | Name/Form | Bedeutung
P1 | condition | optional

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_oop.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RPL. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

RPL.

Ersetzen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: SPR Schleifen & Zeichenketten

Syntax

RPL.$$VAR|find|replace[|option]

Beschreibung

Ersetzen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

RPL. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `RPL.$$VAR|find|replace[|option]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | find | erforderlich
P3 | replace | erforderlich
P4 | option | optional

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_rpl.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VBT. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

VBT.

Variable beidseitig trimmen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: SPR Schleifen & Zeichenketten

Syntax

VBT.$$VAR[|chars]

Beschreibung

Variable beidseitig trimmen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VBT. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VBT.$$VAR[|chars]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | chars | optional

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_vbt.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VTL. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

VTL.

Variable in Kleinbuchstaben - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: SPR Schleifen & Zeichenketten

Syntax

VTL.$$VAR or VTL.$$TAR|source

Beschreibung

Variable in Kleinbuchstaben - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VTL. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VTL.$$VAR or VTL.$$TAR|source`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR or VTL.$$TAR | erforderlich
P2 | source | erforderlich

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_vtl.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VTU. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Schleifen & Zeichenketten Hilfe zum PBXB64-Compiler

VTU.

Variable in Grossbuchstaben - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: SPR Schleifen & Zeichenketten

Syntax

VTU.$$VAR or VTU.$$TAR|source

Beschreibung

Variable in Grossbuchstaben - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VTU. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VTU.$$VAR or VTU.$$TAR|source`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR or VTU.$$TAR | erforderlich
P2 | source | erforderlich

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_vtu.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SPR Variablen & Mathematik - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

SPR Variablen & Mathematik

Themen in diesem Kapitel

BIT. CAL. CAX. CLV. EVA. FMT. GVT. RES. RND. SAV. VAB. VAI. VAO. VDC. VIC.


BIT. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

BIT.

Bitoperationen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

BIT.Get|value|bit|$$RES|1

Beschreibung

Bitoperationen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

BIT. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `BIT.Get|value|bit|$$RES|1`.

Parameter

# | Name/Form | Bedeutung
P1 | Get | erforderlich
P2 | value | erforderlich
P3 | bit | erforderlich
P4 | $$RES | erforderlich
P5 | 1 | erforderlich

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_bit.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CAL. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

CAL.

Berechnen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

CAL.$$RES=expression[|flags]

Beschreibung

Berechnen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

CAL. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `CAL.$$RES=expression[|flags]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$RES=expression | erforderlich
P2 | flags | optional

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_cal.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CAX. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

CAX.

Erweitert berechnen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

CAX.$$RES=expression[|flags]

Beschreibung

Erweitert berechnen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

CAX. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `CAX.$$RES=expression[|flags]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$RES=expression | erforderlich
P2 | flags | optional

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_cax.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CLV. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

CLV.

Variable loeschen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

CLV.$$VAR

Beschreibung

Variable loeschen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

CLV. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `CLV.$$VAR`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_clv.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


EVA. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

EVA.

Auswerten - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

EVA.$$RES=formula

Beschreibung

Auswerten - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

EVA. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `EVA.$$RES=formula`.

Parameter

# | Name/Form | Bedeutung
P1 | $$RES | erforderliche Zielvariable
P2 | formula | erforderlicher Wert

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_eva.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FMT. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

FMT.

Variable formatieren - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

FMT.$$NUM|000000

Beschreibung

Variable formatieren - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

FMT. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `FMT.$$NUM|000000`.

Parameter

# | Name/Form | Bedeutung
P1 | $$NUM | erforderlich
P2 | 000000 | erforderlich

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_fmt.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GVT. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

GVT.

Variablentyp holen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

GVT.$$SRC|$$TYP

Beschreibung

Variablentyp holen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

GVT. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `GVT.$$SRC|$$TYP`.

Parameter

# | Name/Form | Bedeutung
P1 | $$SRC | erforderlich
P2 | $$TYP | erforderlich

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_gvt.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RES. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

RES.

Ressourcenbefehle - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Variablen & Mathematik

Syntax

RES.action[|parameters...]

Beschreibung

Ressourcenbefehle - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

RES. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `RES.action[|parameters...]`.

Parameter

# | Name/Form | Bedeutung
P1 | action | erforderlich
P2 | parameters... | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_res.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RND. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

RND.

Zufallszahl - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

RND.[max] / RND.min|max[|$$RES]

Beschreibung

Zufallszahl - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

RND. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `RND.[max] / RND.min|max[|$$RES]`.

Parameter

# | Name/Form | Bedeutung
P1 | max / RND.min | optional
P2 | max | erforderlich
P3 | $$RES | optional

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_rnd.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SAV. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

SAV.

Variablen sichern - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

SAV.s|$$VAR[|$$VAR...] / SAV.r

Beschreibung

Variablen sichern - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

SAV. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `SAV.s|$$VAR[|$$VAR...] / SAV.r`.

Parameter

# | Name/Form | Bedeutung
P1 | s | erforderlich
P2 | $$VAR | erforderlich
P3 | $$VAR... / SAV.r | optional

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_sav.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VAB. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

VAB.

Variablenname zuweisen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

VAB.$$TGT=raw-text

Beschreibung

Variablenname zuweisen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VAB. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VAB.$$TGT=raw-text`.

Parameter

# | Name/Form | Bedeutung
P1 | $$TGT | erforderliche Zielvariable
P2 | raw-text | erforderlicher Wert

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_vab.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VAI. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

VAI.

Indirekte Zuweisung - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

VAI.$$PTR=value or VAI.$$PTR=

Beschreibung

Indirekte Zuweisung - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VAI. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VAI.$$PTR=value or VAI.$$PTR=`.

Parameter

# | Name/Form | Bedeutung
P1 | $$PTR | erforderliche Zielvariable
P2 | value or VAI.$$PTR= | erforderlicher Wert

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_vai.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VAO. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

VAO.

Zuweisung mit Originaltyp - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

VAO.$$TGT=value or VAO.$$TGT=

Beschreibung

Zuweisung mit Originaltyp - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VAO. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VAO.$$TGT=value or VAO.$$TGT=`.

Parameter

# | Name/Form | Bedeutung
P1 | $$TGT | erforderliche Zielvariable
P2 | value or VAO.$$TGT= | erforderlicher Wert

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_vao.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VDC. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

VDC.

Variable verringern - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

VDC.$$VAR[|amount]

Beschreibung

Variable verringern - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VDC. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VDC.$$VAR[|amount]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | amount | optional

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_vdc.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VIC. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Variablen & Mathematik Hilfe zum PBXB64-Compiler

VIC.

Variable erhoehen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: SPR Variablen & Mathematik

Syntax

VIC.$$VAR[|amount]

Beschreibung

Variable erhoehen - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VIC. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VIC.$$VAR[|amount]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | amount | optional

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_vic.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SPR Datei- & Text-E/A - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

SPR Datei- & Text-E/A

Themen in diesem Kapitel

ASC. ATF. CFF. CHR. COP. CSP. CTF. DCP. FEL. FEM. FEN. FEX. GSC. GUT. IEF. MBT. MBX. MKD. NEF. OUT. PRT. SBD. SBM. SHF. VRD.


ASC. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

ASC.

ASCII-Code - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

ASC.string[|$$RES][|index]

Beschreibung

ASCII-Code - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

ASC. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `ASC.string[|$$RES][|index]`.

Parameter

# | Name/Form | Bedeutung
P1 | string | erforderlich
P2 | $$RES | optional
P3 | index | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_asc.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ATF. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

ATF.

An Datei anhaengen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

ATF.filename|content[|$$OKK]

Beschreibung

An Datei anhaengen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

ATF. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `ATF.filename|content[|$$OKK]`.

Parameter

# | Name/Form | Bedeutung
P1 | filename | erforderlich
P2 | content | erforderlich
P3 | $$OKK | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_atf.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CFF. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

CFF.

Aus Datei kopieren - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

CFF.filename[|$$TXT[|$$OKK]]

Beschreibung

Aus Datei kopieren - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

CFF. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `CFF.filename[|$$TXT[|$$OKK]]`.

Parameter

# | Name/Form | Bedeutung
P1 | filename | erforderlich
P2 | $$TXT | optional
P3 | $$OKK | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_cff.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CHR. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

CHR.

Zeichen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

CHR.code[|$$RES][|end_code]

Beschreibung

Zeichen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

CHR. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `CHR.code[|$$RES][|end_code]`.

Parameter

# | Name/Form | Bedeutung
P1 | code | erforderlich
P2 | $$RES | optional
P3 | end_code | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_chr.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


COP. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

COP.

Datei kopieren - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

COP.source|destination[|timeout]

Beschreibung

Datei kopieren - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

COP. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `COP.source|destination[|timeout]`.

Parameter

# | Name/Form | Bedeutung
P1 | source | erforderlich
P2 | destination | erforderlich
P3 | timeout | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_cop.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CSP. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

CSP.

Zeichenkette ausschneiden - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

CSP.clip|source[|$$RES]

Beschreibung

Zeichenkette ausschneiden - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

CSP. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `CSP.clip|source[|$$RES]`.

Parameter

# | Name/Form | Bedeutung
P1 | clip | erforderlich
P2 | source | erforderlich
P3 | $$RES | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_csp.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CTF. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

CTF.

In Datei kopieren - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

CTF.filename|content[|$$OKK]

Beschreibung

In Datei kopieren - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

CTF. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `CTF.filename|content[|$$OKK]`.

Parameter

# | Name/Form | Bedeutung
P1 | filename | erforderlich
P2 | content | erforderlich
P3 | $$OKK | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_ctf.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


DCP. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

DCP.

Pfad kopieren - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

DCP.source|destination[|options]

Beschreibung

Pfad kopieren - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

DCP. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `DCP.source|destination[|options]`.

Parameter

# | Name/Form | Bedeutung
P1 | source | erforderlich
P2 | destination | erforderlich
P3 | options | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_dcp.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FEL. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

FEL.

Dateiaufzaehlung schleifen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

FEL.label|$$VAR[|filename][|pattern][|maxline]

Beschreibung

Dateiaufzaehlung schleifen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

FEL. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `FEL.label|$$VAR[|filename][|pattern][|maxline]`.

Parameter

# | Name/Form | Bedeutung
P1 | label | erforderlich
P2 | $$VAR | erforderlich
P3 | filename | optional
P4 | pattern | optional
P5 | maxline | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_fel.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FEM. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

FEM.

Dateiaufzaehlung splittern/filtern - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

FEM.label|$$VAR[|source][|delimiter][|pattern]

Beschreibung

Dateiaufzaehlung splittern/filtern - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

FEM. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `FEM.label|$$VAR[|source][|delimiter][|pattern]`.

Parameter

# | Name/Form | Bedeutung
P1 | label | erforderlich
P2 | $$VAR | erforderlich
P3 | source | optional
P4 | delimiter | optional
P5 | pattern | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_fem.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FEN. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

FEN.

Dateiaufzaehlung beenden - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

FEN.

Beschreibung

Dateiaufzaehlung beenden - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

FEN. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `FEN.`.

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_fen.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FEX. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

FEX.

Dateiaufzaehlung starten - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

FEX.[options]

Beschreibung

Dateiaufzaehlung starten - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

FEX. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `FEX.[options]`.

Parameter

# | Name/Form | Bedeutung
P1 | options | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_fex.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GSC. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

GSC.

Zeichenkettenvorkommen zaehlen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

GSC.source|substring[|$$RES][|flags]

Beschreibung

Zeichenkettenvorkommen zaehlen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

GSC. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `GSC.source|substring[|$$RES][|flags]`.

Parameter

# | Name/Form | Bedeutung
P1 | source | erforderlich
P2 | substring | erforderlich
P3 | $$RES | optional
P4 | flags | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_gsc.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GUT. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

GUT.

Benutzereingabe holen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

GUT.[prompt][|title][|default][|$$RES]

Beschreibung

Benutzereingabe holen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

GUT. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `GUT.[prompt][|title][|default][|$$RES]`.

Parameter

# | Name/Form | Bedeutung
P1 | prompt | optional
P2 | title | optional
P3 | default | optional
P4 | $$RES | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_gut.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


IEF. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

IEF.

Datei existiert - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

IEF.filename[|$$OKK]

Beschreibung

Datei existiert - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

IEF. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `IEF.filename[|$$OKK]`.

Parameter

# | Name/Form | Bedeutung
P1 | filename | erforderlich
P2 | $$OKK | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_ief.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MBT. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

MBT.

Meldungsbox mit Zeit - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

MBT.[text][|title][|timeout][|type][|$$RES]

Beschreibung

Meldungsbox mit Zeit - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

MBT. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `MBT.[text][|title][|timeout][|type][|$$RES]`.

Parameter

# | Name/Form | Bedeutung
P1 | text | optional
P2 | title | optional
P3 | timeout | optional
P4 | type | optional
P5 | $$RES | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_mbt.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MBX. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

MBX.

Meldungsbox - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

MBX.[text][|type][|title][|$$RES]

Beschreibung

Meldungsbox - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

MBX. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `MBX.[text][|type][|title][|$$RES]`.

Parameter

# | Name/Form | Bedeutung
P1 | text | optional
P2 | type | optional
P3 | title | optional
P4 | $$RES | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_mbx.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MKD. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

MKD.

Verzeichnis erstellen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

MKD.path

Beschreibung

Verzeichnis erstellen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

MKD. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `MKD.path`.

Parameter

# | Name/Form | Bedeutung
P1 | path | erforderlich

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_mkd.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


NEF. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

NEF.

Datei existiert nicht - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

NEF.filename[|$$OKK]

Beschreibung

Datei existiert nicht - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

NEF. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `NEF.filename[|$$OKK]`.

Parameter

# | Name/Form | Bedeutung
P1 | filename | erforderlich
P2 | $$OKK | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_nef.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


OUT. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

OUT.

Ausgabe - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

OUT.value

Beschreibung

Ausgabe - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

OUT. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `OUT.value`.

Parameter

# | Name/Form | Bedeutung
P1 | value | erforderlich

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_out.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PRT. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

PRT.

Ausgeben - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

PRT.[text]

Beschreibung

Ausgeben - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

PRT. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `PRT.[text]`.

Parameter

# | Name/Form | Bedeutung
P1 | text | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_prt.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SBD. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

SBD.

Zeichenkette zwischen Begrenzern - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

SBD.source|delimiter|index[|$$RES]

Beschreibung

Zeichenkette zwischen Begrenzern - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

SBD. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `SBD.source|delimiter|index[|$$RES]`.

Parameter

# | Name/Form | Bedeutung
P1 | source | erforderlich
P2 | delimiter | erforderlich
P3 | index | erforderlich
P4 | $$RES | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_sbd.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SBM. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

SBM.

Mehrfachsuche zwischen Begrenzern - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

SBM.source|delimiter|start|end[|$$RES]

Beschreibung

Mehrfachsuche zwischen Begrenzern - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

SBM. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `SBM.source|delimiter|start|end[|$$RES]`.

Parameter

# | Name/Form | Bedeutung
P1 | source | erforderlich
P2 | delimiter | erforderlich
P3 | start | erforderlich
P4 | end | erforderlich
P5 | $$RES | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_sbm.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHF. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

SHF.

Datei anzeigen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

SHF.operation|flags|source[|target]

Beschreibung

Datei anzeigen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

SHF. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `SHF.operation|flags|source[|target]`.

Parameter

# | Name/Form | Bedeutung
P1 | operation | erforderlich
P2 | flags | erforderlich
P3 | source | erforderlich
P4 | target | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_shf.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRD. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR Datei- & Text-E/A Hilfe zum PBXB64-Compiler

VRD.

Dopplungen entfernen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: SPR Datei- & Text-E/A

Syntax

VRD.[$$VAR][|chars]

Beschreibung

Dopplungen entfernen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VRD. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VRD.[$$VAR][|chars]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | optional
P2 | chars | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_vrd.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SPR System & Speicher - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

SPR System & Speicher

Themen in diesem Kapitel

CLW. EXB. EXE. EXF. EXO. EXX. HTV. KEY. KPR. KRL. MAP. MAW. MDC. MEL. MEM. MLC. MMV. MPO. MRC. MRE. SCW. STW.


CLW. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

CLW.

Fenster schliessen - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

CLW.[hwnd]

Beschreibung

Fenster schliessen - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

CLW. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `CLW.[hwnd]`.

Parameter

# | Name/Form | Bedeutung
P1 | hwnd | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_clw.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


EXB. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

EXB.

Blockierend ausfuehren - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

EXB.file[|show]

Beschreibung

Blockierend ausfuehren - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

EXB. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `EXB.file[|show]`.

Parameter

# | Name/Form | Bedeutung
P1 | file | erforderlich
P2 | show | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_exb.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


EXE. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

EXE.

Prozess starten - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

EXE.file[|params]

Beschreibung

Prozess starten - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

EXE. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `EXE.file[|params]`.

Parameter

# | Name/Form | Bedeutung
P1 | file | erforderlich
P2 | params | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_exe.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


EXF. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

EXF.

Datei ausfuehren - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

EXF.file[|params][|directory][|show]

Beschreibung

Datei ausfuehren - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

EXF. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `EXF.file[|params][|directory][|show]`.

Parameter

# | Name/Form | Bedeutung
P1 | file | erforderlich
P2 | params | optional
P3 | directory | optional
P4 | show | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_exf.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


EXO. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

EXO.

Objekt oeffnen/ausfuehren - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

EXO.file[|params][|directory][|action][|show][|$$RES]

Beschreibung

Objekt oeffnen/ausfuehren - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

EXO. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `EXO.file[|params][|directory][|action][|show][|$$RES]`.

Parameter

# | Name/Form | Bedeutung
P1 | file | erforderlich
P2 | params | optional
P3 | directory | optional
P4 | action | optional
P5 | show | optional
P6 | $$RES | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_exo.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


EXX. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

EXX.

Asynchron ausfuehren - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

EXX.file[|show]

Beschreibung

Asynchron ausfuehren - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

EXX. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `EXX.file[|show]`.

Parameter

# | Name/Form | Bedeutung
P1 | file | erforderlich
P2 | show | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_exx.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


HTV. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

HTV.

Handle in Variable - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

HTV.[-|$$RES][|type]

Beschreibung

Handle in Variable - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

HTV. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `HTV.[-|$$RES][|type]`.

Parameter

# | Name/Form | Bedeutung
P1 | - | optional
P2 | $$RES | erforderlich
P3 | type | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_htv.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


KEY. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

KEY.

Tasten senden - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

KEY.text

Beschreibung

Tasten senden - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

KEY. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `KEY.text`.

Parameter

# | Name/Form | Bedeutung
P1 | text | erforderlich

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_key.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


KPR. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

KPR.

Taste druecken - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

KPR.key

Beschreibung

Taste druecken - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

KPR. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `KPR.key`.

Parameter

# | Name/Form | Bedeutung
P1 | key | erforderlich

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_kpr.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


KRL. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

KRL.

Taste loslassen - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

KRL.key

Beschreibung

Taste loslassen - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

KRL. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `KRL.key`.

Parameter

# | Name/Form | Bedeutung
P1 | key | erforderlich

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_krl.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MAP. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

MAP.

Automationspunkt setzen - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

MAP.x|y[|hwnd]

Beschreibung

Automationspunkt setzen - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

MAP. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `MAP.x|y[|hwnd]`.

Parameter

# | Name/Form | Bedeutung
P1 | x | erforderlich
P2 | y | erforderlich
P3 | hwnd | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_map.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MAW. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

MAW.

Fenster/Maus warten - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

MAW.[timeout]

Beschreibung

Fenster/Maus warten - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

MAW. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `MAW.[timeout]`.

Parameter

# | Name/Form | Bedeutung
P1 | timeout | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_maw.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MDC. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

MDC.

Doppelklick - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

MDC.[x][|y][|hwnd]

Beschreibung

Doppelklick - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

MDC. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `MDC.[x][|y][|hwnd]`.

Parameter

# | Name/Form | Bedeutung
P1 | x | optional
P2 | y | optional
P3 | hwnd | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_mdc.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MEL. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

MEL.

Linkes Mausereignis - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

MEL.[x][|y][|hwnd]

Beschreibung

Linkes Mausereignis - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

MEL. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `MEL.[x][|y][|hwnd]`.

Parameter

# | Name/Form | Bedeutung
P1 | x | optional
P2 | y | optional
P3 | hwnd | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_mel.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MEM. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

MEM.

Mittleres Mausereignis - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

MEM.[x][|y][|hwnd]

Beschreibung

Mittleres Mausereignis - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

MEM. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `MEM.[x][|y][|hwnd]`.

Parameter

# | Name/Form | Bedeutung
P1 | x | optional
P2 | y | optional
P3 | hwnd | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_mem.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MLC. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

MLC.

Linksklick - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

MLC.[x][|y][|hwnd]

Beschreibung

Linksklick - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

MLC. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `MLC.[x][|y][|hwnd]`.

Parameter

# | Name/Form | Bedeutung
P1 | x | optional
P2 | y | optional
P3 | hwnd | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_mlc.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MMV. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

MMV.

Maus bewegen - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

MMV.[x][|y][|speed]

Beschreibung

Maus bewegen - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

MMV. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `MMV.[x][|y][|speed]`.

Parameter

# | Name/Form | Bedeutung
P1 | x | optional
P2 | y | optional
P3 | speed | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_mmv.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MPO. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

MPO.

Mausposition - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

MPO.[x][|y][|hwnd]

Beschreibung

Mausposition - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

MPO. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `MPO.[x][|y][|hwnd]`.

Parameter

# | Name/Form | Bedeutung
P1 | x | optional
P2 | y | optional
P3 | hwnd | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_mpo.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MRC. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

MRC.

Rechtsklick - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

MRC.[x][|y][|hwnd]

Beschreibung

Rechtsklick - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

MRC. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `MRC.[x][|y][|hwnd]`.

Parameter

# | Name/Form | Bedeutung
P1 | x | optional
P2 | y | optional
P3 | hwnd | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_mrc.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MRE. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

MRE.

Rechtes Mausereignis - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

MRE.[x][|y][|hwnd]

Beschreibung

Rechtes Mausereignis - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

MRE. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `MRE.[x][|y][|hwnd]`.

Parameter

# | Name/Form | Bedeutung
P1 | x | optional
P2 | y | optional
P3 | hwnd | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_mre.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SCW. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

SCW.

Kindfenster suchen - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

SCW.prototypes[|prototype-parameters...]

Beschreibung

Kindfenster suchen - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

Sucht ein Kindfenster ueber Prototyp-Flags.

Parameter

# | Name/Form | Bedeutung
P1 | prototypes | erforderlich
P2 | prototype-parameters... | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • `SCW.` nutzt denselben Prototyp-Parser wie `STW.` im Kindfenster-Modus.
  • Prozess-/Thread-Flags werden auf das gefundene Kindfenster angewendet, bevor der Laufzeitcode den Treffer akzeptiert.
  • Jump-Flags verzweigen oder rufen Labels anhand des Suchergebnisses auf.
  • Automatisierte Headless-Laeufe sollen diese Seite als Syntax-, Link- und Laufzeitvertragsbeleg behandeln, nicht als sichtbare Desktop-Pruefung.
  • Die dokumentierte Form ist fuer deterministische Suchbedingungen gedacht und soll Ergebnisvariablen oder Sprungziele ausdruecklich pruefen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Abhaengig vom live Windows-Desktop. Nicht numerische Token, automatische Bildschirmmodi und hostabhaengige Erweiterungen gehoeren nicht zum belegten Vertrag.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


STW. - PBXB64-Compiler-Hilfe

Startseite › Sprach-Frontends › SPR Frontend › SPR System & Speicher Hilfe zum PBXB64-Compiler

STW.

Hauptfenster suchen - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kategorie: SPR System & Speicher

Syntax

STW.prototypes[|prototype-parameters...]

Beschreibung

Hauptfenster suchen - System-, Tastatur-, Speicher-, Mapping- und Fensterhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / System and Memory

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

Sucht ein Top-Level-Fenster ueber Prototyp-Flags.

Parameter

# | Name/Form | Bedeutung
P1 | prototypes | erforderlich
P2 | prototype-parameters... | optional

Verwendung

  • Nennen Sie die Desktop-, Prozess- oder Fenster-Voraussetzung direkt, damit das Beispiel ohne versteckte Umgebungsannahmen in ein reales Programm uebernommen werden kann.
  • Wenn der Befehl Handles, Tastatur, Maus oder Speicher beruehrt, zeigen Sie den exakten Vorher-/Nachher-Zustand, den der Aufrufer pruefen soll.

Beschreibung

  • Der erste Parameter ist ein Prototyp-String; weitere Parameter liefern Werte fuer Prototyp-Flags.
  • Klasse, Text und Handle identifizieren moegliche Fenster, und Prozess-/Thread-Flags filtern die Treffer vor der Rueckgabe des Handles.
  • Jump-Flags verzweigen oder rufen Labels anhand des Suchergebnisses auf.
  • Mehrdeutige Treffer werden durch die angegebenen Prototyp-Flags eingegrenzt; nicht belegte Hostfenster-Erweiterungen bleiben ausserhalb der zertifizierten Oberflaeche.
  • Die dokumentierte Form ist fuer deterministische Suchbedingungen gedacht und soll Ergebnisvariablen oder Sprungziele ausdruecklich pruefen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Abhaengig vom live Windows-Desktop. Plattformabhaengige Titelkodierung, mehrzeilige Titeltexte und historische Hostfenster-Erweiterungen brauchen eigene SPR-Beispiele.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BASIC-Datentypen - PBXB64-Compiler-Hilfe

Startseite › Datentypen › BASIC-Datentypen Hilfe zum PBXB64-Compiler

BASIC-Datentypen

Themen in diesem Kapitel

BASIC-Datentypen DECIMAL128 - IEEE 754 Dezimal UNF-Familie - Wissenschaftliche numerische Typen UNL - Ganzzahl mit unbegrenzter Genauigkeit Übersicht über Datentypen


BASIC-Datentypen - PBXB64-Compiler-Hilfe

Startseite › Datentypen › BASIC-Datentypen Hilfe zum PBXB64-Compiler

BASIC-Datentypen

Auf dieser Seite werden die PowerBASIC-kompatiblen Skalar- und String-Typen dokumentiert Unterst&uuml;tzt von PBXB64. F&uuml;r breite Ganzzahlen (128/256/512 Bit), unbegrenzt Pr&auml;zision (UNL), wissenschaftliche Typen (UNF Familie, DECIMAL128) und Containertypen finden Sie im &Uuml;bersicht &uuml;ber Datentypen.

Kategorie: BASIC-Datentypen

Beschreibung

Auf dieser Seite werden die PowerBASIC-kompatiblen Skalar- und String-Typen dokumentiert Unterstützt von PBXB64. Für breite Ganzzahlen (128/256/512 Bit), unbegrenzt Präzision (UNL), wissenschaftliche Typen (UNF Familie, DECIMAL128) und Containertypen finden Sie im Übersicht über Datentypen.

Integrale Typen

Vorzeichenbehaftete und vorzeichenlose Ganzzahlen mit festen Breiten. Die Suffixspalte zeigt das traditionelle PB-Siegel für die Inline-Deklaration.

Typ | Größe | Suffix | Signiert | Reichweite | Alias
BYTE | 1 Byte | ? | unterzeichnet | -128 .. 127 | -
WORD | 2 Bytes | ?? | unsigniert | 0 .. 65.535 | -
INTEGER | 2 Bytes | % | unterzeichnet | -32.768 .. 32.767 | INT
LONG | 4 Bytes | & | unterzeichnet | -2.147.483.648 .. 2.147.483.647 | -
DWORD | 4 Bytes | ??? | unsigniert | 0 .. 4.294.967.295 | -
QUAD | 8 Byte | && | unterzeichnet | -2^63 .. 2^63-1 | -
UINT64 | 8 Byte | - | unsigniert | 0 .. 2^64-1 | -
Hinweis zu INTEGER: Im klassischen PowerBASIC, INTEGER ist ein 16-Bit-Typ. PBXB64 weist 8 Byte Slot-Speicher zu INTEGER Locals, um den Win64-Stack ausgerichtet zu halten und das zu vereinfachen Backend, aber das Wertebereich bleibt 16-Bit. Benutzen LONG wenn Sie eine vollständige 32-Bit-Ganzzahl benötigen.

Gleitkommatypen

Binärer Gleitkommawert nach IEEE 754. SINGLE ist 32-Bit, DOUBLE ist 64-Bit (die Standardeinstellung für Bruchliterale) und EXTENDED ist das 80-Bit-x87-Format (10 Bytes gespeichert).

Typ | Größe | Suffix | Signifikant | Exponentenbereich | Ungefähre Reichweite
SINGLE | 4 Bytes | ! | 24 Bit (~7 Ziffern) | -45 .. +38 | +/- 3,4e38
DOUBLE | 8 Byte | # | 53 Bit (~15 Ziffern) | -324 .. +308 | +/- 1,8e308
EXTENDED | 10 Byte | ## | 64 Bit (~19 Ziffern) | -4951 .. +4932 | +/- 1,2e4932
Binäre Rundung: SINGLE/DOUBLE kann nicht stellen die meisten Dezimalbrüche exakt dar (z. B. 0.1 ist periodisch im Binärformat). Für finanzielle oder exakte Dezimalarbeit verwenden Sie DECIMAL128 oder CURRENCY.

Festkommatypen

Typ | Größe | Suffix | Skalierung | Signifikanter Bereich
CURRENCY | 8 Byte | @ | / 10000 (4 dp) | +/- 922.337.203.685.477,5807
CURRENCYX | 16 Byte | ?# | / 10000 (4 dp) | +/- 9,9 * 10^15

CURRENCYX ist eine PBXB64-Erweiterung: ein 128-Bit-Festkommatyp Das verdoppelt die Reichweite CURRENCY unter Beibehaltung des Gleichen Skalierung mit 4 Nachkommastellen.

String-Typen

Typ | Suffix | Zeichensatz | Lagerung | Hinweise
STRING | $ | ANSI (8-Bit) | dynamischer Heap | Standard-String-Typ.
BSTRING | - | ANSI (8-Bit) | dynamischer Heap | Als dynamischer BASIC-String-Typ fuer Deklarationen, UDT-Felder, Parameter, Rueckgaben, Zuweisung, Verkettung, Vergleich und LEN akzeptiert.
STRINGZ | - | ANSI (8-Bit) | fester Puffer | NUL-terminiert; für die Win32-API.
ASCIIZ | - | ANSI (8-Bit) | fester Puffer | Alias von STRINGZ.
WSTRING | - | UTF-16 (16-Bit) | dynamischer Heap | Breite Zeichenfolge für Unicode-APIs.
WSTRINGZ | - | UTF-16 (16-Bit) | fester Puffer | NUL-terminierter breiter String.
STRING * N | - | ANSI (8-Bit) | feste N Bytes | Feste Länge; auf N gekürzt.
Hinweis zu BSTRING: In PBXB64 V14.4 ist BSTRING als dynamischer BASIC-String-Kompatibilitaetstyp implementiert und durch examples/basic/test_bstring_basic.pb geprueft. Es ist noch kein eigener COM-Automation-BSTR/UTF-16-ABI-Typ; COM-BSTR-Interop bleibt Teil des groesseren Unicode/COM-Backlogs.

Andere Skalartypen

Typ | Größe | Beschreibung
VARIANT | 16 Byte | Markierte Union: int/float/string/date/null. Typisierte Extraktion über VARIANT#/$/%.
GUID | 16 Byte | Global eindeutiger 128-Bit-Bezeichner.
OBJECT | 8 Byte | COM-Objektschnittstellenzeiger.
ANY | - | Untypisierter Zeiger; akzeptiert jede Variable als Referenz.
BYTE PTR / LONG PTR ... | 8 Byte | Typisierter Zeiger (@ Siegel).

Zusammengesetzte Typen

  • Benutzerdefinierter Typ (TYPE): Aufzeichnung benannter Felder, heterogene Typen, unterstützt Verschachtelung.
  • UNION: Felder teilen sich den Speicher.
  • Arrays: DIM a(1 TO 10) AS LONG (fest) oder REDIM (dynamisch, optional PRESERVE).

Standardinitialisierung

  • Numerische Skalare initialisieren mit 0.
  • Strings werden initialisiert mit "" (leer).
  • VARIANT wird initialisiert, um leer zu sein.
  • Automatischer Aufruf von Containertypen .New bei der Einreise und .Final beim Verlassen des Bereichs.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • Übersicht über Datentypen
  • Wide Integer-Typen (INT128/256/512)
  • UNL - Ganzzahl mit unbegrenzter Genauigkeit
  • UNF-Familie - Wissenschaftliche numerische Typen
  • DECIMAL128 - IEEE 754 Dezimal


DECIMAL128 - IEEE 754 Dezimal - PBXB64-Compiler-Hilfe

Startseite › Datentypen › BASIC-Datentypen Hilfe zum PBXB64-Compiler

DECIMAL128 - IEEE 754 Dezimal

DECIMAL128 ist IEEE 754-2008 dezimal128 Format: a 128-Bit-Dezimal-Gleitkommatyp, der Dezimalbr&uuml;che darstellt genau (im Gegensatz zu bin&auml;r DOUBLE, was nicht 0,1 darstellen kann ohne Rundungsfehler). Es ist f&uuml;r finanzielle und wissenschaftliche Zwecke gedacht Berechnungen, bei denen die Dezimalgenauigkeit zwingend erforderlich ist.

Kategorie: BASIC-Datentypen

Beschreibung

DECIMAL128 ist IEEE 754-2008 dezimal128 Format: a 128-Bit-Dezimal-Gleitkommatyp, der Dezimalbrüche darstellt genau (im Gegensatz zu binär DOUBLE, was nicht 0,1 darstellen kann ohne Rundungsfehler). Es ist für finanzielle und wissenschaftliche Zwecke gedacht Berechnungen, bei denen die Dezimalgenauigkeit zwingend erforderlich ist.

Typ: Datentyp | Kategorie: Numerische Typen

PBXB64-Status: VERFÜGBAR (Wissenschaftslaufzeit)

PBXB64-Zertifizierung: [WISSENSCHAFTSSTUFE]

Lagerlayout

  • Größe: 16 Byte (128 Bit)
  • Genauigkeit: 34 Dezimalstellen des Signifikanten
  • Exponentenbereich: -6143 bis +6144
  • Format: IEEE 754-2008 dezimal128 (Koeffizient + voreingenommener Exponent, mit Vorzeichen)

Warum DECIMAL128?

Binäre Gleitkommatypen (SINGLE, DOUBLE) kann nicht stellen die meisten Dezimalbrüche exakt dar. Zum Beispiel in DOUBLE:

d# = 0.1 + 0.2
PRINT d#      ' 0.30000000000000004  (not exactly 0.3)

DECIMAL128 speichert die Zahl als Dezimalkoeffizienten und Exponent, also 0.1 + 0.2 ist genau 0.3. Das ist wichtig für:

  • Finanzsoftware - Cent müssen sich genau summieren.
  • Abrechnung/Steuer - Für exakte Dezimalzahlen müssen Rundungsregeln gelten.
  • Wissenschaftliche Messung - wenn die aufgezeichneten Werte selbst dezimal sind.

Beziehung zur WÄHRUNG

Typ | Größe | Präzision | Skalierung | Reichweite
CURRENCY | 8 Byte | 15 Ziffern | fest /10000 | +/- 922 Billionen
CURRENCYX | 16 Byte | 19 Ziffern | fest /10000 | +/- 9,9 * 10^15
DECIMAL128 | 16 Byte | 34 Ziffern | dynamischer Exponent | +/- 9,99e6144

CURRENCY/CURRENCYX sind Festkommazahlen (immer 4 Dezimalzahlen). Orte). DECIMAL128 ist ein Gleitkomma mit einem dynamischen Exponenten, Dies ermöglicht einen viel größeren Bereich auf Kosten variabler Präzision.

Laufzeitunterstützung

DECIMAL128 Operationen werden von der Science Runtime bereitgestellt (pb_science_decimal128.o), verknüpft mit ausführbaren Benutzerdateien, die verwenden der Typ. Zu den unterstützten Vorgängen gehören:

  • Arithmetik: Addieren, Subtrahieren, Multiplizieren, Dividieren (korrekt gerundet gemäß IEEE 754).
  • Vergleich: gleich, kleiner als, größer als (einschließlich NaN/Infinity-Handhabung).
  • Konvertierung: nach/von DOUBLE, STRING, Ganzzahltypen.
  • Rundungsmodi: Auf die nächste gerade Zahl runden (Standard), gegen Null, gegen Unendlich.

Einschränkungen in PBXB64

  • DECIMAL128 Literale werden zur Kompilierungszeit dezimal analysiert Text. Sehr große Exponenten können an Präzision verlieren, wenn das Literal 34 überschreitet signifikante Ziffern.
  • Direktes Mischen von DECIMAL128 und binäres Gleitkomma in a Ein einzelner Ausdruck erfordert eine explizite Konvertierung, um Stille zu vermeiden Präzisionsverlust.
  • Die Science Runtime fügt der vom Benutzer ausführbaren Datei etwa 40 KB hinzu.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

' Financial calculation - exact decimal arithmetic
LOCAL price AS DECIMAL128
LOCAL total AS DECIMAL128
price = 19.99
total = price * 3        ' exactly 59.97
PRINT total              ' 59.97 (no binary rounding error)

Siehe auch

  • BASIC-Datentypen
  • UNF-Familie - Wissenschaftliche numerische Typen
  • UNL - Ganzzahl mit unbegrenzter Genauigkeit
  • Übersicht über Datentypen


UNF-Familie - Wissenschaftliche numerische Typen - PBXB64-Compiler-Hilfe

Startseite › Datentypen › BASIC-Datentypen Hilfe zum PBXB64-Compiler

UNF-Familie - Wissenschaftliche numerische Typen

DerUNF Familie ist das wissenschaftliche Zahlensystem von PBXB64: exakte und erweiterte numerische Darstellungen, die auf reiner Ganzzahlarithmetik basieren. Im Gegensatz zu IEEE 754 Binary Floats vermeiden diese Typen versteckte Rundungen, indem sie verwenden Durchgehend Mantissen mit ganzzahliger Genauigkeit - Gleitkomma-Hardware wird ber&uuml;hrt nur an der expliziten Konvertierungsgrenze.

Kategorie: BASIC-Datentypen

Beschreibung

DerUNF Familie ist das wissenschaftliche Zahlensystem von PBXB64: exakte und erweiterte numerische Darstellungen, die auf reiner Ganzzahlarithmetik basieren. Im Gegensatz zu IEEE 754 Binary Floats vermeiden diese Typen versteckte Rundungen, indem sie verwenden Durchgehend Mantissen mit ganzzahliger Genauigkeit - Gleitkomma-Hardware wird berührt nur an der expliziten Konvertierungsgrenze.

Typ: Datentypfamilie | Kategorie: Numerische Typen

PBXB64-Status: VERFÜGBAR (Wissenschaftslaufzeit)

PBXB64-Zertifizierung: [WISSENSCHAFTSSTUFE]

Der Basistyp: UNF (Unum Float)

UNF ist ein 16-Byte-Gleitkommatyp mit einem 60-Bit-Vorzeichen Mantisse und ein 8-Bit-Exponent mit Vorzeichen. Intern verwendet es pure __int128 Arithmetik - die einzige <math.h> Anrufe sind drinnen unf_conv.h (die explizite IEEE-zu-UNF-Grenze).

Eigentum | Wert
Lagerung | 16 Byte
Layout | int64_t m (60-Bit-Mantisse mit Vorzeichen) + int8_t e (Exponent)
Wert | u = m * 2^e
Mantissennormalisierung | 2^59 <= |m| < 2^60 (60 Bits an Bedeutung)
Exponentenbereich | -128 .. +127
Dezimale Genauigkeit | ~19 signifikante Ziffern
Kleinstes Plus | ~ 1,3e-20
Größte endliche | ~ 1,8e+57
Besondere Werte | +0, NaN (m = INT64_MIN), +Unendlich (e = INT8_MIN)

Familienmitglieder

Typ | Größe | Bedeutung | Komponenten
UNF | 16 Byte | Unum Float – der Basisskalar | Mantisse+Exponent
UNC | 32 Byte | Komplexe Zahl | { re: UNF, im: UNF }
UNB | 16+ Bytes | Großer Float (beliebige Präzision) | haufenweise gewachsene Mantisse
UNI | 32 Byte | Intervallarithmetik | { lo: UNF, hi: UNF }
UNQ | 64 Byte | Quaternion | { w, x, y, z: UNF }

Gestaltungsprinzipien

  • Reine Ganzzahlarithmetik. Alle Operationen (add, sub, mul, div, sqrt, sin, cos, exp, log) werden berechnet __int128 Größen mit explizite Exponentenverfolgung. Es sind keine Gleitkommaanweisungen beteiligt.
  • Die IEEE-Grenze ist explizit. Der einzige Ort ist Gleitkomma-Hardware verwendet wird unf_conv.h, Konvertierung zwischen IEEE 754 doubleUndUNF. Alle anderen Codepfade sind bitgenau und plattformübergreifend reproduzierbar.
  • Transzendentalien über Serien. sin, cos, exp, log Verwenden Sie Taylor-Reihen und Newton-Raphson Verfeinerung, argumentreduziert für Genauigkeit.
  • NaN / Infinity-Ausbreitung. Jede arithmetische Operation prüft auf die speziellen Sentinels und verbreitet sie korrekt (IEEE 754-Semantik).

Wann sollte UNF im Vergleich zu anderen numerischen Typen verwendet werden?

Brauchen | Benutzen
Geschwindigkeit, ungefähre Dezimalzahlen OK | DOUBLE
Genaue Dezimalzahl für Geld (4 dp) | CURRENCY / CURRENCYX
Exakte Dezimalzahl, dynamischer Exponent, 34 Stellen | DECIMAL128
Reproduzierbare bitgenaue Float-Berechnung, 19 Stellen | UNF
Beliebige Präzision (keine Begrenzung) | UNL
Intervallgrenzen mit Fehlerverfolgung | UNI
Quaternion / 3D-Rotation | UNQ

Umsetzung

Die UNF-Familie ist eine reine Header-Bibliothek der UNF-Familie:

  • unf.h - Kerntyp und Schirm inklusive
  • unf_arith.h - add, sub, mul, div, sqrt
  • unf_compare.h - Gleichheit und Ordnung
  • unf_conv.h - Konvertierung von IEEE 754 in UNF (die einzige Float-Grenze)
  • unf_trig.h - Sin, Cos, Tan und Umkehrungen
  • unf_exp.h - exp, log, pow
  • unf_const.h - pi, e, sqrt(2), ln(2)
  • unf_mp.h - Multipräzisionshelfer für UNB

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

LOCAL a AS UNF
LOCAL b AS UNF
a = 2.5
b = 4.0
PRINT a * b      ' 10  (exact, no IEEE rounding)

Siehe auch

  • Übersicht über Datentypen
  • UNL - Ganzzahl mit unbegrenzter Genauigkeit
  • DECIMAL128 - IEEE 754 Dezimal
  • BASIC-Datentypen


UNL - Ganzzahl mit unbegrenzter Genauigkeit - PBXB64-Compiler-Hilfe

Startseite › Datentypen › BASIC-Datentypen Hilfe zum PBXB64-Compiler

UNL - Ganzzahl mit unbegrenzter Genauigkeit

UNL ist der vorzeichenbehaftete Ganzzahltyp mit unbegrenzter Genauigkeit im PB/BASIC-Frontend. Verwenden Sie ihn, wenn LONG, QUAD oder die festen Wide-Integer-Typen nicht gro&szlig; genug sind und der Wert exakt bleiben muss.

Kategorie: BASIC-Datentypen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

UNL ist der vorzeichenbehaftete Ganzzahltyp mit unbegrenzter Genauigkeit im PB/BASIC-Frontend. Verwenden Sie ihn, wenn LONG, QUAD oder die festen Wide-Integer-Typen nicht groß genug sind und der Wert exakt bleiben muss.

Typ: Datentyp | Kategorie: Numerische Typen

PBXB64-Status: AVAILABLE

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Frontend-Unterstützung

  • PB/BASIC: unterstützt als LOCAL, GLOBAL, Parameter, Array-Element, Ausdruckswert und FOR-Schleifenvariable.
  • C, B64, Rust, ASM, Forth, PILOT, LOGO, SPR: UNL ist dort kein Quelltext-Datentyp.
  • COBOL: COBOL verwendet eigene numerische PIC-Felder und Dezimalfunktionen; UNL ist dort kein benannter Quelltext-Datentyp.

Werte deklarieren

LOCAL n AS UNL
DIM values(1 TO 10) AS UNL

n = VALUNL("123456789012345678901234567890")
PRINT UNL$(n)

Genauigkeit und Wertebereich

UNL ist ein Ganzzahltyp. Deshalb gibt es keine Dezimalrundung, die man erhöhen oder verringern müsste. Addition, Subtraktion, Multiplikation, Ganzzahldivision, Rest, Vergleiche und Shifts arbeiten mit exakten Ganzzahlen. Die praktische Grenze ist verfügbarer Speicher und Rechenzeit, nicht eine feste Stellenzahl.

Wenn Sie einstellbare Dezimalgenauigkeit für Division brauchen, verwenden Sie die UNF-Familie und setzen Sie die Genauigkeit mit UNFPRECISION(n). Wenn eine feste Maximalbreite reicht, verwenden Sie INT128, INT256, INT512 oder die unsigned Varianten.

Konvertierung

Aufgabe | Verwendung | Hinweise
Text nach UNL einlesen | VALUNL(text$) | Der Text muss eine gültige vorzeichenbehaftete Dezimalzahl sein.
UNL als Text ausgeben | UNL$(value) | Gibt die kanonische Dezimaldarstellung zurück.
Kleine Literale zuweisen | n = 42 | Feste Integer-Werte werden automatisch konvertiert.
Sehr große Werte zuweisen | n = VALUNL("...") | Für Werte außerhalb normaler numerischer Literale Zeichenketten verwenden.

Unterstützte Operationen

Kategorie | Unterstützte Operationen | Hinweise
Arithmetik | +, -, *, Ganzzahldivision, Rest, Negation | Operanden werden nach jeder Operation normalisiert.
Bitweise Operationen | Nicht für UNL-Werte verfügbar. | Für Bitmasken feste Integer-Typen verwenden.
Shift | SHL, SHR | Implementiert als Multiplikation oder Division durch Zweierpotenzen.
Vergleich | =, <>, <, <=, >, >= | Vergleicht zuerst das Vorzeichen, dann die normalisierte Größe.
Schleifen | FOR i = VALUNL(...) TO VALUNL(...) | Positive und negative Integer-Schritte werden unterstützt.

Den richtigen numerischen Typ wählen

Anforderung | Empfohlen
Schnelle normale Ganzzahlarithmetik | LONG oder QUAD
Bekannte feste Maximalbreite | INT128, INT256, INT512
Ganzzahlen, die ohne festes Limit wachsen können | UNL
Dezimal-/wissenschaftliche Werte mit einstellbarer Divisionsgenauigkeit | UNF / UNB mit UNFPRECISION(n)
Exakte COBOL-Festkommafelder | COBOL-PIC-Numerikfelder

Leistungshinweise

  • Kleine Werte tragen trotzdem variablen Verwaltungsaufwand; für heiße feste Breiten sind LONG, QUAD oder Wide-Integer-Typen meist besser.
  • Multiplikation und Division werden mit steigender Stellenzahl teurer.
  • String-Konvertierung ist teurer als reine Arithmetik und sollte in engen Schleifen nur für Ausgabe oder Serialisierung verwendet werden.

Verifikationshinweise

UNL-Code sollte Null, positive Werte, negative Werte, Wachstum über interne Grenzen hinweg und Rückkonvertierung nach Text testen. Division und Rest sollten exakte und nicht-exakte Division abdecken.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

FUNCTION PBMAIN() AS LONG
    LOCAL a AS UNL
    LOCAL b AS UNL
    a = "123456789012345678901234567890"
    b = "987654321098765432109876543210"
    PRINT a + b          ' 1111111110111111111011111111110
    PRINT a * b          ' enormous, exact
    FUNCTION = 0
END FUNCTION

Siehe auch

  • Übersicht über Datentypen
  • UNF-Familie - Wissenschaftliche numerische Typen
  • DECIMAL128 - IEEE 754 Dezimal
  • Wide Integer-Typen (INT128/256/512)
  • BASIC-Datentypen


Übersicht über Datentypen - PBXB64-Compiler-Hilfe

Startseite › Datentypen › BASIC-Datentypen Hilfe zum PBXB64-Compiler

Übersicht über Datentypen

PBXB64 unterst&uuml;tzt ein Rich-Type-System, das vier Dom&auml;nen umfasst. Dieser Abschnitt dokumentiert jeden vom Compiler akzeptierten Typ, sein Speicherlayout, seinen Wertebereich, Suffixzeichen und die darauf verf&uuml;gbaren Laufzeitoperationen.

Kategorie: BASIC-Datentypen

Beschreibung

PBXB64 unterstützt ein Rich-Type-System, das vier Domänen umfasst. Dieser Abschnitt dokumentiert jeden vom Compiler akzeptierten Typ, sein Speicherlayout, seinen Wertebereich, Suffixzeichen und die darauf verfügbaren Laufzeitoperationen.

Geben Sie Domänen ein

Domäne | Unterabschnitt | Was es abdeckt
Grundlegende numerische und Zeichenfolgentypen | BASIC-Datentypen | Die PowerBASIC-kompatiblen Skalare: BYTE, WORD, DWORD, INTEGER, LONG, QUAD, SINGLE, DOUBLE, EXTENDED, CURRENCY, CURRENCYX, STRING, BSTRING, WSTRING, VARIANT, GUID, Zeigertypen.
Breite Ganzzahltypen | Breite Ganzzahltypen | 128/256/512-Bit-Ganzzahlen mit fester Breite (INT128/UINT128 durch INT512/UINT512) mit nativem Inline-x64 Arithmetik.
Unbegrenzte / wissenschaftliche Typen | UNL – Unbegrenzte Ganzzahl, UNF-Familie, DEZIMAL128 | Typen mit willkürlicher Genauigkeit und exakter Dezimalzahl: UNL (unbegrenzte ganze Zahl), die UNF Familie (wissenschaftlicher Fixpunkt), und IEEE 754 DECIMAL128.
H-Lib-Containertypen | Native H-Lib-Container | Die 23 nativen Containerfamilien (LNARR, LNHSH, LNTRE, ...) als PB-Level-Typen mit method-dispatch verfügbar gemacht Syntax. Containervariablen werden automatisch initialisiert und automatisch finalisiert.

Typensystem auf einen Blick

Jeder PBXB64-Typ fällt in eine dieser Kategorien:

  • Integrale Skalare - BYTE (8), WORD (16), DWORD (32), INTEGER (16, PB-kompatibler Alias von LONG in PBXB64), LONG (32), QUAD (64), Wo angegeben, signiert und nicht signiert.
  • Gleitkomma-Skalare - SINGLE (32-Bit IEEE 754), DOUBLE (64-Bit IEEE 754), EXTENDED (80-Bit x87).
  • Festkomma-Skalare - CURRENCY (64-Bit / 10^4), CURRENCYX (128-Bit / 10^4, PBXB64-Erweiterung).
  • Breite ganze Zahlen - INT128/UINT128, INT256/UINT256, INT512/UINT512.
  • Unbegrenzt / wissenschaftlich - UNL (willkürliche Präzision), UNF Familie, DECIMAL128 (IEEE 754-2008).
  • String-Typen - STRING (dynamisch, ANSI), BSTRING (dynamischer BASIC-String-Kompatibilitaetstyp), STRINGZ (NUL-terminiert), WSTRING (dynamisch, UTF-16), WSTRINGZ (breiter NUL-terminiert), ASCIIZ.
  • Zusammengesetzte Typen - benutzerdefiniert TYPE/UNION, feste und dynamische Arrays, VARIANT, OBJECT, GUID.
  • Zeigertypen - getippte Zeiger (@), ANY (untypisiert), CODEPTR Funktionszeiger.
  • Containertypen - die 23 H-Lib-Familien (Arr, Stk, Que, Lst, ...).

Deklarationssyntax

LOCAL i AS LONG
LOCAL d AS DOUBLE
LOCAL big AS INT128
LOCAL huge AS UNL
LOCAL exact AS DECIMAL128
LOCAL name AS STRING
LOCAL oleName AS BSTRING
LOCAL pts AS LNARR OF Point    ' container of UDT
DIM arr(1 TO 10) AS LONG

Typsuffixe

PBXB64 berücksichtigt die traditionellen PB-Siegelsuffixe aus Gründen der Abwärtskompatibilität:

Suffix | Typ | Beispiel
% | GANZE ZAHL | v% = 5
& | LONG | v& = 100000
! | EINZEL | f! = 1.5
# | DOPPELT | d# = 3.14
$ | STRING | s$ = "hi"
?? | WORD | w?? = 60000
??? | DWORD | dw??? = 4000000000
&& | QUAD | q&& = 2^40
??? | DWORD | (dasselbe wie oben)
?# | WÄHRUNGX | c?# = 9.99

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

← Zurück zum Index

Hierarchie der numerischen, Zeichenketten- und zusammengesetzten Datentypen in PBXB64.

Hierarchie der numerischen, Zeichenketten- und zusammengesetzten Datentypen in PBXB64.

Siehe auch

  • BASIC-Datentypen
  • Wide Integer-Typen (INT128/256/512)
  • UNL - Ganzzahl mit unbegrenzter Genauigkeit
  • UNF-Familie - Wissenschaftliche numerische Typen
  • DECIMAL128 - IEEE 754 Dezimal
  • Native H-Lib-Container - Hilfe zum PBXB64-Compiler
  • BASIC-Variablen und -Bereich
  • Hilfe zum PBXB64-Compiler


Breite Integer-Typen - PBXB64-Compiler-Hilfe

Startseite › Datentypen › Breite Integer-Typen Hilfe zum PBXB64-Compiler

Breite Integer-Typen

Themen in diesem Kapitel

Breite Ganzzahltypen - Hilfe zum PBXB64-Compiler INT128 / I128 - 128-Bit-Ganzzahl mit Vorzeichen INT256 / I256 - 256-Bit-Ganzzahl mit Vorzeichen INT512 / I512 - 512-Bit-Ganzzahl mit Vorzeichen UINT128 / U128 - 128-Bit-Ganzzahl ohne Vorzeichen UINT256 / U256 - 256-Bit-Ganzzahl ohne Vorzeichen UINT512 / U512 - 512-Bit-Ganzzahl ohne Vorzeichen Wide Integer-Typen (INT128/256/512)


Breite Ganzzahltypen - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Datentypen › Breite Integer-Typen Hilfe zum PBXB64-Compiler

Breite Ganzzahltypen - Hilfe zum PBXB64-Compiler

PBXB64 f&uuml;gt &uuml;ber die standardm&auml;&szlig;igen numerischen 8/16/32/64-Bit-Typen hinaus breite Ganzzahltypen mit fester Breite hinzu. Diese Typen werden mit nativem x64-Inline-Code f&uuml;r arithmetische, bitweise und Vergleichsoperationen implementiert.

Kategorie: Breite Integer-Typen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 fügt über die standardmäßigen numerischen 8/16/32/64-Bit-Typen hinaus breite Ganzzahltypen mit fester Breite hinzu. Diese Typen werden mit nativem x64-Inline-Code für arithmetische, bitweise und Vergleichsoperationen implementiert.

Typ: Datentypfamilie | Kategorie: Numerische Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Unterstützte Typen

Typ | Alias | Größe | Signiert | Reichweite
INT128 | I128 | 16 Byte | Ja | -2127 .. 2127-1
UINT128 | U128 | 16 Byte | Nein | 0 .. 2128-1
INT256 | I256 | 32 Byte | Ja | -2255 .. 2255-1
UINT256 | U256 | 32 Byte | Nein | 0 .. 2256-1
INT512 | I512 | 64 Byte | Ja | -2511 .. 2511-1
UINT512 | U512 | 64 Byte | Nein | 0 .. 2512-1

Erklärung

LOCAL a AS INT128
LOCAL b AS U128
LOCAL c AS INT256
LOCAL d AS UINT512

Operationen

Alle Vorgänge sind nativer x64-Inline-Code ohne Laufzeitbibliotheksaufrufe:

  • Arithmetik: ADD, SUB, MUL, DIV, REM
  • Bitweise: UND, ODER, XOR, NICHT, SHL, SHR, SAR
  • Vergleich: EQ, NE, LT, LE, GT, GE

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Siehe auch

  • INT128 / I128 - 128-Bit-Ganzzahl mit Vorzeichen
  • UINT128 / U128 - 128-Bit-Ganzzahl ohne Vorzeichen
  • INT256 / I256 - 256-Bit-Ganzzahl mit Vorzeichen
  • UINT256 / U256 - 256-Bit-Ganzzahl ohne Vorzeichen
  • INT512 / I512 - 512-Bit-Ganzzahl mit Vorzeichen
  • UINT512 / U512 - 512-Bit-Ganzzahl ohne Vorzeichen
  • Hilfe zum PBXB64-Compiler


INT128 / I128 - 128-Bit-Ganzzahl mit Vorzeichen - PBXB64-Compiler-Hilfe

Startseite › Datentypen › Breite Integer-Typen Hilfe zum PBXB64-Compiler

INT128 / I128 - 128-Bit-Ganzzahl mit Vorzeichen

Eine 128-Bit-Ganzzahl mit Vorzeichen und vollst&auml;ndiger Unterst&uuml;tzung f&uuml;r Inline-Arithmetik. Der Bereich betr&auml;gt ungef&auml;hr -1,7&times;1038 bis +1,7&times;1038 (-2127 bis 2127-1).

Kategorie: Breite Integer-Typen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine 128-Bit-Ganzzahl mit Vorzeichen und vollständiger Unterstützung für Inline-Arithmetik. Der Bereich beträgt ungefähr -1,7×1038 bis +1,7×1038 (-2127 bis 2127-1).

Typ: Datentyp | Kategorie: Numerische Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Erklärung

LOCAL a AS INT128
LOCAL b AS I128

Größe und Ausrichtung

  • Größe: 16 Bytes (2 × 64-Bit-Wörter)
  • Ausrichtung: 16 Byte

Arithmetische Operationen

Alle Vorgänge sind nativer Inline-x64-Code – keine Laufzeitbibliotheksaufrufe:

Betrieb | Umsetzung
HINZUFÜGEN, SUB | Carry-Chain über zwei 64-Bit-Wörter mit CMP_LT
UND, ODER, XOR | Unabhängige wortweise Operationen
SHL, SHR | Kreuzwortverschiebung mit Übertragsausbreitung
MUL | UMULH/SMULH-Opcodes – Schulbuchalgorithmus (lo×lo, MULH, Cross-Terms)
DIV, REM | Inline-IR-Zerlegung mit lokaler Implementierung von __udivti3/__umodti3
CMP | Lexikografischer Vergleich: vorzeichenbehaftetes MSB, vorzeichenloses unteres Wort

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN() AS LONG
  LOCAL a AS INT128
  LOCAL b AS INT128
  LOCAL c AS INT128

  a = 1000000000000000000000  ' 10^21
  b = 2000000000000000000000  ' 2×10^21
  c = a + b                 ' 3×10^21
  PRINT c

  c = a * b                 ' 2×10^42 — fits in 128 bits
  PRINT c

  FUNCTION = 0
END FUNCTION

Siehe auch

  • UINT128 / U128 - 128-Bit-Ganzzahl ohne Vorzeichen
  • INT256 / I256 - 256-Bit-Ganzzahl mit Vorzeichen
  • INT512 / I512 - 512-Bit-Ganzzahl mit Vorzeichen
  • Lange Ganzzahlen (&) " PBXB64-Compiler-Hilfe
  • Quad-Ganzzahlen (&&)
  • Hilfe zum PBXB64-Compiler


INT256 / I256 - 256-Bit-Ganzzahl mit Vorzeichen - PBXB64-Compiler-Hilfe

Startseite › Datentypen › Breite Integer-Typen Hilfe zum PBXB64-Compiler

INT256 / I256 - 256-Bit-Ganzzahl mit Vorzeichen

Eine 256-Bit-Ganzzahl mit Vorzeichen mit Inline-ADD/SUB/CMP/AND/OR/XOR/SHL und optimierter Laufzeit MUL/DIV/REM. Der Bereich betr&auml;gt ungef&auml;hr &#8722;5,8&times;1076 bis +5,8&times;1076 (&#8722;2255 bis 2255&#8722;1).

Kategorie: Breite Integer-Typen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine 256-Bit-Ganzzahl mit Vorzeichen mit Inline-ADD/SUB/CMP/AND/OR/XOR/SHL und optimierter Laufzeit MUL/DIV/REM. Der Bereich beträgt ungefähr −5,8×1076 bis +5,8×1076 (−2255 bis 2255−1).

Typ: Datentyp | Kategorie: Numerische Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Erklärung

LOCAL a AS INT256
LOCAL b AS I256

Größe und Ausrichtung

  • Größe: 32 Bytes (4 × 64-Bit-Wörter)
  • Ausrichtung: 16 Byte
  • Stapelplatz: Ein 32-Byte-Frame-Objekt

Arithmetische Operationen

Alle Vorgänge sind nativer x64-Code. Einfache Operationen (ADD, SUB, CMP, AND, OR, XOR, SHL) werden als Inline-Befehlssequenzen ausgegeben. Multiplikation und Division nutzen optimierte C-Laufzeithilfsprogramme, die in die vom Benutzer ausführbare Datei kompiliert werden.

Betrieb | Umsetzung | Leistung
HINZUFÜGEN | Carry-Chain über vier 64-Bit-Wörter mit ADC (Add-with-Carry) | Inline, 4 Anweisungen
SUB | Borrow-Chain über vier 64-Bit-Wörter mit SBB (Subtrahieren mit Ausleihen) | Inline, 4 Anweisungen
UND, ODER, XOR | Unabhängige wortweise Operationen über vier 64-Bit-Wörter | Inline, jeweils 4 Anweisungen
SHL | Kreuzwortverschiebung mit Übertragsausbreitung: Wortverschiebung + Bitverschiebung | Inline, ~10 Anweisungen
SHR | Arithmetische Rechtsverschiebung: Ausbreitung von Zeichenfüllungen über Wörter hinweg | Inline, ~10 Anweisungen
CMP | Lexikografischer Vergleich: vorzeichenbehaftetes MSB-Wort, dann vorzeichenlose niedrigere Wörter | Inline, ~6 Anweisungen
NEG | Zweierkomplement: bitweises NICHT + Inkrementieren mit Übertrag | Inline, ~8 Anweisungen
MUL | Schulbuch-Multiplikation mit unsigned __int128 (128-Bit) Akkumulator für Kreuzbegriffe; 4×4-Wortmatrix | Optimierter Multiplikationspfad
DIV | Lange Division mit schrittweiser Probesubtraktion | Optimierter Divisionspfad
REM | Gleicher Divisionsalgorithmus, gibt Rest zurück | Optimierter Restwertpfad

Implementierungsdetails

Addition und Subtraktion

Der Compiler gibt eine Inline-Carry-Chain aus:

; ADD (a + b -> out)
mov  rax, [a+0]   ; load low word
add  rax, [b+0]   ; add low word
mov  [out+0], rax ; store low result
mov  rax, [a+8]
adc  rax, [b+8]   ; add-with-carry
mov  [out+8], rax
mov  rax, [a+16]
adc  rax, [b+16]
mov  [out+16], rax
mov  rax, [a+24]
adc  rax, [b+24]
mov  [out+24], rax

Multiplikation

Die Multiplikation verwendet einen Schulbuchalgorithmus. Für jedes Paar von 64-Bit-Wörtern a[i] × b[j], wird das 128-Bit-Produkt in einem temporären 512-Bit-Array akkumuliert, dann werden die unteren 256 Bits als Ergebnis gespeichert. PBXB64 verwendet seinen optimierten Wide-Integer-Multiplikationspfad.

Division und Rest

Bei der Division wird eine lange Division mit Probesubtraktion verwendet. Bei einer vorzeichenbehafteten Division konvertiert der Algorithmus zunächst beide Operanden in vorzeichenlose (Zweierkomplement-Negation, wenn negativ), führt eine vorzeichenlose lange Division durch und wendet dann das richtige Vorzeichen auf den Quotienten und den Rest an. PBXB64 verwendet seine optimierten Wide-Integer-Pfade fuer Division und Restwert.

Leistungshinweis: DIV und REM sind die langsamsten Vorgänge. Verwenden Sie für Divisionen durch Zweierpotenzen stattdessen die Rechtsverschiebung (SHR), die vollständig inline und viel schneller ist.

Einschränkungen

  • Division durch Null wird vom Compiler nicht abgefangen; Es erzeugt zur Laufzeit einen Quotienten von Null und einen Rest von Null.
  • Rechtsverschiebung (SHR) ist arithmetisch (Vorzeichenfüllung) und steht im Einklang mit der vorzeichenbehafteten Ganzzahlsemantik.
  • Zur Kompilierungszeit können nur ganzzahlige Literalwerte zugewiesen werden, die in die interne Darstellung des Compilers passen. Sehr große Werte (über ~263) muss arithmetisch aufgebaut werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN() AS LONG
  LOCAL a AS INT256
  LOCAL b AS INT256
  LOCAL c AS INT256

  a = 1000000000000000000000000000000  ' 10^30
  b = 2000000000000000000000000000000  ' 2*10^30
  c = a + b                           ' 3*10^30
  PRINT c

  c = a - b                           ' -10^30
  PRINT c

  FUNCTION = 0
END FUNCTION

Siehe auch

  • INT128 / I128 - 128-Bit-Ganzzahl mit Vorzeichen
  • INT512 / I512 - 512-Bit-Ganzzahl mit Vorzeichen
  • UINT256 / U256 - 256-Bit-Ganzzahl ohne Vorzeichen
  • Lange Ganzzahlen (&) " PBXB64-Compiler-Hilfe
  • Quad-Ganzzahlen (&&)
  • Hilfe zum PBXB64-Compiler


INT512 / I512 - 512-Bit-Ganzzahl mit Vorzeichen - PBXB64-Compiler-Hilfe

Startseite › Datentypen › Breite Integer-Typen Hilfe zum PBXB64-Compiler

INT512 / I512 - 512-Bit-Ganzzahl mit Vorzeichen

Eine 512-Bit-Ganzzahl mit Vorzeichen mit Inline-ADD/SUB/CMP/AND/OR/XOR/SHL und optimierter Laufzeit MUL/DIV/REM. Der Bereich betr&auml;gt ungef&auml;hr &#8722;6,7&times;10153 bis +6,7&times;10153 (&#8722;2511 bis 2511&#8722;1).

Kategorie: Breite Integer-Typen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine 512-Bit-Ganzzahl mit Vorzeichen mit Inline-ADD/SUB/CMP/AND/OR/XOR/SHL und optimierter Laufzeit MUL/DIV/REM. Der Bereich beträgt ungefähr −6,7×10153 bis +6,7×10153 (−2511 bis 2511−1).

Typ: Datentyp | Kategorie: Numerische Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Erklärung

LOCAL a AS INT512
LOCAL b AS I512

Größe und Ausrichtung

  • Größe: 64 Bytes (8 × 64-Bit-Wörter)
  • Ausrichtung: 32 Byte
  • Stapelplatz: Ein 64-Byte-Frame-Objekt

Arithmetische Operationen

Alle Vorgänge sind nativer x64-Code. Einfache Operationen (ADD, SUB, CMP, AND, OR, XOR, SHL) werden als Inline-Befehlssequenzen ausgegeben. Multiplikation und Division nutzen optimierte C-Laufzeithilfsprogramme, die in die vom Benutzer ausführbare Datei kompiliert werden.

Betrieb | Umsetzung | Leistung
HINZUFÜGEN | Carry-Chain über acht 64-Bit-Wörter mit ADC (Add-with-Carry) | Inline, 8 Anweisungen
SUB | Leihekette über acht 64-Bit-Wörter mit SBB (Subtrahieren mit Ausleihen) | Inline, 8 Anweisungen
UND, ODER, XOR | Unabhängige wortweise Operationen über acht 64-Bit-Wörter | Inline, jeweils 8 Anweisungen
SHL | Kreuzwortverschiebung mit Übertragsausbreitung: Wortverschiebung + Bitverschiebung | Inline, ~20 Anweisungen
SHR | Arithmetische Rechtsverschiebung: Ausbreitung von Zeichenfüllungen über Wörter hinweg | Inline, ~20 Anweisungen
CMP | Lexikografischer Vergleich: vorzeichenbehaftetes MSB-Wort, dann vorzeichenlose niedrigere Wörter | Inline, ~12 Anweisungen
NEG | Zweierkomplement: bitweises NICHT + Inkrementieren mit Übertrag | Inline, ~16 Anweisungen
MUL | Schulbuch-Multiplikation mit unsigned __int128 (128-Bit) Akkumulator für Kreuzbegriffe; 8×8 Wortmatrix | Optimierter Multiplikationspfad
DIV | Lange Division mit schrittweiser Probesubtraktion | Optimierter Divisionspfad
REM | Gleicher Divisionsalgorithmus, gibt Rest zurück | Optimierter Restwertpfad

Implementierungsdetails

Addition und Subtraktion

Der Compiler gibt eine Inline-Carry-Kette über acht 64-Bit-Wörter aus. Zusätzlich wird jedes Wortpaar mit Übertragsausbreitung unter Verwendung von x86 hinzugefügt ADC Anleitung. Für die Subtraktion gilt: SBB (subtract-with-borrow) verbreitet die Entlehnung über alle acht Wörter:

; ADD (a + b -> out) — 512-bit, 8 words
mov  rax, [a+0]   ; word 0
add  rax, [b+0]
mov  [out+0], rax
mov  rax, [a+8]   ; word 1
adc  rax, [b+8]
mov  [out+8], rax
; ... repeated for words 2 through 7
mov  rax, [a+56]  ; word 7
adc  rax, [b+56]
mov  [out+56], rax

Multiplikation

Die Multiplikation verwendet einen Schulbuchalgorithmus. Für jedes Paar von 64-Bit-Wörtern a[i] × b[j], wird das 128-Bit-Produkt in einem temporären 1024-Bit-Array (16 Wörter) akkumuliert, dann werden die unteren 512 Bits als Ergebnis gespeichert. PBXB64 verwendet seinen optimierten Wide-Integer-Multiplikationspfad.

Für eine 8×8-Wortmultiplikation sind 64 einzelne 64×64-Multiplikationen erforderlich, von denen jede ein 128-Bit-Partialprodukt erzeugt, das mit Übertragsausbreitung im Ergebnisarray akkumuliert wird.

Division und Rest

Bei der Division wird eine lange Division mit Probesubtraktion verwendet. Bei einer vorzeichenbehafteten Division konvertiert der Algorithmus zunächst beide Operanden in vorzeichenlose (Zweierkomplement-Negation, wenn negativ), führt eine vorzeichenlose lange Division durch und wendet dann das richtige Vorzeichen auf den Quotienten und den Rest an. PBXB64 verwendet seine optimierten Wide-Integer-Pfade fuer Division und Restwert.

Der vorzeichenlose lange Divisionsalgorithmus richtet den Divisor am höchstwertigen Bit des Dividenden aus, iteriert dann bitweise, verschiebt den Divisor bei jeder Iteration um ein Bit nach rechts und subtrahiert, wenn der aktuelle Rest größer oder gleich dem ausgerichteten Divisor ist.

Leistungshinweis: DIV und REM sind aufgrund der großen Wortanzahl (8 Wörter) die langsamsten Operationen für 512-Bit-Werte. Verwenden Sie für Divisionen durch Zweierpotenzen stattdessen die Rechtsverschiebung (SHR), die vollständig inline und um Größenordnungen schneller ist.

Einschränkungen

  • Division durch Null wird vom Compiler nicht abgefangen; Es erzeugt zur Laufzeit einen Quotienten von Null und einen Rest von Null.
  • Rechtsverschiebung (SHR) ist arithmetisch (Vorzeichenfüllung) und steht im Einklang mit der vorzeichenbehafteten Ganzzahlsemantik.
  • Zur Kompilierungszeit können nur ganzzahlige Literalwerte zugewiesen werden, die in die interne Darstellung des Compilers passen. Sehr große Werte (über ~263) muss durch arithmetische oder Schiebeoperationen aufgebaut werden.
  • 512-Bit-Variablen belegen jeweils 64 Byte Stapelplatz. Funktionen mit vielen 512-Bit-Locals überschreiten möglicherweise die Standard-Stack-Limits.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN() AS LONG
  LOCAL a AS INT512
  LOCAL b AS INT512
  LOCAL c AS INT512

  a = 1000000000000000000000000000000000000000000000000  ' 10^48
  b = 2000000000000000000000000000000000000000000000000  ' 2*10^48
  c = a + b                                            ' 3*10^48
  PRINT c

  c = a - b                                            ' -10^48
  PRINT c

  FUNCTION = 0
END FUNCTION

Siehe auch

  • INT128 / I128 - 128-Bit-Ganzzahl mit Vorzeichen
  • INT256 / I256 - 256-Bit-Ganzzahl mit Vorzeichen
  • UINT512 / U512 - 512-Bit-Ganzzahl ohne Vorzeichen
  • Lange Ganzzahlen (&) " PBXB64-Compiler-Hilfe
  • Quad-Ganzzahlen (&&)
  • Hilfe zum PBXB64-Compiler


UINT128 / U128 - 128-Bit-Ganzzahl ohne Vorzeichen - PBXB64-Compiler-Hilfe

Startseite › Datentypen › Breite Integer-Typen Hilfe zum PBXB64-Compiler

UINT128 / U128 - 128-Bit-Ganzzahl ohne Vorzeichen

Eine 128-Bit-Ganzzahl ohne Vorzeichen mit vollst&auml;ndiger Unterst&uuml;tzung f&uuml;r Inline-Arithmetik. Der Bereich liegt zwischen 0 und 3,4&times;1038 (0 bis 2128-1).

Kategorie: Breite Integer-Typen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine 128-Bit-Ganzzahl ohne Vorzeichen mit vollständiger Unterstützung für Inline-Arithmetik. Der Bereich liegt zwischen 0 und 3,4×1038 (0 bis 2128-1).

Typ: Datentyp | Kategorie: Numerische Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Erklärung

LOCAL a AS UINT128
LOCAL b AS U128

Größe und Ausrichtung

  • Größe: 16 Bytes (2 × 64-Bit-Wörter)
  • Ausrichtung: 16 Byte

Arithmetische Operationen

Alle Vorgänge sind nativer Inline-x64-Code – keine Laufzeitbibliotheksaufrufe:

Betrieb | Umsetzung
HINZUFÜGEN, SUB | Carry-Chain über zwei 64-Bit-Wörter mit CMP_LT
UND, ODER, XOR | Unabhängige wortweise Operationen
SHL, SHR | Kreuzwortverschiebung mit Übertragsausbreitung
MUL | UMULH-Opcode – Schulbuchalgorithmus (lo×lo, UMULH, Cross-Terms)
DIV, REM | Inline-IR-Zerlegung mit lokaler __udivti3-Implementierung
CMP | Lexikografischer, vorzeichenloser Vergleich beider Wörter

Beschreibung

UINT128 / U128 – 128-Bit-Ganzzahl ohne Vorzeichen gehoert zur Kategorie General. Diese Seite beschreibt den PBXB64-Dokumentationsstand fuer diesen Eintrag; verwenden Sie die Grenzen und Belege auf dieser Seite statt historischer PBWin-Annahmen.

Praktische Verwendung

UINT128 / U128 – 128-Bit-Ganzzahl ohne Vorzeichen gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Beispiel

FUNCTION PBMAIN() AS LONG
  LOCAL a AS UINT128
  LOCAL b AS UINT128
  LOCAL c AS UINT128

  a = 18446744073709551615   ' 2^64 - 1
  b = 1
  c = a + b                  ' 2^64 — fits in 128 bits
  PRINT c

  FUNCTION = 0
END FUNCTION

Siehe auch

  • INT128 / I128 - 128-Bit-Ganzzahl mit Vorzeichen
  • UINT256 / U256 - 256-Bit-Ganzzahl ohne Vorzeichen
  • UINT512 / U512 - 512-Bit-Ganzzahl ohne Vorzeichen
  • Doppelwort (???)
  • Quad-Ganzzahlen (&&)
  • Hilfe zum PBXB64-Compiler


UINT256 / U256 - 256-Bit-Ganzzahl ohne Vorzeichen - PBXB64-Compiler-Hilfe

Startseite › Datentypen › Breite Integer-Typen Hilfe zum PBXB64-Compiler

UINT256 / U256 - 256-Bit-Ganzzahl ohne Vorzeichen

Eine 256-Bit-Ganzzahl ohne Vorzeichen mit Inline-ADD/SUB/CMP/AND/OR/XOR/SHL und optimierter Laufzeit MUL/DIV/REM. Der Bereich liegt zwischen 0 und etwa 1,16&times;1077 (0 bis 2256&#8722;1).

Kategorie: Breite Integer-Typen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine 256-Bit-Ganzzahl ohne Vorzeichen mit Inline-ADD/SUB/CMP/AND/OR/XOR/SHL und optimierter Laufzeit MUL/DIV/REM. Der Bereich liegt zwischen 0 und etwa 1,16×1077 (0 bis 2256−1).

Typ: Datentyp | Kategorie: Numerische Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Erklärung

LOCAL a AS UINT256
LOCAL b AS U256

Größe und Ausrichtung

  • Größe: 32 Bytes (4 × 64-Bit-Wörter)
  • Ausrichtung: 16 Byte
  • Stapelplatz: Ein 32-Byte-Frame-Objekt

Arithmetische Operationen

Alle Vorgänge sind nativer x64-Code. Einfache Operationen (ADD, SUB, CMP, AND, OR, XOR, SHL) werden als Inline-Befehlssequenzen ausgegeben. Multiplikation und Division nutzen optimierte C-Laufzeithilfsprogramme, die in die vom Benutzer ausführbare Datei kompiliert werden.

Betrieb | Umsetzung | Leistung
HINZUFÜGEN | Carry-Chain über vier 64-Bit-Wörter mit ADC (Add-with-Carry) | Inline, 4 Anweisungen
SUB | Borrow-Chain über vier 64-Bit-Wörter mit SBB (Subtrahieren mit Ausleihen) | Inline, 4 Anweisungen
UND, ODER, XOR | Unabhängige wortweise Operationen über vier 64-Bit-Wörter | Inline, jeweils 4 Anweisungen
SHL | Kreuzwortverschiebung mit Übertragsausbreitung: Wortverschiebung + Bitverschiebung | Inline, ~10 Anweisungen
SHR | Logische Rechtsverschiebung: Ausbreitung von Nullfüllungen über Wörter hinweg | Inline, ~10 Anweisungen
CMP | Lexikografischer vorzeichenloser Vergleich aller Wörter (MSB bis LSB) | Inline, ~6 Anweisungen
NEG | Zweierkomplement: bitweises NICHT + Inkrementieren mit Übertrag | Inline, ~8 Anweisungen
MUL | Schulbuch-Multiplikation mit unsigned __int128 (128-Bit) Akkumulator für Kreuzbegriffe; 4×4-Wortmatrix | Optimierter Multiplikationspfad
DIV | Lange Division mit schrittweiser Probesubtraktion | Optimierter Divisionspfad
REM | Gleicher Divisionsalgorithmus, gibt Rest zurück | Optimierter Restwertpfad

Implementierungsdetails

Addition und Subtraktion

Der Compiler gibt eine Inline-Carry-Chain mit aus ADC (add-with-carry) für Addition und SBB (subtract-with-borrow) für die Subtraktion über vier 64-Bit-Wörter:

; ADD (a + b -> out)
mov  rax, [a+0]   ; load low word
add  rax, [b+0]   ; add low word
mov  [out+0], rax ; store low result
mov  rax, [a+8]
adc  rax, [b+8]   ; add-with-carry
mov  [out+8], rax
mov  rax, [a+16]
adc  rax, [b+16]
mov  [out+16], rax
mov  rax, [a+24]
adc  rax, [b+24]
mov  [out+24], rax

Multiplikation

Die Multiplikation verwendet einen Schulbuchalgorithmus. Für jedes Paar von 64-Bit-Wörtern a[i] × b[j], wird das 128-Bit-Produkt in einem temporären 512-Bit-Array akkumuliert, dann werden die unteren 256 Bits als Ergebnis gespeichert. PBXB64 verwendet seinen optimierten Wide-Integer-Multiplikationspfad.

Division und Rest

Bei der Division wird eine vorzeichenlose lange Division mit Probesubtraktion verwendet. Der Algorithmus richtet den Divisor am höchstwertigen Bit des Dividenden aus, iteriert dann bitweise und subtrahiert, wenn der aktuelle Rest größer oder gleich dem ausgerichteten Divisor ist. PBXB64 verwendet seine optimierten Wide-Integer-Pfade fuer Division und Restwert.

Leistungshinweis: DIV und REM sind die langsamsten Vorgänge. Verwenden Sie für Divisionen durch Zweierpotenzen stattdessen die Rechtsverschiebung (SHR), die vollständig inline und viel schneller ist. SHR ohne Vorzeichen ist logisch (Nullfüllung) und eignet sich daher ideal zum Extrahieren von Bitfeldern.

Einschränkungen

  • Division durch Null wird vom Compiler nicht abgefangen; Es erzeugt zur Laufzeit einen Quotienten von Null und einen Rest von Null.
  • Rechtsverschiebung (SHR) ist logisch (Nullfüllung), im Gegensatz zu vorzeichenbehafteten Ganzzahlen, die eine arithmetische Verschiebung (Vorzeichenfüllung) verwenden.
  • Zur Kompilierungszeit können nur ganzzahlige Literalwerte zugewiesen werden, die in die interne Darstellung des Compilers passen. Sehr große Werte (über ~263) muss durch arithmetische oder Schiebeoperationen aufgebaut werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN() AS LONG
  LOCAL a AS UINT256
  LOCAL b AS UINT256
  LOCAL c AS UINT256

  a = 340282366920938463463374607431768211455  ' 2^128 - 1
  b = 1
  c = a + b                                  ' 2^128 — wraps naturally in 256 bits
  PRINT c

  c = c - b                                  ' back to 2^128 - 1
  PRINT c

  FUNCTION = 0
END FUNCTION

Siehe auch

  • UINT128 / U128 - 128-Bit-Ganzzahl ohne Vorzeichen
  • UINT512 / U512 - 512-Bit-Ganzzahl ohne Vorzeichen
  • INT256 / I256 - 256-Bit-Ganzzahl mit Vorzeichen
  • Doppelwort (???)
  • Quad-Ganzzahlen (&&)
  • Hilfe zum PBXB64-Compiler


UINT512 / U512 - 512-Bit-Ganzzahl ohne Vorzeichen - PBXB64-Compiler-Hilfe

Startseite › Datentypen › Breite Integer-Typen Hilfe zum PBXB64-Compiler

UINT512 / U512 - 512-Bit-Ganzzahl ohne Vorzeichen

Eine 512-Bit-Ganzzahl ohne Vorzeichen mit Inline-ADD/SUB/CMP/AND/OR/XOR/SHL und optimierter Laufzeit MUL/DIV/REM. Der Bereich liegt zwischen 0 und etwa 1,34&times;10154 (0 bis 2512&#8722;1).

Kategorie: Breite Integer-Typen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine 512-Bit-Ganzzahl ohne Vorzeichen mit Inline-ADD/SUB/CMP/AND/OR/XOR/SHL und optimierter Laufzeit MUL/DIV/REM. Der Bereich liegt zwischen 0 und etwa 1,34×10154 (0 bis 2512−1).

Typ: Datentyp | Kategorie: Numerische Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Erklärung

LOCAL a AS UINT512
LOCAL b AS U512

Größe und Ausrichtung

  • Größe: 64 Bytes (8 × 64-Bit-Wörter)
  • Ausrichtung: 32 Byte
  • Stapelplatz: Ein 64-Byte-Frame-Objekt

Arithmetische Operationen

Alle Vorgänge sind nativer x64-Code. Einfache Operationen (ADD, SUB, CMP, AND, OR, XOR, SHL) werden als Inline-Befehlssequenzen ausgegeben. Multiplikation und Division nutzen optimierte C-Laufzeithilfsprogramme, die in die vom Benutzer ausführbare Datei kompiliert werden.

Betrieb | Umsetzung | Leistung
HINZUFÜGEN | Carry-Chain über acht 64-Bit-Wörter mit ADC (Add-with-Carry) | Inline, 8 Anweisungen
SUB | Leihekette über acht 64-Bit-Wörter mit SBB (Subtrahieren mit Ausleihen) | Inline, 8 Anweisungen
UND, ODER, XOR | Unabhängige wortweise Operationen über acht 64-Bit-Wörter | Inline, jeweils 8 Anweisungen
SHL | Kreuzwortverschiebung mit Übertragsausbreitung: Wortverschiebung + Bitverschiebung | Inline, ~20 Anweisungen
SHR | Logische Rechtsverschiebung: Ausbreitung von Nullfüllungen über Wörter hinweg | Inline, ~20 Anweisungen
CMP | Lexikografischer vorzeichenloser Vergleich aller Wörter (MSB bis LSB) | Inline, ~12 Anweisungen
NEG | Zweierkomplement: bitweises NICHT + Inkrementieren mit Übertrag | Inline, ~16 Anweisungen
MUL | Schulbuch-Multiplikation mit unsigned __int128 (128-Bit) Akkumulator für Kreuzbegriffe; 8×8 Wortmatrix | Optimierter Multiplikationspfad
DIV | Lange Division mit schrittweiser Probesubtraktion | Optimierter Divisionspfad
REM | Gleicher Divisionsalgorithmus, gibt Rest zurück | Optimierter Restwertpfad

Implementierungsdetails

Addition und Subtraktion

Der Compiler gibt eine Inline-Carry-Chain mit aus ADC (add-with-carry) für Addition und SBB (subtract-with-borrow) für die Subtraktion über acht 64-Bit-Wörter:

; ADD (a + b -> out) — 512-bit, 8 words
mov  rax, [a+0]   ; word 0
add  rax, [b+0]
mov  [out+0], rax
mov  rax, [a+8]   ; word 1
adc  rax, [b+8]
mov  [out+8], rax
; ... repeated for words 2 through 7
mov  rax, [a+56]  ; word 7
adc  rax, [b+56]
mov  [out+56], rax

Multiplikation

Die Multiplikation verwendet einen Schulbuchalgorithmus. Für jedes Paar von 64-Bit-Wörtern a[i] × b[j], wird das 128-Bit-Produkt in einem temporären 1024-Bit-Array (16 Wörter) akkumuliert, dann werden die unteren 512 Bits als Ergebnis gespeichert. PBXB64 verwendet seinen optimierten Wide-Integer-Multiplikationspfad.

Für eine 8×8-Wortmultiplikation sind 64 einzelne 64×64-Multiplikationen erforderlich, von denen jede ein 128-Bit-Partialprodukt erzeugt, das mit Übertragsausbreitung im Ergebnisarray akkumuliert wird.

Division und Rest

Bei der Division wird eine vorzeichenlose lange Division mit Probesubtraktion verwendet. Der Algorithmus richtet den Divisor am höchstwertigen Bit des Dividenden aus, iteriert dann bitweise, verschiebt den Divisor bei jeder Iteration um ein Bit nach rechts und subtrahiert, wenn der aktuelle Rest größer oder gleich dem ausgerichteten Divisor ist. PBXB64 verwendet seine optimierten Wide-Integer-Pfade fuer Division und Restwert.

Leistungshinweis: DIV und REM sind aufgrund der großen Wortanzahl (8 Wörter) die langsamsten Operationen für 512-Bit-Werte. Verwenden Sie für Divisionen durch Zweierpotenzen stattdessen die Rechtsverschiebung (SHR), die vollständig inline und um Größenordnungen schneller ist. SHR ohne Vorzeichen ist logisch (Nullfüllung) und eignet sich daher ideal zum Extrahieren von Bitfeldern.

Einschränkungen

  • Division durch Null wird vom Compiler nicht abgefangen; Es erzeugt zur Laufzeit einen Quotienten von Null und einen Rest von Null.
  • Rechtsverschiebung (SHR) ist logisch (Nullfüllung), im Gegensatz zu vorzeichenbehafteten Ganzzahlen, die eine arithmetische Verschiebung (Vorzeichenfüllung) verwenden.
  • Zur Kompilierungszeit können nur ganzzahlige Literalwerte zugewiesen werden, die in die interne Darstellung des Compilers passen. Sehr große Werte (über ~263) muss durch arithmetische oder Schiebeoperationen aufgebaut werden.
  • 512-Bit-Variablen belegen jeweils 64 Byte Stapelplatz. Funktionen mit vielen 512-Bit-Locals überschreiten möglicherweise die Standard-Stack-Limits.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN() AS LONG
  LOCAL a AS UINT512
  LOCAL b AS UINT512
  LOCAL c AS UINT512

  a = 115792089237316195423570985008687907853269984665640564039457584007913129639935
  ' 2^256 - 1
  b = 1
  c = a + b                                    ' 2^256 — wraps naturally in 512 bits
  PRINT c

  c = c - b                                    ' back to 2^256 - 1
  PRINT c

  FUNCTION = 0
END FUNCTION

Siehe auch

  • UINT256 / U256 - 256-Bit-Ganzzahl ohne Vorzeichen
  • UINT128 / U128 - 128-Bit-Ganzzahl ohne Vorzeichen
  • INT512 / I512 - 512-Bit-Ganzzahl mit Vorzeichen
  • Doppelwort (???)
  • Quad-Ganzzahlen (&&)
  • Hilfe zum PBXB64-Compiler


Wide Integer-Typen (INT128/256/512) - PBXB64-Compiler-Hilfe

Startseite › Datentypen › Breite Integer-Typen Hilfe zum PBXB64-Compiler

Wide Integer-Typen (INT128/256/512)

PBXB64 f&uuml;gt Wide-Integer-Typen mit fester Breite &uuml;ber den Standard 8/16/32/64-Bit hinaus hinzu Bereich. Diese Typen werden mit nativem Inline-x64-Code f&uuml;r Arithmetik implementiert. bitweise und Vergleichsoperationen &ndash; keine Laufzeitbibliotheksaufrufe f&uuml;r das Hot Wege. Sie werden f&uuml;r Kryptografie, Hashing, gro&szlig;e Z&auml;hler und wissenschaftliche Zwecke verwendet Berechnen, wo sonst ein 64-Bit-&Uuml;berlauf auftreten w&uuml;rde.

Kategorie: Breite Integer-Typen | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 fügt Wide-Integer-Typen mit fester Breite über den Standard 8/16/32/64-Bit hinaus hinzu Bereich. Diese Typen werden mit nativem Inline-x64-Code für Arithmetik implementiert. bitweise und Vergleichsoperationen – keine Laufzeitbibliotheksaufrufe für das Hot Wege. Sie werden für Kryptografie, Hashing, große Zähler und wissenschaftliche Zwecke verwendet Berechnen, wo sonst ein 64-Bit-Überlauf auftreten würde.

Typ: Datentypfamilie | Kategorie: Numerische Typen

PBXB64-Status: AVAILABLE

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Unterstützte Typen

Typ | Alias | Größe | Signiert | Reichweite | Dezimalstellen
INT128 | I128 | 16 Byte | ja | -2^127 .. 2^127-1 | ~38
UINT128 | U128 | 16 Byte | Nein | 0 .. 2^128-1 | ~39
INT256 | I256 | 32 Byte | ja | -2^255 .. 2^255-1 | ~77
UINT256 | U256 | 32 Byte | Nein | 0 .. 2^256-1 | ~78
INT512 | I512 | 64 Byte | ja | -2^511 .. 2^511-1 | ~154
UINT512 | U512 | 64 Byte | Nein | 0 .. 2^512-1 | ~155

Lagerlayout

Wide-Ganzzahlen werden in Little-Endian-Bytereihenfolge im zusammenhängenden Speicher gespeichert. INT128/UINT128 belegen 16 Bytes (zwei 64-Bit-Teile); INT256/UINT256 belegen 32 Bytes (vier Glieder); INT512/UINT512 belegen 64 Bytes (acht Glieder). Einheimische sind auf 16 Bytes stapelorientiert.

Unterstützte Operationen

Kategorie | Operationen | Hinweise
Arithmetik | +, -, *, \ (int div), MOD | 128-Bit-Multifunktionsanwendungen mul/imul mit adc; 256/512 nutzen Schulbuch.
Bitweise | AND, OR, XOR, NOT | Gehen Sie Glied für Glied vor.
Schichten | SHL, SHR, SAR | Verwendenshld/shrd für Querverlagerungen.
Vergleich | =, <>, <, <=, >, >= | Rückgaben -1 (wahr) / 0 (falsch).
Konvertierung | nach/von STRING, QUAD, LONG | Analyse/Formatierung von Dezimalzeichenfolgen.

Deklaration und Verwendung

LOCAL a AS INT128
LOCAL b AS U128
LOCAL c AS INT256
LOCAL d AS UINT512

a = 2^100              ' fits in INT128 (max ~3.4e38)
b = 2^128 - 1          ' largest UINT128
c = a * a              ' 2^200, still fits in INT256
d = c * c              ' 2^400, fits in INT512

PRINT a                ' decimal string output
IF a > b THEN PRINT "a is bigger"

Wann sollten breite Ganzzahlen im Vergleich zu UNL verwendet werden?

Brauchen | Benutzen | Warum
Feste Breite, bekannte Grenze ≤ 512 Bit | INT128..UINT512 | Schneller: keine Zuordnung, keine Längenverfolgung, Inline-Assembly.
Unbegrenzte Größe | UNL | Wächst nach Bedarf; langsamer pro Operation, aber nie ein Überlauf.
Kryptografisches 256-Bit (z. B. secp256k1) | UINT256 | Exakte Passform, konstante Zeitfähigkeit.
SHA-512-Zwischenzustände | UINT512 | Entspricht der nativen Breite des Algorithmus.

Beziehung zu QUAD und CURRENCY

QUAD (64-Bit-signiert) ist der größte Standard PBXB64 Ganzzahl. Die breiten Typen erstrecken sich nach oben QUAD:

QUAD (64-bit) < INT128 (128-bit) < INT256 (256-bit) < INT512 (512-bit)
                      |
                      +-- UNL (unbounded, grows dynamically)

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • Übersicht über Datentypen
  • BASIC-Datentypen
  • UNL - Ganzzahl mit unbegrenzter Genauigkeit
  • UNF-Familie - Wissenschaftliche numerische Typen


UN-Familie - PBXB64-Compiler-Hilfe

Startseite › Datentypen › UN-Familie Hilfe zum PBXB64-Compiler

UN-Familie

Themen in diesem Kapitel

UNB - Big Float (beliebige Präzision) UNC - Komplexe Nummer UNF - Unum Float (16 Byte) UNI - Intervallarithmetik UNQ - Quaternion


UNB - Big Float (beliebige Präzision) - PBXB64-Compiler-Hilfe

Startseite › Datentypen › UN-Familie Hilfe zum PBXB64-Compiler

UNB - Big Float (beliebige Präzision)

UNB (Unum Big-float) ist ein Gleitkomma mit beliebiger Genauigkeit Typ, dessen Mantisse dynamisch w&auml;chst. Im Gegensatz zuUNF(behoben 60-Bit-Mantisse), UNB kann beliebig viele Mantissenglieder tragen, Dadurch eignet es sich f&uuml;r Berechnungen, die Hunderte oder Tausende von Ziffern erfordern der Pr&auml;zision.

Kategorie: UN-Familie

Beschreibung

UNB (Unum Big-float) ist ein Gleitkomma mit beliebiger Genauigkeit Typ, dessen Mantisse dynamisch wächst. Im Gegensatz zuUNF(behoben 60-Bit-Mantisse), UNB kann beliebig viele Mantissenglieder tragen, Dadurch eignet es sich für Berechnungen, die Hunderte oder Tausende von Ziffern erfordern der Präzision.

Typ: Datentyp | Kategorie: Numerische Typen

PBXB64-Status: VERFÜGBAR (Wissenschaftslaufzeit)

PBXB64-Zertifizierung: [WISSENSCHAFTSSTUFE]

Lagerlayout

Eigentum | Wert
Grundgröße | 16+ Bytes (Header + Heap-gewachsene Mantisse)
Mantisse | Array von mp_v_t (128-Bit) Gliedmaßen, Heap-zugewiesen
Exponent | 64-Bit signiert (effektiv unbegrenzter Bereich)
Präzision | Dynamisch – vom Anrufer festgelegt oder nach Bedarf erweitert
Unterschreiben | Separate Flagge (Vorzeichen/Größe)

Wie es sich von UNF unterscheidet

Eigentum | UNF | UNB
Mantissenbreite | 60 Bit behoben | Dynamisch (beliebig viele Gliedmaßen)
Lagerung | 16 Byte (Stapel) | 16+ Bytes (Heap für Mantisse)
Dezimalstellen | ~19 | Unbegrenzt (vom Anrufer angegeben)
Exponentenbereich | -128 .. 127 | -2^63 .. 2^63-1
Geschwindigkeit | Schnell (inline __int128) | Langsamer (Haufen, mehrgliedrig)
Anwendungsfall | Allgemeine wissenschaftliche | Pi auf 1000 Ziffern, Kryptographie

Operationen

Kategorie | Operationen
Arithmetik | add, sub, mul, div (mit vom Anrufer angegebener Genauigkeit)
Wurzeln | sqrt, nroot (n-te Wurzel)
Vergleich | eq, cmp
Konvertierung | nach/von UNF, STRING, DOUBLE
Präzise Steuerung | set_precision, get_precision

Umsetzung

UNB nutzt die Multipräzisions-Helfer in unf_mp.h (die mp_v_t = __int128 Typ und damit verbundene Operationen). Die Mantisse wird als Heap-zugewiesenes Array gespeichert von 128-Bit-Gliedmaßen. Für kleine Genauigkeiten wird die Schulbuchmultiplikation verwendet; Über einem Schwellenwert setzt die Karatsuba-Multiplikation ein.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

LOCAL pi AS UNB
pi = UNB_PI(100)          ' compute pi to 100 decimal digits
PRINT pi                  ' 3.14159265358979... (100 digits)

Siehe auch

  • UNF - Unum Float (16 Byte)
  • UNF-Familie - Wissenschaftliche numerische Typen
  • UNL - Ganzzahl mit unbegrenzter Genauigkeit
  • UNC - Komplexe Nummer


UNC - Komplexe Nummer - PBXB64-Compiler-Hilfe

Startseite › Datentypen › UN-Familie Hilfe zum PBXB64-Compiler

UNC - Komplexe Nummer

UNC ist ein komplexer Zahlentyp, der aus zwei besteht UNF Werte: ein Realteil und ein Imagin&auml;rteil. Es erm&ouml;glicht bitgenauen Komplex Arithmetik f&uuml;r Signalverarbeitung, Quantenmechanik und Elektrik technische Anwendungen.

Kategorie: UN-Familie

Beschreibung

UNC ist ein komplexer Zahlentyp, der aus zwei besteht UNF Werte: ein Realteil und ein Imaginärteil. Es ermöglicht bitgenauen Komplex Arithmetik für Signalverarbeitung, Quantenmechanik und Elektrik technische Anwendungen.

Typ: Datentyp | Kategorie: Numerische Typen

PBXB64-Status: VERFÜGBAR (Wissenschaftslaufzeit)

PBXB64-Zertifizierung: [WISSENSCHAFTSSTUFE]

Lagerlayout

Eigentum | Wert
Größe | 32 Byte
Layout | { UNF re; UNF im; }
Realteil (re) | 16-Byte-UNF (60-Bit-Mantisse, 19 Ziffern)
Imaginärteil (im) | 16-Byte-UNF (60-Bit-Mantisse, 19 Ziffern)
Wert | z = re + im*i

Operationen

Kategorie | Operationen
Arithmetik | add, sub, mul, div (komplex, genau)
Größe | abs (= sqrt(re^2 + im^2)), arg (= atan2(im, re))
Konjugat | conj (negiert im)
Befugnisse | sqrt, exp, log, pow (Hauptzweig)
Trigonometrisch | sin, cos, tan, sinh, cosh, tanh
Konvertierung | zur/von der Polarform (r, theta), zur/von der Zeichenfolge

Anwendungsfälle

  • DSP / FFT - komplexe Multiplikation ist exakt; keine akkumulierte Rundung bei langen Transformationen.
  • Quantencomputersimulation - Zustandsvektoren erfordern hochpräzise komplexe Amplituden.
  • Analyse des Wechselstromkreises - Impedanzberechnungen mit exakter Phase.
  • Kontrolltheorie - Pol-/Nullpunktanalyse mit präzisen komplexen Wurzeln.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

LOCAL z1 AS UNC
LOCAL z2 AS UNC
z1 = CMPLX(3.0, 4.0)       ' 3 + 4i
z2 = CMPLX(1.0, -1.0)      ' 1 - i
PRINT z1 + z2              ' 4 + 3i
PRINT UNCABS(z1)           ' 5.0  (magnitude)

Siehe auch

  • UNF - Unum Float (16 Byte)
  • UNF-Familie - Wissenschaftliche numerische Typen
  • UNB - Big Float (beliebige Präzision)
  • UNI - Intervallarithmetik
  • UNQ - Quaternion


UNF - Unum Float (16 Byte) - PBXB64-Compiler-Hilfe

Startseite › Datentypen › UN-Familie Hilfe zum PBXB64-Compiler

UNF - Unum Float (16 Byte)

UNF (Unum Float) ist der Basisskalar des wissenschaftlichen PBXB64 numerisches Typensystem. Es handelt sich um einen 16-Byte-Gleitkommatyp mit einem 60-Bit-Vorzeichen Mantisse und ein 8-Bit-Exponent mit Vorzeichen, vollst&auml;ndig berechnet mit pure __int128 Ganzzahlarithmetik. Keine Gleitkomma-Hardware nimmt an Berechnungen teil &ndash; die IEEE-Grenze ist explizit und auf begrenzt unf_conv.h.

Kategorie: UN-Familie

Beschreibung

UNF (Unum Float) ist der Basisskalar des wissenschaftlichen PBXB64 numerisches Typensystem. Es handelt sich um einen 16-Byte-Gleitkommatyp mit einem 60-Bit-Vorzeichen Mantisse und ein 8-Bit-Exponent mit Vorzeichen, vollständig berechnet mit pure __int128 Ganzzahlarithmetik. Keine Gleitkomma-Hardware nimmt an Berechnungen teil – die IEEE-Grenze ist explizit und auf begrenzt unf_conv.h.

Typ: Datentyp | Kategorie: Numerische Typen

PBXB64-Status: VERFÜGBAR (Frontend + Laufzeit)

PBXB64-Zertifizierung: [WISSENSCHAFTSSTUFE]

Lagerlayout

Eigentum | Wert
Größe | 16 Byte
C-Typ | struct unf { int64_t m; int8_t e; } (aufgefüllt auf 16)
Wertformel | u = m * 2^e
Mantisse (m) | 60-Bit signiert (2^59 <= |m| < 2^60 wenn normalisiert)
Exponent (e) | 8-Bit mit Vorzeichen (-128 .. +127)
Dezimale Genauigkeit | ~19 signifikante Ziffern
Kleinstes Plus | ~ 1,3e-20
Größte endliche | ~ 1,8e+57

Besondere Werte

Wert | Codierung | Prädikat
+0 (kanonische Null) | m = 0, e = 0 | unf_is_zero()
NaN | m = INT64_MIN | unf_is_nan()
+Unendlichkeit | e = INT8_MIN, m = 0 | unf_is_inf()

NaN breitet sich durch alle Arithmetik aus (IEEE 754-Semantik). Unendlichkeit breitet sich bei korrekter Zeichenbehandlung aus.

Operationen

Kategorie | Operationen | Umsetzung
Einfach | neg, abs, copysign, normalize | unf_basic.h
Arithmetik | add, sub, mul, div, sqrt | unf_arith.h
Vergleich | eq, lt, cmp (gibt -1/0/+1 zurück) | unf_compare.h
Trigonometrisch | sin, cos, tan, asin, acos, atan, atan2 | unf_trig.h (Taylor + Argumentreduktion)
Exponentiell | exp, log, log2, pow | unf_exp.h (Newton-Raphson)
Konvertierung | from_d, to_d, from_str, to_str | unf_conv.h (die einzige Float-Grenze)
Konstanten | pi, e, sqrt(2), ln(2), log2(e) | unf_const.h

Warum reine Ganzzahlarithmetik?

Jede Operation reduziert sich auf die Multi-Präzisions-Integer-Mathematik (mp_v_t = __int128) auf den Mantissen, mit explizitem Exponentenverfolgung. Das ergibt:

  • Bitgenaue Reproduzierbarkeit plattformübergreifend (keine Abhängigkeit vom FPU-Rundungsmodus).
  • Keine versteckten Rundungen - Jedes Ergebnis ist der exakte ganzzahlige Wert, der nur an der expliziten Konvertierungsgrenze gerundet wird.
  • Überprüfbarkeit - Der gesamte Berechnungspfad ist deterministische Ganzzahlberechnung.

Umstellung auf/von DOUBLE

Die Konvertierung erfolgt nur an der expliziten Grenze in unf_conv.h:

LOCAL d AS DOUBLE
LOCAL u AS UNF
d = 3.14159265358979
u = d                ' DOUBLE to UNF (explicit conversion)
d = u                ' UNF to DOUBLE (explicit conversion)

Umrechnungen werden korrekt gerundet (auf die nächste gerade Zahl gerundet).

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

LOCAL a AS UNF
LOCAL b AS UNF
a = 2.5
b = 4.0
PRINT a * b          ' 10 (exact, no IEEE rounding)

Siehe auch

  • UNF-Familie - Wissenschaftliche numerische Typen
  • UNC - Komplexe Nummer
  • UNB - Big Float (beliebige Präzision)
  • UNI - Intervallarithmetik
  • UNQ - Quaternion
  • DECIMAL128 - IEEE 754 Dezimal
  • Übersicht über Datentypen


UNI - Intervallarithmetik - PBXB64-Compiler-Hilfe

Startseite › Datentypen › UN-Familie Hilfe zum PBXB64-Compiler

UNI - Intervallarithmetik

UNI ist ein textgesicherter Intervallwert. Er besteht aus zwei UNF-Komponenten im Format lo;hi.

Kategorie: UN-Familie

Beschreibung

UNI ist ein textgesicherter Intervallwert. Er besteht aus zwei UNF-Komponenten im Format lo;hi.

Art: Datentyp | Kategorie: Numerische Typen

PBXB64-Status: VERFUEGBAR (Science Runtime)

PBXB64-Zertifizierung: [SCIENCE TIER]

Speicherlayout

Eigenschaft | Wert
Compiler-Slot | ein Pointer
Persistenter Wert | heap-eigener Text im Format lo;hi
Konvertierung | VALUNI, UNI$

Intervallsemantik

Ein Intervall [a, b] beschreibt alle reellen Zahlen x, fuer die a <= x <= b gilt. Die aktuell dokumentierte Arithmetik wird ueber Operationen auf den Endpunkt-Komponenten umgesetzt.

Operationen

Kategorie | Operationen
Konvertierung | VALUNI, UNI$
Arithmetik | +, -, *, / mit Intervall-Endpunktregeln

Anwendungsfaelle

  • Verifizierte Numerik - pruefen, ob ein Ergebnis innerhalb bekannter Grenzen liegt.
  • Fehlerfortpflanzung - verfolgen, wie Messunsicherheit durch Berechnungen laeuft.
  • Strenge Nullstellensuche - Bereiche eingrenzen und garantiert ausschliessen.
  • Geometrische Praedikate - robuste Orientierungs- und Schnittpruefungen.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Vollstaendigkeitskriterien

Uebersichtsseiten sollen Dokumentationsumfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollstaendige Hilfeseite nennt auch Voraussetzungen, Grenzen, Fehlerfaelle und die Beziehung zu verwandten Befehlen.

Praktisches Beispiel

Fuer UNI - Intervallarithmetik soll das Beispiel direkt in eine kleine Quelldatei uebernommen werden koennen. Es soll Eingaben, erwartete Ausgabe oder Exit-Code sowie benoetigte Includes, Bibliotheken oder Laufzeitbedingungen nennen.

Pruefschritte

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature eingeschraenkt oder kompatibilitaetsorientiert ist, muss die Seite das offen sagen und darf keine ungetestete Vollstaendigkeit behaupten.

Beispiel

LOCAL x AS UNI
x = INTERVAL(1.0, 1.1)    ' x in [1.0, 1.1]
PRINT x * x               ' [1.0, 1.21] (guaranteed to contain true result)
PRINT UNIWIDTH(x * x)     ' 0.21 (error bound width)

Siehe auch

  • UNF - Unum Float (16 Byte)
  • UNF-Familie - Wissenschaftliche numerische Typen
  • UNC - Komplexe Nummer
  • UNQ - Quaternion


UNQ - Quaternion - PBXB64-Compiler-Hilfe

Startseite › Datentypen › UN-Familie Hilfe zum PBXB64-Compiler

UNQ - Quaternion

UNQ ist ein Quaterniontyp, der aus vier besteht UNF Komponenten (w, x, y, z). Es stellt eine verwendete hyperkomplexe Zahl dar f&uuml;r 3D-Rotationen, Starrk&ouml;rperdynamik und Quantenmechanik. Alles Quaternion Die Arithmetik wird mit der gleichen bitgenauen Ganzzahlgenauigkeit wie die Basis berechnet UNF Typ.

Kategorie: UN-Familie

Beschreibung

UNQ ist ein Quaterniontyp, der aus vier besteht UNF Komponenten (w, x, y, z). Es stellt eine verwendete hyperkomplexe Zahl dar für 3D-Rotationen, Starrkörperdynamik und Quantenmechanik. Alles Quaternion Die Arithmetik wird mit der gleichen bitgenauen Ganzzahlgenauigkeit wie die Basis berechnet UNF Typ.

Typ: Datentyp | Kategorie: Numerische Typen

PBXB64-Status: VERFÜGBAR (Wissenschaftslaufzeit)

PBXB64-Zertifizierung: [WISSENSCHAFTSSTUFE]

Lagerlayout

Eigentum | Wert
Größe | 64 Byte
Layout | { UNF w; UNF x; UNF y; UNF z; }
Skalarer Teil (w) | 16-Byte-UNF
Vektorteil (x, y, z) | 3 x 16-Byte-UNF
Wert | q = w + xi + yj + zk

Quaternion-Algebra

Die Multiplikationsregel folgt dem Hamilton-Produkt:

i*i = j*j = k*k = ijk = -1
ij = k,  jk = i,  ki = j
ji = -k, kj = -i, ik = -j

Operationen

Kategorie | Operationen
Arithmetik | add, sub, mul (Hamilton-Produkt), div
Norm | abs (= sqrt(w^2+x^2+y^2+z^2)), normalize (Einheitsquaternion)
Konjugat | conj (negiert x, y, z)
Invers | inv (= konj / abs^2)
Rotation | from_axis_angle, to_matrix, slerp
Interpolation | slerp (sphärische lineare Interpolation)

Anwendungsfälle

  • 3D-Grafik / Robotik - Quaternionen vermeiden eine kardanische Sperre und sind für die Interpolation effizienter als Rotationsmatrizen (slerp).
  • Dynamik starrer Körper - Winkelgeschwindigkeitsintegration.
  • Quantenmechanik - Spin-1/2-Zustandsdarstellung.
  • Computer Vision - Kameraausrichtung, SLAM.

Warum UNF-basierte Quaternionen?

Standard float/double Quaternionen sammeln sich an Rundungsfehler bei wiederholten Drehungen (z. B. in Animationsschleifen), verursachen von der Einheitssphäre wegdriften. UNQ's 60-Bit-Mantisse und Bitgenaue Arithmetik hält Rotationen über lange Sequenzen stabil.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

LOCAL q AS UNQ
q = QUAT_FROM_AXIS(0.0, 0.0, 1.0, 1.5707963)  ' 90 deg around Z
PRINT q                 ' w=0.707..., z=0.707... (unit quaternion)

Siehe auch

  • UNF - Unum Float (16 Byte)
  • UNF-Familie - Wissenschaftliche numerische Typen
  • UNC - Komplexe Nummer
  • UNI - Intervallarithmetik


H-Lib-Container - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib-Container

Themen in diesem Kapitel

H-Lib B+ Tree H-Lib Bloom Filter H-Lib C API H-Lib Deque H-Lib Graph H-Lib Heap (Priority Queue) H-Lib LRU Cache H-Lib Multiset (Bag) H-Lib Quadtree H-Lib Ring (Circular Buffer) H-Lib Safe Concurrent Container H-Lib Set H-Lib SkipList H-Lib Union-Find (Disjoint Set) H-Lib-Container-Funktionsparameter H-Lib-Subscript-Zugriff Native H-Lib-Container - Beispiele Native H-Lib-Container - Hilfe zum PBXB64-Compiler Native H-Lib-Container - Methodenreferenz Native H-Lib-Container - Übersicht


H-Lib B+ Tree - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib B+ Tree

A B+ tree storing unique sorted LONG keys. It provides disk-friendly ordered-set semantics and supports iteration and conversion to an array.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A B+ tree storing unique sorted LONG keys. It provides disk-friendly ordered-set semantics and supports iteration and conversion to an array.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This H-Lib container is implemented in native C support code and exposed through PBXB64 BASIC container syntax. The examples below are focused usage patterns; keep handles valid, release each container with its Final method, and check counts or return values when a method can fail.

Methods

Method | Signature | Returns | Description
New | t.New order | LNBPTREE | Erzeugt einen leeren B+-Baum mit dem erforderlichen Verzweigungsgrad.
Final | t.Final | none | Free the B+ tree.
Validate | t.Validate | LONG | Non-zero if the handle is valid.
Clear | t.Clear | none | Remove all keys.
Count | t.Count | LONG | Number of keys.
Capacity | t.Capacity | QUAD | Aktuelle logische Speicherkapazität.
Trim | t.Trim | none | Gibt ungenutzten Speicher frei.
Clone | t.Clone | LNBPTREE | Gibt eine unabhängige Kopie mit demselben Verzweigungsgrad zurück.
Add | t.Add key | none | Insert a key.
Remove | t.Remove key | none | Remove a key.
Contains | t.Contains key | LONG | Non-zero if the key is present.
First | t.First | QUAD | Return the smallest key (0 if empty).
Next | t.Next key | QUAD | Return the next larger key (0 if none).
Empty | t.Empty | LONG | Non-zero if the B+ tree is empty.
ToArray | t.ToArray | LNARR | Return a new LNARR of keys in sorted order.
Range | t.Range low, high | LNARR | Gibt die Schlüssel im inklusiven Bereich sortiert zurück.

Validation Evidence

Validation evidence: H-Lib container behavior is exercised by registered BASIC container validation programs and the embedded H-Lib object set used by the single-EXE validation gate.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

LOCAL t AS LNBPTREE
t = t.New 4
t.Add 5
t.Add 2
t.Add 8
PRINT t.First ' 2
t.Final


H-Lib Bloom Filter - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib Bloom Filter

A space-efficient probabilistic membership structure for LONG keys. False positives are possible; false negatives are not.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A space-efficient probabilistic membership structure for LONG keys. False positives are possible; false negatives are not.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This H-Lib container is implemented in native C support code and exposed through PBXB64 BASIC container syntax. The examples below are focused usage patterns; keep handles valid, release each container with its Final method, and check counts or return values when a method can fail.

Methods

Method | Signature | Returns | Description
New | b.New capacity, target_fpp | LNBLOOM | Allocate a filter for the expected item count and target false-positive probability.
Final | b.Final | none | Free the filter.
Validate | b.Validate | LONG | Non-zero if the handle is valid.
Clear | b.Clear | none | Remove all inserted keys.
Count | b.Count | LONG | Number of keys added.
Capacity | b.Capacity | LONG | Expected maximum item count.
Add | b.Add key | none | Insert a key.
Contains | b.Contains key | LONG | Non-zero if the key may be present.
FalsePositiveRate | b.FalsePositiveRate | DOUBLE | Estimated current false-positive rate.
ErrorRate | b.ErrorRate | DOUBLE | Konfigurierte Zielrate für falsch-positive Ergebnisse.
Empty | b.Empty | LONG | Ungleich Null, wenn noch kein Schlüssel hinzugefügt wurde.
Trim | b.Trim | none | Normalisiert den internen Speicher.
Clone | b.Clone | LNBLOOM | Gibt eine unabhängige Kopie des Filters zurück.

Validation Evidence

Validation evidence: H-Lib container behavior is exercised by registered BASIC container validation programs and the embedded H-Lib object set used by the single-EXE validation gate.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

LOCAL b AS LNBLOOM
LOCAL fpr AS DOUBLE
b = b.New 1000, 0.01
b.Add 42
PRINT b.Contains 42 ' non-zero
fpr = b.FalsePositiveRate
b.Final


H-Lib C API - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib C API

Native C-API zum Erstellen und Bearbeiten von H-Lib-Containerobjekten aus C-Code oder Inline-Assembly.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Native C-API zum Erstellen und Bearbeiten von H-Lib-Containerobjekten aus C-Code oder Inline-Assembly.

Typ: API-Referenz | Kategorie: Native H-Lib-Container

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Überblick

Die H-Lib C-API stellt alle 23 Containerfamilien als C-Funktionen bereit. C-Aufrufer verwalten Handles explizit; BASIC-Variablen werden automatisch initialisiert und finalisiert.

Gemeinsame Funktionen

  • c_hlib_<variant>_new() – einen neuen Container anlegen und ein besitzendes Handle zurückgeben.
  • c_hlib_<variant>_final() – Containerressourcen freigeben und das Handle ungueltig machen.
  • c_hlib_<variant>_push, _pop, _get, _set — familiespezifische Operationen auf dem von _new() gelieferten Handle.

Aufrufvertrag

Zuerst anlegen, dann das Handle nur verwenden, solange es gueltig ist, und _final() genau einmal aufrufen, wenn der Container nicht mehr benoetigt wird. Funktionen, die Container-Handles zurückgeben, uebereignen das Eigentum an den Aufrufer. Skalar rueckgebende Funktionen uebertragen kein Eigentum. Wenn eine Methode fehlschlagen kann, pruefen Sie den Rueckgabewert, bevor Sie einen Zeiger dereferenzieren oder einen Ausgabewert verwenden.

Parameterregeln

  • Zeigerparameter erwarten normalerweise die Adresse eines vorhandenen PBXB64-Werts oder eines C-Puffers mit dem dokumentierten Elementtyp.
  • Zaehler- und Indexparameter sind pointergroessen- oder 64-Bit-Werte, wenn die Familie das verlangt; kuerzen Sie sie in neuem Code nicht auf 32 Bit.
  • PB-Methoden und PB-Indexzugriffe für Arr, Lst, Str, 2D und Slices sind 1-basiert. Direkte C-API-Funktionen verwenden die jeweils dokumentierte C-Indexkonvention.
  • Funktionen, die Strings oder Arrays zurueckgeben, liefern normalerweise einen neuen Container oder Puffer im Besitz des Aufrufers, sofern die Familienseite keine geteilte Speicherung beschreibt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Siehe auch

  • Native H-Lib-Container - Hilfe zum PBXB64-Compiler
  • Native H-Lib-Container - Übersicht
  • PBXB64 - C-Sprache (V10)
  • Hilfe zum PBXB64-Compiler


H-Lib Deque - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib Deque

A double-ended queue storing LONG values. Values can be added or removed from either end.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A double-ended queue storing LONG values. Values can be added or removed from either end.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This H-Lib container is implemented in native C support code and exposed through PBXB64 BASIC container syntax. The examples below are focused usage patterns; keep handles valid, release each container with its Final method, and check counts or return values when a method can fail.

Methods

Method | Signature | Returns | Description
New | d.New | LNDEQUE | Allocate a new empty deque.
Final | d.Final | none | Free the deque.
Validate | d.Validate | LONG | Non-zero if the handle is valid.
Clear | d.Clear | none | Remove all values.
Count | d.Count | LONG | Number of values in the deque.
PushFront | d.PushFront value | none | Insert a value at the front.
PushBack | d.PushBack value | none | Insert a value at the back.
PopFront | d.PopFront | QUAD | Remove and return the front value.
PopBack | d.PopBack | QUAD | Remove and return the back value.
PeekFront | d.PeekFront | QUAD | Return the front value without removing it.
PeekBack | d.PeekBack | QUAD | Return the back value without removing it.
Empty | d.Empty | LONG | Non-zero if the deque is empty.

Validation Evidence

Validation evidence: H-Lib container behavior is exercised by registered BASIC container validation programs and the embedded H-Lib object set used by the single-EXE validation gate.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

LOCAL d AS LNDEQUE
d = d.New
d.PushBack 10
d.PushFront 5
PRINT d.PopBack  ' 10
PRINT d.PopFront ' 5
d.Final


H-Lib Graph - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib Graph

An undirected graph with LONG node IDs. Supports node/edge insertion, removal, adjacency queries, and neighbor enumeration.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

An undirected graph with LONG node IDs. Supports node/edge insertion, removal, adjacency queries, and neighbor enumeration.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This H-Lib container is implemented in native C support code and exposed through PBXB64 BASIC container syntax. The examples below are focused usage patterns; keep handles valid, release each container with its Final method, and check counts or return values when a method can fail.

Methods

Method | Signature | Returns | Description
New | g.New | LNGRAPH | Allocate a new empty graph.
Final | g.Final | none | Free the graph.
Validate | g.Validate | LONG | Non-zero if the handle is valid.
Clear | g.Clear | none | Remove all nodes and edges.
Count | g.Count | LONG | Number of nodes in the graph.
Empty | g.Empty | LONG | Non-zero if the graph has no nodes.
AddNode | g.AddNode id | none | Add a node with the given ID.
AddEdge | g.AddEdge u, v | none | Add an undirected edge between two nodes.
RemoveNode | g.RemoveNode id | none | Remove a node and its incident edges.
RemoveEdge | g.RemoveEdge u, v | none | Remove an undirected edge.
HasEdge | g.HasEdge u, v | LONG | Non-zero if the edge exists.
Neighbors | g.Neighbors id | LNARR | Return a new LNARR of neighbor IDs.

Validation Evidence

Validation evidence: H-Lib container behavior is exercised by registered BASIC container validation programs and the embedded H-Lib object set used by the single-EXE validation gate.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

LOCAL g AS LNGRAPH
g = g.New
g.AddNode 1
g.AddNode 2
g.AddEdge 1, 2
PRINT g.HasEdge(1, 2) ' non-zero
g.Final


H-Lib Heap (Priority Queue) - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib Heap (Priority Queue)

A binary min-heap storing LONG values. The smallest value is always returned by Pop.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A binary min-heap storing LONG values. The smallest value is always returned by Pop.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This H-Lib container is implemented in native C support code and exposed through PBXB64 BASIC container syntax. The examples below are focused usage patterns; keep handles valid, release each container with its Final method, and check counts or return values when a method can fail.

Methods

Method | Signature | Returns | Description
New | h.New | LNHEAP | Allocate a new empty heap.
Final | h.Final | none | Free the heap.
Validate | h.Validate | LONG | Non-zero if the handle is valid.
Clear | h.Clear | none | Remove all values.
Count | h.Count | LONG | Number of values in the heap.
Push | h.Push value | none | Insert a LONG value.
Pop | h.Pop | QUAD | Remove and return the smallest value.
Peek | h.Peek | QUAD | Return the smallest value without removing it.
Empty | h.Empty | LONG | Non-zero if the heap is empty.

Validation Evidence

Validation evidence: H-Lib container behavior is exercised by registered BASIC container validation programs and the embedded H-Lib object set used by the single-EXE validation gate.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

LOCAL h AS LNHEAP
h = h.New
h.Push 30
h.Push 10
h.Push 20
PRINT h.Pop   ' 10
PRINT h.Count ' 2
h.Final


H-Lib LRU Cache - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib LRU Cache

A bounded cache with LONG keys and LONG values. Least-recently-used entries are evicted when the capacity is exceeded.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A bounded cache with LONG keys and LONG values. Least-recently-used entries are evicted when the capacity is exceeded.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This H-Lib container is implemented in native C support code and exposed through PBXB64 BASIC container syntax. The examples below are focused usage patterns; keep handles valid, release each container with its Final method, and check counts or return values when a method can fail.

Methods

Method | Signature | Returns | Description
New | c.New capacity | LNLRU | Allocate a cache with the given capacity.
Final | c.Final | none | Free the cache.
Validate | c.Validate | LONG | Non-zero if the handle is valid.
Clear | c.Clear | none | Remove all entries.
Count | c.Count | LONG | Number of entries currently stored.
Capacity | c.Capacity | LONG | Maximum number of entries allowed.
Trim | c.Trim | none | Gibt ungenutzten Speicher frei, ohne die konfigurierte Grenze zu ändern.
Clone | c.Clone | LNLRU | Gibt einen unabhängigen Cache mit derselben Zugriffsreihenfolge zurück.
Put | c.Put key, value | none | Insert or update a key and make it most-recently used.
Get | c.Get key | QUAD | Retrieve a value and make the key most-recently used (0 if missing).
Contains | c.Contains key | LONG | Non-zero if the key is in the cache.
Remove | c.Remove key | LONG | Entfernt einen Schlüssel und gibt ungleich Null zurück, wenn er vorhanden war.
Empty | c.Empty | LONG | Non-zero if the cache is empty.

Validation Evidence

Validation evidence: H-Lib container behavior is exercised by registered BASIC container validation programs and the embedded H-Lib object set used by the single-EXE validation gate.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

LOCAL c AS LNLRU
c = c.New 2
c.Put 1, 10
c.Put 2, 20
c.Put 3, 30  ' evicts key 1
PRINT c.Contains 1 ' 0
c.Final


H-Lib Multiset (Bag) - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib Multiset (Bag)

A multiset stores LONG keys together with their multiplicities (occurrence counts).

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A multiset stores LONG keys together with their multiplicities (occurrence counts).

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This H-Lib container is implemented in native C support code and exposed through PBXB64 BASIC container syntax. The examples below are focused usage patterns; keep handles valid, release each container with its Final method, and check counts or return values when a method can fail.

Methods

Method | Signature | Returns | Description
New | m.New | LNMULTISET | Allocate a new empty multiset.
Final | m.Final | none | Free the multiset.
Validate | m.Validate | LONG | Non-zero if the handle is valid.
Clear | m.Clear | none | Remove all keys.
Count | m.Count | LONG | Gesamtzahl aller gespeicherten Vorkommen.
Capacity | m.Capacity | QUAD | Aktuelle Speicherkapazität.
Trim | m.Trim | none | Gibt ungenutzte Kapazität frei.
Clone | m.Clone | LNMULTISET | Gibt eine unabhängige Kopie zurück.
Add | m.Add key | none | Add one occurrence of a key.
Remove | m.Remove key | none | Remove one occurrence of a key.
RemoveAll | m.RemoveAll key | none | Remove a key entirely.
Contains | m.Contains key | LONG | Non-zero if the key has any occurrence.
Multiplicity | m.Multiplicity key | LONG | Gibt die Anzahl der Vorkommen eines Werts zurück.
First | m.First | QUAD | Return the first distinct key (0 if empty).
Next | m.Next key | QUAD | Return the next distinct key (0 if none).
Empty | m.Empty | LONG | Non-zero if the multiset is empty.
ToArray | m.ToArray | LNARR | Return a new LNARR of distinct keys.

Validation Evidence

Validation evidence: H-Lib container behavior is exercised by registered BASIC container validation programs and the embedded H-Lib object set used by the single-EXE validation gate.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

LOCAL m AS LNMULTISET
m = m.New
m.Add 5
m.Add 5
PRINT m.Multiplicity 5 ' 2
m.Final


H-Lib Quadtree - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib Quadtree

A spatial quadtree indexing axis-aligned bounding boxes identified by LONG IDs. Supports insertion, removal, and rectangle-intersection queries.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A spatial quadtree indexing axis-aligned bounding boxes identified by LONG IDs. Supports insertion, removal, and rectangle-intersection queries.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This H-Lib container is implemented in native C support code and exposed through PBXB64 BASIC container syntax. The examples below are focused usage patterns; keep handles valid, release each container with its Final method, and check counts or return values when a method can fail.

Methods

Method | Signature | Returns | Description
New | q.New maxDepth | LNQUAD | Erzeugt einen leeren Quadtree mit der erforderlichen maximalen Tiefe.
Final | q.Final | none | Free the quadtree.
Validate | q.Validate | LONG | Non-zero if the handle is valid.
Clear | q.Clear | none | Remove all entries.
Count | q.Count | LONG | Number of stored entries.
Capacity | q.Capacity | QUAD | Aktuelle logische Speicherkapazität.
Trim | q.Trim | none | Gibt ungenutzten Speicher frei.
Clone | q.Clone | LNQUAD | Gibt eine unabhängige Kopie mit derselben maximalen Tiefe zurück.
Empty | q.Empty | LONG | Non-zero if the quadtree is empty.
Insert | q.Insert id, x, y, w, h | none | Insert or update a bounding box for id.
Remove | q.Remove id | none | Remove the entry with the given id.
Query | q.Query x, y, w, h | LNARR | Return a new LNARR of IDs whose boxes intersect the query rectangle.

Validation Evidence

Validation evidence: H-Lib container behavior is exercised by registered BASIC container validation programs and the embedded H-Lib object set used by the single-EXE validation gate.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beispiel

LOCAL q AS LNQUAD
LOCAL a AS LNARR
q = q.New 8
q.Insert 1, 0, 0, 10, 10
q.Insert 2, 20, 20, 5, 5
a = q.Query 0, 0, 15, 15
PRINT a.Count ' 1
q.Final
a.Final


H-Lib Ring (Circular Buffer) - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib Ring (Circular Buffer)

A fixed-capacity FIFO circular buffer storing LONG values. Push writes at the tail; Pop/Peek read at the head.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A fixed-capacity FIFO circular buffer storing LONG values. Push writes at the tail; Pop/Peek read at the head.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This H-Lib container is implemented in native C support code and exposed through PBXB64 BASIC container syntax. The examples below are focused usage patterns; keep handles valid, release each container with its Final method, and check counts or return values when a method can fail.

Methods

Method | Signature | Returns | Description
New | r.New capacity | LNRING | Allocate a ring with the given capacity.
Final | r.Final | none | Free the ring.
Validate | r.Validate | LONG | Non-zero if the handle is valid.
Clear | r.Clear | none | Empty the ring.
Count | r.Count | LONG | Number of values currently stored.
Capacity | r.Capacity | LONG | Maximum number of values allowed.
Trim | r.Trim | none | Normalisiert den internen Speicher bei unveränderter fester Kapazität.
Clone | r.Clone | LNRING | Gibt eine unabhängige Kopie mit derselben FIFO-Reihenfolge zurück.
Push | r.Push value | none | Fügt am Ende ein; bei vollem Puffer wird der älteste Wert überschrieben.
Pop | r.Pop | QUAD | Remove and return the oldest value.
Peek | r.Peek | QUAD | Return the oldest value without removing it.
Full | r.Full | LONG | Non-zero if the ring is full.
Empty | r.Empty | LONG | Non-zero if the ring is empty.

Validation Evidence

Validation evidence: H-Lib container behavior is exercised by registered BASIC container validation programs and the embedded H-Lib object set used by the single-EXE validation gate.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

LOCAL r AS LNRING
r = r.New 2
r.Push 10
r.Push 20
r.Push 30   ' overwrites 10
PRINT r.Full ' non-zero
PRINT r.Pop  ' 20
r.Final


H-Lib Safe Concurrent Container - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib Safe Concurrent Container

A thread-safe wrapper over array-like LONG storage. All operations are synchronised with a critical section so the container can be shared between PB threads.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A thread-safe wrapper over array-like LONG storage. All operations are synchronised with a critical section so the container can be shared between PB threads.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This H-Lib container is implemented in native C support code and exposed through PBXB64 BASIC container syntax. The examples below are focused usage patterns; keep handles valid, release each container with its Final method, and check counts or return values when a method can fail.

Methods

Method | Signature | Returns | Description
New | s.New | LNSAFE | Allocate a new safe container.
Final | s.Final | none | Free the container.
Validate | s.Validate | LONG | Non-zero if the handle is valid.
Clear | s.Clear | none | Remove all values.
Count | s.Count | LONG | Number of values stored.
Empty | s.Empty | LONG | Non-zero if the container is empty.
Lock | s.Lock | none | Acquire the critical section.
Unlock | s.Unlock | none | Release the critical section.
Push | s.Push value | none | Append a value (locks automatically).
Pop | s.Pop | QUAD | Remove and return the top value.
Peek | s.Peek | QUAD | Return the top value without removing it.

Validation Evidence

Validation evidence: H-Lib container behavior is exercised by registered BASIC container validation programs and the embedded H-Lib object set used by the single-EXE validation gate.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

LOCAL s AS LNSAFE
s = s.New
s.Push 42
s.Lock
PRINT s.Peek ' 42
s.Unlock
s.Final


H-Lib Set - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib Set

A sorted set of unique LONG values backed by an AVL tree.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A sorted set of unique LONG values backed by an AVL tree.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This H-Lib container is implemented in native C support code and exposed through PBXB64 BASIC container syntax. The examples below are focused usage patterns; keep handles valid, release each container with its Final method, and check counts or return values when a method can fail.

Methods

Method | Signature | Returns | Description
New | s.New | LNSET | Allocate a new empty set.
Final | s.Final | none | Free the set.
Validate | s.Validate | LONG | Non-zero if the handle is valid.
Clear | s.Clear | none | Remove all values.
Count | s.Count | LONG | Number of values in the set.
Add | s.Add value | none | Insert a value if not present.
Remove | s.Remove value | none | Remove a value.
Contains | s.Contains value | LONG | Non-zero if the value is present.
First | s.First | QUAD | Return the smallest value (0 if empty).
Next | s.Next value | QUAD | Return the next larger value (0 if none).
Empty | s.Empty | LONG | Non-zero if the set is empty.
ToArray | s.ToArray | LNARR | Return a new LNARR containing all values sorted.

Validation Evidence

Validation evidence: H-Lib container behavior is exercised by registered BASIC container validation programs and the embedded H-Lib object set used by the single-EXE validation gate.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

LOCAL s AS LNSET
s = s.New
s.Add 3
s.Add 1
s.Add 2
PRINT s.Contains 2 ' non-zero
PRINT s.First      ' 1
s.Final


H-Lib SkipList - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib SkipList

A probabilistic skip list storing unique sorted LONG keys with expected O(log n) add, remove, and contains operations.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A probabilistic skip list storing unique sorted LONG keys with expected O(log n) add, remove, and contains operations.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This H-Lib container is implemented in native C support code and exposed through PBXB64 BASIC container syntax. The examples below are focused usage patterns; keep handles valid, release each container with its Final method, and check counts or return values when a method can fail.

Methods

Method | Signature | Returns | Description
New | s.New | LNSKIPLIST | Allocate a new empty skiplist.
Final | s.Final | none | Free the skiplist.
Validate | s.Validate | LONG | Non-zero if the handle is valid.
Clear | s.Clear | none | Remove all keys.
Count | s.Count | LONG | Number of keys.
Add | s.Add key | none | Insert a key.
Remove | s.Remove key | none | Remove a key.
Contains | s.Contains key | LONG | Non-zero if the key is present.
First | s.First | QUAD | Return the smallest key (0 if empty).
Next | s.Next key | QUAD | Return the next larger key (0 if none).
Empty | s.Empty | LONG | Non-zero if the skiplist is empty.

Validation Evidence

Validation evidence: H-Lib container behavior is exercised by registered BASIC container validation programs and the embedded H-Lib object set used by the single-EXE validation gate.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

LOCAL s AS LNSKIPLIST
s = s.New
s.Add 3
s.Add 1
PRINT s.First ' 1
s.Final


H-Lib Union-Find (Disjoint Set) - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib Union-Find (Disjoint Set)

A union-find (disjoint-set) structure over LONG elements with near-constant-time union and find operations.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A union-find (disjoint-set) structure over LONG elements with near-constant-time union and find operations.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This H-Lib container is implemented in native C support code and exposed through PBXB64 BASIC container syntax. The examples below are focused usage patterns; keep handles valid, release each container with its Final method, and check counts or return values when a method can fail.

Methods

Method | Signature | Returns | Description
New | uf.New | LNUNIONFIND | Allocate a new empty union-find.
Final | uf.Final | none | Free the union-find.
Validate | uf.Validate | LONG | Non-zero if the handle is valid.
Clear | uf.Clear | none | Remove all elements.
Count | uf.Count | LONG | Number of elements.
MakeSet | uf.MakeSet x | none | Add a new singleton set for x.
Find | uf.Find x | QUAD | Return the representative of x (0 if unknown).
Union | uf.Union x, y | LONG | Non-zero if the union changed anything.
SameSet | uf.SameSet x, y | LONG | Non-zero if x and y are in the same set.
Empty | uf.Empty | LONG | Non-zero if the union-find is empty.
Components | uf.Components | LONG | Number of disjoint sets.

Validation Evidence

Validation evidence: H-Lib container behavior is exercised by registered BASIC container validation programs and the embedded H-Lib object set used by the single-EXE validation gate.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

LOCAL uf AS LNUNIONFIND
uf = uf.New
uf.MakeSet 1
uf.MakeSet 2
uf.Union 1, 2
PRINT uf.SameSet(1, 2) ' non-zero
uf.Final


H-Lib-Container-Funktionsparameter - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib-Container-Funktionsparameter

Parameterkonventionen, die von H-Lib-Containermethoden und C-API-Funktionen verwendet werden.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Parameterkonventionen, die von H-Lib-Containermethoden und C-API-Funktionen verwendet werden.

Typ: Referenz | Kategorie: Native H-Lib-Container

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Parametertypen

  • Schlüsselparameter: Der Typ hängt von der Containerfamilie ab. Hash-Tabellen, Bäume und Tries verwenden typischerweise Zeichenfolgen oder UDT-kompatible Schlüssel; mengenartige Familien verwenden ganze Zahlen.
  • Wertparameter: typischerweise INT64, Zeigergröße oder ein per Referenz übergebenes Payload, das zum Elementtyp passt.
  • PB-Indexparameter: 1-basierte Ganzzahlen für Arr, Lst, Str, 2D und Slices.
  • Flags: Bitmaskenoptionen, die Einfüge-, Such-, Vergleichs- oder Traversalverhalten steuern.

String-Argumente

Übergeben Sie für Container mit Zeichenfolgenschlüssel ein const char* aus C oder einen PB STRING-Ausdruck aus BASIC. Der String muss fuer die Dauer des Aufrufs gueltig bleiben; wenn die Familie den Schlüssel intern kopiert, soll die jeweilige Familienseite das explizit sagen.

Eigentumsregeln

Methoden, die einen Container anlegen oder zurückgeben, übertragen das Eigentum an den Aufrufer. Methoden, die nur einen Wert lesen, übertragen kein Eigentum. Methoden, die einen Zeiger in den Containerspeicher zurückgeben, liefern nur eine kurzfristige Sicht; dieser Zeiger wird nach der naechsten Aenderung, dem Loeschen oder der Freigabe ungueltig, sofern die Familienseite nichts anderes sagt.

Rückgabewerte

Die zählenden Add/Push-Operationen von Arr, Stk, Que und Lst geben deterministisch die neue Anzahl zurück. Bei Strings geben Append und AppendLine die neue Länge zurück; Replace gibt die Anzahl der Ersetzungen zurück. TryGet liefert den gespeicherten Wert oder den übergebenen Standardwert. Remove gibt nur dann einen Wert ungleich Null zurück, wenn ein Schlüssel entfernt wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Siehe auch

  • Native H-Lib-Container - Hilfe zum PBXB64-Compiler
  • H-Lib C API
  • Hilfe zum PBXB64-Compiler


H-Lib-Subscript-Zugriff - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

H-Lib-Subscript-Zugriff

So lesen und schreiben Sie H-Lib-Containerelemente mithilfe der Indexsyntax.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

value = container(index)
container(index) = value
value = container(key)
container(key) = value

Beschreibung

So lesen und schreiben Sie H-Lib-Containerelemente mithilfe der Indexsyntax.

Typ: automatisch durchsucht. Referenz | Kategorie: Native H-Lib-Container

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Regeln

  • PB-Positionen in Arr, Lst, Str, 2D und Slices sind 1-basiert.
  • Schluesselbasierte Container verwenden den Schlüsseltyp der Familie, typischerweise Zeichenfolgen oder numerische Schlüssel.
  • Ein Lesezugriff auf einen fehlenden Schlüssel ist ein familiespezifischer "nicht gefunden"-Fall und kein allgemeiner Compilerfehler.
  • Ein Schreibzugriff kann je nach Familie ein neues Element einfügen, ein vorhandenes aktualisieren oder den Container erweitern.

Verwendungshinweise

Verwenden Sie die Indexsyntax, wenn der Compiler bei einem Lesen oder Schreiben an genau einer Position oder unter genau einem Schlüssel den passenden Containeraufruf erzeugen soll. Verwenden Sie die Methodenseiten, wenn Sie die Erstellung, Traversierung oder Freigabe des Container-Handles explizit steuern wollen.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Zurück zum Befehlsindex

Beispiel

FUNCTION PBMAIN() AS LONG
  LOCAL arr AS LNARR OF LONG
  arr(1) = 10
  PRINT arr(1)
  FUNCTION = 0
END FUNCTION

Siehe auch

  • Native H-Lib-Container - Hilfe zum PBXB64-Compiler
  • Native H-Lib-Container - Methodenreferenz
  • Hilfe zum PBXB64-Compiler


Native H-Lib-Container - Beispiele - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

Native H-Lib-Container - Beispiele

Codebeispiele, die die Verwendung jedes nativen H-Lib-Containertyps veranschaulichen.

Kategorie: H-Lib-Container

Beschreibung

Codebeispiele, die die Verwendung jedes nativen H-Lib-Containertyps veranschaulichen.

LnArr (LONG-Array)

FUNCTION PBMAIN() AS LONG
  LOCAL q AS LnArr
  LOCAL i AS LONG
  LOCAL n AS QUAD

  q.New
  q.Push 10
  q.Push 20
  q.Push 30

  n = q.Count           ' n = 3
  i = q.Get(2)          ' i = 20 (1-based PB index)
  q.Ins 1, 15           ' insert 15 at index 1
  q.Sort                ' result: 10, 15, 20, 30
  q.Del 0               ' remove first element
  i = q.Pop             ' i = 30, q now has [15, 20]
  q.Final               ' auto-cleanup
END FUNCTION

LnStk (LONG Stack)

FUNCTION PBMAIN() AS LONG
  LOCAL s AS LnStk
  LOCAL v AS LONG

  s.Push 100
  s.Push 200
  s.Push 300

  v = s.Peek            ' v = 300
  v = s.Pop             ' v = 300, stack now [100, 200]
  v = s.Pop             ' v = 200
  v = s.Pop             ' v = 100
  ' s.Count = 0
  s.Final
END FUNCTION

LnQue (LANGE Warteschlange)

FUNCTION PBMAIN() AS LONG
  LOCAL q AS LnQue
  LOCAL v AS LONG

  q.Push 10             ' enqueue
  q.Push 20
  q.Push 30

  v = q.Front           ' v = 10
  v = q.Back            ' v = 30
  v = q.Pop             ' v = 10, queue now [20, 30]
  v = q.Pop             ' v = 20
  v = q.Pop             ' v = 30
  q.Final
END FUNCTION

LnLst (LANGE Liste)

FUNCTION PBMAIN() AS LONG
  LOCAL lst AS LnLst
  LOCAL node AS QUAD
  LOCAL v AS LONG

  lst.Add 10            ' list: [10]
  lst.Add 20            ' list: [10, 20]
  lst.AddHead 5         ' list: [5, 10, 20]
  lst.InsAfter 5, 7     ' insert 7 after value 5

  node = lst.GetHead    ' first node
  v = lst.Value(node)   ' v = 5
  node = lst.Next(node) ' advance to next node
  v = lst.Value(node)   ' v = 7

  lst.Remove(node)      ' remove node with value 7
  lst.Final
END FUNCTION

SsStr (ANSI String Builder)

FUNCTION PBMAIN() AS LONG
  LOCAL sb AS SsStr
  LOCAL s AS STRING
  LOCAL n AS QUAD

  sb.Append "Hello"
  sb.Append " World"
  n = sb.Length          ' n = 11
  s = sb.ToString        ' s = "Hello World"

  sb.Ins 6, "PBXB64 "   ' insert at position 6 (1-based)
  s = sb.ToString        ' s = "Hello PBXB64 World"

  sb.Replace "World", "Containers"
  s = sb.ToString        ' s = "Hello PBXB64 Containers"

  sb.ToUpper
  s = sb.ToString        ' s = "HELLO PBXB64 CONTAINERS"
  sb.Final
END FUNCTION

Ln2D (LANGES 2D-Array)

FUNCTION PBMAIN() AS LONG
  LOCAL m AS Ln2D
  LOCAL v AS LONG

  m.Resize 3, 4         ' 3 rows, 4 columns
  m.Set 1, 1, 42        ' first row and column use index 1
  v = m.Get(1, 1)       ' v = 42

  ' Rows and Cols properties
  LOCAL r, c AS QUAD
  r = m.Rows             ' r = 3
  c = m.Cols             ' c = 4

  ' Extract a row as 1D array
  LOCAL rowArr AS LnArr
  rowArr = m.GetRow(1)
  m.Final
  rowArr.Final
END FUNCTION

LnLnHsh (LONG-to-LONG-Hash-Tabelle)

FUNCTION PBMAIN() AS LONG
  LOCAL h AS LnLnHsh
  LOCAL v AS LONG
  LOCAL found AS LONG

  h.Put 1, 100
  h.Put 2, 200
  h.Put 3, 300

  v = h.Get(2)           ' v = 200
  found = h.Contains(4)  ' found = 0 (false)

  h.Remove 1             ' remove key 1

  ' Enumerate keys
  LOCAL keys AS LnArr
  keys = h.Keys          ' keys = [2, 3]
  h.Final
  keys.Final
END FUNCTION

LnLnTre (LONG-to-LONG AVL-Baum)

FUNCTION PBMAIN() AS LONG
  LOCAL t AS LnLnTre
  LOCAL v AS LONG
  LOCAL k AS LONG

  t.Put 50, 500
  t.Put 30, 300
  t.Put 70, 700
  t.Put 20, 200
  t.Put 40, 400

  k = t.Min              ' k = 20 (smallest key)
  k = t.Max              ' k = 70 (largest key)
  k = t.Floor(35)        ' k = 30 (floor of 35)
  k = t.Ceil(35)         ' k = 40 (ceil of 35)

  v = t.Get(30)          ' v = 300

  ' Sorted keys
  LOCAL keys AS LnArr
  keys = t.Keys          ' keys = [20, 30, 40, 50, 70]
  t.Final
  keys.Final
END FUNCTION

LNHEAP (Heap / Prioritätswarteschlange)

FUNCTION PBMAIN() AS LONG
  LOCAL h AS LNHEAP
  LOCAL v AS LONG

  h = h.New
  h.Push 30
  h.Push 10
  h.Push 20

  v = h.Peek      ' v = 10 (smallest)
  v = h.Pop       ' v = 10, heap now [20, 30]
  v = h.Pop       ' v = 20
  h.Final
END FUNCTION

LNDEQUE (Doppelendige Warteschlange)

FUNCTION PBMAIN() AS LONG
  LOCAL d AS LNDEQUE
  LOCAL v AS LONG

  d = d.New
  d.PushBack 10
  d.PushFront 5
  d.PushBack 15

  v = d.PeekFront  ' v = 5
  v = d.PeekBack   ' v = 15
  v = d.PopFront   ' v = 5
  v = d.PopBack    ' v = 15
  d.Final
END FUNCTION

LNSET (sortierter eindeutiger Satz)

FUNCTION PBMAIN() AS LONG
  LOCAL s AS LNSET
  LOCAL v AS LONG

  s = s.New
  s.Add 3
  s.Add 1
  s.Add 2
  s.Add 3        ' duplicate ignored

  v = s.Count     ' v = 3
  v = s.First     ' v = 1
  v = s.Next 1    ' v = 2
  v = s.Contains 2 ' non-zero
  s.Final
END FUNCTION

LNGRAPH (Ungerichteter Graph)

FUNCTION PBMAIN() AS LONG
  LOCAL g AS LNGRAPH
  LOCAL n AS LONG
  LOCAL neighbors AS LNARR

  g = g.New
  g.AddNode 1
  g.AddNode 2
  g.AddNode 3
  g.AddEdge 1, 2
  g.AddEdge 2, 3

  n = g.Count       ' n = 3
  n = g.HasEdge(1, 2) ' non-zero

  neighbors = g.Neighbors 2  ' neighbors = [1, 3]
  g.Final
  neighbors.Final
END FUNCTION

LNMULTISET (Beutel mit Multiplizität)

FUNCTION PBMAIN() AS LONG
  LOCAL m AS LNMULTISET
  LOCAL v AS LONG

  m = m.New
  m.Add 5
  m.Add 5
  m.Add 3

  v = m.Count         ' v = 3 (total elements)
  v = m.UniqueCount   ' v = 2 (distinct values)
  v = m.Multiplicity 5 ' v = 2
  m.Remove 5          ' multiplicity becomes 1
  m.RemoveAll 5       ' completely removed
  m.Final
END FUNCTION

LNUNIONFIND (Disjunkte Menge)

FUNCTION PBMAIN() AS LONG
  LOCAL uf AS LNUNIONFIND
  LOCAL v AS LONG

  uf = uf.New
  uf.MakeSet 1
  uf.MakeSet 2
  uf.MakeSet 3

  v = uf.SameSet(1, 2) ' v = 0 (false)
  uf.Union 1, 2
  v = uf.SameSet(1, 2) ' v = non-zero (true)
  v = uf.Components    ' v = 2 (sets: {1,2}, {3})
  uf.Final
END FUNCTION

LNLRU (LRU-Cache)

FUNCTION PBMAIN() AS LONG
  LOCAL cache AS LNLRU
  LOCAL v AS LONG

  cache = cache.New 3     ' capacity = 3
  cache.Put 1, 100
  cache.Put 2, 200
  cache.Put 3, 300
  cache.Put 4, 400       ' evicts key 1 (oldest)

  v = cache.Get 2        ' v = 200
  v = cache.Contains 1   ' v = 0 (evicted)
  v = cache.Count        ' v = 3
  cache.Final
END FUNCTION

LNRING (Ringpuffer)

FUNCTION PBMAIN() AS LONG
  LOCAL r AS LNRING
  LOCAL v AS LONG

  r = r.New 3            ' capacity = 3
  r.Push 10
  r.Push 20
  r.Push 30
  r.Push 40             ' overwrites 10

  v = r.Peek            ' v = 20 (oldest remaining)
  v = r.Pop             ' v = 20
  v = r.Full            ' v = 0 (not full)
  r.Final
END FUNCTION

LNSKIPLIST (Probabilistisch geordneter Satz)

FUNCTION PBMAIN() AS LONG
  LOCAL sl AS LNSKIPLIST
  LOCAL v AS LONG

  sl = sl.New
  sl.Add 50
  sl.Add 30
  sl.Add 70

  v = sl.First      ' v = 30
  v = sl.Next 30    ' v = 50
  v = sl.Contains 70 ' non-zero
  sl.Final
END FUNCTION

LNBPTREE (B+ Baum)

FUNCTION PBMAIN() AS LONG
  LOCAL t AS LNBPTREE
  LOCAL v AS LONG
  LOCAL arr AS LNARR

  t = t.New 4          ' order = 4
  t.Add 10
  t.Add 20
  t.Add 30
  t.Add 40
  t.Add 50

  v = t.First          ' v = 10
  arr = t.Range 15, 45 ' arr = [20, 30, 40]
  t.Final
  arr.Final
END FUNCTION

LNQUAD (Quadtree)

FUNCTION PBMAIN() AS LONG
  LOCAL q AS LNQUAD
  LOCAL ids AS LNARR
  LOCAL n AS LONG

  q = q.New 8          ' max depth = 8
  q.Insert 1, 0, 0, 10, 10
  q.Insert 2, 5, 5, 15, 15
  q.Insert 3, 20, 20, 30, 30

  ids = q.Query 4, 4, 12, 12  ' ids = [1, 2] (overlapping boxes)
  n = q.Count            ' n = 3
  q.Final
  ids.Final
END FUNCTION

LNBLOOM (Bloom-Filter)

FUNCTION PBMAIN() AS LONG
  LOCAL b AS LNBLOOM
  LOCAL v AS LONG

  b = b.New 1000, 0.01  ' capacity 1000, 1% false-positive rate
  b.Add 42
  b.Add 99
  b.Add 123

  v = b.Contains 42     ' non-zero (definitely present)
  v = b.Contains 999    ' probably 0 (not added)
  v = b.ErrorRate       ' v = 0.01
  b.Final
END FUNCTION

LNSAFE (Thread-Safe Stack)

FUNCTION PBMAIN() AS LONG
  LOCAL s AS LNSAFE
  LOCAL v AS LONG

  s = s.New
  s.Push 100
  s.Push 200

  v = s.Peek            ' v = 200
  v = s.Pop             ' v = 200
  v = s.Count           ' v = 1
  s.Final
END FUNCTION

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Siehe auch

  • Native H-Lib-Container - Übersicht
  • Native H-Lib-Container - Methodenreferenz


Native H-Lib-Container - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

Native H-Lib-Container - Hilfe zum PBXB64-Compiler

PBXB64 enth&auml;lt eine native Containerbibliothek. PB-Containervariablen werden automatisch initialisiert und beim Verlassen ihres G&uuml;ltigkeitsbereichs automatisch finalisiert.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 enthält eine native Containerbibliothek. PB-Containervariablen werden automatisch initialisiert und beim Verlassen ihres Gültigkeitsbereichs automatisch finalisiert.

Typ: Sprachfunktion | Kategorie: Native H-Lib-Container

PBXB64-Status: VERFÜGBAR – 23 FAMILIEN · 136 TYPSCHLÜSSELWÖRTER

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Drei Möglichkeiten, sie zu verwenden:
· PB-Syntax: q.Push 5, n = q.Count (Methodenversand)
· PB-Index: a[1] = 100, n = h["key"] (Indexzugriff)
· C-Frontend: c_hlib_lnarr_add(q, 5) über pbxb64/hlib.h

Unterstützte Containerfamilien (alphabetisch, insgesamt 23)

Familie | PB-Typ | Beschreibung | Hilfeseite
2D-Array | LN2D (+ 12 Varianten) | Zweidimensionales dynamisches Array mit Zeilen, Spalten und rechteckigen Operationen. | 2D-Methoden
Array | LNARR (+ 12 Varianten) | Dynamisches Array mit Push, Pop, Einfügen, Löschen, Sortieren, indiziertem Zugriff und UDT-Nutzlast. | Arr-Methoden
Bloom-Filter | LNBLOOM | Probabilistischer LONG-Mitgliedschaftstest ohne falsch-negative Ergebnisse und einstellbarer Falsch-Positiv-Rate. | cmd_hlib_bloom
B+-Baum | LNBPTREE | Geordnete Menge mit hohem Verzweigungsgrad, Bereichsabfragen und sortierter Ausgabe. | cmd_hlib_bptree
Deque | LNDEQUE | Doppelendige Warteschlange mit Push- und Pop-Operationen an beiden Enden. | cmd_hlib_deque
Double Tree | WSWSDTRE | Geordneter Schlüssel-Wert-Baum von WSTRING nach WSTRING. | DTre-Methoden
Graph | LNGRAPH | Ungerichteter Graph mit LONG-Knoten-IDs, Adjazenzabfragen und Nachbarlisten. | cmd_hlib_graph
Hashtabelle | LNLNHSH und weitere Varianten | Schlüssel-Wert-Speicher mit Einfügen, Suchen, Entfernen und Aufzählen. | Hsh-Methoden
Heap | LNHEAP | Binärer Min-Heap und Prioritätswarteschlange. | cmd_hlib_heap
Verkettete Liste | LNLST (+ 12 Varianten) | Doppelt verkettete Liste mit Knotendurchlauf sowie Einfügen und Entfernen an Knoten. | Lst-Methoden
LRU-Cache | LNLRU | Begrenzter Cache mit LONG-Schlüsseln und -Werten; verdrängt den am längsten nicht verwendeten Eintrag. | cmd_hlib_lru
Multiset | LNMULTISET | Multimenge aus LONG-Werten mit Anzahl je Wert. | cmd_hlib_multiset
Quadtree | LNQUAD | Räumlicher Index für LONG-Begrenzungsrahmen. Effiziente 2D-Bereichs- und Punktabfragen. | cmd_hlib_quadtree
Warteschlange | LNQUE (+ 12 Varianten) | FIFO-Warteschlange mit Push-, Pop-, Peek-, Front- und Back-Operationen. | Que-Methoden
Ringpuffer | LNRING | Ringpuffer mit fester Kapazität. Bei vollem Puffer überschreibt Push den ältesten Wert. | cmd_hlib_ring
Thread-sicherer Stack | LNSAFE | Mutex-geschützter LONG-Stack. | cmd_hlib_safe
Set | LNSET | Sortierte Menge eindeutiger LONG-Werte. | cmd_hlib_set
SkipList | LNSKIPLIST | Probabilistische geordnete Menge mit durchschnittlich logarithmischen Operationen. | cmd_hlib_skiplist
Stapel | LNSTK (+ 12 Varianten) | LIFO-Stack mit Push-, Pop- und Peek-Operationen. | Stk-Methoden
String Builder | SSSTR, WSSTR | Veränderbarer String-Builder mit Anhängen, Einfügen, Löschen, Ersetzen und Zeichenzugriff. | Str-Methoden
Baum | LNLNTRE und weitere Varianten | Selbstausgleichender AVL-Baum mit geordneten Schlüssel-Wert-Paaren sowie Min/Max/Floor/Ceil. | Tre-Methoden
Trie | SSSSTRI | Präfixbaum von STRING nach STRING mit Präfixsuche und Autovervollständigung. | Tri-Methoden
Union-Find | LNUNIONFIND | Disjunkte Mengen-/Union-Find-Struktur. Nahezu zeitkonstante Vereinigung und Suche. | cmd_hlib_unionfind

Typvarianten (13 pro Familie, sofern zutreffend)

Die typisierten Familien verwenden die folgenden 13 Elementtypen. Insgesamt erkennt H-Lib 136 Typschlüsselwörter. EXTENDED und CURRENCYX sind undurchsichtige hochpräzise Werte und keine gewöhnlichen DOUBLE-Werte.

Suffix | PB-Typ | Größe | Suffix | PB-Typ | Größe
Bt | BYTE | 1 Byte | Sn | SINGLE | 4 Byte
In | INTEGER | 2 Byte | Db | DOUBLE | 8 Byte
Wd | WORD | 2 Byte | Cu | CURRENCY | 8 Byte
Dw | DWORD | 4 Byte | Cx | CURRENCYX | 16 Byte
Ln | LONG | 4 Byte | Ex | EXTENDED | 10 Byte
Qd | QUAD | 8 Byte | SS | STRING (ANSI) | Zeigergroß
 | Ws | WSTRING (Unicode) | Zeigergroß

Vollständige Variantenlisten

Arr: BTARR, INARR, WDARR, LNARR, DWARR, QDARR, SNARR, DBARR, CUARR, CXARR, EXARR, SSARR, WSARR, OJARR.

Stk: BTSTK, INSTK, WDSTK, LNSTK, DWSTK, QDSTK, SNSTK, DBSTK, CUSTK, CXSTK, EXSTK, SSSTK, WSSTK.

Que: BTQUE, INQUE, WDQUE, LNQUE, DWQUE, QDQUE, SNQUE, DBQUE, CUQUE, CXQUE, EXQUE, SSQUE, WSQUE.

Lst: BTLST, INLST, WDLST, LNLST, DWLST, QDLST, SNLST, DBLST, CULST, CXLST, EXLST, SSLST, WSLST, UTLST.

Str: SSSTR, WSSTR.

2D: BT2D, IN2D, WD2D, LN2D, DW2D, QD2D, SN2D, DB2D, CU2D, CX2D, EX2D, SS2D, WS2D.

Hsh: LNLNHSH, LNCUHSH, LNCXHSH, LNDBHSH, LNDWHSH, LNEXHSH, LNQDHSH, LNSSHSH, LNWSHSH, SSCUHSH, SSCXHSH, SSDBHSH, SSDWHSH, SSEXHSH, SSLNHSH, SSQDHSH, SSSSHSH, WSCUHSH, WSCXHSH, WSDBHSH, WSDWHSH, WSEXHSH, WSLNHSH, WSQDHSH, WSWSHSH, LNUTHSH.

Tre: LNLNTRE, LNCUTRE, LNCXTRE, LNDBTRE, LNDWTRE, LNEXTRE, LNQDTRE, LNSSTRE, LNWSTRE, SSCUTRE, SSCXTRE, SSDBTRE, SSDWTRE, SSEXTRE, SSLNTRE, SSQDTRE, SSSSTRE, WSCUTRE, WSCXTRE, WSDBTRE, WSDWTRE, WSEXTRE, WSLNTRE, WSQDTRE, WSWSTRE, LNUTTRE.

Spezialisiert: WSWSDTRE, SSSSTRI, LNHEAP, LNDEQUE, LNSET, LNGRAPH, LNMULTISET, LNUNIONFIND, LNLRU, LNRING, LNSKIPLIST, LNBPTREE, LNQUAD, LNBLOOM, LNSAFE.

Gemeinsame Konventionen

  • Deklarieren Sie eine Containervariable mit LOCAL c AS LNMULTISET.
  • Die Deklaration initialisiert einen verwendbaren Container automatisch; beim Verlassen des Gültigkeitsbereichs wird Final automatisch aufgerufen.
  • Konfigurierte Konstruktoren sind explizit: lru.New(capacity), ring.New(capacity), bpt.New(order), quad.New(maxDepth) und bloom.New(capacity, errorRate).
  • Aufrufmethoden mit Punktsyntax: c.Add 5oderc.Add(5).
  • Capacity, Trim und Clone stehen in allen 23 Familien bereit.
  • PB-Positionen in Arr, Lst, Str, 2D und Slices sind 1-basiert.
  • Verwendung von Methoden, die Skalarwerte zurückgeben LONGoderQUAD; Methoden, die Container zurückgeben, geben ein neues Handle zurück.

UDT-Nutzlastcontainer

Der Containerelementtyp kann ein benutzerdefinierter PB sein TYPE:

TYPE Point
    x AS LONG
    y AS LONG
END TYPE
LOCAL a AS LNARR OF Point
LOCAL p AS Point
LOCAL q AS Point

a.New
p.x = 10 : p.y = 20
a.Push p
q = a.Get(1)              ' q is a Point; PB-Indizes sind 1-basiert

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Siehe auch

  • Native H-Lib-Container - Übersicht
  • Native H-Lib-Container - Methodenreferenz
  • Native H-Lib-Container - Beispiele
  • H-Lib C API
  • H-Lib-Subscript-Zugriff
  • H-Lib-Container-Funktionsparameter
  • Hilfe zum PBXB64-Compiler


Native H-Lib-Container - Methodenreferenz - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

Native H-Lib-Container - Methodenreferenz

Vollst&auml;ndige Referenz aller Methoden, die f&uuml;r native H-Lib-Containertypen verf&uuml;gbar sind. Methoden werden nach Containerfamilie gruppiert. Alle Typen innerhalb einer Familie verwenden dieselben Methodensignaturen.

Kategorie: H-Lib-Container

Beschreibung

Vollständige Referenz aller Methoden, die für native H-Lib-Containertypen verfügbar sind. Methoden werden nach Containerfamilie gruppiert. Alle Typen innerhalb einer Familie verwenden dieselben Methodensignaturen.

Allgemeine Methoden (alle Container)

Containervariablen werden automatisch initialisiert und beim Verlassen des Gültigkeitsbereichs automatisch finalisiert. PB-Positionen in Arr, Lst, Str, 2D und Slice-Bereichen sind 1-basiert.

Methode | Argumente | Rückgaben | Beschreibung
.New | keine | nichts | Initialisiert den Container explizit. Optional – die Deklaration initialisiert den Container bereits.
.Final | keiner | nichts | Zerstört den Container und gibt den gesamten internen Speicher frei. Wird beim Beenden des Bereichs automatisch aufgerufen.
.Validate | keiner | LONG | Gibt einen Wert ungleich Null zurück, wenn das Containerhandle gültig ist. Für Debug-Behauptungen verwenden.
.Clear | keiner | nichts | Entfernt alle Elemente, ohne die Zuordnung des Containers aufzuheben. Die Kapazität kann erhalten bleiben.
.Count | keiner | QUAD | Gibt die Anzahl der Elemente zurück, die sich derzeit im Container befinden.
.Capacity | keine | QUAD oder LONG | Gibt die aktuelle oder konfigurierte Kapazität zurück. In jeder Familie verfügbar.
.Trim | keiner | nichts | Reduziert die Kapazität, um sie an die aktuelle Elementanzahl anzupassen. Gibt überschüssigen Speicher frei.
.Clone | keine | container | Gibt eine tiefe Kopie des Containers mit unabhängigem Speicher zurück.

Arr (Array)-Methoden

Gilt für: LnArr, InArr, WdArr, BtArr, DwArr, QdArr, SnArr, DbArr, CuArr, CxArr, ExArr, SsArr, WsArr

Methode | Argumente | Rückgaben | Beschreibung
.Get | index As QUAD | Element | Gibt das Element am angegebenen 1-basierten PB-Index zurück. Die Grenzen werden zur Laufzeit geprüft.
.Set | index As QUAD, value | nichts | Setzt das Element am angegebenen Index.
.Add | Wert | QUAD | Hängt ein Element an das Ende an. Gibt die neue Anzahl zurück.
.Push | Wert | QUAD | Alias für Add. Hängt den Wert an und gibt die neue Anzahl zurück.
.Pop | keiner | Element | Entfernt das letzte Element und gibt es zurück. Schlägt fehl, wenn leer.
.Peek | keiner | Element | Gibt das letzte Element zurück, ohne es zu entfernen.
.Ins | index As QUAD, value | nichts | Fügt ein Element am angegebenen Index ein und verschiebt nachfolgende Elemente nach rechts.
.Del | index As QUAD | nichts | Löscht das Element am angegebenen Index und verschiebt nachfolgende Elemente nach links.
.IndexOf | Wert | QUAD | Gibt den ersten Index des angegebenen Werts zurück oder -1, wenn er nicht gefunden wird. Lineare Suche.
.Contains | Wert | LONG | Gibt einen Wert ungleich Null zurück, wenn der Wert im Array vorhanden ist.
.Sort | keiner | nichts | Sortiert Elemente mithilfe von Quicksort in aufsteigender Reihenfolge. Nur für numerische Typen.
.SortDesc | keiner | nichts | Sortiert Elemente in absteigender Reihenfolge.
.Reverse | keiner | nichts | Kehrt die Reihenfolge aller vorhandenen Elemente um.
.Reserve | capacity As QUAD | nichts | Reserviert vorab Speicherplatz für die angegebene Anzahl von Elementen.

Stk (Stack)-Methoden

Gilt für: LnStk, InStk, WdStk, BtStk, DwStk, QdStk, SnStk, DbStk, CuStk, CxStk, ExStk, SsStk, WsStk

Methode | Argumente | Rückgaben | Beschreibung
.Push | Wert | QUAD | Schiebt einen Wert oben auf den Stapel. Gibt eine neue Anzahl zurück.
.Pop | keiner | Element | Öffnet das oberste Element und gibt es zurück. Schlägt fehl, wenn leer.
.Peek | keiner | Element | Gibt das oberste Element zurück, ohne es zu entfernen.

Que (Warteschlange)-Methoden

Gilt für: LnQue, InQue, WdQue, BtQue, DwQue, QdQue, SnQue, DbQue, CuQue, CxQue, ExQue, SsQue, WsQue

Methode | Argumente | Rückgaben | Beschreibung
.Push | Wert | QUAD | Stellt einen Wert hinten in die Warteschlange. Gibt eine neue Anzahl zurück.
.Pop | keiner | Element | Entnimmt das vordere Element der Warteschlange und gibt es zurück. Schlägt fehl, wenn leer.
.Peek | keiner | Element | Gibt das vordere Element zurück, ohne es zu entfernen.
.Front | keiner | Element | Gibt das vordere (älteste) Element zurück. Das Gleiche wie Peek.
.Back | keiner | Element | Gibt das vorherige (neueste) Element zurück, ohne es zu entfernen.

Lst-Methoden (Listenmethoden).

Gilt für: LnLst, InLst, WdLst, BtLst, DwLst, QdLst, SnLst, DbLst, CuLst, CxLst, ExLst, SsLst, WsLst

Methode | Argumente | Rückgaben | Beschreibung
.Add | Wert | QUAD | Fügt einen Wert an das Ende der Liste an. Gibt eine neue Anzahl zurück.
.AddHead | Wert | QUAD | Fügt den Wert am Listenanfang ein und gibt die neue Anzahl zurück.
.InsBefore | nodePtr As QUAD, value | nichts | Fügt einen Wert vor dem angegebenen Knotenzeiger ein.
.InsAfter | nodePtr As QUAD, value | nichts | Fügt einen Wert nach dem angegebenen Knotenzeiger ein.
.Remove | nodePtr As QUAD | nichts | Entfernt den Knoten am angegebenen Zeiger. Der Knotenzeiger wird ungültig.
.RemoveHead | keiner | Element | Entfernt das erste Element und gibt es zurück.
.RemoveTail | keiner | Element | Entfernt das letzte Element und gibt es zurück.
.GetHead | keiner | Element | Gibt das erste Element zurück, ohne es zu entfernen.
.GetTail | keiner | Element | Gibt das letzte Element zurück, ohne es zu entfernen.
.Next | nodePtr As QUAD | QUAD | Gibt den Zeiger auf den nächsten Knoten zurück oder 0, wenn am Ende.
.Prev | nodePtr As QUAD | QUAD | Gibt den Zeiger auf den vorherigen Knoten zurück oder 0 beim Start.
.GetNode | index As QUAD | QUAD | Gibt den Knotenzeiger am angegebenen 1-basierten PB-Index zurück.
.Value | nodePtr As QUAD | Element | Gibt den am angegebenen Knotenzeiger gespeicherten Wert zurück.

Str-Methoden (String Builder).

Gilt für: SsStr, WsStr

Methode | Argumente | Rückgaben | Beschreibung
.Append | Wert (Zeichenfolge) | QUAD | Fügt Text am Ende hinzu. Gibt die neue Länge zurück.
.AppendLine | Wert (Zeichenfolge) | QUAD | Fügt Text gefolgt von einem Zeilenumbruch hinzu. Gibt die neue Länge zurück.
.Ins | pos Als QUAD, Wert (Zeichenfolge) | nichts | Fügt Text an der angegebenen Position ein (1-basiert).
.Del | pos As QUAD, len As QUAD | nichts | Löscht len Zeichen beginnend bei pos (1-basiert).
.Replace | oldStr (Zeichenfolge), newStr (Zeichenfolge) | QUAD | Ersetzt alle Vorkommen von oldStr mit newStr. Gibt die Anzahl der Ersetzungen zurück.
.SubStr | pos As QUAD, len As QUAD | string | Gibt einen Teilstring ab der 1-basierten Position pos mit der angegebenen Länge zurück.
.CharAt | pos As QUAD | character | Gibt das Zeichen an der angegebenen Position zurück (1-basiert).
.ToUpper | keiner | nichts | Wandelt alle Zeichen direkt in Großbuchstaben um.
.ToLower | keiner | nichts | Wandelt alle Zeichen direkt in Kleinbuchstaben um.
.Trim | keiner | nichts | Entfernt führende und nachfolgende Leerzeichen direkt.
.ToString | keine | string | Gibt den aktuellen Inhalt als Standard-PB-String zurück.
.Length | keiner | QUAD | Gibt die aktuelle Länge des String-Inhalts zurück.

2D-Methoden (2D-Array).

Gilt für: Ln2D, In2D, Wd2D, Bt2D, Dw2D, Qd2D, Sn2D, Db2D, Cu2D, Cx2D, Ex2D, Ss2D, Ws2D

Methode | Argumente | Rückgaben | Beschreibung
.Resize | rows As QUAD, cols As QUAD | nichts | Ändert die Größe des 2D-Arrays. Vorhandene Daten bleiben soweit möglich erhalten.
.Get | row As QUAD, col As QUAD | Element | Gibt das Element an der 1-basierten PB-Zeile und -Spalte zurück.
.Set | row As QUAD, col As QUAD, value | nichts | Setzt das Element in der angegebenen Zeile und Spalte.
.Rows | keiner | QUAD | Gibt die Anzahl der Zeilen zurück.
.Cols | keiner | QUAD | Gibt die Anzahl der Spalten zurück.
.GetRow | Reihe Als QUAD | Arr-Typ | Gibt ein 1D-Array (Arr) zurück, das die angegebene Zeile enthält.
.SetRow | row As QUAD, arr As Arr-Typ | nichts | Legt die angegebene 1-basierte Zeile aus einem 1D-Array fest.

Hsh-Methoden (Hash-Tabelle).

Gilt für: LnLnHsh, InInHsh, WdWdHsh, BtBtHsh, DwDwHsh, QdQdHsh, SnSnHsh, DbDbHsh, CuCuHsh, CxCxHsh, ExExHsh, SsSsHsh, WsWsHsh

Methode | Argumente | Rückgaben | Beschreibung
.Put | Schlüssel, Wert | nichts | Fügt den Wert für den angegebenen Schlüssel ein oder aktualisiert ihn.
.Get | Schlüssel | Wert | Gibt den Wert für den angegebenen Schlüssel zurück. Schlägt fehl, wenn der Schlüssel nicht vorhanden ist.
.TryGet | Schlüssel, Standard | Wert | Gibt den Wert für den Schlüssel zurück oder den Standardwert, wenn er nicht gefunden wird.
.Remove | Schlüssel | LONG | Entfernt das Schlüssel-Wert-Paar. Gibt einen Wert ungleich Null zurück, wenn der Schlüssel vorhanden war.
.Contains | Schlüssel | LONG | Gibt einen Wert ungleich Null zurück, wenn der Schlüssel in der Tabelle vorhanden ist.
.Keys | keiner | Arr-Typ | Gibt ein Array zurück, das alle Schlüssel enthält.
.Values | keiner | Arr-Typ | Gibt ein Array zurück, das alle Werte enthält.

Tre (Baum)-Methoden

Gilt für: LnLnTre, InInTre, WdWdTre, BtBtTre, DwDwTre, QdQdTre, SnSnTre, DbDbTre, CuCuTre, CxCxTre, ExExTre, SsSsTre, WsWsTre

Methode | Argumente | Rückgaben | Beschreibung
.Put | Schlüssel, Wert | nichts | Fügt ein Schlüssel-Wert-Paar ein. Wenn der Schlüssel vorhanden ist, wird der Wert aktualisiert.
.Get | Schlüssel | Wert | Gibt den Wert für den angegebenen Schlüssel zurück. Schlägt fehl, wenn der Schlüssel nicht vorhanden ist.
.TryGet | Schlüssel, Standard | Wert | Gibt den Wert für den Schlüssel zurück oder den Standardwert, wenn er nicht gefunden wird.
.Remove | Schlüssel | LONG | Entfernt das Schlüssel-Wert-Paar. Gibt einen Wert ungleich Null zurück, wenn der Schlüssel vorhanden war.
.Contains | Schlüssel | LONG | Gibt einen Wert ungleich Null zurück, wenn der Schlüssel im Baum vorhanden ist.
.Min | keine | key | Gibt den kleinsten Schlüssel im Baum zurück.
.Max | keine | key | Gibt den größten Schlüssel im Baum zurück.
.Floor | key | key | Gibt den größten Schlüssel zurück, der kleiner oder gleich dem angegebenen Schlüssel ist.
.Ceil | key | key | Gibt den kleinsten Schlüssel zurück, der größer oder gleich dem angegebenen Schlüssel ist.
.Keys | keiner | Arr-Typ | Gibt ein sortiertes Array aller Schlüssel zurück (Durchlauf in der richtigen Reihenfolge).
.Values | keiner | Arr-Typ | Gibt ein Array aller Werte in Schlüsselreihenfolge zurück.

DTre-Methoden (Double Tree).

Gilt für: WsWsDTre

Methode | Argumente | Rückgaben | Beschreibung
.Put | Schlüssel als WSTRING, Wert als WSTRING | nichts | Fügt ein Schlüssel-Wert-Paar mit breiter Zeichenfolge ein.
.Get | key As WSTRING | WSTRING | Gibt den Wide-String-Wert für den angegebenen Schlüssel zurück.
.Contains | key As WSTRING | LONG | Gibt einen Wert ungleich Null zurück, wenn der Schlüssel vorhanden ist.
.Remove | key As WSTRING | LONG | Entfernt das Schlüssel-Wert-Paar.
.Keys | keiner | WsArr | Gibt ein Wide-String-Array aller Schlüssel zurück.
.Values | keiner | WsArr | Gibt ein Wide-String-Array aller Werte zurück.

Tri (Trie)-Methoden

Gilt für: SsSsTri

Methode | Argumente | Rückgaben | Beschreibung
.Put | key As STRING, value As STRING | nichts | Fügt ein Schlüssel-Wert-Paar in den Trie ein oder aktualisiert es.
.Get | key As STRING | STRING | Gibt den Wert für den angegebenen Schlüssel zurück.
.Contains | key As STRING | LONG | Gibt einen Wert ungleich Null zurück, wenn der Schlüssel vorhanden ist.
.Remove | key As STRING | LONG | Entfernt das Schlüssel-Wert-Paar und meldet, ob es vorhanden war.
.PrefixMatch | prefix As STRING | SsArr | Gibt alle Schlüssel mit dem angegebenen Präfix zurück.
.AutoComplete | prefix As STRING, max As LONG | SsArr | Gibt bis zu max passende Schlüssel zurück.

Heap-Methoden (Prioritätswarteschlange).

Gilt für: LNHEAP

Methode | Argumente | Rückgaben | Beschreibung
.New | keiner | LNHEAP | Ordnen Sie einen neuen leeren Min-Heap zu.
.Final | keiner | nichts | Befreie den Haufen.
.Validate | keiner | LONG | Ungleich Null, wenn das Handle gültig ist.
.Clear | keiner | nichts | Entfernen Sie alle Werte.
.Count | keiner | LONG | Anzahl der Werte im Heap.
.Push | Wert As LONG | nichts | Geben Sie einen Wert ein. O(log n).
.Pop | keiner | QUAD | Entfernen Sie den kleinsten Wert und geben Sie ihn zurück. O(log n).
.Peek | keiner | QUAD | Gibt den kleinsten Wert zurück, ohne ihn zu entfernen. O(1).
.Empty | keiner | LONG | Ungleich Null, wenn der Heap leer ist.

Deque-Methoden

Gilt für: LNDEQUE

Methode | Argumente | Rückgaben | Beschreibung
.New | keiner | LNDEQUE | Weisen Sie eine neue leere Deque zu.
.Final | keiner | nichts | Befreie die Deque.
.Validate | keiner | LONG | Ungleich Null, wenn das Handle gültig ist.
.Clear | keiner | nichts | Entfernen Sie alle Werte.
.Count | keiner | LONG | Anzahl der Werte in der Deque.
.PushFront | Wert As LONG | nichts | Geben Sie vorne einen Wert ein. O(1).
.PushBack | Wert As LONG | nichts | Fügen Sie hinten einen Wert ein. O(1).
.PopFront | keiner | QUAD | Entfernen Sie den vorderen Wert und geben Sie ihn zurück. O(1).
.PopBack | keiner | QUAD | Entfernen Sie den Back-Wert und geben Sie ihn zurück. O(1).
.PeekFront | keiner | QUAD | Geben Sie den vorderen Wert zurück, ohne ihn zu entfernen. O(1).
.PeekBack | keiner | QUAD | Geben Sie den Wert zurück, ohne ihn zu entfernen. O(1).
.Empty | keiner | LONG | Ungleich Null, wenn die Deque leer ist.

Set-Methoden

Gilt für: LNSET

Methode | Argumente | Rückgaben | Beschreibung
.New | keiner | LNSET | Ordnen Sie einen neuen leeren sortierten Satz zu.
.Final | keiner | nichts | Geben Sie das Set frei.
.Validate | keiner | LONG | Ungleich Null, wenn das Handle gültig ist.
.Clear | keiner | nichts | Entfernen Sie alle Werte.
.Count | keiner | LONG | Anzahl der eindeutigen Werte im Satz.
.Add | Wert As LONG | nichts | Geben Sie einen Wert ein, falls dieser noch nicht vorhanden ist. O(log n).
.Remove | Wert As LONG | nichts | Entfernen Sie einen Wert, falls vorhanden. O(log n).
.Contains | Wert As LONG | LONG | Ungleich Null, wenn der Wert vorhanden ist. O(log n).
.First | keiner | QUAD | Gibt den kleinsten Wert zurück (0, wenn leer).
.Next | Wert As LONG | QUAD | Gibt den nächstgrößeren Wert zurück (0, wenn keiner).
.Empty | keiner | LONG | Ungleich Null, wenn die Menge leer ist.
.ToArray | keiner | LNARR | Gibt einen neuen LNARR zurück, der alle Werte sortiert enthält.

Graph-Methoden

Gilt für: LNGRAPH

Methode | Argumente | Rückgaben | Beschreibung
.New | keine | LNGRAPH | Erzeugt einen leeren Graphen.
.Final | keine | nichts | Gibt den Graphen frei.
.Validate | keiner | LONG | Ungleich Null, wenn das Handle gültig ist.
.Clear | keiner | nichts | Entfernen Sie alle Knoten und Kanten.
.Count | keine | LONG | Anzahl der Knoten im Graphen.
.Empty | keine | LONG | Ungleich Null, wenn der Graph keine Knoten hat.
.AddNode | id As LONG | nichts | Fügt einen Knoten mit der angegebenen ID hinzu.
.AddEdge | u As LONG, v As LONG | nichts | Fügt eine ungerichtete Kante zwischen zwei Knoten hinzu.
.RemoveNode | id As LONG | nichts | Entfernt einen Knoten und seine anliegenden Kanten.
.RemoveEdge | u As LONG, v As LONG | nichts | Entfernt eine ungerichtete Kante.
.HasEdge | u As LONG, v As LONG | LONG | Ungleich Null, wenn die Kante vorhanden ist.
.Neighbors | id As LONG | LNARR | Gibt eine neue LNARR mit den Nachbar-IDs zurück.

Multiset-Methoden

Gilt für: LNMULTISET

Methode | Argumente | Rückgaben | Beschreibung
.New | keiner | LNMULTISET | Ordnen Sie ein neues leeres Multiset zu.
.Final | keiner | nichts | Geben Sie das Multiset frei.
.Validate | keiner | LONG | Ungleich Null, wenn das Handle gültig ist.
.Clear | keiner | nichts | Entfernen Sie alle Werte und Zählungen.
.Count | keiner | LONG | Gesamtzahl der Elemente (Summe aller Multiplizitäten).
.UniqueCount | keiner | LONG | Anzahl unterschiedlicher Werte.
.Add | Wert As LONG | nichts | Fügen Sie einen Wert ein und erhöhen Sie dessen Multiplizität.
.Remove | Wert As LONG | nichts | Multiplizität dekrementieren, entfernen, wenn die Anzahl Null erreicht.
.RemoveAll | Wert As LONG | nichts | Entfernen Sie alle Vorkommen des Werts.
.Contains | Wert As LONG | LONG | Ungleich Null, wenn der Wert vorhanden ist.
.Multiplicity | Wert As LONG | LONG | Gibt die Anzahl des angegebenen Werts zurück (0, falls nicht vorhanden).
.First | keiner | QUAD | Gibt den kleinsten Wert zurück (0, wenn leer).
.Next | Wert As LONG | QUAD | Gibt den nächstgrößeren eindeutigen Wert zurück (0, wenn keiner).
.Empty | keiner | LONG | Ungleich Null, wenn das Multiset leer ist.

Union-Find-Methoden

Gilt für: LNUNIONFIND

Methode | Argumente | Rückgaben | Beschreibung
.New | keiner | LNUNIONFIND | Ordnen Sie einen neuen leeren Union-Find zu.
.Final | keiner | nichts | Befreie den Gewerkschaftsfund.
.Validate | keiner | LONG | Ungleich Null, wenn das Handle gültig ist.
.Clear | keiner | nichts | Entfernen Sie alle Elemente.
.Count | keiner | LONG | Anzahl der Elemente.
.MakeSet | x As LONG | nichts | Fügt eine neue einelementige Menge für x hinzu.
.Find | x As LONG | QUAD | Gibt den Repräsentanten von x zurück (0, falls unbekannt).
.Union | x As LONG, y As LONG | LONG | Ungleich Null, wenn zwei Mengen vereinigt wurden.
.SameSet | x As LONG, y As LONG | LONG | Ungleich Null, wenn x und y derselben Menge angehören.
.Empty | keiner | LONG | Ungleich Null, wenn der Union-Find leer ist.
.Components | keiner | LONG | Anzahl disjunkter Mengen.

LRU-Cache-Methoden

Gilt für: LNLRU

Methode | Argumente | Rückgaben | Beschreibung
.New | capacity As LONG | LNLRU | Erzeugt einen LRU-Cache mit der angegebenen Kapazität.
.Final | keiner | nichts | Geben Sie den Cache frei.
.Validate | keiner | LONG | Ungleich Null, wenn das Handle gültig ist.
.Clear | keiner | nichts | Entfernen Sie alle Einträge.
.Count | keiner | LONG | Anzahl der derzeit im Cache befindlichen Einträge.
.Capacity | keiner | LONG | Geben Sie die maximale Kapazität zurück.
.Put | Schlüssel As LONG, Wert As LONG | nichts | Fügen Sie ein Schlüssel-Wert-Paar ein oder aktualisieren Sie es. Vertreibt die Ältesten, wenn die Kapazität erreicht ist.
.Get | key As LONG | QUAD | Gibt den Wert zurück und markiert den Schlüssel als zuletzt verwendet.
.Contains | key As LONG | LONG | Ungleich Null, wenn der Schlüssel vorhanden ist.
.Remove | key As LONG | LONG | Entfernt das Paar und meldet, ob der Schlüssel vorhanden war.
.Empty | keiner | LONG | Ungleich Null, wenn der Cache leer ist.

Ringmethoden (zirkulärer Puffer).

Gilt für: LNRING

Methode | Argumente | Rückgaben | Beschreibung
.New | capacity As LONG | LNRING | Erzeugt einen Ringpuffer mit der angegebenen Kapazität.
.Final | keiner | nichts | Geben Sie den Ringpuffer frei.
.Validate | keiner | LONG | Ungleich Null, wenn das Handle gültig ist.
.Clear | keiner | nichts | Alle Werte entfernen (Kapazität beibehalten).
.Count | keiner | LONG | Anzahl der aktuell im Puffer befindlichen Werte.
.Capacity | keiner | LONG | Geben Sie die feste Kapazität zurück.
.Push | Wert As LONG | nichts | Geben Sie einen Wert ein. Überschreibt die älteste, wenn die Kapazität erreicht ist.
.Pop | keiner | QUAD | Entfernen Sie den ältesten Wert und geben Sie ihn zurück.
.Peek | keiner | QUAD | Gibt den ältesten Wert zurück, ohne ihn zu entfernen.
.Empty | keiner | LONG | Ungleich Null, wenn der Ringpuffer leer ist.
.Full | keiner | LONG | Ungleich Null, wenn der Ringpuffer voll ist.

SkipList-Methoden

Gilt für: LNSKIPLIST

Methode | Argumente | Rückgaben | Beschreibung
.New | keiner | LNSKIPLIST | Ordnen Sie eine neue leere Skiplist zu.
.Final | keiner | nichts | Befreien Sie die Skiplist.
.Validate | keiner | LONG | Ungleich Null, wenn das Handle gültig ist.
.Clear | keiner | nichts | Entfernen Sie alle Werte.
.Count | keiner | LONG | Anzahl der Werte in der Skiplist.
.Add | Wert As LONG | nichts | Geben Sie einen Wert ein, falls dieser noch nicht vorhanden ist.
.Remove | Wert As LONG | nichts | Entfernen Sie einen Wert.
.Contains | Wert As LONG | LONG | Ungleich Null, wenn der Wert vorhanden ist.
.First | keiner | QUAD | Gibt den kleinsten Wert zurück (0, wenn leer).
.Next | Wert As LONG | QUAD | Gibt den nächstgrößeren Wert zurück (0, wenn keiner).
.Empty | keiner | LONG | Ungleich Null, wenn die Skiplist leer ist.

B+-Baummethoden

Gilt für: LNBPTREE

Methode | Argumente | Rückgaben | Beschreibung
.New | order As LONG | LNBPTREE | Erzeugt einen B+-Baum mit dem angegebenen Verzweigungsgrad.
.Final | keiner | nichts | Befreie den B+-Baum.
.Validate | keiner | LONG | Ungleich Null, wenn das Handle gültig ist.
.Clear | keiner | nichts | Entfernen Sie alle Werte.
.Count | keiner | LONG | Anzahl der Werte im Baum.
.Add | Wert As LONG | nichts | Geben Sie einen Wert ein, falls dieser noch nicht vorhanden ist.
.Remove | Wert As LONG | nichts | Entfernen Sie einen Wert.
.Contains | Wert As LONG | LONG | Ungleich Null, wenn der Wert vorhanden ist.
.First | keiner | QUAD | Gibt den kleinsten Wert zurück (0, wenn leer).
.Next | Wert As LONG | QUAD | Gibt den nächstgrößeren Wert zurück (0, wenn keiner).
.Range | lo As LONG, hallo As LONG | LNARR | Gibt alle Werte in [lo, hi] als sortiertes LNARR zurück.
.Empty | keiner | LONG | Ungleich Null, wenn der B+-Baum leer ist.

Quadtree-Methoden

Gilt für: LNQUAD

Methode | Argumente | Rückgaben | Beschreibung
.New | maxDepth As LONG | LNQUAD | Erzeugt einen Quadtree mit der angegebenen maximalen Tiefe.
.Final | keiner | nichts | Befreie den Quadtree.
.Validate | keiner | LONG | Ungleich Null, wenn das Handle gültig ist.
.Clear | keiner | nichts | Entfernen Sie alle Begrenzungsrahmen.
.Count | keiner | LONG | Anzahl der Begrenzungsrahmen im Quadtree.
.Insert | id Wie LANG, x1 Wie LANG, y1 Wie LANG, x2 Wie LANG, y2 Wie LANG | nichts | Fügen Sie einen Begrenzungsrahmen mit der angegebenen ID und den angegebenen Koordinaten ein.
.Remove | id As LONG | LONG | Entfernt das Rechteck mit der angegebenen ID und meldet den Erfolg.
.Query | x1 As LONG, y1 As LONG, x2 As LONG, y2 As LONG | LNARR | Gibt die IDs aller Rechtecke zurück, die den Abfragebereich schneiden.
.Empty | keiner | LONG | Ungleich Null, wenn der Quadtree leer ist.

Bloom-Filtermethoden

Gilt für: LNBLOOM

Methode | Argumente | Rückgaben | Beschreibung
.New | Kapazität: LONG, Fehlerrate: DOUBLE | LNBLOOM | Weisen Sie einen neuen Bloom-Filter für die angegebene Kapazität und Falsch-Positiv-Rate zu.
.Final | keiner | nichts | Befreien Sie den Bloom-Filter.
.Validate | keiner | LONG | Ungleich Null, wenn das Handle gültig ist.
.Clear | keiner | nichts | Alle Bits im Filter löschen.
.Add | Wert As LONG | nichts | Fügen Sie dem Filter einen Wert hinzu.
.Contains | Wert As LONG | LONG | Ungleich Null, wenn der Wert vorhanden sein kann (probabilistisch). Keine falsch negativen Ergebnisse.
.Capacity | keiner | LONG | Gibt die erwartete Kapazität zurück (vom Konstruktor).
.ErrorRate | keine | DOUBLE | Gibt die konfigurierte Falsch-Positiv-Rate zurück.
.Empty | keiner | LONG | Ungleich Null, wenn dem Filter keine Werte hinzugefügt wurden.

Sichere (Thread-sichere) Methoden

Gilt für: LNSAFE

Methode | Argumente | Rückgaben | Beschreibung
.New | keiner | LNSAFE | Weisen Sie einen neuen threadsicheren Stack-Wrapper zu.
.Final | keiner | nichts | Geben Sie den sicheren Behälter frei.
.Validate | keiner | LONG | Ungleich Null, wenn das Handle gültig ist.
.Clear | keiner | nichts | Entfernen Sie alle Werte.
.Count | keiner | LONG | Anzahl der Werte im Stapel.
.Push | Wert As LONG | nichts | Threadsicherer Push. Erwirbt Mutex, Pushs, Releases.
.Pop | keiner | QUAD | Fadensicherer Pop. Erwirbt Mutex, Pops, Releases. Gibt 0 zurück, wenn leer.
.Peek | keiner | QUAD | Threadsicherer Einblick. Gibt den Nach obennwert zurück, ohne ihn zu entfernen. 0, wenn leer.
.Empty | keiner | LONG | Ungleich Null, wenn der Stapel leer ist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Siehe auch

  • Native H-Lib-Container - Übersicht
  • Native H-Lib-Container - Beispiele


Native H-Lib-Container - Übersicht - PBXB64-Compiler-Hilfe

Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

Native H-Lib-Container - Übersicht

Native H-Lib-Container sind erstklassige Datenstrukturtypen, die direkt in den PBXB64-Compiler integriert sind. Sie stellen dynamische Sammlungen mit Methodenaufrufsyntax, automatischer Speicherverwaltung und Bereichs-Exit-Bereinigung bereit &ndash; es sind keine COM-Objekte oder externen Bibliotheken erforderlich.

Kategorie: H-Lib-Container

Beschreibung

Native H-Lib-Container sind erstklassige Datenstrukturtypen, die direkt in den PBXB64-Compiler integriert sind. Sie stellen dynamische Sammlungen mit Methodenaufrufsyntax, automatischer Speicherverwaltung und Bereichs-Exit-Bereinigung bereit – es sind keine COM-Objekte oder externen Bibliotheken erforderlich.

Version: Z65+ (implementiert)
Status: VERFÜGBAR – alle 23 Familien implementiert
Lebensdauer: automatische Initialisierung und automatisches .Final beim Verlassen des Gültigkeitsbereichs
Methodensyntax: q.Push 10, n = q.Count

Containerfamilien

Familie | Geben Sie Präfix ein | Beschreibung
Arr (Array) | LnArr, InArr, WdArr, BtArr, DwArr, QdArr, SnArr, DbArr, CuArr, CxArr, ExArr, SsArr, WsArr | Dynamisches Array mit Push-, Pop-, Einfügen-, Lösch-, Sortier- und indiziertem Zugriff.
Stk (Stapel) | LnStk, InStk, WdStk, BtStk, DwStk, QdStk, SnStk, DbStk, CuStk, CxStk, ExStk, SsStk, WsStk | LIFO-Stack mit Push-, Pop- und Peek-Operationen. Last-in, First-out-Semantik.
Que (Warteschlange) | LnQue, InQue, WdQue, BtQue, DwQue, QdQue, SnQue, DbQue, CuQue, CxQue, ExQue, SsQue, WsQue | FIFO-Warteschlange mit Push, Pop, Peek, Front und Back. First-in-First-out-Semantik.
Lst (Liste) | LnLst, InLst, WdLst, BtLst, DwLst, QdLst, SnLst, DbLst, CuLst, CxLst, ExLst, SsLst, WsLst | Doppelt verknüpfte Liste mit Knotendurchlauf, Einfügen davor/nachher und Entfernen nach Knoten.
Str (String Builder) | SsStr, WsStr | Veränderbarer String-Builder mit Anhängen, Einfügen, Löschen, Ersetzen und Zugriff auf Zeichenebene.
2D (2D-Array) | Ln2D, In2D, Wd2D, Bt2D, Dw2D, Qd2D, Sn2D, Db2D, Cu2D, Cx2D, Ex2D, Ss2D, Ws2D | Zweidimensionales dynamisches Array mit Zeilen, Spalten und rechteckigen Operationen.
Hsh (Hash-Tabelle) | LnLnHsh, InInHsh, WdWdHsh, BtBtHsh, DwDwHsh, QdQdHsh, SnSnHsh, DbDbHsh, CuCuHsh, CxCxHsh, ExExHsh, SsSsHsh, WsWsHsh | Schlüsselwertspeicher mit O(1)-Hash-Suche, Einfügen, Löschen und Aufzählung.
Tre (Baum) | LnLnTre, InInTre, WdWdTre, BtBtTre, DwDwTre, QdQdTre, SnSnTre, DbDbTre, CuCuTre, CxCxTre, ExExTre, SsSsTre, WsWsTre | Selbstausgleichender AVL-Baum mit geordneter Schlüsselwertspeicherung, Min/Max und Bereichsdurchquerung.
DTre (Doppelbaum) | WsWsDTre | Doppelendiger Baum, der breite Zeichenfolgen breiten Zeichenfolgen zuordnet. Bidirektionaler Schlüsselwertbaum.
Tri (Versuch) | SsSsTri | Präfixbaum (Trie), der ANSI-Zeichenfolgen ANSI-Zeichenfolgen zuordnet. Schnelle Präfixsuche und automatische Vervollständigung.
Haufen | LNHEAP | Binärer Min-Heap/Prioritätswarteschlange. O(log n) Push und Pop. Der kleinste Wert wird immer zuerst zurückgegeben.
Deque | LNDEQUE | Doppelendige Warteschlange. Drücken und Pop von beiden Enden in O(1)-Zeit.
Set | LNSET | Sortierter eindeutiger Satz, der durch den AVL-Baum unterstützt wird. O(log n) Hinzufügen, Entfernen und Mitgliedschaftstest.
Graph | LNGRAPH | Ungerichteter Graph mit LONG-Knoten-IDs, Adjazenzabfragen und Nachbarlisten.
Multiset | LNMULTISET | Multimenge aus LONG-Werten mit einer Anzahl je Wert.
Union-Find | LNUNIONFIND | Disjunkte Mengen-/Union-Find-Struktur. Nahezu zeitkonstante Vereinigungs- und Suchoperationen.
LRU-Cache | LNLRU | Begrenzter LONG-Key/LONG-Wert-Cache mit der zuletzt verwendeten Räumungsrichtlinie.
Ringpuffer | LNRING | Ringpuffer mit fester Kapazität; Push überschreibt bei vollem Puffer den ältesten Wert.
SkipList | LNSKIPLIST | Wahrscheinlichkeitsgeordnete Menge mit O(log n) Durchschnittsfalloperationen. Ausgewogene Skip-List-Struktur.
B+ Baum | LNBPTREE | Festplattenfreundlicher geordneter Satz mit hohem Verzweigungsfaktor. Bereichsabfragen und Massenoperationen.
Quadtree | LNQUAD | Räumlicher Index für LONG-Begrenzungsrahmen. Effiziente 2D-Bereichs- und Punktabfragen.
Bloom-Filter | LNBLOOM | Probabilistischer LONG-Mitgliedschaftstest. Keine falsch-negativen Ergebnisse; Einstellbare Falsch-Positiv-Rate.
Sicher | LNSAFE | Threadsicherer LONG-Stack-Wrapper mit Mutex-geschütztem Push und Pop.

Typvarianten

Typisierte Familien verwenden die folgenden 13 Elementtypen. Zusammen mit den spezialisierten und den Schlüssel-Wert-Formen erkennt H-Lib 136 Typschlüsselwörter. EXTENDED und CURRENCYX sind undurchsichtige hochpräzise Werte und keine gewöhnlichen DOUBLE-Werte.

Suffix | PB-Typ | Größe | Suffix | PB-Typ | Größe
Bt | BYTE | 1 Byte | Sn | SINGLE | 4 Byte
In | INTEGER | 2 Byte | Db | DOUBLE | 8 Byte
Wd | WORD | 2 Byte | Cu | CURRENCY | 8 Byte
Dw | DWORD | 4 Byte | Cx | CURRENCYX | 16 Byte
Ln | LONG | 4 Byte | Ex | EXTENDED | 10 Byte
Qd | QUAD | 8 Byte | SS | STRING (ANSI) | Zeigergroß
 |  | Ws | WSTRING (Unicode) | Zeigergroß

Methodensyntax

Container verwenden eine durch Punkte getrennte Syntax für Methodenaufrufe:

LOCAL q AS LnArr
q.New
q.Push 10
q.Push 20
n = q.Count    ' returns 2
v = q.Pop      ' returns 20
q.Final        ' auto-cleanup on scope exit

Eigenschaften werden ohne Klammern gelesen; Methoden mit Rückgabewert verwenden die Funktionsaufrufsyntax. Die Deklaration initialisiert die Variable automatisch. Beim Verlassen ihres Gültigkeitsbereichs wird .Final automatisch aufgerufen. Explizite Lebensdaueraufrufe bleiben möglich.

Alle Familien stellen Capacity, Trim und Clone bereit. PB-Positionen in Arr, Lst, Str, 2D und Slices sind 1-basiert. Zählende Add/Push-Operationen geben die neue Elementanzahl zurück. Bei Strings geben Append/AppendLine die neue Länge und Replace die Anzahl der Ersetzungen zurück.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Siehe auch

  • Native H-Lib-Container - Methodenreferenz
  • Native H-Lib-Container - Beispiele


Allgemeine Referenz - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Allgemeine Referenz

Themen in diesem Kapitel

#ALIGN #BLOAT #CCODE - C-Quelle einbetten #COM #COMPILE - Hilfe zum PBXB64-Compiler #DEBUG - Debug-Metadaten steuern #DEBUG DISPLAY #DEBUG PRINT #DEBUG-CODE #DEBUG-FEHLER #ENDASM - Inline-ASM-Block beenden #ENDC - Eingebettete C-Quelle beenden #ENDFASM - FASM-kompatiblen ASM-Block beenden #ENDJS - JavaScript-Block beenden #ENDPB - Eingebetteten PB-Block beenden #EXPORT #FASM - FASM-kompatiblen ASM-Block beginnen #IF #INCLUDE #JS - JavaScript-Block beginnen #MESSAGES " PBXB64-Compiler-Hilfe #OPTIMIZE #PAGE #PB - Eingebetteten PB-Block beginnen #PBFORMS #RESSOURCE #STACK #TOOLS #UNIQUE #UTILITY %DEF %PB_COMPILETIME numerisches Gleichsetzen ACCEL ATTACH ACODE$ ACOS ACOSH ACOT ACSC Add-on-Bibliotheken, Dienstprogramme und Tools " PBXB64-Compiler-Hilfe Additional Source Code and Examples ADDR IMPORTIEREN Adressierung und Zeiger ALLOCATE / REALLOCATE / FREE Anhang C: Optimieren Ihres Codes - Hilfe zum PBXB64-Compiler Anweisungstrennung ANY - Beliebigen Parametertyp akzeptieren ANZEIGEFARBE ANZEIGESCHRIFTART Arithmetische Operatoren - Hilfe zum PBXB64-Compiler ARRAY ARRAYIX ARRAY ASSIGN ARRAY DELETE ARRAY INSERT ARRAY SORT Array-Datentypen Array-Operationen ARRAY-SCAN Array-Speicheranforderungen ARRAYASSIGN() ARRAYATTR Arrays innerhalb benutzerdefinierter Typen ARRAYSCAN() ARRAYSHIFT() ARRAYSHUFFLE() ARRAYSWAP() ARRAYUNIQUE() ASCII - Byte-String-Zeichenspeicher waehlen ASEC ASIN ASINH Assemblersprache in Ihrem Code verwenden ASSERT ATANH ATN2 Auf PowerBASIC-Variablen nach Namen zugreifen Auflisten von Sammlungen Balancing the stack BASE64$ BASE64URLSAFE$ Beenden eines Fehlerhandlers BEEP Benutzerdefinierte Typen (UDTs) Benutzerdefinierte Typen verschachteln - Hilfe zum PBXB64-Compiler BESSELI0 BESSELI1 BESSELJ0 BESSELJ1 BETA Betriebssystem BETWEEN BGR BILDSCHIRM BIN$ Binary Files BINOM BINOMCDF BINOMPMF BIT BIT CALC Bit-Datentypen BITS BITSE BOUNDED BRIDGE BUILD$ Built In RGB Color Equates Built-in Interfaces Built-in numeric equates Built-in string equates Byte (?) C Datentypen C17 Standardbibliotheksheader CADD$ CALL CALL DWORD CALLSTK$ CALLSTKCOUNT CASE CASE ELSE CATCH - TRY-Fehlerpfad behandeln CB Callback functions CBRT CBYT CCONJ$ CCOS$ CDIV$ CEXP$ CHAIN CHDIR CHDRIVE CHEBYSHEV CHOOSE CHRBYTES ChrToOem$ ChrToUtf8$ CIMAG$ CLASS/END CLASS CLIP$ CLIPBOARD CLOG$ CLSID$ CMAG CMUL$ CODEPTR Collection Objects COMBOBOX ADD COMM COMM CLOSE COMM LINE - Hilfe zum PBXB64-Compiler COMM OPEN COMM PRINT COMM RECV COMM RESET COMM SEND COMM SET Command Summary COMMAND$ COMPILE-Metaanweisung COMPILER-Metaanweisung Config_Clear Config_Export Config_Has Config_Import Config_ProviderCount Config_ProviderName Config_Remove CONST CONTROL ADD CONTROL ADD CHECK3STATE CONTROL ADD FRAME CONTROL ADD IMGBUTTONX CONTROL ADD LABEL CONTROL ADD LINE CONTROL ADD LISTBOX CONTROL ADD LISTVIEW CONTROL ADD OPTION CONTROL ADD STATUSBAR CONTROL COMBOBOX HINZUFÜGEN CONTROL ENABLE CONTROL GET CHECK CONTROL GET CLIENT CONTROL GET LOC CONTROL GET SIZE CONTROL GET TEXT CONTROL GET USER CONTROL HIDE CONTROL KILL CONTROL POST CONTROL REDRAW CONTROL SEND CONTROL SET CHECK CONTROL SET CLIENT CONTROL SET COLOR CONTROL SET FOCUS CONTROL SET FONT CONTROL SET IMAGEX CONTROL SET IMGBUTTON CONTROL SET IMGBUTTONX CONTROL SET LOC CONTROL SET OPTION CONTROL SET TEXT CONTROL SET USER CONTROL SHOW STATE CONTROL TEXTBOX HINZUFÜGEN CONTROL TRAXOMATIC COSH CPHASE CPOW$ CREAL$ CSET$ ? PBXB64-Compiler-Hilfe CSIN$ CSQRT$ CSUB$ CTAN$ CURDIR$ CVBYT CVWRD / CVCUX DATACOUNT DATE$-Systemvariable Dateibefehle Dateien DATEN Daten lesen und schreiben Datentypen Datentypen in Registern DAYNAME$ Debuggen von PBXB64-Programmen - Hilfe zum PBXB64-Compiler DEC$ DEC128 " PBXB64-Compiler-Hilfe DECR DEFBYT Definieren benutzerdefinierter Typen DEGREES DELAY Der Inline-Assembler Der Stack DESKTOP GET CLIENT DESKTOP GET LOC DESKTOP GET PPI DESKTOP GET SIZE DIALOG DEAKTIVIEREN - Hilfe zum PBXB64-Compiler DIALOG DOEVENTS - Hilfe zum PBXB64-Compiler DIALOG ENABLE DIALOG END - Hilfe zum PBXB64-Compiler DIALOG GET CLIENT DIALOG GET LOC DIALOG GET SIZE DIALOG GET TEXT DIALOG GET USER DIALOG HIDE DIALOG MAXIMIZE DIALOG MINIMIEREN DIALOG NEU DIALOG NEUZEICHNEN DIALOG NONSTABLE - Hilfe zum PBXB64-Compiler DIALOG NORMALISIEREN DIALOG SENDEN DIALOG SET CLIENT DIALOG SET LOC DIALOG SET TEXT DIALOG SET USER DIALOG SHOW MODAL DIALOG SHOW MODELESS DIALOG SHOW STATE DIALOG TRAXOMATIC DIALOG XLAT DIALOG-SET-FARBE DIALOG-SET-GRÖSSE DIALOG-STANDARDSCHRIFTART DIALOGEINHEITEN DIALOGPIXEL DIALOGPOST DIALOGSATZ-SYMBOL DIALOGSTABILISIEREN Dialogstile DIGAMMA DIR$ DIR$ CLOSE Direktzugriffsdateien DISKFREE DISKSIZE DISPLAY DURCHSUCHEN - Hilfe zum PBXB64-Compiler DISPLAY OPENFILE DISPLAY SAVEFILE DLL-Beispiel DLLMAIN DO/LOOP-Anweisungen � PBXB64-Compiler-Hilfe Doppelwort (???) Druckbefehle Druckübersicht Dynamic Dialog Tools (DDT) Dynamische Dialogtools Dynamische Zeichenfolgen (variabler Länge) ($) EACH - Container-Elemente durchlaufen Effektive Adressierung EFX. Ein ECHO-Client und -Server, der TCP verwendet Ein einfaches Kommunikationsprogramm Eine Variable auswerten Einen Fehlerhandler schreiben Eingebaute benutzerdefinierte Typen Einrichten einer Fehlerfalle ELSE ELSEIF END IF ENVIRON / ENVIRON$ EOF ERASE EREIGNISQUELLE EREIGNISSE ERF ERFC ERL$ ERL-Systemvariable ERR-Systemvariable Erstellen einer Dynamic Link Library - Hilfe zum PBXB64-Compiler Erstellen einer statischen Linkbibliothek - Hilfe zum PBXB64-Compiler Erstellen eines Dialogs Erstellen eines DISPATCH-Objekts ESCAPE$ EVAL / EVAL$ EXE.Inst-Mitglied EXP10 EXP2 EXPM1 EXTRACT$ FACT FALSE - Boolesches FALSE-Literal FASTPROC/END FASTPROC-Anweisungen FEF. Fehler-Trapping Fehler-Trapping-Zusammenfassung Fehlerübersicht FELD FEP. FER. FES. FEV. File_AppendText File_AppendUtf8 File_CopyReplace File_IsDirectory File_MakeDirectory File_MoveReplace File_NormalizePath File_ReadBytes File_RemoveDirectory File_TempName File_Timestamp File_WriteBytes FILEATTR FILECOPY FILENAME$ FILESCAN FINALLY - TRY-Cleanup-Block ausfuehren FLUSH Flusskontrolle FONT END FOR EACH/NEXT-Anweisungen FOR/NEXT-Anweisungen ? PBXB64-Compiler-Hilfe FORMAT$ FRAC ? Realer Bruchteil ? PBXB64-Compiler-Hilfe FREEFILE FUNCNAME$ FUNCTION/END FUNCTION-Anweisungen Funktionsweise von Fehlerfallen GAMMA Ganzzahlen (%) GCD GET$ GET$$ GETATTR Gewerkschaften Gibt es noch andere wichtige "Buzz-Words"? Gleitkomma mit doppelter Genauigkeit (#) Gleitkomma mit einfacher Genauigkeit (!) Gleitkomma mit erweiterter Genauigkeit (##) GLOBALALLOC / GLOBALFREE-Familie GLOBALFLAGS GLOBALFREE GLOBALLOCK GLOBALMEM ALLOC GLOBALSIZE GLOBALUNLOCK GOTO GRAFIK (SCROLLTEXT) GRAFIK (STRETCHMODE) GRAFIK (ÜBERLAPPUNG) GRAFIK GET BITS GRAFIK SPEICHERN - Hilfe zum PBXB64-Compiler GRAFIK(INSTAT) GRAFIK(LINIEN) GRAFIK(PIXEL...) GRAFIK(POS.X) GRAFIK-SET-ANSICHT GRAFIK-SET-BESCHRIFTUNG GRAFIK-SET-BITS GRAFIK-SET-CLIP GRAFIK-SET-FOKUS GRAFIK-SET-MIX GRAFIK-SET-PIXEL GRAFIK-SET-SCHRIFTART GRAFIK-SPLIT GRAFIKDRUCK Grafiken GRAFIKFARBE GRAFIKFELD GRAFIKFENSTER - Hilfe zum PBXB64-Compiler GRAFIKFENSTER AUSblenden GRAFIKFENSTER MINIMIEREN GRAFIKFENSTER NICHT STABIL GRAFIKFENSTER NORMALISIEREN GRAFIKFENSTER STABILISIEREN GRAFIKFENSTERENDE GRAFIKSATZ BEHOBEN GRAFIKSATZ-ÜBERLAPPUNG GRAFIKSATZGRÖSSE Grafische Befehle GRAFISCHE BILDLISTE GRAFISCHE BITMAP NEU GRAFISCHE BREITE GRAFISCHE ELLIPSE - Hilfe zum PBXB64-Compiler GRAFISCHE INPUT GRAFISCHE INPUT FLUSH GRAFISCHE KOPIE GRAFISCHE MAßSTAB GRAFISCHE POLYLINIE GRAFISCHE ZEILE GRAFISCHE ZEILENEINGABE GRAFISCHER ANHANG GRAFISCHER STIL GRAFISCHES BITMAP-END GRAFISCHES BITMAP-LADEN GRAFISCHES NEUZEICHNEN GRAFISCHES POLYGON GRAFISCHES RENDER GRAPHIC ARC GRAPHIC CLEAR GRAPHIC DETACH - Hilfe zum PBXB64-Compiler GRAPHIC GET SCALE GRAPHIC PAINT GRAPHIC PIE - Hilfe zum PBXB64-Compiler GRAPHIC SET AUTOSIZE GRAPHIC SET CLIENT GRAPHIC SET LOC GRAPHIC SET POS GRAPHIC SET SCROLLTEXT GRAPHIC SET STRETCHMODE GRAPHIC SET VIRTUAL GRAPHIC SET WORDWRAP GRAPHIC SET WRAP GRAPHIC STRETCH GRAPHIC WINDOW CLICK GRAPHIC$(CAPTION) GRAPHIC$(INKEY$) GRAPHIC$(WAITKEY$) GRAPHIC(CANVAS.X) GRAPHIC(Cell.Size.X) GRAPHIC(Chr.Size.X) GRAPHIC(Client.X) GRAPHIC(Clip.X) GRAPHIC(COL) GRAPHIC(DC) GRAPHIC(LOC.X) GRAPHIC(MIX) GRAPHIC(PPI.X) GRAPHIC(SIZE.X) GRAPHIC(TEXT.SIZE.X...) GRAPHIC(View.X) GRAPHIC(WORDWRAP) GRAPHIC(WRAP) GRAPHIC-Codegruppe GUID$ GUIDTXT$ HEADER GET COUNT HEADERBUILD$ HERMITE HEX$ HI Hilfe zum PBXB64-Compiler Hinzufügen von Steuerelementen zum Dialogfeld - Hilfe zum PBXB64-Compiler Historisches Thema nicht verfuegbar HMACSHA256$ HMACSHA512$ HOST ADDR - Hilfe zum PBXB64-Compiler HOSTNAME HTTPCLOSE HTTPOPEN HTTPREQUEST HYPOT ID-Bindung IDISPINFO-Pseudoobjekt IDISPINFO.CLEAR IDISPINFO.SET IF/END IF IIF IMAGELIST BITMAP HINZUFÜGEN IN - FOR-EACH-Quelle angeben INCR Indizes Inline-Assembler-Codesyntax INPUTBOX$ - Hilfe zum PBXB64-Compiler INSTANZ INTERFACE/END INTERFACE-Block (direkt) INTERFACE/END INTERFACE-Block (Dispatch) Interne Darstellungen von Arrays IPowerThread.Close-Methode IPowerTime.AddDays-Methode ISFALSE ISFALSE ISFALSE- und ISTRUE-Operatoren ISFILE ISFOLDER ISINTERFACE ISMISSING ISNOTHING ISNOTNULL ISNULL ISOBJECT ISPRIME IStringBuilderA.Add-Methode ISWIN ITERATE � PBXB64-Compiler-Hilfe JOIN$ JSONFREE JSONGETBOOL JSONGETFLOAT JSONGETINT JSONGETSTR JSONNEW JSONPARSE JSONREMOVE JSONSETBOOL JSONSETFLOAT JSONSETINT JSONSETNULL JSONSETSTRING JSONSTRINGIFY JSONTYPE KEYSTAT KEYSTATE Keyword Reference KILL KOMM-TIMEOUT Kommentieren des Assemblycodes Kommunikationssteuerung Konstanten definieren Konstanten und Literale Konvertieren einer .RC in eine .RES LAGUERRE Lange Schlangen LBETA LBOUND LCM LEGENDRE LET LET-Anweisung (mit Objekten) LET-Anweisung (mit Typen) LET-Anweisung (mit Varianten) LGAMMA LibMain LINE INPUT# LISTBOX ADD LISTVIEW DELETE COLUMN LO LOC LOCK LOF LOG10 LOG1P LOG2 LOGISTIC LOGIT Lokaler MCP-Tool-Adapter LOOP LPRINT ATTACH LPRINT CLOSE LPRINT FLUSH LPRINT FORMFEED LPRINT$ LSET$ MAK MAKRO/ENDMAKRO MAT MAT PRINT/READ/WRITE MAX ? PBXB64-Compiler-Hilfe MCASE$ MD5$ ME-Pseudovariable Mehr im Menü Mehrdimensionale Arrays MENU ATTACH MENU SET STATE MENU SET TEXT MENÜ LÖSCHEN MENÜ NEUE LEISTE MENÜ NEUES POPUP MENÜ POPUP HINZUFÜGEN MENÜ STATUS ERHALTEN MENÜ STRING HINZUFÜGEN MENÜ TEXT ERHALTEN Menü-Komplettlösung Menübeispiel MENÜKONTEXT Menüs Menüstatus MENÜZEICHNUNGSLEISTE Metaanweisungen METHOD/END METHOD-Anweisungen METRIKEN MIN ? PBXB64-Compiler-Hilfe Mischen von ASM- und BASIC-Code MKBYT$ MKDIR MMX-Register Mnemonik und Operanden - Hilfe zum PBXB64-Compiler Modal vs. Modeless MODINV MODPOW MODUL MONTHNAME$ MOUSEPTR MSGBOX " PBXB64-Compiler-Hilfe MYBASE-Pseudovariable NAME NORMCDF NORMINV NORMPDF NUL$ Nullterminierte Zeichenfolgen - Hilfe zum PBXB64-Compiler Numerische Gleichungen Numerische Operationen NVB. NVP. OBJEKT OBJEQUAL OBJPTR OBJRESULT OCT$ ODE_RK4 " PBXB64-Compiler-Hilfe OemToChr$ ON - ON-ERROR-Behandlung einleiten ON GOSUB ON GOTO ON KEY ON MOUSE Opcodes und Mnemoniken Operator-Priorität OPTION EXPLICIT Optionsdialog PATHNAME$ PATHSCAN$ " PBXB64-Compiler-Hilfe PBLIBMAIN - Hilfe zum PBXB64-Compiler PBXB64 - Befehlszeilenoptionen PBXB64 - Beispielprogramme PBXB64 - C-Sprache (V10) PBXB64 - Sprach-Frontends PEEK Per Referenz oder Kopie übergebene Parameter PIC BIND PIC CLEAR PIC FREE PIC GET PIC INIT PIC SET PIC$ PICFIELD PICVAL PICVALID PLAY SOUND PLAY WAVE POISSONCDF POISSONPMF POKE POWERARRAY-Objekt PRESERVE - Arrayinhalte bei REDIM behalten PRINT USING PRINTER$ PRINTERCOUNT Private und exportierte Prozeduren PROFIL PROGID$ PROGRESSBAR GET POS PROPERTY / END PROPERTY PROZESS ERHALTEN PRIORITÃ"T " PBXB64-Compiler-Hilfe PROZESS-SET-PRIORITÃ"T " PBXB64-Compiler-Hilfe PUT$ PUT$$ Quad-Ganzzahlen (&&) RADIANS RAISEEVENT RATIONAL " PBXB64-Compiler-Hilfe READ$ Reduzierung des Stapel-Overheads REGEXPR REGISTER Register Register speichern REGISTERKARTE "STEUERUNG HINZUFÜGEN" - Hilfe zum PBXB64-Compiler REGREPL REM REMACRO REMAIN$ REMOVE$ REPEAT$ - Hilfe zum PBXB64-Compiler RESET RESOURCE SAVE FILE ? PBXB64-Compiler-Hilfe RESOURCE$ RETAIN$ RETURN RGB RMDIR ROTATE RSET$ RUN Rückrufe Saving the Source Code SAY SCAN$ Schaltfläche "Hinzufügen" in der Symbolleiste - Hilfe zum PBXB64-Compiler SCHRIFTART NEU SCROLLBAR SEITENGRÖSSE ERHALTEN SELECT - SELECT-CASE-Block beginnen Sequentielle Dateien Serielle Kommunikation SETATTR SETEOF SHA1$ SHA256$ SHA512$ SHELL SHIFT SHRINK$ SINC SINH SIZEOF SLEEP SLL-Beispiel SPACE$ - Hilfe zum PBXB64-Compiler Speicheranforderungen und -beschränkungen Speicheranforderungen und -beschränkungen Speichern der FPU-Register Speichern von Registern auf Prozedurebene SPLIT Späte Bindung StackCollection Standard-Variablentypisierung STATUSBAR SET PARTS STEP Steuerelemente Steuerelementstile STEUERGRIFF STEUERUNG BILD HINZUFÜGEN STEUERUNG CHECKBOX HINZUFÜGEN STEUERUNG DEAKTIVIEREN STEUERUNG FORTSCHRITTSBAR HINZUFÜGEN STEUERUNG GRAFIK HINZUFÜGEN STEUERUNG HEADER HINZUFÜGEN STEUERUNG HINZUFÜGEN-TASTE STEUERUNG IMAGEX HINZUFÜGEN STEUERUNG IMGBUTTON HINZUFÜGEN STEUERUNG NORMALISIEREN STEUERUNG SCROLLBAR HINZUFÜGEN STEUERUNG SYMBOLLEISTE HINZUFÜGEN STEUERUNG TREEVIEW HINZUFÜGEN STEUERUNGSSATZGRÖSSE STEUERUNGSSET-BILD STRDELETE$ STRING$ - Hilfe zum PBXB64-Compiler String-Arrays String-Operationsbefehle STRINGZ / ASCIIZ - NUL-terminierten String deklarieren STRINSERT$ STRPTR STRREVERSE$ - Hilfe zum PBXB64-Compiler Strukturierte Programmierung SWAP SWITCH Syntax Benutzerdefinierte Farbauswahl SYSINFO TAB DELETE TAGARRAY() TALLY " PBXB64-Compiler-Hilfe TANH TCP ACCEPT TCP CLOSE TCP NOTIFY TCP OPEN TCP PRINT TCP RECV TCP SEND TCP- und UDP-Kommunikation TCP-ZEILEINGANG Text_Contains Text_EndsWith Text_Lower Text_PadLeft Text_PadRight Text_SplitLines Text_StartsWith Text_Upper Textbefehle TEXTBOX / TBOX THEN THREAD CREATE THREAD GET PRIORITY Thread schließen - Hilfe zum PBXB64-Compiler THREAD SUSPEND THREAD-Codegruppe Thread-Fortsetzung Thread-Kontrolle Thread-Set-Priorität THREAD-STATUS THREADCOUNT THREADED THREADID THREADSAFE-Optionsdeskriptor TIME$-Systemvariable TIMEBASE TIMER TIX - Hochaufloesender Timer TO TRACE TREEVIEW DELETE Tricks des Stacks Tricks zum Erhalt von Registern TRIGAMMA TRUE - Boolesches TRUE-Literal TURTLE TXT Pseudo Object TXT.ADDTEXT TXT.ATTRIBUTE TXT.CLOSE TXT.COLOR TXT.COUNT TXT.DELETE TXT.FIND TXT.FONT TXT.INDEX TXT.INPUT TXT.INSERT TXT.LINE TXT.OPEN TXT.PRINT TXT.REPLACE TXT.SELECT TXT.SELTEXT TYPE SET UBOUND UCODE$ UCODEPAGE UDP CLOSE UDP NOTIFY UDP OPEN UDP RECV UDP SEND UDT-Beispiele Uebersicht UNB - Unlimited-Binary-Complex-Speicher verwenden UNBASE64$ UNC - Unlimited-Complex-Speicher verwenden UNESCAPE$ UNF - Unlimited-Float-Speicher verwenden UNFABS$ UNFACOS$ UNFASIN$ UNFATAN$ UNFCOS$ UNFEXP$ UNFIPOW$ UNFLOG$ UNFNEG$ UNFPI$ UNFSIN$ UNFSQRT$ UNFTAN$ UNFTRUNC$ UNHEX$ UNI - Unlimited-Interval-Speicher verwenden UNION/END UNION UNL - Unlimited-Integer-Speicher verwenden UNLOCK UNMACRO UNQ - Unlimited-Quaternion-Speicher verwenden UNTIL - Schleifen bis Bedingung wahr ist UNWRAP$ URLDECODE$ URLENCODE$ URLHOST$ URLPATH$ URLPORT URLQUERY$ USING$ USM. Utf8ToChr$ Variablen Variablenbereich VARIANT$/VARIANT$$ VARIANTVT VARPTR VAS. VAU. Vergleichsoperatoren - Hilfe zum PBXB64-Compiler Verschiedene Vorgänge Versionsverlauf " PBXB64-Hilfe Verwenden benutzerdefinierter Typen mit Prozeduren Verwenden von Arrays benutzerdefinierter Typen Verwenden von ESP und EBP - Hilfe zum PBXB64-Compiler VLT. VRT. Warum DLLs verwenden? Was ist COM? Was ist eine DLL? Was ist eine Ressourcendatei? Was ist eine SLL? Was ist Vererbung? Was ist VERSAND? WEITER WEND - WHILE-Schleife schliessen What Are Connection Points? What Does A Class Look Like? What Does An Interface Look Like? What Is A COM Component? What Is An HRESULT? What Is An Object Anyway? WHILE/WEND-Anweisungen ? PBXB64-Compiler-Hilfe Wie werden GUIDs verwendet? Win32-API-Updates einschließen WINDOW GET HANDLE " PBXB64-Compiler-Hilfe WINDOW SET ID " PBXB64 Compiler-Hilfe WINMAIN Word (??) WRAP$ WRITE# ? PBXB64-Compiler-Hilfe WSTRING - Wide-String deklarieren WSTRINGZ - NUL-terminierten Wide-String deklarieren Währung und erweiterte Währung XPRINT ARC XPRINT ATTACH XPRINT BOX XPRINT CANCEL XPRINT CLOSE XPRINT COLOR XPRINT COPY XPRINT ELLIPSE XPRINT FORMFEED XPRINT GET MARGIN XPRINT GET PAGES XPRINT GET SCALE XPRINT IMAGELIST - Hilfe zum PBXB64-Compiler XPRINT LINE XPRINT PIE XPRINT POLYGON XPRINT POLYLINE XPRINT PRINT XPRINT RENDER XPRINT SCALE XPRINT SET CLIP XPRINT SET COLLATE XPRINT SET COLORMODE XPRINT SET COPIES XPRINT SET DUPLEX XPRINT SET FONT XPRINT SET MIX XPRINT SET OVERLAP XPRINT SET PAGES XPRINT SET PAPER XPRINT SET PIXEL XPRINT SET POS XPRINT SET STRETCHMODE XPRINT SET TRAY XPRINT SET WORDWRAP XPRINT SET WRAP XPRINT SET-QUALITÄT XPRINT SPLIT XPRINT STRETCH XPRINT STYLE XPRINT WIDTH XPRINT$ XPRINT$(PAPERS) XPRINT$(TRAYS) XPRINT(CANVAS.X) XPRINT(Cell.Size.X) XPRINT(Chr.Size.X) XPRINT(Client.X) XPRINT(Clip.X) XPRINT(COL) XPRINT(COLLATE) XPRINT(COLORMODE) XPRINT(DC) XPRINT(DUPLEX) XPRINT(KOPIEN) XPRINT(LINES) XPRINT(MIX) XPRINT(ORIENTATION) XPRINT(OVERLAP) XPRINT(PAPER) XPRINT(PIXEL...) XPRINT(POS.X) XPRINT(PPI.X) XPRINT(QUALITÄT) XPRINT(SELECTION) XPRINT(SIZE.X) XPRINT(STRETCHMODE) XPRINT(TEXT.SIZE.X...) XPRINT(TRAY) XPRINT(WORDWRAP) XPRINT(WRAP) XPRINT-Codegruppe XPRINT-SET-AUSRICHTUNG XPRINT-VORSCHAU XTHREAD CREATE Zeichen, Zeichenfolgen und Unicode Zeichenfolge entspricht Zeichenfolgen mit fester Länge Zeichenfolgenausdrücke Zeiger (@) Zeiger auf Arrays Zeiger auf Arrays mit dualen Indizes Zeiger auf nullterminierte Zeichenfolgen und Zeichenfolgen fester Länge Zeilennummern und Beschriftungen Zeitbefehle ZIEL Zugreifen auf die Felder eines benutzerdefinierten Typs ÃœBERPRÃœFEN " Hilfe zum PBXB64-Compiler Öffnen einer Typbibliothek Öffnen eines Kommunikationsports Übergabe dynamischer Zeichenfolgen Übergabe von Parametern Übergeben von Arrays


#ALIGN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#ALIGN

Richten Sie die n&auml;chste Anweisung an einer Grenze aus.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#ALIGN boundary

Beschreibung

Richten Sie die nächste Anweisung an einer Grenze aus.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die #ALIGN-Metaanweisung wird hauptsächlich von fortgeschrittenen Assembler-Programmierern verwendet, um aus kritischen Codeabschnitten maximale Effizienz zu erzielen.

#ALIGN wird verwendet, um den Befehlsort auf eine Zweierpotenz-Adresse aufzurunden. Der angezeigte Grenzparameter muss eine Zweierpotenz im Bereich von 2 bis 256 sein.

PowerBASIC fügt NOP-Anweisungen in den Codeabschnitt ein, um die Anweisungsposition an die gewünschte Adresse zu bringen. Wenn sich die Anweisungsposition bereits auf einem Vielfachen der Grenze befindet, hat #ALIGN keine Auswirkung.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • #OPTIMIZE
  • ASM
  • TIX - Hochaufloesender Timer
  • Hilfe zum PBXB64-Compiler


#BLOAT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#BLOAT

Artificially inflate the disk image size of a compiled program.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#BLOAT size_expression

Beschreibung

Artificially inflate the disk image size of a compiled program.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

#BLOAT allows the creation of artificially bloated program files on disk, in order to match or exceed that generated by competing " BloatWare " compilers. #BLOAT does not affect the memory image size (running size) of a compiled program.

size_expression

The size_expression parameter is a simple Long-integer expression that specifies the total desired size of the compiled programs disk image, but is ignored if it is smaller than the actual program size. #BLOAT uses sections of the actual compiled code to fill and obfuscate the portion added to the file.

While #BLOAT adds no true merit to the technical efficiency of the compiled code, there are a number of reasons for its use, including:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • COMPILE-Metaanweisung
  • #OPTIMIZE
  • Hilfe zum PBXB64-Compiler


#CCODE - C-Quelle einbetten - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#CCODE - C-Quelle einbetten

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

#CCODE
int helper(void) { return 42; }
#ENDC

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Beginnt einen eingebetteten C-Quellblock in einer PB-Hostdatei.

Praktische Verwendung

Verwenden Sie diesen Einstieg, um einen eingebetteten C-Block genau dort zu starten, wo der PB-Quelltext in die C-uebersetzte Hilfslogik uebergehen soll. Der Block muss mit dem passenden Endmarker geschlossen werden, damit der Scanner den Bereich sauber an die C-Pipeline uebergibt.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Ein fehlender Abschlussmarker oder ein falsch verschachtelter Block sollte nicht stillschweigend akzeptiert werden. Wenn der Parser den Block nicht eindeutig begrenzen kann, muss die Quelle korrigiert und erneut geprueft werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


#COM - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#COM

Deklarieren Sie Informationen, die in ein COM

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#COM CLASS ClassName [, ClassName ...]
#COM DOC "This is specific information to be used in the Help String"
#COM HELP "MyProg.chm"[, &H1E00]
#COM NAME "LibName", 3.32
#COM GUID GUID$("{20000000-2000-2000-2000000000000002}")
#COM TLIB {ON|+ | OFF|-}

Beschreibung

Deklarieren Sie Informationen, die in ein COM

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

eingeschlossen werden sollen. Die #COM-Metaanweisung stellt Informationen über die COM-Bibliothek oder Anwendung her, die vom COM-Client extrahiert werden können Programme.

#COM CLASS ermöglicht Ihnen das Hinzufügen des COM-Attributs zu einer an anderer Stelle definierten Klasse. Das COM-Attribut kann sogar einer Klasse in einer SLL hinzugefügt werden, die separat kompiliert wurde. Eine als COM deklarierte Klasse stellt sie externen Programmen über die COM-Dienste von Windows zur Verfügung. Wenn Sie eine Klasse als COM definieren, wird diese automatisch auch als COMMON betrachtet.

#COM DOC gibt einen Hilfestring an, der normalerweise eine allgemeine Beschreibung des COM-Servers liefert.

#COM HELP gibt den Namen der zugehörigen Hilfedatei und den Hilfekontextcode an. Der Name muss als Zeichenfolgenliteral angezeigt werden, während der Kontextcode ein vorzeichenloser DWORD-Wert größer als Null ist. Der Kontextcode kann im Dezimal- oder Basisformat angegeben werden.

#COM NAME gibt den Namen des Servers und die Versionsnummer an. Der Name darf nur aus Buchstaben, Zahlen und Unterstrichen bestehen und darf weder Satzzeichen noch Leerzeichen enthalten. Wenn kein Name angegeben wird, ersetzt PowerBASIC den Modulnamen. Wenn keine Version angegeben ist, verwendet PowerBASIC die Versionsnummer 0.0.

#COM GUID gibt die GUID an, die die gesamte Anwendung oder Bibliothek identifiziert (APPID oder LIBID). Wenn keine GUID angegeben ist, ersetzt PowerBASIC zu diesem Zweck eine zufällige GUID.

#COM TLIB OFF (Standard) wird akzeptiert und legt fest, dass keine Typbibliothek ausgegeben wird.

#COM TLIB ON fordert die historische ausgabeseitige Typbibliotheks-Erzeugung an. PBXB64 V15 implementiert diese Ausgabe nicht und meldet deshalb einen klaren Unsupported-Fehler, statt die Anforderung still zu ignorieren oder eine erzeugte .TLB zu behaupten.

PBXB64 akzeptiert auch die alte Schreibweise $COM für die fokussierte Metadaten-Direktivoberfläche. Vollständige historische Typbibliotheks-Parität wird nicht beansprucht.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • CLASS/END CLASS
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • Was ist COM?
  • Hilfe zum PBXB64-Compiler


#COMPILE - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#COMPILE - Hilfe zum PBXB64-Compiler

Bestimmen Sie, welcher Dateityp vom Compiler erstellt wird.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#COMPILE {EXE | DLL | SLL} [" filename { .exe | .dll|.sll }"]

Beschreibung

Bestimmen Sie, welcher Dateityp vom Compiler erstellt wird.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit dieser Metaanweisung wird angegeben, ob ein Modul als EXE-, DLL- oder PBXB64-native SLL-Datei kompiliert werden soll, oder welches GUI-/Konsolen-Subsystem verwendet wird. Die #COMPILE-Metaanweisung kann nur einmal pro Programm verwendet werden und muss vor jedem ausführbaren Code platziert werden.

Optional koennen Sie den Zielnamen und den Pfad der Datei angeben. Wenn der Name keine Erweiterung enthaelt, haengt PBXB64 die Standarderweiterung des Ausgabetyps an: .exe, .dll oder .sll. Wenn der Name bereits eine Erweiterung enthaelt, wird er unveraendert verwendet. Ein Befehlszeilenpfad mit -o hat Vorrang.

Wenn die Dateinamenklausel weggelassen wird, erhält die kompilierte Datei den Namen der Hauptquellcodedatei mit einer entsprechenden Erweiterung.

Der getestete DLL-Teil von PBXB64 schreibt ein natives PE-DLL-Image und eine Exporttabelle fuer PB-Funktionen mit EXPORT, auch in der PB-typischen Form FUNCTION name(...) EXPORT AS type. Die aktive Validierung prueft das DLL-Kennzeichen und die exportierten Namen.

Der getestete SLL-Teil von PBXB64 schreibt ein deterministisches COFF-Archiv mit der Erweiterung .sll. Es enthaelt das kompilierte Benutzerobjekt sowie unterstuetzte SLL-lokale Link-Eingaben und Ressourcen. Startup-Code und eingebettete Laufzeitobjekte werden erst vom finalen EXE- oder DLL-Host gelinkt.

PBXB64 akzeptiert auch #COMPILE GUI, #COMPILE CONSOLE, #GUI und #CONSOLE, um das Windows-PE-Subsystem ausdruecklich festzulegen. GUI schreibt Subsystemwert 2 (IMAGE_SUBSYSTEM_WINDOWS_GUI); CONSOLE schreibt Subsystemwert 3 (IMAGE_SUBSYSTEM_WINDOWS_CUI). Dadurch werden Faelle vermieden, in denen die automatische Erkennung von Konsolenausgaben falsch entscheidet.

Die Befehlszeilenoptionen -gui/--gui und -con/--console bieten dieselbe Steuerung fuer Build-Skripte und haben Vorrang vor Source-Direktiven, wenn beides angegeben ist.

Wenn ein Pfad angegeben ist, wird die kompilierte Datei im genannten Verzeichnis abgelegt; Andernfalls wird es im aktuellen Verzeichnis abgelegt.

Wenn das genannte Verzeichnis nicht existiert, der Dateiname ungültig oder gesperrt ist, die EXE-Datei noch läuft oder die Datei aus einem anderen Grund nicht erfolgreich an diesem Ort gespeichert werden kann, tritt beim Kompilieren ein Fehler 496 („Fehler beim Schreiben der Zieldatei“) auf.

Ein verwandtes Element ist das integrierte numerische Equate %PB_COMPILETIME . Jedes Mal, wenn Sie Ihr Programm kompilieren, wird dieses Equater mit dem aktuellen Datum und der aktuellen Uhrzeit der Kompilierung im PowerTime-Binärformat gefüllt. Mit der PowerTIME-Klasse können Sie es zur Verwendung in Ihrer Anwendung in ein Textäquivalent konvertieren.

Einschränkungen

Wenn #COMPILE nicht angegeben ist, ist der Standardwert #COMPILE EXE.

#COMPILE SLL ist PBXB64-native Static-Library-Funktionalitaet. Es ist keine binaere Kompatibilitaet mit alten PowerBASIC-SLL-Dateien. Getestete SLL-Units duerfen mit #LINK ein anderes PBXB64-natives Archiv einbinden und unterstuetzte #RESOURCE-Formen verwenden; diese Eingaben werden in den finalen Host-Link uebernommen. Nicht unterstuetzte Objekt-, Archiv- oder Ressourceneingaben und nicht aufgeloeste Host-Symbole bleiben Linkerfehler.

Beispiele

#COMPILE EXE ' Gleicher Name wie die Quelle, d. h. ABC.EXE

#COMPILE DLL ' Gleicher Name wie die Quelle, d. h. ABC.DLL

#COMPILE SLL "ABC.SLL" ' Erstellt ein PBXB64-natives COFF-Archiv

#COMPILE EXE "ABC.BAS" ' Kompiliert zu ABC.BAS.EXE

#GUI ' Windows-GUI-Subsystem erzwingen

#CONSOLE ' Windows-Konsolen-Subsystem erzwingen

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • %PB_COMPILETIME numerisches Gleichsetzen
  • COMPILER-Metaanweisung
  • DLLMAIN
  • PBLIBMAIN - Hilfe zum PBXB64-Compiler
  • PBMAIN " PBXB64-Compiler-Hilfe
  • WINMAIN
  • Hilfe zum PBXB64-Compiler


#DEBUG - Debug-Metadaten steuern - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#DEBUG - Debug-Metadaten steuern

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

#DEBUG ON

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Wird als PB-Direktivkeyword fuer debug-orientierte Quellkompatibilitaet erkannt.

Praktische Verwendung

Verwenden Sie diesen Marker, wenn die Quelle Debug-Metadaten oder Debug-kompatible Direktiven sichtbar halten muss. Die eigentliche Wirkung haengt vom umgebenden Compiler- und Help-Surface ab; pruefen Sie daher immer die konkrete Debug-Eingabe und die erzeugten Metadaten.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Ein unpassender Debug-Marker sollte nicht mit einer echten Trace- oder Release-Funktion verwechselt werden. Pruefen Sie nach dem Build, welche Metadaten wirklich erzeugt wurden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


#DEBUG DISPLAY - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#DEBUG DISPLAY

Zeigt eine Meldung an, wenn ein nicht abgefangener Laufzeitfehler auftritt.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#DEBUG DISPLAY {ON|+ | OFF|-}

Beschreibung

Zeigt eine Meldung an, wenn ein nicht abgefangener Laufzeitfehler auftritt.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

#DEBUG DISPLAY ON aktiviert den Fehleranzeigemodus innerhalb eines kompilierten PowerBASIC-Programms. Wenn in diesem Modus ein nicht abgefangener Fehler auftritt (ohne den Vorteil von ON ERROR GOTO , TRY/CATCH usw.), wird die Programmausführung angehalten und eine beschreibende Meldung angezeigt. Diese Meldung enthält die Fehlernummer, eine kurze Beschreibung des Fehlers und ein Positionsbeschreibungswort, das Ihnen dabei hilft, den Ort des Fehlers zu finden. Das Positionsdeskriptorwort besteht aus den ersten 8 Zeichen des Namens der letzten (aktuellsten) Bezeichnung, Zeilennummer oder Prozedur, die ausgeführt wurde. Dieser Modus sollte nur während der Programmentwicklung und beim Debuggen verwendet werden. Es sollte niemals in einem Produktionsprogramm verwendet werden.

Wenn die beschreibende Meldung angezeigt wird, werden sie von zwei Schaltflächen mit der Bezeichnung „OK“ und „Abbrechen“ begleitet. Bei Auswahl von „OK“ wird die Programmausführung trotz der Fehlerbedingung fortgesetzt. Bei Auswahl von „Abbrechen“ wird die Programmausführung gestoppt. Wenn jedoch untergeordnete Prozesse gestartet wurden, ist es möglich, dass diese weiter ausgeführt werden, bis sie normal beendet werden.

#DEBUG DISPLAY OFF unterdrückt den Anzeigemodus und ist die Standardbedingung.

PBXB64 akzeptiert #DEBUG DISPLAY und $DEBUG DISPLAY als Kompatibilitaets-Metadaten beim Kompilieren. In eigenstaendiger PBXB64-Ausgabe installieren sie keine PBWin-Debuggerbehandlung fuer nicht abgefangene Fehler und erzeugen kein Laufzeit-Meldungsfenster.

Einschränkungen

#DEBUG DISPLAY ON|OFF kann nur einmal ausgeführt werden und muss vor dem gesamten ausführbaren Code stehen. Wenn #DEBUG DISPLAY weggelassen wird, ist die Standardbedingung #DEBUG DISPLAY OFF.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Fehler-Trapping
  • Fehlerübersicht
  • Debuggen von PBXB64-Programmen - Hilfe zum PBXB64-Compiler
  • #DEBUG-CODE
  • #DEBUG-FEHLER
  • #DEBUG PRINT
  • Hilfe zum PBXB64-Compiler


#DEBUG PRINT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#DEBUG PRINT

Informationen im anzeigen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#DEBUG PRINT string_expression

Beschreibung

Informationen im anzeigen

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit der PRINT-Option kann der Programmierer während einer Debugging-Sitzung beliebige Informationen im Debug-Ausgabefenster der IDE anzeigen. Das Ausgabefenster wird vom Debugger bereitgestellt, um Statusinformationen über den Status der Debugging-Sitzung anzuzeigen. #DEBUG PRINT bietet jedoch eine bequeme Möglichkeit, während der Programmausführung ein „Prozessprotokoll“ einer Unterfunktion, einer Funktion, einer Methode, einer Eigenschaft oder einer Variablen zu erstellen. In Kombination mit FUNCNAME$ kann #DEBUG PRINT ein nützliches Tool zum Debuggen von Anwendungscode sein. Siehe das Beispiel unten.

Dies ist möglich, weil das Debugger-Ausgabefenster über einen scrollbaren Bereich verfügt, der einem Konsolenfenster ähnelt, während das Überwachungsfenster nur den Momentanwert einer Variablen anzeigt.

#DEBUG PRINT-Anweisungen werden ignoriert, wenn Code in eine eigenständige Datei (EXE/DLL) kompiliert wird. Sie sind nur bei Verwendung des Debuggers enthalten. Steuercodes in der Zeichenfolge werden im Ausgabefenster in das Hex-Format übersetzt. Beispielsweise werden eingebettete CHR$ (0)- oder $NUL-Bytes als „<00>“ angezeigt.

PBXB64 akzeptiert #DEBUG PRINT und $DEBUG PRINT als Kompatibilitaets-Metadaten beim Kompilieren. In eigenstaendiger PBXB64-Ausgabe schreiben sie nicht in ein PBWin-Debugger-Ausgabefenster und auch nicht nach stdout, stderr oder in TRACE-Dateien.

Einschränkungen

Sie können Unicode-Zeichenfolgen mit #DEBUG PRINT verwenden, die Ergebnisse werden jedoch von Windows immer in ANSI konvertiert. Dies ist eine Windows-Designbeschränkung, keine Einschränkung von PowerBASIC.

Praktische Verwendung

#DEBUG PRINT gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Siehe auch

  • Debuggen von PBXB64-Programmen - Hilfe zum PBXB64-Compiler
  • #DEBUG-FEHLER
  • FUNCNAME$
  • Hilfe zum PBXB64-Compiler


#DEBUG-CODE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#DEBUG-CODE

Compiler-Anweisung zur Unterdr&uuml;ckung der Generierung von Debug-Code.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#DEBUG CODE {ON|+ | OFF|-}

Beschreibung

Compiler-Anweisung zur Unterdrückung der Generierung von Debug-Code.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn ein Programm zum Debuggen in der PowerBASIC-IDE kompiliert wird, muss der Compiler zusätzlichen Code generieren, um das Setzen von Haltepunkten und einige andere Debug-Vorgänge zu erleichtern. In den meisten Fällen hat dies keinen Einfluss auf die Ausführung Ihres Programms. Im Falle einer Codewiederholung in einer engen Schleife oder bei bestimmtem Assemblercode oder Daten, die nicht geändert werden dürfen, kann es jedoch sehr wichtig sein, einige Debugging-Codes zu unterdrücken, damit der Code korrekt und mit voller Geschwindigkeit ausgeführt wird.

#DEBUG CODE OFF unterdrückt die Generierung von Debug-Code aus dieser Zeile, bis ein nachfolgender #DEBUG CODE ON (oder das Ende der Sub / Function / Method / Property) erreicht ist. Wenn Debugcode unterdrückt wird, ist es natürlich nicht möglich, Haltepunkte in diesen Zeilen festzulegen.

#DEBUG CODE-Metaanweisungen werden ignoriert, wenn nicht zum Debuggen kompiliert wird.

PBXB64 akzeptiert #DEBUG CODE und $DEBUG CODE als Kompatibilitaets-Metadaten beim Kompilieren. In eigenstaendiger PBXB64-Ausgabe erzeugen sie kein PBWin-Debuggerverhalten zur Debug-Code-Erzeugung oder -Unterdrueckung; sie halten importierte PBWin-Quellen unter einem dokumentierten Vertrag ohne Laufzeitwirkung kompilierbar.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Fehler-Trapping
  • Fehlerübersicht
  • Debuggen von PBXB64-Programmen - Hilfe zum PBXB64-Compiler
  • #DEBUG DISPLAY
  • #DEBUG-FEHLER
  • #DEBUG PRINT
  • Hilfe zum PBXB64-Compiler


#DEBUG-FEHLER - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#DEBUG-FEHLER

Kontrollgenerierung von

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#DEBUG ERROR {ON|+ | OFF|-}

Beschreibung

Kontrollgenerierung von

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Option #DEBUG ERROR gibt an, ob der Compiler Code generieren soll, der nach Array-Grenzen- und Nullzeigerfehlern sucht, wo immer diese auftreten. Die Standardeinstellung ist AUS.

Wenn der #DEBUG ERROR-Modus aktiviert ist, erzeugt jeder Versuch, auf ein Array außerhalb seiner Grenzen zuzugreifen oder einen Nullzeiger zu verwenden, einen Laufzeitfehler 9 („Index/Zeiger außerhalb des Bereichs“) und die Anweisung selbst wird nicht ausgeführt.

Bei AUS werden alle Anweisungen „wie sie sind“ ausgeführt und es werden keine Fehler generiert. Der Zugriff auf ein Array außerhalb seiner Grenzen oder die Verwendung eines Nullzeigers kann jedoch zu einer allgemeinen Schutzverletzung (GPF) oder einem Ausnahmefehler führen.

Am besten aktivieren Sie beim Entwickeln eines Programms die Fehlerprüfung #DEBUG ERROR. Sobald alle offensichtlicheren Fehler beseitigt sind, sollten Sie zur Standardeinstellung (AUS) zurückkehren, da Ihr Code dadurch kleiner und schneller wird. Abhängig von der Art der zu entwickelnden Anwendung muss die endgültige (Produktions-)Version eines Programms möglicherweise keinen Fehlerprüfcode enthalten.

Einschränkungen

#DEBUG ERROR ist immer aktiviert, wenn Code im Debugger ausgeführt wird, unabhängig von einer expliziten #DEBUG ERROR-Metaanweisung.

Festplatten-E/A-Fehler werden immer abgefangen, unabhängig vom Status von #DEBUG ERROR.

#DEBUG ERROR ON fängt keine Array-Grenzfehler von Arrays innerhalb benutzerdefinierter Typen und Unions ab. Zeiger werden nur auf Nullwerte getestet. Zieladressen mit Zeigern ungleich Null werden nicht auf Lesbarkeit oder Schreibbarkeit getestet.

PBXB64 akzeptiert #DEBUG ERROR und $DEBUG ERROR als Kompatibilitaets-Metadaten beim Kompilieren. In eigenstaendiger PBXB64-Ausgabe erzeugen sie keine PBWin-Laufzeitpruefungen fuer Array-Grenzen oder Nullzeiger; vorhandene PBXB64-Laufzeitpruefungen werden durch ihre eigenen implementierten Funktionen gesteuert, nicht durch diese Direktive.

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.

Siehe auch

  • Fehler-Trapping
  • Fehlerübersicht
  • Debuggen von PBXB64-Programmen - Hilfe zum PBXB64-Compiler
  • #DEBUG-CODE
  • #DEBUG DISPLAY
  • #DEBUG PRINT
  • Hilfe zum PBXB64-Compiler


#ENDASM - Inline-ASM-Block beenden - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#ENDASM - Inline-ASM-Block beenden

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

#ASM
  nop
#ENDASM

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Beendet einen #ASM-Block in PB-Quelle.

Praktische Verwendung

Verwenden Sie diesen Abschluss immer nur fuer den passenden #ASM-Block. In einem Test sollte der opener direkt vor dem Inhalt stehen und dieser Marker direkt danach folgen, damit der scanner den Block eindeutig schliesst.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwenden Sie #ENDASM nicht ausserhalb eines passenden #ASM-Blocks. Ein zu fruehes oder unpassendes Schliessen muss als Quellenfehler behandelt werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


#ENDC - Eingebettete C-Quelle beenden - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#ENDC - Eingebettete C-Quelle beenden

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

#ENDC

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Beendet einen #CCODE-Block.

Praktische Verwendung

Verwenden Sie diesen Abschluss immer nur fuer den passenden #C-Block. In einem Test sollte der opener direkt vor dem Inhalt stehen und dieser Marker direkt danach folgen, damit der scanner den Block eindeutig schliesst.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwenden Sie #ENDC nicht ausserhalb eines passenden #C-Blocks. Ein zu fruehes oder unpassendes Schliessen muss als Quellenfehler behandelt werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


#ENDFASM - FASM-kompatiblen ASM-Block beenden - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#ENDFASM - FASM-kompatiblen ASM-Block beenden

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

#ENDFASM

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Beendet einen #FASM-Block.

Praktische Verwendung

Verwenden Sie diesen Abschluss immer nur fuer den passenden #FASM-Block. In einem Test sollte der opener direkt vor dem Inhalt stehen und dieser Marker direkt danach folgen, damit der scanner den Block eindeutig schliesst.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwenden Sie #ENDFASM nicht ausserhalb eines passenden #FASM-Blocks. Ein zu fruehes oder unpassendes Schliessen muss als Quellenfehler behandelt werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


#ENDJS - JavaScript-Block beenden - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#ENDJS - JavaScript-Block beenden

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

#ENDJS

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Beendet den Tokenbereich eines #JS-Quellblocks.

Praktische Verwendung

Verwenden Sie diesen Abschluss immer nur fuer den passenden #JS-Block. In einem Test sollte der opener direkt vor dem Inhalt stehen und dieser Marker direkt danach folgen, damit der scanner den Block eindeutig schliesst.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwenden Sie #ENDJS nicht ausserhalb eines passenden #JS-Blocks. Ein zu fruehes oder unpassendes Schliessen muss als Quellenfehler behandelt werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


#ENDPB - Eingebetteten PB-Block beenden - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#ENDPB - Eingebetteten PB-Block beenden

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

#ENDPB

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Beendet einen #PB-Block.

Praktische Verwendung

Verwenden Sie diesen Abschluss immer nur fuer den passenden #PB-Block. In einem Test sollte der opener direkt vor dem Inhalt stehen und dieser Marker direkt danach folgen, damit der scanner den Block eindeutig schliesst.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwenden Sie #ENDPB nicht ausserhalb eines passenden #PB-Blocks. Ein zu fruehes oder unpassendes Schliessen muss als Quellenfehler behandelt werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


#EXPORT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#EXPORT

Deklarieren Sie eine Unterfunktion/Funktion mit dem EXPORT-Attribut.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#EXPORT SubFuncName [, SubFuncName ...]

Beschreibung

Deklarieren Sie eine Unterfunktion/Funktion mit dem EXPORT-Attribut.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

#EXPORT ermöglicht es Ihnen, das EXPORT-Attribut zu einer an anderer Stelle definierten Unter-/Funktion hinzuzufügen. Das EXPORT-Attribut kann sogar zu einer Sub/Funktion in einer SLL hinzugefügt werden, die separat kompiliert wurde.

Der EXPORT-Deskriptor identifiziert eine Unterfunktion/Funktion, auf die zwischen Dynamic Link Libraries (DLLs) und/oder der ausführbaren Hauptdatei, die sie verknüpft, zugegriffen werden kann. Wenn eine Prozedur nicht mit EXPORT markiert ist, wird sie vor diesen anderen Modulen ausgeblendet. Im Allgemeinen ist es am besten, eine Unterfunktion/Funktion in einer SLL nicht als EXPORT zu markieren. Obwohl es syntaktisch akzeptabel ist, kann es Ihre zukünftigen Optionen beim Verknüpfen der SLL mit Hostmodulen einschränken. PowerBASIC empfiehlt, sie in der SLL als COMMON zu markieren und das EXPORT-Attribut im Hostmodul hinzuzufügen.

Es ist einfach, eine SLL zu erstellen, die für denselben Zweck mit einem ausführbaren Programm oder einer dedizierten DLL verknüpft werden kann. Um das EXPORT-Attribut zu einer verknüpften Unterfunktion/Funktion hinzuzufügen, fügen Sie einfach das Wort EXPORT zur DECLARE-Anweisung im Hostmodul hinzu oder fügen Sie eine #EXPORT-Metaanweisung hinzu.

Mit dieser Technik kann Ihre SLL direkt in eine ausführbare Anwendungsdatei eingebunden werden, ohne die Subs/Funktionen als EXPORT zu veröffentlichen. Sie können jedoch dieselbe SLL auch mit einem DLL-Hostmodul verknüpfen, das das EXPORT-Attribut mit #EXPORT hinzufügt.

Angenommen, Sie möchten eine Bibliothek erstellen, die das SUB mit dem Namen XXX veröffentlicht. Sie möchten es in zwei Formen bereitstellen: einer verknüpfbaren SLL und einer Industriestandard-DLL. Erstellen Sie also zunächst einfach die SLL:

#COMPILE SLL = „XXXLib.SLL“

SUB xxx() COMMON

MSGBOX „Hallo“

END SUB

Kompilieren Sie es einfach und schon können Sie es in Ihre Anwendung einbinden. Jetzt möchten Sie aber auch eine DLL erstellen, da diese möglicherweise mit anderen Anwendungen verwendet wird. Es ist einfach so einfach:

#COMPILE DLL = „XXXLib.DLL“

#EXPORT xxx

#LINK „XXXLib.SLL“

Das ist alles. Sie verfügen nun über eine SLL und eine entsprechende DLL, um die Aufgabe der XXX-Prozedur zu erledigen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • #LINK " PBXB64-Compiler-Hilfe
  • DECLARE ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


#FASM - FASM-kompatiblen ASM-Block beginnen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#FASM - FASM-kompatiblen ASM-Block beginnen

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

#FASM
  nop
#ENDFASM

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Wird als mehrsprachige Assembler-Direktivschreibweise erkannt. Verwenden Sie die getesteten ASM-Blockformen aus den ASM-Seiten.

Praktische Verwendung

Verwenden Sie diesen Einstieg fuer einen FASM-kompatiblen ASM-Block, wenn die Quelle die gleiche Blockstruktur wie #ASM braucht, aber die Schreibweise auf die FASM-Direktive abgestimmt sein soll. Der Inhalt wird zusammen mit dem passenden Endmarker als ein Block behandelt.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Der Einstieg ersetzt keine echte Semantik fuer den eingebetteten Sprachblock. Ohne passenden Endmarker, passende Unterstuetzung oder passende Folgeimplementierung bleibt die Quelle unvollstaendig.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


#IF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#IF

Definieren Sie Abschnitte des Quellcodes, die abh&auml;ngig von einer bestimmten Bedingung kompiliert oder ignoriert werden sollen. Dies wird oft als bedingte Kompilierung bezeichnet.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#IF [NOT] { %equate | %DEF({ %numeric_equate | $string_equate }) | expression }
[ statements ]
[#ELSEIF [NOT] { %equate | %DEF({ %numeric_equate | $string_equate }) | expression }
[ statements ]]
[#ELSE
#ENDIF

Beschreibung

Definieren Sie Abschnitte des Quellcodes, die abhängig von einer bestimmten Bedingung kompiliert oder ignoriert werden sollen. Dies wird oft als bedingte Kompilierung bezeichnet.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] für Funktionskörper-$IF/#IF; Top-Level-#IF/#ELSEIF/#ELSE/#ENDIF und #IFDEF/#IFNDEF sind implementiert und ab V10 aktiv.

Beschreibung

%equate ist eine benannte Konstante oder ein konstanter Wert. Mit dem %DEF-Operator können Sie testen, ob ein Equate definiert wurde. %DEF gibt TRUE oder FALSE zurück. Typische Verwendung: #IF %DEF(%PB_DLL16) oder #ELSEIF NOT %DEF(%PB_WIN32). Ausdruck kann ein einfacher numerischer Ausdruck sein, der die arithmetischen Operatoren +, -, *, / und \ sowie die relationalen Operatoren >, <, >=, <=, <> und = verwendet und auch die CVQ-Funktion enthalten kann.

PowerBASIC definiert automatisch die Equates in der folgenden Tabelle entsprechend dem verwendeten PowerBASIC-Compiler. Bitte beachten Sie, dass die Verweise auf andere PowerBASIC-Compiler für diejenigen enthalten sind, die Programme schreiben, die möglicherweise von mehr als einem PowerBASIC-Compiler kompilierbar sind.

Gleichsetzen

Definition

%PB_CC32

In PB/CC für Windows als TRUE (ungleich Null) vordefiniert, in anderen Compilern jedoch nicht definiert.

%PB_DLL16

Vordefiniert als TRUE (ungleich Null) in PB/DLL 16-Bit, FALSE (Null) in anderen Compilern.

%PB_DLL32

Synonym von %PB_WIN32

%PB_WIN32

In PB/Win 32-Bit als TRUE (ungleich Null) vordefiniert, in anderen Compilern jedoch nicht definiert.

%PB_REVISION

Vordefiniert als Hex-Revision (10.00 = &H1000).

%PB_REVLETTER

Vordefiniert als ASCII-Code des Revisionsbuchstabens (a = &H61) oder &H20, wenn kein Revisionsbuchstabe vorhanden ist.

%PB_EXE

Vordefiniert als TRUE (ungleich Null) beim Kompilieren in EXE oder als FALSE (Null) beim Kompilieren im DLL-Format (nur PB/Win). Das Äquator %PB_EXE ist in PowerBASIC immer definiert, daher wird %DEF(%PB_EXE) immer als TRUE ausgewertet. Der Unterschied ist der Wert, der dem Equate vom Compiler zugewiesen wird.

Beispiele für gültige Ausdrücke können sein:

#IF %DEBUG = -1&

#IF %DEBUG UND (NICHT %RELEASE)

#IF NICHT %DEBUG

#IF %VERSION <> CVQ("DemoMode")

Beachten Sie, dass die Operatoren AND , OR und NOT in #IF-Metaanweisungen als bitweise Operatoren und nicht als logische Operatoren funktionieren.

Wenn der Wert von %equate oder %DEF ( %equate|$equate ) TRUE (ungleich Null) ist oder wenn das Ergebnis von expression TRUE ist, werden die Anweisungen zwischen #IF und #ELSE oder #ELSEIF kompiliert und die Anweisungen zwischen #ELSE oder #ELSEIF und #ENDIF werden ignoriert.

Wenn der Wert von %equate oder %DEF ( %equate|$equate ) FALSE (null) ist oder das Ergebnis von expression FALSE ist, werden die Anweisungen zwischen #IF und #ELSE oder #ELSEIF ignoriert und diejenigen zwischen #ELSE oder #ELSEIF und #ENDIF kompiliert.

Die Klausel #ELSE oder #ELSEIF und zugehörige Anweisungen sind optional, #ENDIF ist jedoch erforderlich.

Bedingte Kompilierungsanweisungen können bis zu 16 Ebenen tief verschachtelt werden. Ein Hauptzweck der bedingten Kompilierung besteht darin, Testcode in Ihre Programme einzubinden, der während der Programmentwicklung (jedoch nicht im Endprodukt) kompiliert wird, und die Erstellung spezieller Editionen einer Anwendung aus einer einzigen Quellcodedatei zu erleichtern.

Es ist möglich, bitweise Operationen an Gleichheiten durchzuführen, um ein TRUE/FALSE-Ergebnis zu erzeugen. Zum Beispiel:

#IF (%PB_REVISION AND &H0FF00) - &H0700

SoftwareVersion$ = „nicht 7.x“

SoftwareVersion$ = "7.x"

#ENDIF

PBXB64-Hinweise

  • #DEFINE und #UNDEF in aktiven Zweigen werden sofort angewendet, sodass spätere Top-Level-Bedingungen sie sehen.
  • Inaktive Zweige werden vor der Deklarationssuche entfernt; #DEFINE in einem inaktiven Zweig ist nicht sichtbar.
  • Verschachtelte #IF/$IF-Blöcke werden unterstützt. Der Top-Level-Durchlauf von PBXB64 hat derzeit eine interne 256-Ebenen-Sicherung; halten Sie die Verschachtelung für PBWin-Portabilität flach.
  • #ELSEIF verfolgt, ob bereits ein früherer Zweig ausgewählt wurde, sodass spätere Zweige nach einem wahren #IF inaktiv bleiben. Das ist sowohl für Top-Level-Bedingungen als auch für Funktionskörper-Bedingungen getestet.
  • Abgedeckt durch tests/pb/test_pp_top_level_conditional.pb, tests/pb/test_pp_top_level_elseif.pb, examples/basic/test_pp_dollar_if.pb und tests/pb/test_pp_function_body_elseif.pb.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • %DEF
  • IF/END IF
  • Hilfe zum PBXB64-Compiler


#INCLUDE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#INCLUDE

Weisen Sie den Compiler an, eine Textdatei von der Festplatte zu lesen und sie als integralen Bestandteil des Quellcodes zu behandeln.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#INCLUDE "FileSpec"
#INCLUDE ONCE "FileSpec"
#INCLUDE THIS ONCE
#INCLUDE AS MODULE "FileSpec" [AS "ModuleName"]
#INCLUDE AS MODULE ONCE "FileSpec" [AS "ModuleName"]

Beschreibung

Weisen Sie den Compiler an, eine Textdatei von der Festplatte zu lesen und sie als integralen Bestandteil des Quellcodes zu behandeln.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] für #INCLUDE, #INCLUDE ONCE, #INCLUDE AS MODULE, #INCLUDE AS MODULE ONCE und #INCLUDE THIS ONCE.

Beschreibung

Verwenden Sie #INCLUDE, um den Text einer anderen Datei zusammen mit der aktuellen Datei zu kompilieren. Die erste Form bewirkt, dass FileSpec in jedem Fall eingeschlossen wird, auf den es stößt. Die zweite Form bewirkt, dass FileSpec nur einmal eingeschlossen wird, und zwar beim ersten Auftreten. Dies ist besonders nützlich, wenn gängige Deklarationsdateien wie WIN32API.INC eingebunden werden, um redundanten Code und die daraus resultierenden Fehler zu vermeiden. Um wirksam zu sein, muss die ONCE-Option in jedem #INCLUDE einer bestimmten Datei erscheinen. Tatsächlich bedeutet #INCLUDE ONCE: „Diese Datei nur einbinden, wenn sie noch nicht eingebunden wurde.“

Das dritte Formular (#INCLUDE THIS ONCE) wird in die einzubindende Datei eingefügt und erzeugt ein Endergebnis ähnlich dem zweiten Formular. Der Compiler wird angewiesen, „mich nur einmal einzubeziehen, egal wie oft es angefordert wird“. Je nach Inhalt und Kontext kann dies eine einfachere und besser lesbare Methode sein, um das gewünschte Ergebnis zu erzielen.

#ALS MODUL EINSCHLIESSEN

Der#INCLUDE AS MODULE form liest die Datei und verpackt ihren Inhalt in eine MODULE ... END MODULE automatisch sperren. Dies ist nützlich, um vorhandene Include-Dateien als benannte Module zu importieren, ohne sie zu ändern. Der Modulname wird vom Dateistamm (dem Teil vor der Erweiterung) abgeleitet, wobei Sonderzeichen in Unterstriche umgewandelt werden. Zum Beispiel, libs/math-lib.inc wird zum Modul math_lib.

Sie können den abgeleiteten Namen mit überschreiben AS "ModuleName" Suffix:

#INCLUDE AS MODULE "helpers.inc" AS "MyHelpers"

Greifen Sie von außerhalb des Moduls mithilfe der Punktnotation auf öffentliche Elemente zu:

result = MyHelpers.add_values(10, 20)
MyHelpers.say_hello

Elemente in der enthaltenen Datei sind PRIVATE standardmäßig. Um sie von außerhalb des Moduls zugänglich zu machen, stellen Sie ihnen das Präfix voran PUBLIC in der Include-Datei:

' In the included file:
PUBLIC FUNCTION add_values(a AS LONG, b AS LONG) AS LONG
    add_values = a + b
END FUNCTION

PUBLIC SUB say_hello
    PRINT "Hello!"
END SUB

#INCLUDE AS MODULE ONCE kombiniert beide Verhaltensweisen: Die Datei wird in ein Modul eingeschlossen und Es wird nur beim ersten Auftreten einbezogen. Dies ist das empfohlene Formular zum Importieren wiederverwendbarer Bibliotheken.

Zirkuläre Includes werden erkannt und als Fehler bei der Kompilierung gemeldet.

#INCLUDE THIS ONCE wird erkannt, wenn es als Top-Level-Direktive innerhalb der einzubindenden Datei steht. Ist es vorhanden, wird die Datei höchstens einmal eingebunden, auch wenn äußere #INCLUDE-Anforderungen das Schlüsselwort ONCE nicht verwenden.

FileSpec ist eine Zeichenfolgenkonstante, die den normalen LFN-Dateinamenskonventionen folgt und eine PowerBASIC-Quellcodedatei benennt. Wenn FileSpec keine Erweiterung enthält, sucht der Compiler nach diesem Dateinamen mit der Standarderweiterung .BAS.

Wenn FileSpec keinen Pfad enthält, durchsucht der Compiler den Suchpfad für jede #INCLUDE-Datei, bevor er das aktuelle (Standard-)Verzeichnis überprüft. Für die IDE kann der Suchpfad auf der Registerkarte „Compiler-Einstellungen“ im Dialogfeld „Optionen“ festgelegt werden. Der Suchpfad kann auch beim Kompilieren über die Befehlszeile mithilfe der Option /I Include angegeben werden. Der Suchpfad kann einen oder mehrere zu scannende Pfade enthalten. Wenn mehrere Pfade verwendet werden, werden diese durch ein Semikolon (;) getrennt.

Wenn der Compiler auf eine #INCLUDE-Metaanweisung stößt, liest er FileSpec von der Festplatte und setzt die Kompilierung mit dem Quellcode in FileSpec fort. Wenn das Ende von FileSpec erreicht ist, wird die Kompilierung mit der Anweisung fortgesetzt, die unmittelbar auf #INCLUDE in der ursprünglichen Quelldatei folgt. Das Ergebnis ist dasselbe, als ob der Inhalt der eingebundenen Datei physisch im Originaltext vorhanden wäre. Dadurch können große Quelldateien in kleinere, besser verwaltbare Abschnitte unterteilt werden.

Debuggen eingebundener Dateien

Wenn --debug verwendet wird, behält PBXB64 die ursprüngliche Quelldatei und Zeile für Anweisungen aus eingebundenen Dateien. Die erzeugte .sdbg-Debug-Tabelle enthält Quelleinträge für die Hauptdatei und für jede eingebundene Datei, die ausführbaren Code beiträgt. Dadurch kann der Editor beim Single-Step in .pbi- und .inc-Dateien springen, statt alle Zeilen der Hauptdatei zuzuordnen.

Dieses Verhalten ist durch tests/pb/test_debug_include_main.pb und tests/pb/test_debug_include_dupe_main.pb abgedeckt. Der zweite Test bindet zwei Hilfsdateien mit demselben Dateinamen aus unterschiedlichen Ordnern ein und prüft die vollständigen Quellpfade sowie die Zeileneinträge in der erzeugten SDB2-Debug-Quelltabelle.

#INCLUDE-Metaanweisungen können bis zu zwölf Ebenen tief verschachtelt werden. Das heißt, eine eingebundene Datei kann über eigene #INCLUDE-Metaanweisungen verfügen, einschließlich Dateien, die ebenfalls über #INCLUDE-Metaanweisungen usw. verfügen, und zwar für insgesamt zwölf Dateiebenen (einschließlich der Primärdatei). Beachten Sie, dass Makros zu Verschachtelungszwecken als #include-Dateien gelten.

PBXB64-Beispiele

' helpers.pbi
#INCLUDE THIS ONCE
PUBLIC FUNCTION add_values(a AS LONG, b AS LONG) AS LONG
    add_values = a + b
END FUNCTION

' main.pb
#COMPILE EXE
#INCLUDE AS MODULE ONCE "helpers.pbi" AS "Helpers"
#INCLUDE AS MODULE ONCE "helpers.pbi" AS "Helpers"  ' wird durch ONCE übersprungen
FUNCTION PBMAIN() AS LONG
    PBMAIN = Helpers.add_values(20, 22)
END FUNCTION

Abgedeckt durch tests/pb/test_pp_include_as_module_once.pb und tests/pb/test_pp_include_this_once.pb.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • MODUL
  • Win32-API-Updates einschließen
  • Hilfe zum PBXB64-Compiler


#JS - JavaScript-Block beginnen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#JS - JavaScript-Block beginnen

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

#JS
// source text
#ENDJS

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Wird als mehrsprachiges Direktivtoken erkannt.

Praktische Verwendung

Verwenden Sie diesen Einstieg fuer einen JavaScript-Block, wenn die Quelle JavaScript-nahe eingebettete Logik markieren muss. Der Block bleibt als zusammenhaengender Tokenbereich erkennbar, bis der passende Endmarker folgt.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Der Einstieg ersetzt keine echte Semantik fuer den eingebetteten Sprachblock. Ohne passenden Endmarker, passende Unterstuetzung oder passende Folgeimplementierung bleibt die Quelle unvollstaendig.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


#MESSAGES " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#MESSAGES " PBXB64-Compiler-Hilfe

Geben Sie an, welche Nachrichten an eine Control Callback-Funktion gesendet werden sollen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#MESSAGES COMMAND
#MESSAGES NOTIFY

Beschreibung

Geben Sie an, welche Nachrichten an eine Control Callback-Funktion gesendet werden sollen.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

#MESSAGES COMMAND gibt an, dass nur %WM_COMMAND-Nachrichten an Control Callback-Funktionen gesendet werden, genau wie in früheren Versionen von PowerBASIC

#MESSAGES NOTIFY gibt an, dass %WM_NOTIFY-Nachrichten (sowie %WM_COMMAND-Nachrichten) an Control Callback-Funktionen gesendet werden. Dies ist die Standardbedingung und muss nicht explizit angegeben werden.

Es gibt zwei allgemeine Arten von CallBack-Funktionen. Der erste ist der DIALOG CALLBACK, der mit der CALL DLGPROC-Klausel der DIALOG SHOW-Anweisung angegeben wird. Es empfängt alle Nachrichten, die an den Dialog gerichtet sind, einschlieÃŸlich bestimmter Nachrichten bezüglich seiner untergeordneten Steuerelemente. Insbesondere würde dies sowohl %WM_COMMAND- als auch %WM_NOTIFY-Nachrichten umfassen. Der zweite ist der CONTROL CALLBACK, der mit der CALL CTLPROC-Klausel der CONTROL ADD-Anweisung angegeben wird. Wenn angegeben, empfängt es alle %WM_COMMAND- und %WM_NOTIFY-Nachrichten, die an den übergeordneten Dialog gesendet werden.

Vor Version 9.0 von PowerBASIC für Windows empfingen Control Callback Functions nur %WM_COMMAND-Nachrichten. Ab PB 9.0 werden auch %WM_NOTIFY-Nachrichten gesendet. Es gibt viele Situationen, in denen sich diese zusätzlichen Nachrichten als sehr wichtig für Sie erweisen. Wenn Ihre vorhandenen Rückruffunktionen mit vollständiger Fehlerprüfung geschrieben werden (wobei sichergestellt wird, dass CB.MSG = %WM_COMMAND), wird diese geringfügige Ergänzung keine Probleme verursachen. Es stellt lediglich zusätzliche Informationen dar, auf die reagiert oder einfach ignoriert werden kann. Wenn Rückrufe jedoch ohne vollständige Fehlerprüfung geschrieben wurden, ist eine gewisse Mehrdeutigkeit möglich. In diesem Fall sollten Sie entweder Ihren Control Callback-Code aktualisieren oder %WM_NOTIFY-Nachrichten mit einer #MESSAGES-Befehlsmetaanweisung unterdrücken.

Description

MESSAGES exposes the current message-handling state in the BASIC UI runtime. Use it when code needs to inspect or route window messages instead of consuming them directly.

Validation Evidence

Validation evidence: The dialog/control message tests verify the current message-routing behavior used by this family.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Rückrufe
  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • FUNCTION/END FUNCTION-Anweisungen
  • Hilfe zum PBXB64-Compiler


#OPTIMIZE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#OPTIMIZE

W&auml;hlen Sie die Optimierung aus, die auf Ihr Programm angewendet werden soll.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#OPTIMIZE CODE [ON | OFF]
#OPTIMIZE {SIZE | SPEED}

Beschreibung

Wählen Sie die Optimierung aus, die auf Ihr Programm angewendet werden soll.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

The #OPTIMIZE metastatement is used to tell the compiler your preferences in regards to the optimization of generated code. Sie können die Optimierung entweder für die Ausführungsgeschwindigkeit oder für eine kleinere Codegröße festlegen.

Die erste Form der Direktive (CODE) teilt dem Compiler mit, ob nicht referenzierter Code aus dem kompilierten Programm entfernt werden soll, um die Größe der ausführbaren Datei zu minimieren. This option defaults to ON as there are few reasons to disable it (other than curiosity as to the effectiveness). Unabhängig vom kompilierten Modultyp (SLL, DLL oder EXE) entfernt PowerBASIC alles Unnötige:

Function

FastProc

Methode

Eigentum

String-Literal

Numerisches Literal

Statische Linkbibliothek

Extraction is always performed on a procedure basis, not an entire class. If you have a CLASS with 50 Methods, but only one is ever called, the other 49 are removed entirely. Dieser Grad an Granularität ist besonders wichtig bei Ihrer persönlichen Codebibliothek mit Allzweckfunktionen. You can include them all, and PowerBASIC will use just the minimum necessary. Wenn Sie eine Protokolldatei generieren (mit der Befehlszeilenoption /L), wird eine Liste der extrahierten Prozeduren, Klassen und SLL-Module bereitgestellt.

Die zweite Form der Direktive (SIZE/SPEED) teilt dem Compiler mit, ob Sie eine zusätzliche Optimierung für die Ausführungsgeschwindigkeit oder eine geringere Gesamtcodegröße wünschen. Wenn nicht verwendet, wird standardmäßig eine schnellere Codegeschwindigkeit gewählt.

Wenn Sie die Option SPEED wählen, besteht eine der Hauptaktionen des Compilers darin, stark genutzte Codeabschnitte an einer Adressgrenze auszurichten, die für die CPU/FPU am vorteilhaftesten ist.

In some cases, the speed of loop mechanisms ( FOR/NEXT , DO/UNTIL ...) can be improved by as much as 100%, and occasionally even more.

Einschränkungen

#GRÖSSE OPTIMIEREN | SPEED kann nur einmal ausgeführt werden und muss vor dem gesamten ausführbaren Code stehen. If #OPTIMIZE is omitted, the default condition is #OPTIMIZE SPEED.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • #ALIGN
  • ASM
  • Hilfe zum PBXB64-Compiler


#PAGE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#PAGE

Legt eine Seitengrenze f&uuml;r PowerBASIC fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#PAGE

Beschreibung

Legt eine Seitengrenze für PowerBASIC fest

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Erklärungsformular

PAGE page_number

PBXB64-Status:VERFÜGBAR

Das Laufzeitanweisungsformular zeichnet die angeforderte Seitenzahl auf und gibt einen Konsolen-Formfeed/Seitenumbruch aus. Es ist abgedeckt durch test_screen_page.pb.


#PB - Eingebetteten PB-Block beginnen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#PB - Eingebetteten PB-Block beginnen

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

#PB
PRINT "PB"
#ENDPB

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Wird als mehrsprachiges Direktivtoken fuer PB-Quellbloecke erkannt.

Praktische Verwendung

Verwenden Sie diesen Einstieg fuer einen eingebetteten PB-Block, wenn die Quelle einen PB-Textabschnitt vom umgebenden Fremdsprachblock abgrenzen muss. Der Block wird erst mit dem passenden Endmarker wieder geschlossen.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Der Einstieg ersetzt keine echte Semantik fuer den eingebetteten Sprachblock. Ohne passenden Endmarker, passende Unterstuetzung oder passende Folgeimplementierung bleibt die Quelle unvollstaendig.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


#PBFORMS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#PBFORMS

Compiler-Anweisung zum Markieren benannter generierter Bl&ouml;cke

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Compiler-Anweisung zum Markieren benannter generierter Blöcke

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

#PBFORMS-Metaanweisungen werden von PowerBASIC Forms generiert? Visuelles Design-Tool erstellt und automatisch in den generierten Quellcode eingefügt. #PBFORMS-Metaanweisungen identifizieren benannte Codeblöcke, die sowohl für den Compiler als auch für die PowerBASIC-Formulare eine besondere Bedeutung haben? visuelles Design-Tool.

#PBFORMS-Metaanweisungen sollten nicht entfernt oder verwendet werden – sie sollten nur von PowerBASIC Forms erstellt und positioniert werden? . Weitere Informationen finden Sie in der Dokumentation zu PowerBASIC Forms? .

PowerBASIC-Formulare? ist eine visuelle Designumgebung, die ein schnelles visuelles Design von GUI-Anwendungsdialogen ermöglicht. PowerBASIC Forms generiert kompilierbaren DDT-Quellcode (Dynamic Dialog Tools) direkt aus den im Designer erstellten Dialogen. Produktinformationen zu PowerBASIC Forms finden Sie unter http://www.powerbasic.com/products/pbforms.

Ein Beispiel für PowerBASIC-Formulare? Die Vorlage und das fertige Projekt finden Sie im Ordner PB\SAMPLES\DDT\INTERFACE EXPLORER, der mit PowerBASIC für Windows installiert wird.

PBXB64 akzeptiert #PBFORMS-Markierungen als Kompatibilitaets-Metadaten des IDE-Generators beim Kompilieren. Sie aendern kein Laufzeitverhalten und integrieren nicht mit dem PBForms-Designer.

Die Kompatibilitaetsbehandlung ist bewusst konservativ: PBXB64 laesst diese Markierungen zu, damit importierte von PBForms erzeugte Quellen nicht vor dem Kompilieren von Hand bereinigt werden muessen. Der Compiler speichert keinen Designer-Zustand, erzeugt keinen versteckten Dialogcode aus den Markierungen und ueberlaesst ausfuehrbares DDT-Verhalten den bereits vorhandenen Quellanweisungen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


#RESSOURCE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#RESSOURCE

Integrieren Sie ein PowerBASIC

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#RESOURCE BITMAP, ResID , " filespec.BMP "
#RESOURCE ICON, ResID , " filespec.ICO "
#RESOURCE MANIFEST, 1, "filespec.XML"
#RESOURCE RCDATA, ResID, " filespec.DAT "
#RESOURCE STRING, ResID, " YourWideText "$$ [, LangID ]
#RESOURCE TYPELIB, 1, " filespec.TLB "
#RESOURCE WAVE, ResID , " filespec.WAV "
#RESOURCE VERSIONINFO <<block>>
#RESOURCE RES, " filespec.RES "
#RESOURCE PBR, " filespec.PBR "

Beschreibung

Integrieren Sie ein PowerBASIC

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] für #RESOURCE "file.rc", #RESOURCE RES, #RESOURCE PBR, direkte .res-Eingabe auf der Kommandozeile, BITMAP, ICON, CURSOR, RCDATA, FILE, WAVE, TYPELIB, MANIFEST, STRING, VERSIONINFO und das Alias $RESOURCE.

In V14 unterstützt: #RESOURCE "file.rc", #RESOURCE RES, "file.res", #RESOURCE PBR, "file.pbr", direkte .res-Eingabe auf der Kommandozeile, #RESOURCE BITMAP, #RESOURCE ICON, #RESOURCE CURSOR, #RESOURCE RCDATA, #RESOURCE FILE, #RESOURCE WAVE, #RESOURCE TYPELIB, #RESOURCE MANIFEST, #RESOURCE STRING, #RESOURCE VERSIONINFO sowie das Alias $RESOURCE.

Beschreibung

Diese Metaanweisung wird verwendet, um PowerBASIC-Ressourcendaten in Ihr Programm oder Ihre DLL einzubinden. Ressourcendaten können aus Bitmaps, Symbolen, Zeichenfolgen, COM-Typbibliotheken, Versionsinformationen und mehr bestehen. Sie können sogar benutzerdefinierte Binärdaten für Ihre persönlichen, speziellen Anforderungen einbetten.

Ressourcendaten können ein sehr wertvolles Werkzeug sein. Sie können Bitmaps und Symbole zwar aus separaten Dateien laden, wäre es aber nicht besser, sie einfach in Ihre Anwendung einzubetten? Wenn Sie die Bitmap benötigen, steht sie Ihnen jederzeit zur Verfügung! Sie müssen sich nicht mit Unmengen von Dateien herumschlagen. Jetzt haben Sie alles immer zur Hand.

Der Parameter ResID ist eine eindeutige Kennung, die Sie erstellen, um auf dieses Element zu verweisen. Es kann ein numerisches oder ein alphanumerisches Literal sein. Wenn es numerisch ist, muss es ein ganzzahliger Wert von 0 bis 65535 sein. Wenn es alphanumerisch ist, muss es mit einem Buchstaben beginnen und aus Buchstaben und Zahlen bestehen. Bei alphanumerischen Beschriftungen wird die Groß-/Kleinschreibung nicht beachtet. Der Dateispezifikationsparameter muss immer als Zeichenfolgenliteral ausgedrückt werden, das den Speicherort der Ressourcendaten angibt.

Wenn der Pfad einer Ressourcendatei nicht angegeben ist, sucht der Compiler im Standardverzeichnis.

Bei den meisten Programmiersprachen ist das Erstellen und Einbetten von Ressourcendaten ein umständlicher Prozess. Zuerst erstellen Sie mit einem Texteditor ein Ressourcenskript (eine .RC-Datei). Anschließend speichern Sie die .RC-Datei. Kompilieren Sie nun die .RC-Datei mit einem Ressourcen-Compiler, um eine .RES-Datei zu erhalten. Als nächstes konvertieren Sie es mit CVTRES.EXE von Microsoft oder einem anderen Konverterprogramm wie PBRES.EXE in eine verknüpfbare Datei. Schließlich verknüpfen Sie es mit einem Compiler oder Linkerprogramm in Ihre .EXE- oder .DLL-Datei. Was ist, wenn Sie feststellen, dass Sie eine kleine Änderung vornehmen müssen? Machen Sie alles noch einmal von Anfang an. Auch ältere Versionen von PowerBASIC litten unter diesem Problem.

Gibt es nicht einen besseren Weg? Ja, PowerBASIC wickelt jetzt den gesamten Prozess in einer einzigen Codezeile ab. Benötigen Sie eine eingebettete Bitmap?

#RESOURCE BITMAP, 123, „MyPicture.BMP“

PowerBASIC findet Ihre Bitmap in der Datei MyPicture.BMP und bettet sie in Ihre ausführbare Datei ein. Wenn Sie es verwenden müssen, können Sie es anhand der von Ihnen gewählten ID (123) referenzieren. Die ID kann ein ganzzahliger numerischer Wert oder ein Textname Ihrer Wahl sein. Um die Bitmap in einem Grafikfenster anzuzeigen, gehen Sie wie folgt vor:

GRAFIK-Render „#123“, (100.100)–(160.140)

String-Ressourcen

Die String-Ressource enthält String-Daten, die immer als Wide-Unicode-Zeichen erstellt und gespeichert werden. Es wird zur Laufzeit mit der Funktion RESOURCE$ abgerufen. Aufgrund der Art und Weise, wie Windows Zeichenfolgenressourcen in einer Zeichenfolgentabelle speichert, muss die ResID numerisch sein.

Die Zeichenfolgendaten müssen zwischen 1 und 127 Zeichen lang sein und dürfen keine eingebetteten Nullen (CHR$ (0)) enthalten. Die Zeichenfolgendaten können als Wide-String-Literal in Anführungszeichen („MyText“$$) oder als Wide-String-Literal-Ausdruck angegeben werden. Ein String-Literal-Ausdruck kann aus Kombinationen von breiten String-Gleichungen oder String-Literalen in breiten Anführungszeichen, der CHR$-Funktion, der SPACE$-Funktion und der STRING$-Funktion bei Verwendung mit numerischen Parametern erstellt werden.

VersionInfo-Ressourcen

Die VersionInfo-Ressource enthält Informationen über die Datei, wie z. B. ihre Versionsnummer, ihr vorgesehenes Betriebssystem, ihren ursprünglichen Dateinamen und vieles mehr. Diese Ressource soll mit den Versionsinformations-API-Funktionen verwendet werden, damit Windows Explorer und andere Programme die relevanten Informationen zu Ihrer EXE-Datei anzeigen können. In PBXB64-nativen Static-Library-Workflows duerfen unterstuetzte #RESOURCE-Eintraege in einer #COMPILE SLL-Quelle stehen und werden in den finalen Host-Link uebernommen, der die SLL verwendet.

Die VersionInfo-Ressource ist insofern einzigartig, als sie mehrere #RESOURCE-Metaanweisungen erfordert, die als vollständiger Block interpretiert werden. Sie müssen in der richtigen Reihenfolge hintereinander platziert werden, um korrekt verarbeitet zu werden.

#RESSOURCE VERSIONINFO

#RESSOURCE FILEFLAGS FlagValue&

#RESSOURCE FILEVERSION HiNum1& , LoNum1& , HiNum2& , LoNum2&

#RESOURCE PRODUCTVERSION HiNum1& , LoNum1& , HiNum2& , LoNum2&

#RESOURCE STRINGINFO " LangID ", " CharSet "

#RESSOURCE-VERSION$ „Kommentare“, „Zusätzliche Informationen“

#RESSOURCE-VERSION$ „Firmenname“, „PowerBASIC Inc.“

#RESSOURCE-VERSION$ „FileDescription“, „Präsentiert für Benutzer“

#RESSOURCE VERSION$ „FileVersion“, „Readable VerNum 1.02“

#RESSOURCE-VERSION$ „InternalName“, „Privat“

#RESSOURCE-VERSION$ „LegalCopyright“, „Copyright 2012 PB Inc.“

#RESSOURCE-VERSION$ „LegalTrademarks“, „xx ist ein...“

#RESOURCE VERSION$ „OriginalFilename“, „Originalname ohne Pfad“

#RESSOURCE-VERSION$ „PrivateBuild“, „Private Info“

#RESSOURCE VERSION$ „Produktname“, „Produkt verteilt mit“

#RESSOURCE VERSION$ „ProductVersion“, „Version verteilt mit“

#RESOURCE VERSION$ " SpecialBuild ", " Spezielle Informationen "

DATEIFLAGEN

FlagValue&

Beschreibung

%VS_FF_DEBUG

Die Datei enthält Debugging-Informationen oder wurde mit aktivierten Debugging-Funktionen kompiliert.

%VS_FF_PATCHED

Die Datei wurde geändert und ist nicht identisch mit der ursprünglichen Versanddatei mit derselben Versionsnummer.

%VS_FF_PRERELEASE

Bei der Datei handelt es sich um eine Entwicklungsversion, nicht um ein kommerziell veröffentlichtes Produkt.

%VS_FF_PRIVATEBUILD

Die Datei wurde nicht mit Standard-Freigabeverfahren erstellt. Wenn dieser Wert angegeben wird, müssen Sie ein PrivateBuild-Zeichenfolgenelement einschließen.

%VS_FF_SPECIALBUILD

Die Datei wurde vom ursprünglichen Unternehmen unter Verwendung von Standard-Veröffentlichungsverfahren erstellt, ist jedoch eine Variation der Standarddatei mit derselben Versionsnummer. Wenn dieser Wert angegeben wird, müssen Sie ein SpecialBuild-Zeichenfolgenelement einschließen.

STRINGINFO

LangID

Sprache

LangID

Sprache

&H0401

Arabisch

&H0415

Polnisch

&H0402

Bulgarisch

&H0416

Portugiesisch (Brasilien)

&H0403

Katalanisch

&H0417

Rätoromanisch

&H0404

Traditionelles Chinesisch

&H0418

Rumänisch

&H0405

&H0419

Russisch

&H0406

Dänisch

&H041A

Kroato-Serbisch (Latein)

&H0407

Deutsch

&H041B

Slowakisch

&H0408

&H041C

Albanisch

&H0409

US-Englisch

&H041D

Schwedisch

&H040A

Kastilisches Spanisch

&H041E

&H040B

Finnisch

&H041F

Türkisch

&H040C

Französisch

&H0420

&H040D

Hebräisch

&H0421

Bahasa

&H040E

Ungarisch

&H0804

Vereinfachtes Chinesisch

&H040F

Isländisch

&H0807

Schweizerdeutsch

&H0410

Italienisch

&H0809

Britisches Englisch

&H0411

Japanisch

&H080A

Spanisch (Mexiko)

&H0412

Koreanisch

&H080C

Belgisches Französisch

&H0413

&H0816

Portugiesisch (Portugal)

&H0414

Norwegisch - Bokmal

&H081A

Serbokroatisch (Kyrillisch)

&H0810

Schweizer Italiener

&H0C0C

Kanadisches Französisch

&H0813

Belgisches Niederländisch

&H100C

Schweizer Französisch

&H0814

Norwegisch - Nynorsk

STRINGINFO

CharSet

Zeichensatz

&H0000

7-Bit-ASCII

&H03A4

Japan (Umschalt – JIS X-0208)

&H03B5

Korea (Schicht – KSC 5601)

&H03B6

Taiwan (Big5)

&H04B0

Unicode

&H04E2

Latein-2 (Osteuropäisch)

&H04E3

Kyrillisch

&H04E4

Mehrsprachig

&H04E5

&H04E6

Türkisch

&H04E7

Hebräisch

&H04E8

Arabisch

RES/PBR-Ressourcen

Die zweite Gruppe von Syntaxbeispielen zeigt, wie Sie Ressourcen einbetten können, die mit einem Ressourcen-Compiler vorkompiliert wurden. Standardressourcen-Compiler geben eine binäre Ressource mit der Erweiterung .RES aus. PowerBASIC bettet diese Ressource genau so ein, wie sie in der Datei angegeben ist. Dieses Formular wird immer unterstützt, um Ressourcenformulare zu unterstützen, die für die meisten PowerBASIC-Programme normalerweise nicht benötigt werden oder normalerweise die Verwendung eines Ressourceneditors erfordern.

PBXB64 akzeptiert eine .res-Datei auch als zusätzliche Compiler-Eingabe auf der Kommandozeile. In dieser Form benötigt der BASIC-Quelltext keine #RESOURCE-Zeile; das Ressourcenobjekt wird direkt mit der erzeugten EXE verlinkt.

Das letzte Beispiel mit einer .PBR-Datei ist die Legacy-Form des PowerBASIC-PBRES-Dienstprogramms. PBXB64 akzeptiert explizites #RESOURCE PBR, "file.pbr" als Durchreichung vorkompilierter Ressourcen zur Kompatibilitaet. Fuer neuen Code ist #RESOURCE RES, "file.res" vorzuziehen.

Ressourcen zur Laufzeit abrufen

Verwenden Sie RESSOURCE$, um RCDATA- und STRING-Ressourcen zu lesen. Mit RESOURCE SAVE FILE können eingebettete BITMAP-, ICON-, CURSOR-, MANIFEST-, FILE-, WAVE-, TYPELIB- oder RCDATA-Ressourcen auf die Festplatte geschrieben werden. #RESOURCE FILE wird als binaere Nutzlast gespeichert, die mit dem Ressourcentyp RCDATA kompatibel ist. #RESOURCE WAVE und #RESOURCE TYPELIB werden als benannte binaere Ressourcentypen gespeichert.

Einschränkungen

Windows 95, 98 und ME bieten eingeschränkte Unterstützung für Ressourcen. Beim Kompilieren auf einer dieser Windows-Versionen dürfen nur #RESOURCE RES und #RESOURCE PBR verwendet werden. Andere Formen der #RESOURCE-Metaanweisung sind nicht funktionsfähig.

Fuer beste Kompatibilitaet mit aelteren PowerBASIC-Projekten sollten Legacy-RES- und PBR-Ressourcen von handgeschriebenen Inline-Ressourcen getrennt bleiben, sofern Ressourcen-IDs und -Typen nicht sicher kollisionsfrei sind.

Getestetes Beispiel

Beispieldateien: tests/pb/test_resource_inline.pb, tests/pb/test_resource_res.pb, tests/pb/test_resource_cli_res.pb

Validierungsnachweis: tests/validate.toml enthaelt die pb_linkrun-Tests test_resource_inline, test_resource_res, test_resource_pbr, test_resource_cli_res, test_resource_manifest, test_resource_file, test_resource_wave und test_resource_typelib mit erwartetem Exit-Code 0. Der CLI-Test uebergibt tests/pb/fixtures/test_res.res als zusaetzliche Compiler-Eingabe.

RESOURCE SAVE FILE "RCDATA", 4, "out_res_dat.tmp"

PBXB64-Status: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • RESOURCE$
  • Was ist eine Ressourcendatei?
  • Hilfe zum PBXB64-Compiler


#STACK - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#STACK

Setzen Sie die maximale Stack-Groesse fuer die erzeugte EXE.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#STACK num_expr

Beschreibung

Setzen Sie die maximale Stack-Groesse fuer die erzeugte EXE.

Kind: Directive | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Der numerische Ausdruck wird in Bytes angegeben und auf die naechste 64-KiB-Grenze aufgerundet. Die kleinste unterstuetzte Stack-Groesse betraegt 128 KiB, und 1 MiB ist fuer viele Programme eine brauchbare Vorgabe.

Beim Programmstart reserviert die Runtime die angeforderte Obergrenze fuer das Image und committed Seiten nur bei Bedarf. Verwenden Sie einen groesseren Wert nur dann, wenn das Programm ihn wirklich fuer Rekursion, grosse lokale Felder oder stacklastige Hilfsketten braucht.

Assembler-Integration

#STACK ist eine Compiler-Richtlinie und keine Inline-Assembler-Anweisung. Sie veraendert nicht die erzeugten Instruktionen, aber sie beeinflusst das verfuegbare Stack-Budget fuer assemblerlastige Routinen, tiefe Rekursion und Code mit grossen lokalen Daten. Beachten Sie bei stacksensitiven Beispielen weiterhin die x64-Aufrufkonvention und die 16-Byte-Stack-Ausrichtung.

Prüfung

Pruefen Sie die Richtlinie mit einem kleinen Programm, das die angeforderte Tiefe oder lokale Speicherung nutzt und dann einen bekannten Exitcode liefert. Wenn Sie die PE-Metadaten direkt bestaetigen muessen, vergleichen Sie nach dem Build die Stack-Reservierung im erzeugten Image mit dem angeforderten Wert.

Migrationshinweise

Aeltere 32-Bit-PowerBASIC-Beispiele gehen oft von anderen Vorgaben oder geringerem Stack-Druck aus. Pruefen Sie beim Portieren die Rekursionstiefe, grosse automatische Felder und jeden Code, der 32-Bit-Annahmen ueber die Stack-Groesse macht.

Praktische Verwendung

Platzieren Sie #STACK nahe am Anfang der Quelldatei, damit der Compiler die angeforderte Grenze auf die erzeugte EXE anwenden kann. Der einzelne Ausdruck waehlt die maximale Stack-Reservierung in Bytes, und die Richtlinie liefert keinen Rueckgabewert.

Parameter und Ergebnisse

Der Wert wird auf die naechste 64-KiB-Grenze aufgerundet und darf nicht unter 128 KiB liegen. PBXB64 committed zur Laufzeit nur so viel Speicher wie benoetigt wird, aber die Reservierung bleibt wichtig fuer verschachtelte Aufrufe und grosse automatische Daten.

Validierungsbeleg

Validierungsbeleg: Es ist keine eigene Stack-Regression im aktuellen Hilfebaum registriert. Das Beispiel unten ist eine kopierbare Vorlage, die die erwartete Compilerform und die beabsichtigte Laufzeitverwendung der Richtlinie dokumentiert.

Test- und Dokumentationshinweise

Wenn Sie eine endgueltige Bestaetigung brauchen, dokumentieren Sie die erwartete Stack-Reservierung, den Build-Befehl und den Exitcode oder Pruefschritt direkt neben dem Beispiel. Halten Sie auf der Seite klar fest, dass die Richtlinie nur zur Compile-Zeit wirkt.


#TOOLS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#TOOLS

Aktivieren oder deaktivieren Sie den Code des integrierten Entwicklungstools im kompilierten Code.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#TOOLS [ON|+ | OFF|-]

Beschreibung

Aktivieren oder deaktivieren Sie den Code des integrierten Entwicklungstools im kompilierten Code.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit der Metaanweisung #TOOLS können integrierte Entwicklungstools wie TRACE und PROFILE einfach deaktiviert werden, um sicherzustellen, dass zusätzlicher Code und Daten nicht in die endgültige (Verteilungs-)Version einer Anwendung kompiliert werden. #TOOLS ist standardmäßig auf ON eingestellt und darf nur einmal im Quellcode vorkommen, vor jeder Anweisung, die ausführbaren Code generiert.

Im aktuellen PBXB64-Bereich unterdrückt #TOOLS OFF die getesteten TRACE- und PROFILE-Absenkungspfade. Die fokussierte Regression tests/pb/test_tools_off_trace.pb prueft, dass bei unter #TOOLS OFF kompilierten TRACE-Anweisungen keine Trace-Datei erzeugt wird.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • CALLSTK$
  • CALLSTKCOUNT
  • FUNCNAME$
  • PROFIL
  • TRACE
  • Hilfe zum PBXB64-Compiler


#UNIQUE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#UNIQUE

Geben Sie an, ob es eindeutig ist

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#UNIQUE VAR [ON|OFF]

Beschreibung

Geben Sie an, ob es eindeutig ist

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Standardmäßig (#UNIQUE VAR OFF) ist es möglich, denselben Namen für mehr als eine Variable in Ihrem Programm zu verwenden. Beispielsweise könnten Sie abc%, abc# und abc$ in derselben Funktion verwenden und dabei die durch das Typ-ID-Zeichen definierte Standardtypisierung verwenden. Sie könnten sogar eine lokale Variable namens „counters“ und eine globale Variable namens „counters“ erstellen.

Wenn Sie also in Ihrem Programm auf einen Variablennamen verweisen, welche Variable wird dann tatsächlich verwendet? Abhängig vom Speicherort der Referenz wählt der Compiler die Variable mit dem kleinsten Gültigkeitsbereich. Die Priorität der Variablenbereiche ist:

1- Lokal oder Statisch

2- Instanz

3- Global oder Threaded

Wenn #UNIQUE VAR AUS ist, versucht PowerBASIC zunächst, einen LOCAL oder STATIC zu finden. Als nächstes ein INSTANCE und schließlich ein GLOBAL oder THREADED . Es wählt das erste in dieser Reihenfolge aus, das es findet. Natürlich können Sie für LOCAL und STATIC nicht denselben Namen verwenden, es sei denn, Sie verwenden ein Typ-ID-Zeichen, um sie zu unterscheiden. Sie können niemals denselben Namen für ein GLOBAL und ein THREADED verwenden, da es sonst unmöglich wäre, sie voneinander zu unterscheiden. Dies bietet zwar die größte Flexibilität, kann jedoch verwirrend sein und zur Entstehung heimtückischer, schwer zu findender Fehler in Ihrem Programm führen. Wenn Sie versehentlich auf die falsche Variable verweisen, können die Ergebnisse katastrophal sein. Wenn #UNIQUE VAR aktiviert ist, verlangt PowerBASIC, dass alle Variablennamen eindeutig sind. Dies kann Ihre Arbeit erheblich erleichtern, da die Mehrdeutigkeit beseitigt wird, die bei der Wiederverwendung von Bezeichnern auftritt. Es gibt einige Ausnahmen von der Eindeutigkeitsregel, die die Lesbarkeit Ihres Codes verbessern sollen:

1- Lokale, statische und Parameternamen können in anderen Subs, Funktionen und Methoden wiederverwendet werden.

2- Instanznamen können in anderen Klassen wiederverwendet werden.

3- Skalar- und Array-Namen können nebeneinander existieren, wenn sie denselben Datentyp und denselben Umfang haben.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • DEFBYT
  • GLOBAL ? PBXB64-Compiler-Hilfe
  • LOCAL � PBXB64-Compiler-Hilfe
  • REDIM ? PBXB64-Compiler-Hilfe
  • STATIC ? PBXB64-Compiler-Hilfe
  • OPTION EXPLICIT
  • Hilfe zum PBXB64-Compiler


#UTILITY - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

#UTILITY

Compiler-Anweisung, um externen Dienstprogrammen das Lesen von in der #UTILITY-Zeile eingef&uuml;gtem Text zu erm&ouml;glichen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#UTILITY "any text for an external program"

Beschreibung

Compiler-Anweisung, um externen Dienstprogrammen das Lesen von in der #UTILITY-Zeile eingefügtem Text zu ermöglichen.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


%DEF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

%DEF

Bestimmen Sie, ob ein Gleichwertig ist

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

%DEF({ %numeric_equate | $string_equate })

Beschreibung

Bestimmen Sie, ob ein Gleichwertig ist

Typ:Betreiber |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der %DEF-Operator testet, ob ein Equate definiert wurde oder nicht. Wenn das Equate definiert wurde, gibt %DEF TRUE (ungleich Null) zurück. oder FALSE (Null), wenn es nicht definiert wurde.

PowerBASIC definiert automatisch die Equates in der folgenden Tabelle entsprechend dem verwendeten PowerBASIC-Compiler. Bitte beachten Sie, dass die Verweise auf andere PowerBASIC-Compiler für diejenigen enthalten sind, die Programme schreiben, die möglicherweise von mehr als einem PowerBASIC-Compiler kompilierbar sind.

Gleichsetzen

Definition

%PB_CC32

In PB/CC für Windows als TRUE (ungleich Null) vordefiniert, in anderen Compilern jedoch nicht definiert.

%PB_DLL16

In PB/DLL 16-Bit als TRUE (ungleich Null) vordefiniert, in anderen Compilern jedoch nicht definiert.

%PB_DLL32

Synonym von %PB_WIN32

%PB_WIN32

In PB/Win 32-Bit als TRUE (ungleich Null) vordefiniert, in anderen Compilern jedoch nicht definiert.

%PB_REVISION

Vordefiniert als Hex-Revision (10.00 = &H1000).

%PB_REVLETTER

Vordefiniert als ASCII-Code des Revisionsbuchstabens (a = &H61) oder &H20, wenn kein Revisionsbuchstabe vorhanden ist.

%PB_EXE

Vordefiniert als TRUE (ungleich Null) beim Kompilieren in EXE oder als FALSE (Null) beim Kompilieren im DLL- (nur PB/Win) oder SLL-Format.

Das Äquator %PB_EXE ist in PowerBASIC immer definiert, daher wird %DEF(%PB_EXE) immer als TRUE ausgewertet. Der Unterschied ist der Wert, der dem Equate vom Compiler zugewiesen wird. Sehen Sie sich die Beispiele unten an.

Diese können in Verbindung mit #IF als Compiler-Direktive verwendet werden, um selektiv Code in die kompilierte Datei einzuschließen oder daraus auszuschließen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • #IF
  • Numerische Gleichungen
  • Built-in numeric equates
  • Zeichenfolge entspricht
  • Built-in string equates
  • Hilfe zum PBXB64-Compiler


%PB_COMPILETIME numerisches Gleichsetzen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

%PB_COMPILETIME numerisches Gleichsetzen

Hilft bei der Bestimmung des Datums/der Uhrzeit der Kompilierung.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Hilft bei der Bestimmung des Datums/der Uhrzeit der Kompilierung.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Jedes Mal, wenn Sie Ihr Programm kompilieren, wird dieses Equater mit dem aktuellen Datum und der aktuellen Uhrzeit der Kompilierung im PowerTime-Binärformat gefüllt. Mit der PowerTIME-Klasse können Sie es zur Verwendung in Ihrer Anwendung in ein Textäquivalent konvertieren.

Hilft bei der Bestimmung des Datums/der Uhrzeit der Kompilierung.

Jedes Mal, wenn Sie Ihr Programm kompilieren, wird dieses Equater mit dem aktuellen Datum und der aktuellen Uhrzeit der Kompilierung im PowerTime-Binärformat gefüllt. Mit der PowerTIME-Klasse können Sie es zur Verwendung in Ihrer Anwendung in ein Textäquivalent konvertieren.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


ACCEL ATTACH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ACCEL ATTACH

H&auml;ngen Sie eine Tabelle mit Tastaturbeschleunigern an a an

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ACCEL ATTACH hDlg , AccelTbl() TO hAccelHandle

Beschreibung

Hängen Sie eine Tabelle mit Tastaturbeschleunigern an a an

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit ACCEL ATTACH können Sie jedem DDT-Dialogfeld in Ihrer Anwendung eine Tabelle mit Tastendefinitionen anhängen.

Der Tastaturbeschleuniger selbst ist eine bestimmte Tastenkombination, die dazu führt, dass eine %WM_COMMAND- oder %WM_SYSCOMMAND-Nachricht in die Nachrichtenwarteschlange der Anwendung gestellt wird.

Tastaturbeschleuniger sind den Befehlsbeschleunigern sehr ähnlich und ermöglichen oft die gleichen Aktionsauswahlmöglichkeiten wie Menüs. Da Tastaturbeschleuniger direkt verwendet werden können, entfällt die Notwendigkeit, durch ein Menü zu navigieren, um eine bestimmte Aktion auszuführen.

In der Regel informieren Anwendungsmenüelemente Benutzer über verfügbare Tastaturbeschleuniger, sodass erfahrene Benutzer effizienter arbeiten können, ohne die eigentlichen Menüs zu verwenden, aber bei Bedarf trotzdem das Menü verwenden können. Das folgende Bild zeigt ein Menü mit Befehlsbeschleunigern und Tastaturbeschleunigern für Menüelemente (die Befehlsbeschleuniger sind unterstrichen):

Unter Windows XP und Windows 2000 müssen Sie möglicherweise die ALT-Taste drücken, bevor die Befehlsbeschleuniger sichtbar werden. Sie können in den Windows-Anzeigeeinstellungen festlegen, ob Befehlsbeschleuniger bei Verwendung der ALT-Taste oder ständig sichtbar sind.

Damit eine Befehlsbeschleunigung funktioniert, muss das jeweilige Menüelement sichtbar und aktiviert sein. Umgekehrt können Tastaturbeschleuniger verwendet werden, ohne dass das Menü geöffnet ist. Im obigen Beispiel führt die Tastenkombination STRG +

AccelTbl()

Um ACCEL ATTACH nutzen zu können, müssen Sie zunächst das Array AccelTbl() von ACCELAPI User-Defined Types (UDTs) erstellen. Diese ACCELAPI-Struktur ist eine 6-Byte-Struktur mit der folgenden Definition:

Geben Sie das Wort ACCELAPI ein

FVIRT AS BYTE ' Flags: Eines oder mehrere von %FVIRTKEY, %FSHIFT, %FALT und %FCONTROL

KEY AS WORD ' Schnelltaste: ASCII-Code oder virtueller Tastencode {%FVIRTKEY}

CMD AS WORD ' Beschleuniger-ID-Code wird in CB.CTL {LO(WORD, WPARAM)} übergeben

END-TYP

Sie müssen das Array der ACCELAPI-Typen selbst erstellen und es dann durch Ausführen einer ACCEL ATTACH-Anweisung an einen Dialog anhängen. Das Array darf keine leeren Elemente enthalten, daher muss die Größe genau sein.

.FVIRT

Die .FVIRT-Flags können wie folgt mit dem OR-Operator kombiniert werden, um die Aktionen der einzelnen Flags zu kombinieren:

Die ALT-Taste muss zusammen mit der Gaspedaltaste gedrückt werden.

%FCONTROL

Die STRG-Taste muss zusammen mit der Beschleunigungstaste gedrückt werden.

%FSHIFT

Die UMSCHALTTASTE muss zusammen mit der Gaspedaltaste gedrückt werden.

%FVIRTKEY

Das .KEY-Mitglied gibt einen virtuellen Schlüsselcode an. Wenn dieses Flag nicht angegeben ist, wird davon ausgegangen, dass das Schlüsselmitglied einen ASCII-Zeichencode angibt. %FVIRTKEY ermöglicht Definitionen von Tastenkombinationen ohne Berücksichtigung der Groß-/Kleinschreibung – der Capslock-Status wird ignoriert. Beispielsweise erzeugen ALT+A und ALT+a (wie durch die Feststelltaste bestimmt) dasselbe Zugriffstastenereignis. Wenn %FVIRTKEY nicht verwendet wird, würde die Tastenkombination ALT+A nicht ausgelöst, wenn die Feststelltaste inaktiv wäre.

Wenn das %FVIRTKEY-Flag im .FVIRT-Mitglied angegeben ist, enthält das .KEY-Feld den virtuellen Tastencode für die Zugriffstaste. Virtuelle Schlüsselgleichungen werden in der Datei WIN32API.INC definiert, beginnend mit dem Präfix %VK_.

Wenn %FVIRTKEY nicht angegeben ist, ist der Zugriffstastencode im .KEY-Mitglied der ASCII-Code der Zugriffstaste. In diesem Fall wird bei alphanumerischen Tastenanschlägen die Groß-/Kleinschreibung beachtet und der Status der Feststelltaste wird wichtig. Wenn beispielsweise ein Beschleuniger für ALT+A definiert wäre, würde dieser nur aktiviert, wenn die Feststelltaste aktiviert ist. Wenn umgekehrt ein Beschleuniger für ALT+a definiert wäre, wäre dieser nur aktiviert. Die Feststelltaste war ausgeschaltet.

Das .CMD-Mitglied sollte den benutzerdefinierten numerischen ID-Code des Beschleunigers enthalten. Wenn ein Beschleunigertastendruck erfolgt, wird eine WM_COMMAND-Nachricht an die Callback-Funktion des Dialogs gesendet, wobei die Beschleuniger-ID von der CB.CTL-Funktion zurückgegeben wird.

Es ist üblich, die ID eines Steuerelements zu verwenden, das durch einen Beschleuniger aktiviert werden soll. Für Beschleunigerbenachrichtigungscodes, die an die Rückruffunktion gesendet werden, ist CB.CTLMSG auf 1 gesetzt (im Gegensatz zu Meldungen zu Schaltflächenklickereignissen, bei denen CB.CTLMSG = %BN_CLICKED).

Das Handle des Dialogfelds, an das die Beschleunigertabelle angehängt werden soll.

AccelHandle

Doppelwort- oder Long-Integer-Variable, in der das Handle der angehängten Beschleunigertabelle gespeichert wird, oder Null, wenn der Anhängevorgang nicht erfolgreich war.

Einschränkungen

Wenn eine vorherige Tabelle an den Zieldialog angehängt wurde, wird die Tabelle automatisch zerstört, wenn an ihrer Stelle die neue Tabelle angehängt wird. Auch die Beschleunigertabelle wird beim Schließen des Dialogs automatisch zerstört.

Sie können die aktuelle Beschleunigertabelle zerstören, indem Sie ACCEL ATTACH mit einem Array ausführen, das nicht dimensioniert ist. Es gibt jedoch kaum oder gar keinen Grund, diese Aktion jemals auszuführen.

Beschleunigertabellen können nur dann ordnungsgemäß ausgeführt werden, wenn sie in demselben Modul erstellt werden, das auch den Dialog erstellt, an den jede Tabelle angehängt ist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIALOG NEU
  • MENÜ STRING HINZUFÜGEN
  • MENU ATTACH
  • Hilfe zum PBXB64-Compiler


ACODE$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ACODE$

&Uuml;bersetzt

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

a$ = ACODE$( UnicodeStrExpression [, CodePage& ])

Beschreibung

Übersetzt

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Version von PowerBASIC führt alle Konvertierungen zwischen ANSI-Strings und UNICODE-Strings automatisch durch. Zum Beispiel:

MyAnsiString$ = MyWideString$$

In diesem Fall werden die Breitzeichen beim Speichern in MyAnsiString$ transparent in Byte-Zeichen umgewandelt. Sie sollten hier keine ACODE$-Funktion einfügen. Die einfache Tatsache, dass die Variablen unterschiedlichen Typs sind (ANSI/WIDE), führt dazu, dass der Compiler alle Konvertierungen für Sie durchführt, wann immer sie benötigt werden.

Natürlich war diese automatische Konvertierung in früheren Versionen des Compilers nicht verfügbar. In der Vergangenheit wurden keine WIDE-UNICODE-Variablen angeboten, daher war es notwendig, breite Zeichen in Standard-Byte-Strings zu erzwingen, wenn UNICODE benötigt wurde. Die Funktionen ACODE$ und UCODE$ werden ausschließlich zu diesem Zweck verwendet: zur Unterstützung älterer Programme, die Zeichenfolgen auf diese Weise berechnet haben.

Neue PowerBASIC-Programme und Updates Ihrer älteren PowerBASIC-Programme sollten die neuen WIDE UNICODE-Variablen verwenden, die jetzt verfügbar sind.

ACODE$ geht davon aus, dass die UnicodeStrExpression WIDE UNICODE-Zeichen enthält, die in einer ANSI-Bytezeichenfolge gespeichert sind. Es wandelt sie in ANSI-Byte-Zeichen um und gibt sie als ANSI-String zurück. Um eine ANSI-Bytezeichenfolge in eine UNICODE-Bytezeichenfolge umzuwandeln, verwenden Sie die Funktion UCODE$.

Wenn der optionale Parameter CodePage& vorhanden ist, stellt er die Codepage dar, die für den Konvertierungsprozess verwendet werden soll. Wenn nicht angegeben, wird die Standardcodepage für das Gebietsschema des ausführenden Computers verwendet.

Unicode-Zeichenfolgen erfordern zwei Bytes zur Darstellung eines Unicode-Zeichens, während ANSI-Zeichenfolgen (das native PowerBASIC-Zeichenfolgenformat) ein Byte zur Darstellung eines Zeichens verwenden. Daher gibt ACODE$ eine Zeichenfolge zurück, die halb so viele Bytes wie die Unicode-Zeichenfolge hat, aber die gleiche Anzahl an Zeichen darstellt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • UCODE$
  • UCODEPAGE
  • Hilfe zum PBXB64-Compiler


ACOS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ACOS

Gibt den Arkuskosinus eines Wertes im Bogenmass zurueck.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(ACOS(0.0) - 1.5707963268) > 0.0001 THEN FUNCTION = 1

Beschreibung

Gibt den Arkuskosinus eines Wertes im Bogenmass zurueck.

Syntax: y = ACOS( n )

Semantik

Fuer -1 <= n <= 1 liefert ACOS den Hauptring in [0, pi] mit COS(y)=n. Werte ausserhalb des reellen Bereichs folgen dem ungueltigen Gleitkommaergebnis.

Datentypen

Normale numerische PB-Typen sowie alle INT/UINT128/256/512-Typen, UNL und UNF werden akzeptiert. Das Ergebnis ist DOUBLE.


ACOSH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ACOSH

Gibt den inversen hyperbolischen Kosinus zurueck.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(ACOSH(2.0) - 1.3169578969) > 0.0001 THEN FUNCTION = 1

Beschreibung

Gibt den inversen hyperbolischen Kosinus zurueck.

Syntax: y = ACOSH( n )

Semantik

Der reelle Bereich ist n >= 1. ACOSH liefert den nichtnegativen Wert mit COSH(y)=n. Ungueltige Werte folgen dem Gleitkommaergebnis.

Datentypen

Normale numerische PB-Typen sowie Wide-Integer, UNL und UNF werden akzeptiert. Ergebnis: DOUBLE.


ACOT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ACOT

Gibt den Hauptwert des Arkuskotangens im Bogenmass zurueck.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(ACOT(1.0) - 0.7853981634) > 0.0001 THEN FUNCTION = 1

Beschreibung

Gibt den Hauptwert des Arkuskotangens im Bogenmass zurueck.

Syntax: y = ACOT( n )

Semantik

ACOT(n) verwendet die Konvention mit positivem y und ist aequivalent zu ATN2(1,n). Das Ergebnis liegt in (0, pi); ACOT(1)=pi/4.

Datentypen

Normale numerische Typen, Wide-Integer, UNL und UNF werden akzeptiert. Ergebnis: DOUBLE.


ACSC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ACSC

Gibt den Arkuskosekans im Bogenmass zurueck.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(ACSC(2.0) - 0.5235987756) > 0.0001 THEN FUNCTION = 1

Beschreibung

Gibt den Arkuskosekans im Bogenmass zurueck.

Syntax: y = ACSC( n )

Semantik

ACSC(n) ist ASIN(1/n). Der reelle Bereich ist |n| >= 1; Null ist ausgeschlossen. Das Hauptergebnis liegt in [-pi/2, pi/2].

Datentypen

Alle normalen numerischen PB-Typen sowie die 128/256/512-Bit-, UNL- und UNF-Familien werden akzeptiert. Ergebnis: DOUBLE.


Add-on-Bibliotheken, Dienstprogramme und Tools " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Add-on-Bibliotheken, Dienstprogramme und Tools " PBXB64-Compiler-Hilfe

PBXB64 wird mit einer eigenst&auml;ndigen Laufzeit, einer nativen Containerbibliothek und einer Reihe von Build-/Bereitstellungshilfen geliefert. Alles, was zum Erstellen einer nativen ausf&uuml;hrbaren Windows x64-Datei erforderlich ist, ist in der Compiler-Distribution enthalten.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 wird mit einer eigenständigen Laufzeit, einer nativen Containerbibliothek und einer Reihe von Build-/Bereitstellungshilfen geliefert. Alles, was zum Erstellen einer nativen ausführbaren Windows x64-Datei erforderlich ist, ist in der Compiler-Distribution enthalten.

Native Laufzeit

  • c_runtime_user.c“ Vom Benutzer verknüpfbare C-Helfer für Min/Max, RNG-Seeding, Konsoleneingabe, String-Padding und andere Laufzeitdienste.
  • Eingebaute Laufzeitunterstuetzung - gebuendelte Hilfslogik fuer Mathematik, Strings, Datei-E/A, Konsole und Prozessprioritaet.
  • Dynamisches Laden von Win32“ DISPLAY-, MENU-, FONT-, ACCEL- und Registry-Helfer werden geladencomdlg32.dll, shell32.dll, user32.dll, Undgdi32.dllzur Laufzeit.

Native H-Lib-Containerbibliothek

23 Containerfamilien sind in C implementiert und als festplattengeladene COFF-Objekte verknüpft. Sie sind von BASIC über die Method-Dispatch-Syntax und von C über zugänglichcore/include/c17/pbxb64/hlib.h.

  • Ãœbersicht über native H-Lib
  • Containerindex
  • Methodenreferenz
  • C-API-Referenz

Build- und Bereitstellungstools

  • core/Makefile.mingw“ Primäres MinGW-w64-Build-Rezept.
  • core/build_mingw64.bat“ Windows-Batch-Build-Wrapper.
  • tests/validate.py— Python-Validierungsgeschirr (parallele Spuren, Leckprüfung, Berichterstellung).
  • Release/tools/stage_website_files.ps1“ Staging-Release-Dateien für die Website-Bereitstellung.
  • Release/tools/upload_website.ps1— Laden Sie Release-Dateien über die SindByte MCP FTP-Bridge hoch.

Description

Overview page for bundled add-on libraries, utilities, and tool support. Treat each linked library page as the authority for exact compiler support and tested examples.

Validation Evidence

Validation evidence: Overview page; linked child pages carry concrete source and validation evidence.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Additional Source Code and Examples - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Additional Source Code and Examples

Additional source code, example files, and utilities can be found on the PowerBASIC web site. Click the following links to go to those web pages:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Additional source code, example files, and utilities can be found on the PowerBASIC web site. Click the following links to go to those web pages:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Add-on Libraries, Utilities and Tools

Back to command index


ADDR IMPORTIEREN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ADDR IMPORTIEREN

Eine Bibliothek laden oder freigeben (

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

IMPORT ADDR ProcName$ , LibName$ TO AddrVar& [, HndlVar& ]
IMPORT CLOSE LibHndl

Beschreibung

Eine Bibliothek laden oder freigeben (

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In den meisten Fällen werden Bibliotheken implizit automatisch geladen, wenn Sie eine IMPORT- oder LIB-Option in einer DECLARE-Anweisung auflisten. Dies ist zwar der einfachste Ansatz, kann jedoch zu einem schwerwiegenden Problem führen, wenn die DLL fehlt oder es sich um eine Version handelt, die nicht die benötigte Sub-/Funktionsdatei enthält. In diesem Fall schlägt Ihr Programm beim Start fehl und wird überhaupt nicht ausgeführt.

Mit IMPORT ADDR können Sie eine DLL explizit nach Namen laden, sodass Sie ein Problem ordnungsgemäß lösen können, wenn der Vorgang aus irgendeinem Grund fehlschlägt. Bei IMPORT ADDR gibt ProcName$ den Namen des SUB oder der Funktion an, auf die Sie zugreifen möchten, während LibName$ den Namen der DLL und deren Speicherort angibt. ProcName$ muss für alle alphabetischen Zeichen die richtige Groß-/Kleinschreibung verwenden, sonst schlägt es fehl. Wenn das Laden erfolgreich ist, wird die Adresse des Einstiegspunkts der Sub/Funktion der Variablen AddrVar& zugewiesen und das Handle der DLL wird der optionalen Variablen HndlVar& zugewiesen. Beide Variablen müssen Long Integers oder DWords sein. Sollte die Last aus irgendeinem Grund ausfallen, wird beiden der Wert Null (0) zugewiesen.

Nachdem die Bibliothek (DLL) erfolgreich geladen wurde, können Sie mit CALL DWORD AddrVar& auf die Sub/Funktion zugreifen.

Sobald Sie mit der Verwendung der Bibliothek fertig sind, können Sie sie freigeben und den verwendeten Speicher zurückgewinnen, indem Sie IMPORT CLOSE ausführen. Der Ausdruck LibHndl muss den Wert angeben, der beim Laden der DLL in HndlVar& zurückgegeben wurde. Wenn Sie keinen IMPORT CLOSE ausführen, wird die DLL automatisch freigegeben, wenn Ihr Programm beendet wird.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CALL DWORD
  • DECLARE ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


Adressierung und Zeiger - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Adressierung und Zeiger

Ein wichtiger Unterschied im Assembler ist der Unterschied zwischen der Adresse einer Variablen und dem Wert einer Variablen. Die Adresse einer Variablen gibt an, wo sie sich im Speicher befindet. der Wert einer Variablen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein wichtiger Unterschied im Assembler ist der Unterschied zwischen der Adresse einer Variablen und dem Wert einer Variablen. Die Adresse einer Variablen gibt an, wo sie sich im Speicher befindet. der Wert einer Variablen

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Dies ist die ADRESSE der Variablen im Speicher:

Dies ist der WERT an dieser Adresse:

Die in Assembler verwendete Methode zum Abrufen des Werts an einer Adresse ist eine Technik namens Dereferenzierung.

! MOV EAX, lpvar ; Adresse in EAX kopieren

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


ALLOCATE / REALLOCATE / FREE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ALLOCATE / REALLOCATE / FREE

Speicherbloecke aus dem Prozess-Heap anfordern, vergroessern/verkleinern und freigeben.

Kategorie: Allgemeine Referenz

Syntax

ptr = ALLOCATE(size)
ptr = REALLOCATE(size, ptr)
status = FREE(ptr)

Beschreibung

Speicherbloecke aus dem Prozess-Heap anfordern, vergroessern/verkleinern und freigeben.

Typ: Funktion | Kategorie: Memory & Pointers

PBXB64-Status: VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ALLOCATE reserviert einen Byte-Block aus dem aktuellen Prozess-Heap und gibt dessen Adresse als Integer-Pointerwert zurueck. PBXB64 senkt diese Form auf HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size) ab.

REALLOCATE aendert die Groesse eines Blocks, der vorher von ALLOCATE oder REALLOCATE geliefert wurde. Der zurueckgegebene Pointer kann sich vom alten Pointer unterscheiden und muss vom Programm gespeichert werden. PBXB64 senkt diese Form auf HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, ptr, size) ab.

FREE gibt einen Prozess-Heap-Block frei und liefert den PBXB64-Kompatibilitaets-Erfolgswert. Nach dem Freigeben darf ein Pointer nicht mehr gelesen, beschrieben, erneut vergroessert oder nochmals freigegeben werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Anhang C: Optimieren Ihres Codes - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Anhang C: Optimieren Ihres Codes - Hilfe zum PBXB64-Compiler

Tipps und Techniken zur Leistungsoptimierung.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Tipps und Techniken zur Leistungsoptimierung.

Typ:Konzeptionell |Kategorie:Optimierung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Überblick

Dieses Thema bietet Hintergrundinformationen und praktische Anleitungen. Eine detaillierte Syntax finden Sie auf den entsprechenden Befehlsseiten.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Hilfe zum PBXB64-Compiler


Anweisungstrennung - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Anweisungstrennung

Der Doppelpunkt ( : ) kann verwendet werden, um mehrere Anweisungen in einer einzelnen (logischen) Zeile des Quellcodes zu trennen. Zum Beispiel:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Doppelpunkt ( : ) kann verwendet werden, um mehrere Anweisungen in einer einzelnen (logischen) Zeile des Quellcodes zu trennen. Zum Beispiel:

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

FOR x& = 1 TO 10 : INCR y& : NEXT x&

ist direkt äquivalent zu:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ANY - Beliebigen Parametertyp akzeptieren - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ANY - Beliebigen Parametertyp akzeptieren

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

DECLARE SUB Api LIB "x" (BYVAL p AS ANY)

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Kompatibilitaetskeyword in Typ-Position fuer Deklarationen, die ein untypisiertes zeigergrosses Argument akzeptieren.

Praktische Verwendung

Verwenden Sie ANY nur in der gezeigten Kontrollfluss- oder Ausdrucksposition. Der Test sollte die komplette Umgebungsform enthalten, damit der Scanner und der Parser die Position korrekt erkennen.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Diese Keywords haben nur in ihren erkannten Sprachpositionen die beabsichtigte Bedeutung. Ausserhalb dieser Positionen sollte der Parser nicht stillschweigend eine andere Semantik annehmen.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ANZEIGEFARBE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ANZEIGEFARBE

Zeigt einen Farbauswahldialog an, um die Auswahl des Benutzers zur&uuml;ckzugeben.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DISPLAY COLOR [hParent], [xpos&], [ypos&] , firstcolor& , custcolors , flags& TO colorval&

Beschreibung

Zeigt einen Farbauswahldialog an, um die Auswahl des Benutzers zurückzugeben.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn Sie dem Benutzer die Möglichkeit bieten, benutzerdefinierte Farben zu erstellen, wird empfohlen, die UDT-Variable custcolors& unverändert beizubehalten. Es kann dann bei einem späteren Aufruf von DISPLAY COLOR erneut verwendet werden, wobei die benutzerdefinierten Farben des Benutzers intakt bleiben.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Built In RGB Color Equates
  • DISPLAY DURCHSUCHEN - Hilfe zum PBXB64-Compiler
  • ANZEIGESCHRIFTART
  • DISPLAY OPENFILE
  • DISPLAY SAVEFILE
  • RGB
  • Hilfe zum PBXB64-Compiler


ANZEIGESCHRIFTART - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ANZEIGESCHRIFTART

Zeigen Sie eine Schriftart an

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DISPLAY FONT [hParent], [xpos&], [ypos&], defname$ , defpoints& , defstyle& , flags & _
TO fontname$ , points& , style& [, colorval& , charset& ]

Beschreibung

Zeigen Sie eine Schriftart an

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CONTROL SET FONT
  • DIALOG-STANDARDSCHRIFTART
  • DISPLAY DURCHSUCHEN - Hilfe zum PBXB64-Compiler
  • ANZEIGEFARBE
  • DISPLAY OPENFILE
  • DISPLAY SAVEFILE
  • FONT END
  • SCHRIFTART NEU
  • GRAFIK-SET-SCHRIFTART
  • XPRINT SET FONT
  • Hilfe zum PBXB64-Compiler


Arithmetische Operatoren - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Arithmetische Operatoren - Hilfe zum PBXB64-Compiler

Arithmetische Operatoren f&uuml;hren normale mathematische Operationen aus. Einige dieser Operatoren verdienen eine Erkl&auml;rung. Der Backslash (\) steht f&uuml;r eine ganzzahlige Division. Integrale Division rundet ihren Operan ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Arithmetische Operatoren führen normale mathematische Operationen aus. Einige dieser Operatoren verdienen eine Erklärung. Der Backslash (\) steht für eine ganzzahlige Division. Integrale Division rundet ihren Operan ab

Typ:Betreiber |Kategorie:Betreiber

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Der Rest einer ganzzahligen Division kann mit dem MOD (Modulo)-Operator bestimmt werden (MOD gilt für alle numerischen Typen). MOD ähnelt der Ganzzahldivision, außer dass es den Rest der Division und nicht den Quotienten zurückgibt. Beispielsweise gibt 5 MOD 2 den Wert 1 zurück und 9 MOD 10 gibt den Wert 9 zurück.

Der ISTRUE-Operator gibt nur dann TRUE zurück, wenn sein Operand TRUE (ungleich Null) ist. ISTRUE gibt garantiert -1 als TRUE-Wert zurück, während die Operatoren jeden Wert ungleich Null zurückgeben können.

Der ISFALSE-Operator gibt nur dann TRUE zurück, wenn sein Operand FALSE (Null) ist. ISFALSE gibt garantiert -1 als TRUE-Wert zurück, wobei die Operatoren jeden Wert ungleich Null zurückgeben können.

PowerBASIC-Rechenoperatoren

Potenzoperator (^)

PBXB64 unterstuetzt den bestehenden ^-Operator fuer INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL. Bei festen Breiten wird mit einem nichtnegativen Exponenten modulo der Zielbreite gerechnet; UNL liefert einen UNL-Wert und unterstuetzt gemischte UNL/Wide-Integer-Basen oder -Exponenten. Negative Wide-Integer-Exponenten werden zur Compilezeit abgewiesen.

Nachweis: tests/pb/test_math_wide_unl.pb und tests/negative/test_wide_power_negative_exponent.pb sind in tests/validate.toml registriert.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


ARRAY ARRAYIX - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ARRAY ARRAYIX

Fuellt ein eindimensionales Integral-Array so, dass jedes Element seinem Array-Index entspricht.

Kategorie: Allgemeine Referenz

Syntax

ARRAY ARRAYIX MyArray()

Beschreibung

Fuellt ein eindimensionales Integral-Array so, dass jedes Element seinem Array-Index entspricht.

Typ: Anweisung | Kategorie: Arrays

PBXB64-Status: VERFUEGBAR fuer eindimensionale BYTE-, WORD-, DWORD-, INTEGER-, LONG- und QUAD-Arrays.

PBXB64-Pruefung: [KOMPILIERT/VERKNUEPFT/AUSGEFUEHRT]

Beschreibung

Die Anweisung schreibt den deklarierten Elementindex einschliesslich einer ungleich nullen oder negativen Untergrenze in jedes Element. Mehrdimensionale Arrays und nicht integrale Elementtypen werden mit einer Diagnose abgelehnt.

Validierung

tests/e2e/pb/test_array_arrayix.pb prueft ein festes LONG-Array und ein dynamisches BYTE-Array in den Make- und CMake-E2E-Lanes.

Siehe auch

  • ARRAYSHUFFLE()
  • ARRAYUNIQUE()
  • Hilfe zum PBXB64-Compiler


ARRAY ASSIGN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ARRAY ASSIGN

Erm&ouml;glichen die Zuweisung einer Reihe von Werten zu aufeinanderfolgenden Elementen eines

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ARRAY ASSIGN array() = param1 [, param2 ] [, ]

Beschreibung

Ermöglichen die Zuweisung einer Reihe von Werten zu aufeinanderfolgenden Elementen eines

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ARRAY ASSIGN ermöglicht die Zuweisung mehrerer Werte zu aufeinanderfolgenden Elementen eines Arrays. Die Zuweisung beginnt immer mit dem ersten Array-Element und wird nacheinander fortgesetzt, während die Elemente im Speicher erscheinen. Die zuzuweisenden Werte müssen mit dem Array-Typ übereinstimmen und können Literale, Variablen oder Ausdrücke sein. ARRAY ASSIGN kann nicht für ein Array von Schnittstellen verwendet werden.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Siehe auch

  • ARRAY DELETE
  • ARRAY INSERT
  • ARRAY-SCAN
  • ARRAY SORT
  • DIM ? PBXB64-Compiler-Hilfe
  • LBOUND
  • POWERARRAY-Objekt
  • REDIM ? PBXB64-Compiler-Hilfe
  • UBOUND
  • Hilfe zum PBXB64-Compiler


ARRAY DELETE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ARRAY DELETE

L&ouml;schen Sie ein einzelnes Element aus einem bestimmten Element

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ARRAY DELETE array ([ index ]) [FOR count ] [, expression ]

Beschreibung

Löschen Sie ein einzelnes Element aus einem bestimmten Element

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ARRAY DELETE löscht die am angegebenen Element im Array, einem n-dimensionalen Array, gespeicherten Daten. Sie können den Index des Elements angeben, dessen Daten gelöscht werden sollen, wie viele Elemente ( count ) automatisch um eine Position nach unten verschoben werden sollen und welchen Datenwert das letzte Element erhalten soll, nachdem die restlichen Elemente verschoben wurden ( expression ).

Alle diese Parameter sind optional. Wenn kein Index angegeben ist, werden die im Element am Anfang des Arrays gespeicherten Daten gelöscht. Wenn Ausdruck nicht vorhanden ist, enthält das letzte Element, aus dem die Daten verschoben werden, Null, wenn Array ein numerisches Array ist, oder eine leere Zeichenfolge, wenn Array ein String-Array ist. Wenn eine Verschiebungsanzahl angegeben ist und der Rest des Arrays verschoben wird, um das Element zu entfernen, werden nur die Anzahl der Elemente verschoben.

Standardmäßig verwirft ARRAY DELETE die Daten am Elementindex von array und verschiebt die Daten im entsprechenden Teil des Arrays, um das alte Element abzudecken:

DIMMEN SIE A(1 BIS 4) SO LANG

ARRAY LÖSCHEN A(2), 17&

macht A(2) = A(3) , A(3) = A(4) und A(4) = 17 . Der ursprüngliche Wert von A(1) bleibt bestehen. Verwenden Sie count, um einen Teil des Arrays vor der Verschiebung zu „schützen“:

DIMMEN SIE A(1 BIS 4) SO LANG

ARRAY DELETE A(2) FOR 2, 17&

macht A(2) = A(3) und A(3) = 17, weil Sie ihm gesagt haben, dass er nur 2 Elemente verschieben soll. Die ursprünglichen Werte von A(4) und A(1) bleiben erhalten.

DELETE mit mehrdimensionalen Arrays

count kann auch mit einem mehrdimensionalen Array (in linearer Spaltenreihenfolge gespeichert; siehe ARRAY SORT ) verwendet werden, um das Verschieben von Elementdaten von einer Dimension in eine andere Dimension zu verhindern und so die Organisation des Arrays beizubehalten. Zum Beispiel:

DIM A(0 TO 1,0 TO 1) ALS INTEGER

A(0,0)=0

A(1,0)=100

A(0,1)=200

A(1,1)=300

ARRAY DELETE A(0,0) FOR 2, 17 %

macht A(0,0) = 100 und A(1,0) = 17 . Die ursprünglichen Werte von A(0,1) und A(1,1) bleiben erhalten, da Sie es angewiesen haben, nur 2 Elemente zu verschieben. Ohne Zählung:

ARRAY DELETE A(0,0), 17 %

macht A(0,0) = 100 , A(1,0) = 200 , A(0,1) = 300 und A(1,1) = 17 . Der ursprüngliche Wert von A(0,0) geht verloren.

Einschränkungen

ARRAY DELETE kann nicht für Arrays innerhalb von UDT-Strukturen verwendet werden. ARRAY DELETE kann jedoch mit Arrays von UDT-Strukturen verwendet werden – behandeln Sie sie einfach so, als wären sie ein Array von Strings fester Länge.

Um ARRAY DELETE für ein eingebettetes UDT-Array zu verwenden, dimensionieren Sie mit DIM..AT ein reguläres Array (des gleichen Typs) direkt „über der Oberseite“ des UDT-Arrays und verwenden Sie ARRAY DELETE für dieses Array. Zum Beispiel:

TYP SalesType

Bestellnummer SO LANG

PartNumber(1 TO 20) AS STRING * 20

END-TYP

[Anweisungn]

DIM Sales AS SalesType

[Anweisungn]

DIM Temp(1 TO 20) AS STRING * 20 AT VARPTR(Sales.Partnumber(1))

ARRAY DELETE Temp(5), „string“

Temp() löschen

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Siehe auch

  • ARRAY ASSIGN
  • ARRAY INSERT
  • ARRAY-SCAN
  • ARRAY SORT
  • DIM ? PBXB64-Compiler-Hilfe
  • LBOUND
  • POWERARRAY-Objekt
  • REDIM ? PBXB64-Compiler-Hilfe
  • UBOUND
  • Hilfe zum PBXB64-Compiler


ARRAY INSERT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ARRAY INSERT

F&uuml;gen Sie ein einzelnes Element in ein bestimmtes Element ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ARRAY INSERT array ([ index ]) [FOR count ] [, expression ]

Beschreibung

Fügen Sie ein einzelnes Element in ein bestimmtes Element ein

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ARRAY INSERT fügt ein einzelnes Datenelement in array ein, ein n-dimensionales Array. Sie können den Index angeben, an dem die neuen Elementdaten eingefügt werden sollen, wie viele Elemente ( count ) um eine Position nach oben verschoben werden sollen, um Platz für die neuen Elementdaten zu schaffen, und welchen Datenwert das neue Element erhalten soll ( expression ).

Alle diese Parameter sind optional. Wenn kein Index angegeben ist, werden die Elementdaten am Anfang des Arrays eingefügt. Wenn Ausdruck nicht vorhanden ist, enthält das neue Element Null, wenn Array ein numerisches Array ist, oder eine leere Zeichenfolge, wenn Array ein String-Array ist.

Wenn eine Verschiebungsanzahl angegeben wird und der Rest des Arrays verschoben wird, um Platz für die neuen Elementdaten zu schaffen, werden nur die Anzahl der Elemente verschoben.

Standardmäßig verwirft ARRAY INSERT die Daten im letzten Element des Arrays und verschiebt dann den entsprechenden Teil des Arrays, um Platz für die neuen Elementdaten zu machen:

DIMMEN SIE A(1 BIS 4) SO LANG

ARRAY-EINSATZ A(2), 17

ergibt A(4) = A(3) , A(3) = A(2) und A(2) = 17 . Der ursprüngliche Wert von A(4) geht verloren, während der ursprüngliche Wert von A(1) bestehen bleibt. Verwenden Sie count, um einen Teil des Arrays vor der Verschiebung zu „schützen“:

DIMMEN SIE A(1 BIS 4) SO LANG

ARRAY-EINSATZ A(2) FOR 2, 17

macht A(3) = A(2) und A(2) = 17, weil Sie ihm gesagt haben, dass er nur 2 Elemente verschieben soll. Die ursprünglichen Werte von A(4) und A(1) bleiben erhalten.

INSERT mit mehrdimensionalen Arrays

count kann auch mit einem mehrdimensionalen Array (in linearer Spaltenreihenfolge gespeichert; siehe ARRAY SORT ) verwendet werden, um das Verschieben von Daten von einer Dimension in eine andere Dimension zu verhindern und so die Organisation des Arrays beizubehalten. Zum Beispiel:

DIM A(0 BIS 1,0 BIS 1) ALS EINZELN

A(0,0)=0

A(1,0)=100

A(0,1)=200

A(1,1)=300

ARRAY EINFÜGEN A(0,0) FOR 2, 17

macht A(0,0) = 17 und A(1,0) = 0 . Die ursprünglichen Werte von A(0,1) und A(1,1) bleiben erhalten, da Sie es angewiesen haben, nur 2 Elemente zu verschieben. Ohne Zählung:

ARRAY EINFÜGEN A(0,0), 17

macht A(0,0) = 17 , A(1,0) = 0 , A(0,1) = 100 und A(1,1) = 200 . Der ursprüngliche Wert von A(1,1) geht verloren.

Einschränkungen

ARRAY INSERT kann nicht für Arrays innerhalb von UDT-Strukturen oder für ein Array von Interfaces verwendet werden. ARRAY INSERT kann jedoch mit Arrays von UDT-Strukturen verwendet werden – behandeln Sie sie einfach so, als wären sie ein Array von Zeichenfolgen fester Länge.

Um ARRAY INSERT für ein eingebettetes UDT-Array zu verwenden, dimensionieren Sie mit DIM..AT ein reguläres Array (des gleichen Typs) direkt „über der Oberseite“ des UDT-Arrays und verwenden Sie ARRAY INSERT für dieses Array. Zum Beispiel:

TYP SalesType

Bestellnummer SO LANG

PartNumber(1 TO 20) AS STRING * 20

END-TYP

[Anweisungn]

DIM Sales AS SalesType

[Anweisungn]

DIM Temp(1 TO 20) AS STRING * 20 AT VARPTR(Sales.Partnumber(1))

ARRAY INSERT Temp(5), „string“

Temp() löschen

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Siehe auch

  • ARRAY ASSIGN
  • ARRAY DELETE
  • ARRAY-SCAN
  • ARRAY SORT
  • DIM ? PBXB64-Compiler-Hilfe
  • LBOUND
  • POWERARRAY-Objekt
  • REDIM ? PBXB64-Compiler-Hilfe
  • UBOUND
  • Hilfe zum PBXB64-Compiler


ARRAY SORT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ARRAY SORT

Sortieren Sie alles oder einen Teil davon

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ARRAY SORT darray ([ index ]) [FOR count ] [,TAGARRAY tarray() ] [,{ASCEND | DESCEND}]
ARRAY SORT dArray ([ index ]) [FOR count ] [,FROM startChar TO endChar ] [,COLLATE {UCASE |
cstring }] [,TAGARRAY tarray() ] [,{ASCEND | DESCEND}]
ARRAY SORT darray ([ index ]) [FOR count ] [,TAGARRAY tarray() ] ,CALL custfunc()

Beschreibung

Sortieren Sie alles oder einen Teil davon

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:TEILWEISE

PBXB64-Zertifizierung: [TEILWEISE: NUMERISCHE LANGE SORTIERUNGEN GETESTET]

Beschreibung

ARRAY SORT sortiert darray, ein n-dimensionales Array, ganz oder teilweise in aufsteigender oder absteigender Reihenfolge. tarray ist ein Tag-Along-Array, dessen Elemente beim Fortschreiten der Sortierung in der gleichen Reihenfolge wie die in Darray ausgetauscht werden (Sie könnten beispielsweise ein Array von Namen sortieren und ein Array entsprechender Adressen mit Tag-Alongs versehen). tarray muss mindestens so viele Elemente wie darray haben, da entsprechende Elemente von tarray während der Sortierung vertauscht werden.

PBXB64-Hinweis:Die zertifizierte TAGARRAY-Teilmenge deckt derzeit aufsteigende numerische LONG-Schlüsselarrays mit numerischen LONG-Tag-Arrays ab. String-Arrays, UDT-Arrays, benutzerdefinierte CALL-Komparatoren und DESCEND-Tag-Array-Sortierungen müssen noch zertifiziert werden.

Beachten Sie, dass tarray nicht vom gleichen Typ wie darray sein muss. Beispielsweise könnten Sie ein numerisches Array mit Kontonummern-Tags und ein String-Array mit Benutzernamen haben:

DIM-Benutzer$(100 BIS 500), AcctNum&(100 BIS 500)

ARRAY SORT Users$(), TAGARRAY AcctNum&()

Zusammen geben Index und Anzahl den Teil des Darrays an, der sortiert werden soll. index gibt das Element an, bei dem die Sortierung beginnen soll, während count die Anzahl der aufeinanderfolgenden Elemente angibt, die sortiert werden sollen. Wenn index weggelassen wird, beginnt die Sortierung beim ersten Element von darray . Wenn count weggelassen wird oder Null ist, wird das Array vom Elementindex bis zum letzten Element von darray sortiert. Wenn beide weggelassen werden, wird das gesamte Array sortiert:

DIM A&(1 BIS 99)

ARRAY SORT A&(5) 'sortiert Elemente 5..99 von A&

ARRAY SORT A&() FOR 10 'sortiert die Elemente 1..10 von A&

ARRAY SORT A&(9) FOR 20 'sortiert Elemente 9..28 von A&

ARRAY SORT A&() 'sortiert die Elemente 1..99 von A&

Numerische Arrays sortieren

Standardmäßig werden Arrays in aufsteigender Reihenfolge sortiert. Um in absteigender Reihenfolge zu sortieren, fügen Sie das Schlüsselwort DESCEND ein:

ARRAY SORT A&(), DESCEND ' absteigende Reihenfolge

ARRAY SORT A&(), ASCEND ' aufsteigende Reihenfolge

ARRAY SORT A&() ' aufsteigende Reihenfolge

String-Arrays sortieren

Beim Sortieren eines String-Arrays erfolgt die Sortierung standardmäßig in aufsteigender Reihenfolge. Zusätzlich zu DESCEND bietet ARRAY SORT die Optionen COLLATE UCASE und COLLATE string.

COLLATE UCASE behandelt bei der Sortierung alle Kleinbuchstaben als gleich ihren Großbuchstaben (die Elemente „Bob“ und „BOB“ würden beispielsweise als gleich betrachtet):

DIM A$(1 BIS 5)

A$(1) = „Bob“

A$(2) = „Jan“

A$(3) = „Linda“

A$(4) = „Ann“

A$(5) = „Jerry“

ARRAY SORT A$(), COLLATE UCASE, DESCEND

'sortiert A$() in absteigender Reihenfolge; Groß- und Kleinschreibung wird nicht beachtet

COLLATE cstring wird verwendet, um eine völlig neue Sortierreihenfolge anzugeben. Dies kann für verschiedene Zwecke verwendet werden, der offensichtlichste davon ist der Fall internationaler Zeichensätze. Die Sortierzeichenfolge cstring muss genau 256 Zeichen enthalten, eines für jeden der ASCII-Codes 0-255, in der Reihenfolge, in der sie sortiert würden (vom niedrigsten zum höchsten, wenn eine aufsteigende Sortierung für sie durchgeführt würde).

Jede Position in der Zeichenfolge stellt den ASCII-Code dieses Werts dar. Der Inhalt des Bytes an dieser Position teilt PowerBASIC das „Gewicht“ oder den Wichtigkeitsfaktor dieses bestimmten ASCII-Codes mit. Standardmäßig hat Position 0 eine Gewichtung von 0, Position 1 eine Gewichtung von 1 usw., sodass CHR$ (0) zuerst sortiert, CHR$(1) als nächstes usw. bis CHR$(255).

Angenommen, Sie möchten, dass das Sonderzeichen „?“ die gleiche Gewichtung wie das Standardzeichen „a“ hat. Es ist ganz einfach: Erstellen Sie eine Zeichenfolge mit 256 Zeichen, 0-255; Gehen Sie dann zur Position „?“ (ASCII-Code 132) und ändern Sie den Inhalt dieses Bytes so, dass er genau dem Code für „a“ (97) entspricht. Das folgende Codefragment erstellt eine solche Sortierzeichenfolge:

' Erstellen Sie eine 256-stellige Zeichenfolge:

FOR ix = 0 BIS 255

C$ = C$ + CHR$(ix)

MID$(C$, 132 + 1) = CHR$(97)

Wir fügen eins zum ASC-Wert für MID$ hinzu, da die Zeichenfolgenpositionen bei 1 und nicht bei 0 beginnen. Wir können auch die erweiterte CHR$-Funktion verwenden, um dieselbe Sortierzeichenfolge mit weniger Code zu erstellen:

C$ = CHR$(0 BIS 131, 97, 133 BIS 255)

Es ist sehr wichtig, sich an die Regel zum Erstellen einer Sortierfolge zu erinnern, da es leicht ist, intuitiv zu einer falschen Schlussfolgerung zu gelangen. Jede Position in der Zeichenfolge (1-256) stellt den ASCII-Code mit diesem Wert minus eins dar (CHR$(0) bis CHR$(255)). Der Inhalt des Bytes an dieser Position teilt der ARRAY SORT-Prozedur das neue „Gewicht“ oder den neuen Wichtigkeitsfaktor für diesen bestimmten Code mit. Dies ist genau die Technik, die vom 80x86-Assembler-Opcode XLAT verwendet wird.

Angenommen, Sie möchten, dass CHR$(0) ganz am Ende der Sequenz sortiert wird. Dazu würden Sie das Byte an Position 0+1 auf CHR$(255) und die Bytes an Position 0+2 bis 0+256 auf die Werte 0 bis 254 setzen. Die ASCII-Sequenz in der Sortierzeichenfolge würde wie folgt aussehen: 255,0,1,2,3,4 254. Mit der erweiterten Funktion CHR$ ist dies unkompliziert:

C$ = CHR$(255, 0 BIS 254)

Um Groß- und Kleinbuchstaben exakt gleich zu sortieren, setzen Sie einfach die Positionen 97 bis 122 (a-z) auf die Werte 65-90 (A-Z). Genau so wird COLLATE UCASE gehandhabt. Mit der durch dieses Verfahren in PowerBASIC implementierten Sortiermethode ist es möglich, dass zwei oder mehr ASCII-Codes das gleiche „Gewicht“ haben.

Wie bereits erwähnt, machen viele Programmierer einen häufigen, schwerwiegenden Fehler, indem sie intuitiv eine Sortierzeichenfolge erstellen, die lediglich eine Liste von ASCII-Codes in der Reihenfolge ist, in der sie sortieren möchten. Das heißt, sie erwarten, dass das Byte, das zuerst in der Zeichenfolge erscheint, zuerst sortiert wird, und das Byte, das als nächstes erscheint, als zweites sortiert wird, sodass eine Sortierzeichenfolge aus dem BASIC-Code erstellt wird:

CHR$(65) + CHR$(66) + CHR$(67) + ...

kann dazu führen, dass die Zeichen „ABC...“ zuerst sortiert werden. Diese Technik funktioniert niemals mit der ARRAY-Anweisung und muss sorgfältig vermieden werden. Wir beschreiben es hier nur, weil es ein häufiger Fehler ist. Obwohl es wohl intuitiver ist als die in PowerBASIC implementierte Technik, funktioniert es nicht, weil es nicht zulässt, dass zwei oder mehr ASCII-Codes das gleiche „Gewicht“ haben.

Der folgende Code erstellt eine Sortierzeichenfolge, die mit dem amerikanischen OEM-ASCII-Zeichensatz kompatibel ist. Für den schnellsten Vorgang sollte dieser Code nur einmal ausgeführt werden und die Sortierzeichenfolge sollte global gemacht werden.

GLOBAL cu AS STRING

FOR x = 0 BIS 255

cu = cu + CHR$(x)

MID$(cu, 97+1, 26) = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

MID$(cu, 129+1, 6) = "ueaaaa" ' ??????

MID$(cu, 136+1, 9) = "eeeiiiAAE" ' ????????

MID$(cu, 147+1, 8) = "ooouuyOU" ' ????????

MID$(cu, 161+1, 5) = "iounN" ' ??????

MID$(cu, 168+1, 1) = "?" ' ?

[Hier steht Ihr Code]

ARRAY SORT MyArray$(), COLLATE cu

Eine alternative Anordnung unter Verwendung der erweiterten CHR$-Funktion könnte wie folgt aussehen:

cu = CHR$(0 TO 96, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", _

123 BIS 128, „ueaaaa“, _ ' ??????

135, „eeeiiiAAE“, _ ' ????????

145 BIS 146, „ooouuyOU“, _ ' ????????

155 BIS 160, „iounN“, _ ' ??????

166 BIS 167, „?“, _ ' ?

169 BIS 255)

Beispielsweise würde die normale aufsteigende ASCII-Sortierreihenfolge durch eine Zeichenfolge beschrieben, die die ASCII-Codes 0 bis 255 in der folgenden Reihenfolge enthält:

C$ = CHR$(0 BIS 255)

ARRAY SORT A$(), COLLATE C$

Die normale absteigende ASCII-Sortierreihenfolge würde durch eine Sortierzeichenfolge beschrieben, die die Umkehrung des oben genannten enthält:

C$ = STRREVERSE$(CHR$(0 TO 255))

ARRAY SORT A$(), COLLATE C$

Die Zeichenfolge COLLATE kann auch mit der Option ASCEND oder DESCEND verwendet werden. Bei ASCEND erfolgt die Sortierung in der durch COLLATE string angegebenen Reihenfolge; DESCEND sortiert in umgekehrter Reihenfolge zu der durch COLLATE string angegebenen Reihenfolge:

ARRAY SORT A$(), COLLATE C$, DESCEND

Die Zeichenfolgenoption COLLATE dient als flexibles Mittel zum Festlegen der Sortierreihenfolge für Zeichenfolgen, die internationale Zeichen oder andere Sonderzeichen enthalten. Bitte beachten Sie, dass die Zeichen mit dem ASCII-Code über CHR$(127) in verschiedenen Ländern unterschiedliche Bedeutungen haben können. In den Beispielen wird davon ausgegangen, dass die standardmäßige amerikanische OEM-ASCII-Codepage verwendet wird.

Beim Sortieren eines String-Arrays werden bei Vergleichen normalerweise alle Zeichen jedes Elements des Arrays berücksichtigt. Um den Vergleich auf eine bestimmte Teilmenge von Zeichen zu beschränken, verwenden Sie FROM, um die startChar-Position anzugeben, und TO, um die endChar-Position anzugeben, die ARRAY SORT innerhalb jedes Array-Elements berücksichtigt. Sie könnten beispielsweise nach der Postleitzahl sortieren, die in den letzten 5 Zeichen einer 40-stelligen Adresszeichenfolge enthalten ist:

ARRAY SORT A$() ' sortiert alle Zeichen

ARRAY SORT A$(), FROM 36 TO 40 ' sortiert nur 36 - 40/p>

Durch die Verwendung der Schlüsselwörter FROM..TO wird es auch möglich, ein Array benutzerdefinierter Typen zu sortieren. In diesem Fall kann ARRAY SORT das Array so sortieren, als wäre es ein Array von Strings fester Länge.

Benutzerdefinierte Arrays sortieren:

In den meisten Fällen sollten die standardmäßigen numerischen und Zeichenfolgensortierungen Ihren Anforderungen sehr gut genügen. Bei komplexeren Daten ist es jedoch häufig erforderlich, Sortierungen nach mehreren Schlüsseln oder andere ungewöhnliche Datensequenzen zu erstellen. Im Allgemeinen wird eine Sortierung nach mehreren Schlüsseln verwendet, wenn Sie Daten basierend auf mehreren Abschnitten einer Zeichenfolge oder eines UDT ordnen möchten. Beispielsweise möchten Sie möglicherweise, dass die Kunden nach Namen geordnet werden. Im Falle doppelter Namen ordnen Sie jedoch jeden Satz Duplikate nach Postleitzahl. Mit der Option „Benutzerdefiniertes Array“ können Sie nach einer beliebigen Anzahl von Schlüsseln in jeder gewünschten Reihenfolge sortieren.

Ein benutzerdefiniertes Array kann aus benutzerdefinierten Typen, Zeichenfolgen fester Länge oder mit Nullen terminierten Zeichenfolgen bestehen. Mit einer benutzerdefinierten Array-Sortierung können Sie Ihre eigene einfache Funktion schreiben, um PowerBASIC die richtige Reihenfolge für zwei beliebige Array-Elemente mitzuteilen. Im folgenden Beispiel wird das Array MyType() basierend auf dem Code sortiert, den Sie in die vom Benutzer geschriebene Funktion namens MyFunc() schreiben.

ARRAY SORT MyType(), CALL MyFunc()

Während PowerBASIC die Sortierung durchläuft, ruft es jedes Mal, wenn es zwei Array-Elemente vergleichen muss, Ihre benutzerdefinierte Funktion (in diesem Fall MyFunc) auf, um die korrekte Reihenfolge der beiden Elemente zu bestimmen. Die von Ihnen geschriebene benutzerdefinierte Funktion muss immer genau zwei ByRef-Parameter mit genau demselben Datentyp wie das sortierte Array haben. Für nullterminierte Zeichenfolgen und FIELD-Zeichenfolgen müssen sie die Länge enthalten. Dies sind die beiden Variablen, die Sie vergleichen müssen, um die richtige Reihenfolge zu bestimmen. Ihre benutzerdefinierte Funktion muss eine lange Ganzzahl zurückgeben, um die richtige Reihenfolge anzugeben. Es gibt -1 zurück, wenn der erste Parameter vor dem zweiten Parameter stehen soll. Es gibt +1 zurück, wenn der zweite Parameter vor dem ersten stehen soll. Es gibt 0 zurück, wenn die Parameter gleich sind. Dies bietet dem PowerBASIC-Programmierer das ultimative Werkzeug für Sortierfunktionen. Sie können beliebig viele Schlüssel haben. Sie können aufsteigend, absteigend oder in einer anderen speziellen Reihenfolge sortieren. Die Bedingungen liegen jetzt vollständig unter Ihrer Kontrolle. Das folgende Beispiel zeigt, wie einfach es ist, eine Sortierung mit mehreren Schlüsseln zu erstellen, auch solche, die auf Nicht-String-Mitgliedern eines UDT basieren.

Geben Sie TheType ein

Nachname als String * 40

Vorname als String * 20

BalanceDue als Währung

Endtyp

[Anweisungn]

Dimmen Sie MyType(100) als TheType

[Anweisungn]

Array Sort MyType(), Call MyFunc()

[Anweisungn]

Funktion MyFunc(Param1 as TheType, Param2 as TheType) As Long

Wenn Param1.LastName < Param2.LastName Dann

Funktion = -1: Funktion beenden

Ende wenn

Wenn Param1.LastName > Param2.LastName Dann

Funktion = +1: Funktion beenden

Ende wenn

Wenn Param1.FirstName < Param2.FirstName, dann

Funktion = -1: Funktion beenden

Ende wenn

Wenn Param1.Vorname > Param2.Vorname, dann

Funktion = +1: Funktion beenden

Ende wenn

Wenn Param1.BalanceDue < Param2.BalanceDue Dann

Funktion = +1: Funktion beenden

Ende wenn

Wenn Param1.BalanceDue > Param2.BalanceDue, dann

Funktion = -1: Funktion beenden

Ende wenn

Funktion beenden

Beachten Sie, dass diese Funktion zunächst in aufsteigender Reihenfolge nach Nachnamen sortiert. Wenn die Nachnamen gleich sind, wird in aufsteigender Reihenfolge nach Vornamen sortiert. Wenn beide Namen gleich sind, erfolgt die Sortierung nach fälligem Saldo in absteigender Reihenfolge, sodass die Konten mit dem höchsten Saldo zuerst angezeigt werden. Diese absteigende Reihenfolge wird durch Vertauschen der Werte -1/+1 in den Abschlusstests erreicht.

Das zu sortierende Array und die Funktionsparameter müssen Zeichenfolgen fester Länge, mit NULL endende Zeichenfolgen oder benutzerdefinierte Typen sein. PowerBASIC überprüft, ob die Größe der Daten und Parameter identisch ist. Um maximale Flexibilität zu ermöglichen, ist es jedoch nicht erforderlich, dass die Datentypen identisch sind. Daher ist es beispielsweise möglich, ein Array von Strings fester Länge mithilfe einer Funktion mit UDT-Parametern zu sortieren, solange die Datengröße identisch ist. Es liegt in der Verantwortung des Programmierers, die Genauigkeit sicherzustellen.

Sortieren eines mehrdimensionalen Arrays

Beim Sortieren eines mehrdimensionalen Arrays wird das Array als eindimensionales Array behandelt, das alle Elemente des mehrdimensionalen Arrays in linearer Spaltenreihenfolge enthält. Das heißt, alle Elemente, bei denen alle Dimensionen (außer der ersten) an ihren Mindestgrenzen gehalten werden, werden im Speicher an erster Stelle stehen. Unmittelbar darauf folgen die Elemente, bei denen die zweite Dimension auf den nächsten aufeinanderfolgenden Indexwert usw. gesetzt ist.

Beispielsweise würden die Elemente eines zweidimensionalen Arrays (d. h. DIM A( n , x )) an aufeinanderfolgenden Speicherorten wie folgt gespeichert:

(0,0), , (n,0), (0,1), , (n,1), , (0,x), , (n,x)

In diesem Fall würde ARRAY SORT A(0,0) FOR n+1 nur die Elemente (0,0)...(n,0) sortieren, während ARRAY SORT A(0,0) das gesamte Array sortieren würde: Elemente (0,0) (n,x).

Seien Sie bei der Verwendung von ARRAY SORT mit mehrdimensionalen Arrays sehr vorsichtig, um die Organisation der Daten in den Arrays nicht zu stören.

Einschränkungen

ARRAY SORT kann nicht für Arrays innerhalb von UDT-Strukturen oder für ein Array von Interfaces verwendet werden. ARRAY SORT kann jedoch mit Arrays von UDT-Strukturen verwendet werden – behandeln Sie sie einfach so, als wären sie ein Array aus Zeichenfolgen fester Länge.

Um ARRAY SORT für ein eingebettetes UDT-Array zu verwenden, dimensionieren Sie mit DIM..AT ein reguläres Array (des gleichen Typs) direkt „über der Oberseite“ des UDT-Arrays und verwenden Sie ARRAY SORT für dieses Array. Zum Beispiel:

TYP SalesType

Bestellnummer SO LANG

PartNumber(1 TO 20) AS STRING * 20

END-TYP

[Anweisungn]

DIM Sales AS SalesType

[Anweisungn]

DIM Temp(1 TO 20) AS STRING * 20 AT VARPTR(Sales.Partnumber(1))

ARRAY SORT Temp()

Temp() löschen

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Siehe auch

  • ARRAY ASSIGN
  • ARRAY DELETE
  • ARRAY INSERT
  • ARRAY-SCAN
  • CHR$
  • DIM ? PBXB64-Compiler-Hilfe
  • LBOUND
  • POWERARRAY-Objekt
  • REDIM ? PBXB64-Compiler-Hilfe
  • UBOUND
  • Hilfe zum PBXB64-Compiler


Array-Datentypen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Array-Datentypen

Oft ist es sinnvoll, eine Reihe von Variablen als Gruppe zu behandeln. Dadurch k&ouml;nnen Sie sich wiederholende Vorg&auml;nge einfacher durchf&uuml;hren. Ein Array ist eine Gruppe von Zeichenfolgen oder numerischen Daten mit demselben Variablennamen. Die in

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Oft ist es sinnvoll, eine Reihe von Variablen als Gruppe zu behandeln. Dadurch können Sie sich wiederholende Vorgänge einfacher durchführen. Ein Array ist eine Gruppe von Zeichenfolgen oder numerischen Daten mit demselben Variablennamen. Die in

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PowerBASIC stellt mehrere Anweisungen bereit, die Operationen an einem Array als Ganzes ausführen und es Ihnen ermöglichen, dessen Inhalte zu sortieren, seine Inhalte nach Daten zu durchsuchen, die einer bestimmten Bedingung entsprechen, und Daten in die vorhandene Struktur einzufügen oder Daten daraus zu löschen.

Sie können sich ein Array als eine Reihe von Kästchen vorstellen, die von Null bis zu einer vorgegebenen Zahl nummeriert sind: vier, in der Beispielabbildung unten. Jedes Feld enthält einen bestimmten Wert, der von den Werten in den anderen Feldern abweichen kann oder auch nicht. Die Kästchen und ihre Nummern werden durch Klammern um eine Zahl dargestellt; Beispielsweise stellt item%(3) das Feld Nummer drei des Arrays item% dar. Wenn also der in Feld Nummer 3 gespeicherte Wert 1952 ist, würde die Anweisung total%=item%(3) den Wert 1952 in die Variable total% einfügen.

Beim Dimensionieren eines dynamischen Arrays mit DIM oder REDIM wird auch jedes Element gelöscht, es sei denn, die PRESERVE-Option ist vorhanden. Jedes Element jedes numerischen Arrays wird auf Null gesetzt; String-Arrays werden auf den Null-String ("", Länge Null) gesetzt. Die Deklaration des Namens und Typs eines Arrays sowie der Anzahl und Organisation seiner Elemente erfolgt durch die DIM-Anweisung. Zum Beispiel:

DIM-Zahlungen(55) ALS WÄHRUNGX

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Array-Operationen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Array-Operationen

Die folgenden Funktionen k&ouml;nnen zum Bearbeiten und Verwalten von Arrays verwendet werden:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die folgenden Funktionen können zum Bearbeiten und Verwalten von Arrays verwendet werden:

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Kontrollieren Sie die Generierung von Fehlerprüfcode

Geben Sie an, ob Variablen vor der Verwendung deklariert werden müssen

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


ARRAY-SCAN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ARRAY-SCAN

Scannen Sie alles oder einen Teil davon

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ARRAY SCAN array ([ index ]) [FOR count ], expression , TO lvar&
ARRAY SCAN array ([ index ]) [FOR count ] [, FROM startChar TO endChar ] [, COLLATE {UCASE |
cstring }], expression , TO lvar&

Beschreibung

Scannen Sie alles oder einen Teil davon

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ARRAY SCAN durchsucht das gesamte oder einen Teil des Arrays, eines n-dimensionalen Arrays, nach dem ersten Element, das expression erfüllt. expression besteht aus einem relationalen Operator (=, >, <, <>, >=, =>, <=, =<), gefolgt von einem Ausdruck desselben Datentyps wie array . Der relative Index der ersten Übereinstimmung wird in lvar& gespeichert, das eine Long-Integer-Variable sein muss:

ARRAY SCAN A&(), > 5, TO I&

Diese Codezeile identifiziert den relativen Index des ersten Elements des Arrays A&(), das größer als 5 ist, und speichert den relativen Index in I& . Der Übereinstimmungsindex reicht von 1 bis zum letzten Element des Scans + 1.

Da es sich um einen relativen Index handelt:

DIMMEN A(1 BIS 10) ALS EINZELN

ARRAY SCAN A(), > 17,42!, TO I&

speichert 2 in I&, wenn A(2) > 17,42, aber:

DIM A(5 BIS 20) ALS EINZEL

ARRAY SCAN A(), > 17.42!, TO lvar&

speichert 2, nicht 6, in lvar&, wenn A(6) > 17,42.

Wenn keines der gescannten Elemente expression erfüllt, wird Null in lvar& gespeichert.

Index und Anzahl geben zusammen den Teil des Arrays an, der gescannt werden soll. index gibt das Element an, bei dem der Scan beginnen soll, während count die Anzahl der aufeinanderfolgenden Elemente angibt, die gescannt werden sollen. Wenn kein Index angegeben ist, beginnt der Scan beim ersten Element des Arrays. Wenn count nicht angegeben ist, wird das Array vom Elementindex bis zum letzten Element des Arrays durchsucht. Wenn keines von beiden angegeben ist, wird das gesamte Array gescannt:

DIM A&(1 BIS 100)

ARRAY SCAN A&(5), =1, TO I& 'scannt 5..100

ARRAY SCAN A&() FOR 10, =1, TO I& 'scannt 1..10

ARRAY SCAN A&(10) FOR 20, =1, TO I& 'scannt 10..29

ARRAY SCAN A&(), =1, TO I& 'scannt 1..100

Scannen eines String-Arrays

Beim Scannen eines String-Arrays behandelt COLLATE UCASE während des Scans alle Kleinbuchstaben als Großbuchstaben (z. B. würde das Element „Bob“ die Bedingung = „BOB“ erfüllen):

ARRAY SCAN A$(), COLLATE UCASE, = "BOB", TO I&

' durchsucht A$() nach „BOB“; Alle Buchstaben werden behandelt als

' Großbuchstaben

Die Zeichenfolge COLLATE wird verwendet, um eine nicht standardmäßige Scanreihenfolge anzugeben. cstring muss genau 256 Zeichen in der Reihenfolge enthalten, in der sie verglichen werden sollen, vom niedrigsten zum höchsten. Beispielsweise würde die normale aufsteigende ASCII-Scanreihenfolge (wobei „A“ als kleiner als „B“ usw. betrachtet wird) durch eine Zeichenfolge beschrieben, die die ASCII-Codes 0 bis 255 in der folgenden Reihenfolge enthält:

C$ = CHR$(0 BIS 255)

ARRAY SCAN A$(), COLLATE C$, > „BOB“, TO I&

Die normale absteigende ASCII-Scanreihenfolge würde durch eine Zeichenfolge beschrieben, die die Umkehrung des oben genannten enthält:

C$ = STRREVERSE$(CHR$(0 TO 255))

ARRAY SCAN A$(), COLLATE C$, > „BOB“, TO I&

Die String-Option COLLATE dient als flexible Möglichkeit, einen absteigenden Scan anzugeben oder die Scan-Reihenfolge für Strings anzugeben, die internationale Zeichen oder andere Sonderzeichen enthalten.

Weitere Informationen zum Erstellen von Sortierzeichenfolgen finden Sie unter ARRAY SORT.

Beim Scannen eines String-Arrays werden bei Vergleichen normalerweise alle Zeichen jedes Elements des Arrays berücksichtigt. Um den Vergleich auf eine bestimmte Teilmenge von Zeichen zu beschränken, verwenden Sie FROM, um die startChar-Position anzugeben, und TO, um die endChar-Position anzugeben, die ARRAY SCAN innerhalb jedes Array-Elements berücksichtigt. Sie könnten beispielsweise anhand der Postleitzahl scannen, die in den letzten 5 Zeichen einer 40-stelligen Adresszeichenfolge enthalten ist:

ARRAY SCAN A$(), = "90210", TO I&

'berücksichtigt alle Zeichen beim Scannen nach „90210“

ARRAY SCAN A$(), FROM 36 TO 40, = „90210“, TO I&

' berücksichtigt beim Scannen nur die Positionen 36..40

Scannen eines mehrdimensionalen Arrays

Beim Scannen eines mehrdimensionalen Arrays wird das Array als eindimensionales Array behandelt, das alle Elemente des mehrdimensionalen Arrays in linearer Spaltenreihenfolge enthält. Das heißt, alle Elemente, bei denen alle Dimensionen (außer der ersten) an ihren Mindestgrenzen gehalten werden, werden im Speicher an erster Stelle stehen. Unmittelbar darauf folgen die Elemente, bei denen die zweite Dimension auf den nächsten aufeinanderfolgenden Indexwert usw. gesetzt ist.

Beispielsweise würden die Elemente eines zweidimensionalen Arrays (DIM A(0 TO n, 0 TO x)) wie folgt an aufeinanderfolgenden Speicherorten gespeichert:

A(0,0), A(1,0), , A(n,0) ' Die ersten n+1 Elemente,

A(0,1), A(1,1), , A(n,1) ' Die nächsten n+1 Elemente,

[Anweisungen] ' Nachfolgende Elemente,

A(0,x), A(1,x), , A(n,x) ' Die letzten n+1 Anweisungen.

oder deutlicher:

A(0,0), A(1,0) , A(n,0), A(0,1), A(1,1) , A(n,1), A(0,x),

A(1,x) , A(n,x)

In diesem Fall würde ARRAY SCAN A(0,0) FOR n+1, >5, TO I& nur die Elemente (0,0)...(n,0) scannen, während ARRAY SCAN A(0,0), >5, TO I& das gesamte Array scannen würde: Elemente (0,0)...(n,x). Da ARRAY SCAN, wie bereits erwähnt, den relativen Index des übereinstimmenden Elements aufzeichnet, würde ARRAY SCAN A(0,0), >5, TO I& 2 in I& speichern, wenn A(1,0) > 5.

Einschränkungen

ARRAY SCAN kann nicht für Arrays innerhalb von UDT-Strukturen oder für ein Array von Schnittstellen verwendet werden. ARRAY SCAN kann jedoch mit Arrays von UDT-Strukturen verwendet werden – behandeln Sie sie einfach so, als wären sie ein Array aus Strings fester Länge.

Um ARRAY SCAN für ein eingebettetes UDT-Array zu verwenden, dimensionieren Sie mit DIM..AT ein reguläres Array (des gleichen Typs) direkt „über der Oberseite“ des UDT-Arrays und verwenden Sie ARRAY SCAN für dieses Array. Zum Beispiel:

TYP SalesType

Bestellnummer SO LANG

PartNumber(1 TO 20) AS STRING * 20

END-TYP

[Anweisungn]

DIM Sales AS SalesType

[Anweisungn]

DIM Temp(1 TO 20) AS STRING * 20 AT VARPTR(Sales.Partnumber(1))

ARRAY SCAN Temp(), FROM 1 TO LEN(Search$), = Search$, TO lResult&

Temp() löschen

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Siehe auch

  • ARRAY ASSIGN
  • ARRAY DELETE
  • ARRAY INSERT
  • ARRAY SORT
  • DIM ? PBXB64-Compiler-Hilfe
  • LBOUND
  • POWERARRAY-Objekt
  • REDIM ? PBXB64-Compiler-Hilfe
  • UBOUND
  • Hilfe zum PBXB64-Compiler


Array-Speicheranforderungen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Array-Speicheranforderungen

Ein PowerBASIC-Array kann bis zu 4.294.967.295 Elemente enthalten und die Daten k&ouml;nnen so viel wie den gesamten verf&uuml;gbaren Speicher belegen. Allerdings m&uuml;ssen alle einzelnen Indexzahlen im Bereich einer langen Ganzzahl liegen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein PowerBASIC-Array kann bis zu 4.294.967.295 Elemente enthalten und die Daten können so viel wie den gesamten verfügbaren Speicher belegen. Allerdings müssen alle einzelnen Indexzahlen im Bereich einer langen Ganzzahl liegen

Typ:Schlüsselwort |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PowerBASIC speichert Array-Daten für alle Array-Typen (einschließlich LOCAL-Arrays) im Hauptspeicher. Daher gibt es keine willkürliche Array-Größenbeschränkung, die durch die Menge an freiem Stapelspeicherplatz auferlegt wird, wie sie beispielsweise bei großen LOCAL nul-terminated und String-Variablen mit fester Länge auftreten kann. Die Verfügbarkeit des Hauptspeichers steht im Vordergrund (typischerweise können bis zu 2 GB genutzt werden). LOCAL-Arrays erfordern jedoch die Speicherung von etwa 128 Bytes auf dem Stapel für die Array-Deskriptortabelle.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


ARRAYASSIGN() - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ARRAYASSIGN()

Ausdrucksalias fuer ARRAY ASSIGN bei dynamischen numerischen Arrays. Er nutzt denselben Laufzeithelfer wie die Anweisungsform.

Kategorie: Allgemeine Referenz

Syntax

ok& = ARRAYASSIGN(array(), value1, value2, ...)

Beschreibung

Ausdrucksalias fuer ARRAY ASSIGN bei dynamischen numerischen Arrays. Er nutzt denselben Laufzeithelfer wie die Anweisungsform.

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt das PBXB64-Verhalten, das durch die aktuelle Validierungsmatrix abgedeckt ist. Verwenden Sie die hier gezeigte Syntax fuer Regressionstests; weitergehende PowerBASIC-Formen gelten als separate Kompatibilitaetsarbeit, sofern keine andere Seite sie dokumentiert.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


ARRAYATTR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ARRAYATTR

Gibt beschreibende Attribute einer gegebenen Eigenschaft zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = ARRAYATTR( Arr() , AttrNum )

Beschreibung

Gibt beschreibende Attribute einer gegebenen Eigenschaft zurück

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:TEILWEISE

PBXB64-Zertifizierung: [TEILWEISE: ATTR 1/2 GETESTET]

Beschreibung

ARRAYATTR gibt Metadaten für feste und dynamische Arrays zurück. PBXB64 unterstützt die sechs folgenden Deskriptorattribute für Arraynamen als arr oder arr().

AttrNum | Ergebnis
1 | Dimensioniert-Flag: TRUE (-1), wenn das Array aktuell Speicher besitzt, sonst FALSE (0). Dynamische Arrays liefern vor REDIM FALSE.
2 | Element-Typklasse. Vergleichen Sie das Ergebnis mit den eingebauten %VARCLASS_*-Equates wie %VARCLASS_LNG, %VARCLASS_DBL oder %VARCLASS_STR.
3 | Pointer-Array-Flag. Die aktuelle PBXB64-Arrayoberfläche liefert FALSE (0).
4 | Anzahl der Dimensionen. Die fokussiert getestete Oberfläche deckt eindimensionale Arrays und feste zweidimensionale Matrizen ab.
5 | Gesamtzahl der Elemente über alle Dimensionen.
6 | Elementgröße in Bytes.

Verwenden Sie LBOUND und UBOUND für untere und obere Arraygrenzen. Nicht unterstützte oder Nicht-Array-Argumente liefern 0.

Getestetes Beispiel

DIM a(1 TO 5) AS LONG
DIM m(2, 3) AS LONG
LOCAL d() AS LONG

IF ARRAYATTR(d(), 1) <> 0 THEN EXIT FUNCTION
REDIM d(2 TO 6)

IF ARRAYATTR(a(), 1) <> -1 THEN EXIT FUNCTION
IF ARRAYATTR(a(), 2) <> %VARCLASS_LNG THEN EXIT FUNCTION
IF ARRAYATTR(a(), 5) <> 5 THEN EXIT FUNCTION
IF ARRAYATTR(m(), 4) <> 2 THEN EXIT FUNCTION
IF ARRAYATTR(m(), 5) <> 6 THEN EXIT FUNCTION
IF ARRAYATTR(d(), 6) <> 8 THEN EXIT FUNCTION

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • LBOUND
  • UBOUND
  • POWERARRAY-Objekt
  • REDIM ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


Arrays innerhalb benutzerdefinierter Typen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Arrays innerhalb benutzerdefinierter Typen

In fr&uuml;heren Versionen dieses Compilers konnten Arrays nicht Teil einer UDT-Struktur sein. Allerdings unterst&uuml;tzen wir jetzt sowohl ein- als auch zweidimensionale Arrays von Variablen mit fester L&auml;nge (f&uuml;r jedes Element) &ndash;

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In früheren Versionen dieses Compilers konnten Arrays nicht Teil einer UDT-Struktur sein. Allerdings unterstützen wir jetzt sowohl ein- als auch zweidimensionale Arrays von Variablen mit fester Länge (für jedes Element) –

Typ:Schlüsselwort |Kategorie:Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Zweidimensionale Arrays innerhalb von Typen funktionieren genauso wie alle anderen Arrays in PowerBASIC, mit der Ausnahme, dass ihre Dimensionen durch positive numerische Konstantenwerte angegeben werden und daher nicht dynamisch änderbar sind. Das heißt, die Dimensionsgrößen müssen mit numerischen Gleichungen oder numerischen Literalwerten angegeben werden und können zur Laufzeit nicht geändert werden.

Wie bei herkömmlichen Arrays ist die untere Array-Grenze standardmäßig Null, aber positive Werte ungleich Null können verwendet werden, um einen bestimmten Bereich von Indexindexwerten für das Array anzugeben, getrennt vom Index der oberen Array-Grenze mit dem Schlüsselwort TO. Darüber hinaus müssen sowohl der untere als auch der obere Indexwert des Indexes Null oder größer sein (dh negative Indexwerte sind nicht zulässig). Es folgen Beispiele für gültige Syntax:

id AS INTEGER ' Skalares UDT-Mitglied

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


ARRAYSCAN() - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ARRAYSCAN()

Funktionsalias zum Durchsuchen eines numerischen Arrays. Liefert den PB-logischen Index des gesuchten Werts oder 0, wenn der Wert nicht gefunden wird.

Kategorie: Allgemeine Referenz

Syntax

index& = ARRAYSCAN(array(), value)

Beschreibung

Funktionsalias zum Durchsuchen eines numerischen Arrays. Liefert den PB-logischen Index des gesuchten Werts oder 0, wenn der Wert nicht gefunden wird.

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt das PBXB64-Verhalten, das durch die aktuelle Validierungsmatrix abgedeckt ist. Verwenden Sie die hier gezeigte Syntax fuer Regressionstests; weitergehende PowerBASIC-Formen gelten als separate Kompatibilitaetsarbeit, sofern keine andere Seite sie dokumentiert.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


ARRAYSHIFT() - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ARRAYSHIFT()

Ausdrucksalias zum Verschieben von Elementen dynamischer LONG-Arrays nach links oder rechts.

Kategorie: Allgemeine Referenz

Syntax

ok& = ARRAYSHIFT(array(), direction, count)

Beschreibung

Ausdrucksalias zum Verschieben von Elementen dynamischer LONG-Arrays nach links oder rechts.

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt das PBXB64-Verhalten, das durch die aktuelle Validierungsmatrix abgedeckt ist. Verwenden Sie die hier gezeigte Syntax fuer Regressionstests; weitergehende PowerBASIC-Formen gelten als separate Kompatibilitaetsarbeit, sofern keine andere Seite sie dokumentiert.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


ARRAYSHUFFLE() - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ARRAYSHUFFLE()

Ausdrucksalias zum Mischen eines dynamischen LONG-Arrays mit dem PBXB64-Array-Laufzeithelfer.

Kategorie: Allgemeine Referenz

Syntax

ok& = ARRAYSHUFFLE(array())

Beschreibung

Ausdrucksalias zum Mischen eines dynamischen LONG-Arrays mit dem PBXB64-Array-Laufzeithelfer.

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt das PBXB64-Verhalten, das durch die aktuelle Validierungsmatrix abgedeckt ist. Verwenden Sie die hier gezeigte Syntax fuer Regressionstests; weitergehende PowerBASIC-Formen gelten als separate Kompatibilitaetsarbeit, sofern keine andere Seite sie dokumentiert.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


ARRAYSWAP() - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ARRAYSWAP()

Ausdrucksalias zum Tauschen zweier Elemente in einem dynamischen LONG-Array.

Kategorie: Allgemeine Referenz

Syntax

ok& = ARRAYSWAP(array(), index1, index2)

Beschreibung

Ausdrucksalias zum Tauschen zweier Elemente in einem dynamischen LONG-Array.

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt das PBXB64-Verhalten, das durch die aktuelle Validierungsmatrix abgedeckt ist. Verwenden Sie die hier gezeigte Syntax fuer Regressionstests; weitergehende PowerBASIC-Formen gelten als separate Kompatibilitaetsarbeit, sofern keine andere Seite sie dokumentiert.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


ARRAYUNIQUE() - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ARRAYUNIQUE()

Ausdrucksalias zum Entfernen benachbarter doppelter numerischer Elemente nach Sortierung oder Gruppierung.

Kategorie: Allgemeine Referenz

Syntax

newCount& = ARRAYUNIQUE(array())

Beschreibung

Ausdrucksalias zum Entfernen benachbarter doppelter numerischer Elemente nach Sortierung oder Gruppierung.

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt das PBXB64-Verhalten, das durch die aktuelle Validierungsmatrix abgedeckt ist. Verwenden Sie die hier gezeigte Syntax fuer Regressionstests; weitergehende PowerBASIC-Formen gelten als separate Kompatibilitaetsarbeit, sofern keine andere Seite sie dokumentiert.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


ASCII - Byte-String-Zeichenspeicher waehlen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ASCII - Byte-String-Zeichenspeicher waehlen

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

LOCAL s AS ASCII STRING

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Typkeyword fuer ASCII-String-Kompatibilitaet.

Praktische Verwendung

Verwenden Sie ASCII in Deklarationen, wenn ein Byte-String mit kompatibler Speicherform erwartet wird. Die eigentliche Interaktion laesst sich am besten mit einer Deklaration und einer anschliessenden Stringzuweisung pruefen.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwechseln Sie diese Typkeywords nicht mit freien Bezeichnern oder Laufzeitwerten. Wenn der Zielkontext die Type-Position nicht erwartet, muss die Quelle entsprechend angepasst werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ASEC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ASEC

Gibt den Arkussekans im Bogenmass zurueck.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(ASEC(2.0) - 1.0471975512) > 0.0001 THEN FUNCTION = 1

Beschreibung

Gibt den Arkussekans im Bogenmass zurueck.

Syntax: y = ASEC( n )

Semantik

ASEC(n) ist ACOS(1/n). Der reelle Bereich ist |n| >= 1. Null und Werte mit kleinerem Betrag liefern das ungueltige Gleitkommaergebnis.

Datentypen

Normale numerische Typen, die sechs 128/256/512-Bit-Integerfamilien, UNL und UNF werden ueber den Scientific-Bridge verarbeitet. Ergebnis: DOUBLE.


ASIN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ASIN

Gibt den Arkussinus eines Wertes im Bogenmass zurueck.

Kategorie: Allgemeine Referenz

Syntax

y = ASIN( n )

Beschreibung

Gibt den Arkussinus eines Wertes im Bogenmass zurueck.

Typ: Funktion | Kategorie: Wissenschaftliche Mathematik | Status: VERFUEGBAR

Semantik

Fuer -1 <= n <= 1 liefert ASIN den Winkel mit SIN(y)=n. Das Hauptergebnis liegt in [-pi/2, pi/2]. Werte ausserhalb des reellen Bereichs liefern das ungueltige Gleitkommaergebnis der Laufzeit.

Datentypen

DOUBLE, SINGLE, EXTENDED, Integer, CURRENCY, INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden akzeptiert. Wide- und UN-Werte liefern DOUBLE.


ASINH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ASINH

Gibt den inversen hyperbolischen Sinus zurueck.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(ASINH(1.0) - 0.8813735870) > 0.0001 THEN FUNCTION = 1

Beschreibung

Gibt den inversen hyperbolischen Sinus zurueck.

Syntax: y = ASINH( n )

Semantik

ASINH ist fuer jeden reellen Wert definiert und liefert den reellen Wert mit SINH(y)=n. Das Ergebnis ist DOUBLE.

Datentypen

Alle normalen numerischen PB-Typen sowie INT/UINT128/256/512, UNL und UNF werden ueber typed dispatch akzeptiert.


Assemblersprache in Ihrem Code verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Assemblersprache in Ihrem Code verwenden

PowerBASIC bietet eine Reihe von M&ouml;glichkeiten, wie Sie Assemblersprache verwenden k&ouml;nnen. Sie k&ouml;nnen das gesamte Programm mit dem Inline-Assembler schreiben. Sie k&ouml;nnen ganze Subs, Funktionen, Methoden und Eigenschaften schreiben

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PowerBASIC bietet eine Reihe von Möglichkeiten, wie Sie Assemblersprache verwenden können. Sie können das gesamte Programm mit dem Inline-Assembler schreiben. Sie können ganze Subs, Funktionen, Methoden und Eigenschaften schreiben

Typ:Schlüsselwort |Kategorie:Inline-Assembler

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Um guten Assembler-Code zu schreiben, müssen Sie bestimmte Dinge beachten:

Syntax des Inline-Assembler-Codes

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ASSERT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ASSERT

Prueft eine Bedingung zur Laufzeit. Wahre Assertions laufen weiter; falsche Assertions beenden das Programm ueber den PBXB64-Assertion-Fehlerpfad.

Kategorie: Allgemeine Referenz

Syntax

ASSERT condition
ASSERT condition, "message"

Beschreibung

Prueft eine Bedingung zur Laufzeit. Wahre Assertions laufen weiter; falsche Assertions beenden das Programm ueber den PBXB64-Assertion-Fehlerpfad.

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt das PBXB64-Verhalten, das durch die aktuelle Validierungsmatrix abgedeckt ist. Verwenden Sie die hier gezeigte Syntax fuer Regressionstests; weitergehende PowerBASIC-Formen gelten als separate Kompatibilitaetsarbeit, sofern keine andere Seite sie dokumentiert.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ATANH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ATANH

Gibt den inversen hyperbolischen Tangens zurueck.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(ATANH(0.5) - 0.5493061443) > 0.0001 THEN FUNCTION = 1

Beschreibung

Gibt den inversen hyperbolischen Tangens zurueck.

Syntax: y = ATANH( n )

Semantik

Der endliche reelle Bereich ist -1 < n < 1. ATANH liefert den Wert mit TANH(y)=n. Rand- und Aussenwerte folgen dem Gleitkomma-Logarithmus.

Datentypen

Alle normalen numerischen PB-Typen und die Wide-, UNL- und UNF-Familien werden akzeptiert. Ergebnis: DOUBLE.


ATN2 - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ATN2

Gibt den Vierquadranten-Arkustangens zweier Argumente zurueck.

Kategorie: Allgemeine Referenz

Syntax

y = ATN2( y_expression, x_expression )

Beschreibung

Gibt den Vierquadranten-Arkustangens zweier Argumente zurueck.

Typ: Funktion | Kategorie: Mathematik und Numerik

PBXB64-Status: VERFUEGBAR

Beschreibung

ATN2 gibt den Winkel im Bogenmass zurueck und beruecksichtigt den richtigen Quadranten.

PBXB64 akzeptiert INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL ueber den bestehenden Befehl. Das Ergebnis ist Gleitkomma. UNL wird intern verarbeitet; ein neuer Befehl ist nicht erforderlich.

Validierung

tests/pb/test_math_wide_unl.pb prueft ATN2 mit Wide-Integer und UNL. Verwenden Sie den Test math_wide_unl aus tests/validate.toml.

Zurueck zum Befehlsindex


Auf PowerBASIC-Variablen nach Namen zugreifen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Auf PowerBASIC-Variablen nach Namen zugreifen

Die meisten Variablen in einem PowerBASIC-Modul sind f&uuml;r Inline-Assembler-Code sichtbar, der mit der ASM-Anweisung erstellt wurde. Sie k&ouml;nnen LOCAL-, STATIC- und GLOBAL-Variablen namentlich referenzieren, indem Sie einfach den Namen als verwenden

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die meisten Variablen in einem PowerBASIC-Modul sind für Inline-Assembler-Code sichtbar, der mit der ASM-Anweisung erstellt wurde. Sie können LOCAL-, STATIC- und GLOBAL-Variablen namentlich referenzieren, indem Sie einfach den Namen als verwenden

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

SUB DoStuff (BYVAL c&)

a% = 7 ' Lokale Variable a%

Beschreibung

Inline-Assembler kann auf PowerBASIC-Speicher per Name zugreifen, einschliesslich Globals, BYREF-Parametern und UDT-Feldern. Die verifizierte Oberflaeche ist die geschweifte Namensbruecke innerhalb von #ASM-Bloecken.

Validierungsbeleg

Validierungsbeleg: examples/basic/test_inline_asm_global.pb, examples/basic/test_inline_asm_byref.pb und examples/basic/test_inline_asm_struct_field.pb belegen die Global-, BYREF- und UDT-Feldpfade.

Nutzungshinweise

Verwenden Sie die im Beispiel gezeigte geschweifte Form, wenn Inline-Assembler eine BASIC-Variable direkt lesen oder schreiben soll. Die umgebende BASIC-Deklaration bestimmt weiterhin Speicher, Lebensdauer und Typbreite.

Grenzen

Diese Seite behandelt die namensbasierte Inline-Assembler-Bruecke und nicht Standalone-Assembler-Dateien oder die allgemeine Ausdrucksreduzierung. Zu den derzeit unterstuetzten Formen gehoeren Globals, BYREF-Parameter und UDT-Mitglieder, die der Compiler auf konkreten Speicher abbilden kann.


Auflisten von Sammlungen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Auflisten von Sammlungen

Eine Sammlung ist einfach eine Menge oder Gruppe von Elementen, auf die jeweils &uuml;ber eine eigene Schnittstelle zugegriffen werden kann. Zum Beispiel Microsoft Word? Es k&ouml;nnen mehrere Dokumente gleichzeitig ge&ouml;ffnet sein, und es kann bereitgestellt werden

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine Sammlung ist einfach eine Menge oder Gruppe von Elementen, auf die jeweils über eine eigene Schnittstelle zugegriffen werden kann. Zum Beispiel Microsoft Word? Es können mehrere Dokumente gleichzeitig geöffnet sein, und es kann bereitgestellt werden

Typ:Struktur |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Daher geht es bei der Aufzählung einer Sammlung lediglich darum, die Anzahl der Elemente in der Sammlung zu bestimmen, eine Schleife zu durchlaufen und die entsprechenden Informationen für ein oder mehrere Schnittstellenmitglieder der Sammlung abzurufen.

Wir beginnen mit der Visual Basic-Syntax und zeigen, wie Sie dieselbe Aufgabe mit PowerBASIC ausführen.

Die Visual Basic-Syntax zum Aufzählen einer Sammlung sieht etwa so aus:

Element als InterfaceItem dimmen

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Balancing the stack - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Balancing the stack

An important consideration when using the stack is to be symmetrical in the byte count of what is pushed and what is popped.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

An important consideration when using the stack is to be symmetrical in the byte count of what is pushed and what is popped.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

If the stack is not balanced on exit from an assembly code block (i.e., you POP too few or too many registers ), your routine will return to the wrong location in your code. This is because PowerBASIC must assume that the last item on the stack is the address to which it should return.

In other words, if the stack is not balanced on exit from an assembly code block, program execution is likely to resume at the wrong address and instantly crash the program. In most instances, if you PUSH a given data size onto the stack, you must POP the same data size.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


BASE64$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BASE64$

Kodiert eine Zeichenkette als Base64 und liefert den kodierten Text.

Kategorie: Allgemeine Referenz

Syntax

encoded$ = BASE64$(text$)

Beschreibung

Kodiert eine Zeichenkette als Base64 und liefert den kodierten Text.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen deterministischen String-Helfer. Kodierungsfunktionen liefern transformierten Text zurueck, waehrend Hash-Funktionen feste, kleingeschriebene Hex-Digests liefern.

Grenzen

Dokumentieren Sie hier nur die getesteten Byte- oder String-Transformationen. Wenn es einen Rueckwaerts-Helfer gibt, pruefen Sie ihn separat, statt Symmetrie aus der Vorwaertsform abzuleiten.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

BASE64$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

BASE64$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


BASE64URLSAFE$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BASE64URLSAFE$

Erzeugt URL-sicheren Base64-Text fuer Token und Query-Werte.

Kategorie: Allgemeine Referenz

Syntax

encoded$ = BASE64URLSAFE$(text$)

Beschreibung

Erzeugt URL-sicheren Base64-Text fuer Token und Query-Werte.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen deterministischen String-Helfer. Kodierungsfunktionen liefern transformierten Text zurueck, waehrend Hash-Funktionen feste, kleingeschriebene Hex-Digests liefern.

Grenzen

Dokumentieren Sie hier nur die getesteten Byte- oder String-Transformationen. Wenn es einen Rueckwaerts-Helfer gibt, pruefen Sie ihn separat, statt Symmetrie aus der Vorwaertsform abzuleiten.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

BASE64URLSAFE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

BASE64URLSAFE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


Beenden eines Fehlerhandlers - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Beenden eines Fehlerhandlers

Sie m&uuml;ssen einen Fehlerhandler mit der RESUME LABEL-Anweisung beenden. Die Ausf&uuml;hrung verzweigt sofort zum angegebenen lokalen Label und der urspr&uuml;ngliche Fehler-Trap-Vorgang wird wiederhergestellt und ist bereit, den n&auml;chsten abzufangen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Sie müssen einen Fehlerhandler mit der RESUME LABEL-Anweisung beenden. Die Ausführung verzweigt sofort zum angegebenen lokalen Label und der ursprüngliche Fehler-Trap-Vorgang wird wiederhergestellt und ist bereit, den nächsten abzufangen

Typ:Schlüsselwort |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Im Beispielprogramm möchten Sie RESUME für eine bestimmte Zeile verwenden. Platzieren Sie die Zeilenbezeichnung vor der Zeile, die eine Benutzereingabe anfordert, um dem Benutzer eine weitere Chance zu geben, einen korrekten Pfad einzugeben.

Hier ist das Beispielprogramm, komplett mit Error Trapping:

SUB GetFileNames(File() AS STRING)

DIM CurrentDir AS STRING

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.


BEEP - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BEEP

Sound a tone through the computer's speaker.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

BEEP

Beschreibung

Sound a tone through the computer's speaker.

Typ:Anweisung |Kategorie: Utilities

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

BEEP plays the default Windows waveform sound, typically a ? second tone, through either the built-in speaker; or a sound card if installed (in which case the Windows "Default Beep" sound is played). The Default Beep can be configured in the Sounds section of Control Panel.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Benutzerdefinierte Typen (UDTs) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Benutzerdefinierte Typen (UDTs)

Arrays sind n&uuml;tzlich, wenn Sie eine Reihe &auml;hnlicher Variablen als Einheit behandeln m&uuml;ssen. Zum Beispiel zehn Testergebnisse oder zehn Studentennamen. Aber was ist, wenn Sie mehrere unabh&auml;ngige Datentypen speichern und dazu in der Lage sein m&uuml;ssen?

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Arrays sind nützlich, wenn Sie eine Reihe ähnlicher Variablen als Einheit behandeln müssen. Zum Beispiel zehn Testergebnisse oder zehn Studentennamen. Aber was ist, wenn Sie mehrere unabhängige Datentypen speichern und dazu in der Lage sein müssen?

Typ:Schlüsselwort |Kategorie:Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Nach der Erstellung können Sie beliebig viele Variablen Ihres neuen Typs definieren. Da benutzerdefinierte Typen außerdem mit dem Puffer einer Zufallsdatei verknüpft werden können, erhalten Sie eine völlig neue Möglichkeit, auf Ihre Zufallsdateien zuzugreifen.

Der benutzerdefinierte Typ von PowerBASIC ähnelt einer C-Struktur oder einem Pascal-Datensatz. Die Elemente eines benutzerdefinierten Typs können alle Datentypen von PowerBASIC umfassen, mit Ausnahme von dynamischen Zeichenfolgen (variabler Länge), Feldzeichenfolgen und Arrays dynamischer Zeichenfolgen.

Um einen Eindruck von der Leistungsfähigkeit des benutzerdefinierten Typs zu bekommen, stellen Sie sich vor, Sie wären ein Lehrer, der ein Programm benötigt, um die Noten der Schüler zu verfolgen. Da Ihre Schule über ein sehr knappes Budget verfügt (und welche Schulen sind das heutzutage nicht?), entscheiden Sie sich, das Programm selbst in PowerBASIC zu schreiben. Für jeden Schüler in der Klasse müssen Sie die folgenden Informationen nachverfolgen:

Derzeit werden diese Aufzeichnungen in einer kleinen Aktenbox aufbewahrt. Die Informationen zu jedem Schüler sind auf einer einzigen Karteikarte enthalten. Wie überträgt man diese Informationen auf den Computer? Einfach. Definieren Sie einen Studentendatensatztyp, der alle Informationen zu einem einzelnen Studenten enthält.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Benutzerdefinierte Typen verschachteln - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Benutzerdefinierte Typen verschachteln - Hilfe zum PBXB64-Compiler

Die Felder innerhalb eines benutzerdefinierten Typs k&ouml;nnen aus anderen benutzerdefinierten Typen bestehen. Genau wie bei einer Reihe chinesischer K&auml;stchen, wobei jedes K&auml;stchen ein kleineres K&auml;stchen enth&auml;lt, k&ouml;nnen Sie einen benutzerdefinierten Typ innerhalb eines verschachteln

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Felder innerhalb eines benutzerdefinierten Typs können aus anderen benutzerdefinierten Typen bestehen. Genau wie bei einer Reihe chinesischer Kästchen, wobei jedes Kästchen ein kleineres Kästchen enthält, können Sie einen benutzerdefinierten Typ innerhalb eines verschachteln

Typ:Schlüsselwort |Kategorie:Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Anstatt die Namen der Schüler als zwei separate Felder zu speichern, könnten wir stattdessen einen Typ namens NameRec wie folgt definieren:

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.


BESSELI0 - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BESSELI0

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = BESSELI0( x )

Beschreibung

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Semantik

Liefert die modifizierte Bessel-Funktion erster Art und Ordnung null I0(x) als DOUBLE. I0 ist gerade und waechst fuer grosse Betraege schnell.

Operanden und Grenzen

Normale numerische Werte sowie INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden akzeptiert. Wide- und UN-Werte werden numerisch als DOUBLE verarbeitet; Ueberlauf folgt dem Gleitkommaergebnis.


BESSELI1 - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BESSELI1

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = BESSELI1( x )

Beschreibung

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Semantik

Liefert die modifizierte Bessel-Funktion erster Art und Ordnung eins I1(x) als DOUBLE. I1 ist ungerade und waechst fuer grosse Betraege schnell.

Operanden und Grenzen

Normale numerische Werte sowie INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden ueber den DOUBLE-Weg akzeptiert. Eine beliebig genaue Ausgabe wird nicht behauptet.


BESSELJ0 - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BESSELJ0

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = BESSELJ0( x )

Beschreibung

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Semantik

Liefert die reelle Bessel-Funktion erster Art und Ordnung null J0(x) als DOUBLE. Nahe null wird eine konvergente Reihe verwendet, bei groesseren Betraegen eine asymptotische Naeherung.

Operanden und Grenzen

Normale numerische Werte sowie INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden akzeptiert. Wide- und UN-Werte werden in den DOUBLE-Rechenweg umgewandelt; das Ergebnis ist nicht beliebig genau.


BESSELJ1 - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BESSELJ1

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = BESSELJ1( x )

Beschreibung

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Semantik

Liefert die reelle Bessel-Funktion erster Art und Ordnung eins J1(x) als DOUBLE. Fuer moderate Eingaben wird eine Potenzreihe, fuer groessere Betraege eine asymptotische Naeherung verwendet.

Operanden und Grenzen

Normale numerische Werte sowie INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden ueber den numerischen DOUBLE-Weg akzeptiert. Dies ist eine Naeherung und keine beliebig genaue Berechnung.


BETA - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BETA

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = BETA( x, y )

Beschreibung

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Semantik

Liefert die reelle Beta-Funktion B(x,y) als DOUBLE ueber eine Log-Gamma-Zusammensetzung. Fuer den reellen Definitionsbereich muessen x und y endlich und groesser als null sein.

Operanden und Grenzen

Beide Operanden koennen normale numerische Werte oder INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF sein. Wide- und UN-Werte werden fuer das numerische Ergebnis in DOUBLE umgewandelt. Ungueltige Bereiche liefern ein nicht-endliches Gleitkommaergebnis.


Betriebssystem - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Betriebssystem

The following functions manipulate file and operating system features:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

The following functions manipulate file and operating system features:

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Ändern Sie das aktuelle (Standard-)Verzeichnis auf einem bestimmten Laufwerk.

Change the current default drive.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BETWEEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BETWEEN

Typ: PowerBASIC-Funktion | Kategorie: PowerBASIC / Getestete Funktion

Kategorie: Allgemeine Referenz

Syntax

result& = BETWEEN(Lower TO Upper, TestVal)
result& = BETWEEN(Lower$ TO Upper$, TestVal$)

Beschreibung

Typ: PowerBASIC-Funktion | Kategorie: PowerBASIC / Getestete Funktion

PBXB64 Status: AVAILABLE

PBXB64 Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

BETWEEN liefert -1, wenn TestVal strikt groesser als Lower und strikt kleiner als Upper ist. An den Grenzen oder ausserhalb liefert die Funktion 0. Alle drei Argumente muessen numerisch oder alle Strings sein; numerische und String-Argumente duerfen nicht gemischt werden.

Verifizierung

Die native Regression ist tests/pb/test_bounded.pb in der pb_linkrun-Lane. Der Test deckt auch die strikten Grenzfaelle ab.

Siehe auch: BOUNDED.

Beispiel

IF BETWEEN(1 TO 10, 5) = 0 THEN FUNCTION = 1


BGR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BGR

Create a BGR

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result& = BGR( red& , green& , blue& )
result& = BGR( rgbexpr& )

Beschreibung

Create a BGR

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

An RGB value is a long integer value in the range of 0 to &H00FFFFFF. It is used to specify a very precise color to various PowerBASIC functions and Windows API functions. The lowest three bytes of the value each specify the intensity of a primary color which combine to form the resultant color. Byte 1 (lowest) represents the red component, byte 2 the green, and byte 3 the blue. They can each take on a value in the range of 0 to 255. Byte 4 (highest) is always 0.

Some Windows API functions, such as those which reference Device Independent Bitmaps (DIB), require that the colors be specified in the reverse sequence (Blue-Green-Red instead of Red-Green-Blue). In order to maximize performance and execution speed, PowerBASIC statements and functions which reference these structures also use the BGR format. These include GRAPHIC GET BITS and GRAPHIC SET BITS . When used with 3 parameters, the BGR() function creates a BGR value from the three component values.

When used with one parameter, this function translates an RGB value to its BGR equivalent by swapping the first byte with the third byte, and returning the result.

For example, the RGB value of blue is &HFF0000. BGR() translates it to &H0000FF. Calling RGB() with that value converts it back to &HFF0000.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Built In RGB Color Equates
  • RGB
  • Hilfe zum PBXB64-Compiler


BILDSCHIRM - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BILDSCHIRM

Legt die Basislinie f&uuml;r den Konsolenbildschirmmodus fest und l&ouml;scht den aktiven Konsolenpuffer.

Kategorie: Allgemeine Referenz

Syntax

SCREEN mode
value = SCREEN(row, col)

Beschreibung

Legt die Basislinie für den Konsolenbildschirmmodus fest und löscht den aktiven Konsolenpuffer.

Typ: Anweisung / Funktion | Kategorie: Konsole

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Verhalten

SCREEN mode Zeichnet den angeforderten Modus auf, löscht den Konsolenpuffer und bewegt den Cursor in die obere linke Ecke. SCREEN(row, col) liest ein Zeichen aus dem Konsolenkoordinatenpfad, der bereits von der Konsolenlaufzeit abgedeckt wird.

Tests

test_screen_page.pb deckt das Abrechnungsformular ab. test_screen.pb deckt die Funktionsform ab.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

' CERTIFIED COMPILE-ONLY: GRAPHIC MISC / SCREEN
' Tests: GRAPHIC PSET, GRAPHIC PAINT, and SCREEN.
#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN () AS LONG
    SCREEN 0
    GRAPHIC WINDOW "misc", 0, 0, 100, 100
    GRAPHIC PSET 50, 50, 0
    GRAPHIC PAINT (50, 50), 0
    GRAPHIC CLOSE
    FUNCTION = 0
END FUNCTION


BIN$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BIN$

Convert an integral value to a binary string

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = BIN$( IntVal [, Digits , LeadSpaces , TrailSpaces ])

Beschreibung

Convert an integral value to a binary string

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

IntVal is a numeric expression in the range of a 64-bit Quad Integer (-9223372036854775808 to +9223372036854775807). Any fractional part of the value is rounded. The result string is always formatted as an integral number using all the significant digits in IntVal . It is never expressed in scientific notation.

If Digits is 0 (or not given), no leading characters will be added to the numeric field. If Digits is a positive number greater than 0, the result string will be prepended with leading zeros to achieve the desired length. If Digits is a negative number, leading spaces are added to reach the absolute length. Digits may be in the range of -64 to +64.

LeadSpaces specifies additional leading spaces to be prepended, regardless of the length of the numeric portion of the string.

TrailSpaces specifies additional trailing spaces to be appended to the end of the string.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DEC$
  • FORMAT$
  • HEX$
  • OCT$
  • STR$ ? PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • USING$
  • VAL ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


Binary Files - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Binary Files

PowerBASIC's binary file technique, an extension to Interpretive BASIC, allows you to treat any file as a numbered sequence of bytes without regard to anything, including the following: ASCII characte

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PowerBASIC's binary file technique, an extension to Interpretive BASIC, allows you to treat any file as a numbered sequence of bytes without regard to anything, including the following: ASCII characte

Typ:Schlüsselwort |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Flexibility always comes at a price. Binary files require that you do all the work to decide what goes where. Binary may be the best option when dealing with alien files that aren't in ASCII format; for example, a file created by a spreadsheet or database product. Of course, you will have to know the precise structure of the file before you can even attempt to break it down into numbers and strings agreeable to PowerBASIC.

Every file opened in binary mode has an associated position indicator that points to the place in the file that will be read or written to next. Use the SEEK statement to set the position indicator, and the SEEK function to read it.

Binary files are accessed in the following way:

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


BINOM - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BINOM

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Kategorie: Allgemeine Referenz

Syntax

c = BINOM( n, k )
text = BINOM$( n, k )

Beschreibung

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Semantik

BINOM liefert den Binomialkoeffizienten n ueber k als DOUBLE. BINOM$ liefert die exakte kanonische Dezimaldarstellung. Beide Formen verlangen nichtnegative ganze Zahlen mit k <= n.

Datentypen und Grenze

Ganzzahlige INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF-Werte werden exakt verarbeitet. Die exakte Implementierung ist bei n <= 100000 ressourcenbegrenzt; ungueltige oder zu grosse Werte liefern "0".


BINOMCDF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BINOMCDF

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Kategorie: Allgemeine Referenz

Syntax

probability = BINOMCDF( k, n, p )

Beschreibung

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Semantik

Liefert P(X <= k) fuer eine Binomialverteilung. Fuer moderate n wird endlich summiert, fuer groessere n eine Normalnaeherung mit Kontinuitaetskorrektur verwendet. Das Ergebnis ist DOUBLE.

Operanden und Grenzen

Normale, feste Wide-, UNL- und UNF-Numerikoperanden werden ueber DOUBLE-Konvertierung akzeptiert. Count und Versuchszahl muessen nichtnegative Ganzzahlen sein, p muss in [0,1] liegen.


BINOMPMF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BINOMPMF

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Kategorie: Allgemeine Referenz

Syntax

probability = BINOMPMF( k, n, p )

Beschreibung

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Semantik

Liefert P(X = k) fuer eine Binomialverteilung mit nichtnegativer ganzzahliger Versuchszahl n, Erfolgszahl k in [0,n] und Wahrscheinlichkeit p in [0,1]. Das Ergebnis ist DOUBLE.

Operanden und Grenzen

Normale numerische Werte, feste Wide-Integer, UNL und UNF werden ueber DOUBLE-Konvertierung akzeptiert. Ungueltige Bereiche liefern ein nicht-endliches Ergebnis; ein exaktes Dezimalwahrscheinlichkeitsergebnis wird nicht behauptet.


BIT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BIT

Manipulate individual bits of an integral class

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

BIT {SET | RESET | TOGGLE} intvar , bitnumber

Beschreibung

Manipulate individual bits of an integral class

Typ:Anweisung |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

intvar must be one of the integral-class variable types: Byte , Word , Integer , Double-word , Long-integer , or Quad-integer .

The allowable range for the parameter bitnumber is the same as that of a Long-integer, making it possible to have implicit bit-arrays of more than 2 billion bits in size. Bits 0 to 15 are in the first word starting at intvar , bits 16-31 are in the next word, and so forth.

Es wird davon ausgegangen, dass implizite Bit-Arrays an der Speicherposition der Variablen intvar beginnen. Wenn intvar beispielsweise selbst eine Array-Variable ist, ist es möglich, auf Bits in jedem der folgenden Elemente des Arrays zuzugreifen. Siehe die Array-Beispiele unten.

Es muss darauf geachtet werden, dass die Bitindexnummer (bitnumber) die Anzahl der Bits, auf die gültig zugegriffen werden kann, nicht überschreitet. Beispielsweise kann das Anpassen des 17. Bits einer 16-Bit-Skalarvariablen zu einem geringfügigen Speicherbeschädigungsproblem führen und/oder eine allgemeine Schutzverletzung (GPF) auslösen. Ebenso kann das Anpassen des 4097. Bits eines Bit-Arrays, das von einem 128-Elemente-DWORD-Array abgeleitet ist, ähnliche Probleme verursachen. Bitnummer ist immer nullbasiert, daher wird in der BIT-Anweisung auf das 129. Bit eines impliziten Bit-Arrays verwiesen, wobei die Bitnummer gleich 128 ist. Beispiel: BIT SET A?(1), 128.

Setzt das angegebene Bit auf Eins.

Setzt das Angezeigte Bit auf Null.

TOGGLE

Schaltet das angezeigte Bit um: Eins wird Null; Aus Null wird Eins.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BIT CALC
  • Hilfe zum PBXB64-Compiler


BIT CALC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BIT CALC

Set oder ein Bit in einer ganzzahligen Klasse zur&uuml;cksetzen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

BIT CALC intvar , bitnumber , calcexpr

Beschreibung

Set oder ein Bit in einer ganzzahligen Klasse zurücksetzen

Typ:Anweisung |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

BIT CALC verhält sich wie eine Kombination der Anweisungen BIT SET und BIT RESET und bietet die Wahl zwischen Setzen (1) und Zurücksetzen (0) entsprechend dem Ergebnis einer Zahl expression.

intvar

Eine ganzzahlige Klassenvariable ( Byte , Word , Double-word , Integer , Long-integer oder Quad-integer ) oder eine Variable, die die Basis einer impliziten Variable bildet bit-array.

bitnumber

Ein ganzzahliger Klassenausdruck oder ein numerisches Literal, das die anzupassende Bitnummer angibt. Bitnummern beginnen bei Null (0) und erstrecken sich bis zur Größe der Zielvariablen oder des Bit-Arrays. Beispielsweise verwendet eine 16-Bit-Integer-Variable den Bereich von 0 bis 15. Ein implizites Bit-Array bestehend aus einem Long-Integer-Array mit 100 Elementen (4 Bytes * 100 = 400 Bytes = 3200 Bits) deckt den Bitbereich von 0 bis ab 3199.

calcexpr

Der vom Bit Null von calcexpr abgeleitete Wert bestimmt die Setz- oder Rücksetzaktion. Wenn Bit Null eine Null (0) enthält, wird das Bit in intvar zurückgesetzt; Wenn das Bit Null in calcexpr eine Eins (1) enthält, wird das Bit in intvar gesetzt. Diese Aktion kann man sich leichter merken, wenn man bedenkt, dass PowerBASIC eine implizite bitweise UND-Operation ( calcexpr AND 1) ausführt, um die Setz- oder Rücksetzaktion abzuleiten.

Es muss darauf geachtet werden, dass die Bitindexnummer ( bitnumber ) die Anzahl der Bits, auf die gültig zugegriffen werden kann, nicht überschreitet. Beispielsweise kann das Lesen des 17. Bits einer 16-Bit-Skalarvariablen eine allgemeine Schutzverletzung (GPF) auslösen. Ebenso kann das Anpassen des 4097. Bits eines Bit-Arrays, das von einem 128-Elemente-DWORD-Array abgeleitet ist, ähnliche Probleme verursachen. Bitnummer ist immer nullbasiert, daher wird in der BIT-Anweisung auf das 129. Bit eines impliziten Bit-Arrays mit der Bitnummer gleich 128 verwiesen. Beispiel: x& = BIT(A?(1), 128).

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BIT
  • BITS
  • Hilfe zum PBXB64-Compiler


Bit-Datentypen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Bit-Datentypen

TYPE- und UNION-Strukturen k&ouml;nnen Bitvariablen enthalten, die BIT (vorzeichenlose Werte) oder SBIT (vorzeichenbehaftete Werte) hei&szlig;en. Jede Bitvariable kann 1 bis 31 Bits belegen. Bei Verwendung in einem TYPE sind Bitvariablen a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

TYPE- und UNION-Strukturen können Bitvariablen enthalten, die BIT (vorzeichenlose Werte) oder SBIT (vorzeichenbehaftete Werte) heißen. Jede Bitvariable kann 1 bis 31 Bits belegen. Bei Verwendung in einem TYPE sind Bitvariablen a

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Bit variables may only be used as TYPE or UNION members, not as scalar, array, or pointer variables. The size of a bit variable is defined as:

var AS BIT * nlit [IN BYTE|WORD|DWORD]

where the term "* nlit" defines the number of bits (1 to 31), and the optional term "IN BYTE|WORD|DWORD", if present, defines the start of a new bit field of 1, 2, or 4 bytes.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


BITS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BITS

Converts an integral value into another data type, based upon the bit pattern of the value. This is particularly helpful in converting between signed and unsigned representations.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

resultvar = BITS( datatype , expression )

Beschreibung

Converts an integral value into another data type, based upon the bit pattern of the value. This is particularly helpful in converting between signed and unsigned representations.

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Since the integer value -1 and word value 65535 have the identical bit pattern of 1111111111111111, BITS(WORD,-1) would return the unsigned word value of 65535. Of course, BITS(INTEGER,65535) would then return the integer value -1. Other values and data types would follow the same pattern and rules.

This newer form of BITS condenses the functionality of the older forms (BITS%, BITS&, BITS?, BITS?? and BITS???) into a single function. In particular, this provides for the addition of new data types in future version of PowerBASIC, particularly those which may not have an associated type-specifier character.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BIT CALC
  • BIT
  • BITSE
  • Hilfe zum PBXB64-Compiler


BITSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BITSE

Compare integral values for equivalent bits regardless of sign.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x& = BITSE( nexp , nexp , bitsize )

Beschreibung

Compare integral values for equivalent bits regardless of sign.

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

This function allows you to compare two integral values for equivalent bit patterns, regardless of whether they are signed or unsigned values. The two numeric expressions ( nexp ) are the integral values to be compared, The bitsize parameter specifies the number of bits to be compared, 8, 16, or 32.

For example, the integer value -1 and the word value 65535 both have the identical bit pattern: 1111111111111111. The difference is simply the way the bits are interpreted by a program.

x& = BITSE( -1, 65535, 16)

The above example would cause the lowest 16 bits of the expressions to be compared. Since they are equal, the value TRUE (-1) is returned.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BITS
  • Hilfe zum PBXB64-Compiler


BOUNDED - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BOUNDED

Liefert PB-Wahr (-1), wenn ein numerischer oder String-Wert innerhalb der inklusiven Grenzen liegt, andernfalls PB-Falsch (0).

Kategorie: Allgemeine Referenz

Syntax

result& = BOUNDED(Lower TO Upper, TestVal)
result& = BOUNDED(Lower$ TO Upper$, TestVal$)

Beschreibung

Liefert PB-Wahr (-1), wenn ein numerischer oder String-Wert innerhalb der inklusiven Grenzen liegt, andernfalls PB-Falsch (0).

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

BOUNDED liefert -1, wenn TestVal groesser oder gleich Lower und kleiner oder gleich Upper ist. Sonst wird 0 geliefert. Alle drei Argumente muessen numerisch oder alle Strings sein; numerische und String-Argumente duerfen nicht gemischt werden.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

IF BOUNDED(1 TO 10, 5) = 0 THEN FUNCTION = 1


BRIDGE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BRIDGE

Deklariert expliziten gemeinsam genutzten Speicher fuer mehrere Frontends.

Kategorie: Allgemeine Referenz

Syntax

BRIDGE EXPORT name AS type [ALIAS "symbol"]
BRIDGE IMPORT name AS type ALIAS "symbol"

Beschreibung

Deklariert expliziten gemeinsam genutzten Speicher fuer mehrere Frontends.

Typ: Anweisung | Kategorie: Variablen und Geltungsbereich

PBXB64-Status: VERFUEGBAR, getestete begrenzte BASIC/C-Bridge

PBXB64-Zertifizierung: [BEGRENZT GETESTET]

Beschreibung

BRIDGE EXPORT erzeugt vom Compiler verwalteten globalen Speicher mit einem expliziten Objektsymbol. BRIDGE IMPORT bindet einen BASIC-Namen an extern bereitgestellten Speicher. Wenn eine BASIC-Quelle zusammen mit C-Nebeneingaben kompiliert wird, erzeugt PBXB64 einen C-Bridge-Header und fuegt ihn automatisch in die C-Uebersetzung ein. Die generierten C-Deklarationen enthalten _Static_assert(sizeof(symbol) == n)-Pruefungen; widerspruechliche C-Deklarationen im Benutzercode werden zur Compile-Zeit abgelehnt. Rust-Nebeneingaben erhalten generierte extern "PBXB64" static mut-Bridge-Deklarationen vor der Benutzer-Rust-Quelle; passende Benutzerdeklarationen bleiben gueltig, falsche Deklarationen schlagen zur Compile-Zeit fehl. Rust-Festpufferdeklarationen werden fuer getesteten BASIC-eigenen STRINGZ * n-Speicher und C-eigene, von BASIC importierte Festpuffer als [i8; n]-Extern-Statics erzeugt. Standalone-ASM kann getesteten Bridge-Speicher ueber das dokumentierte Objektsymbol mit .extern verwenden; das deckt BASIC-eigene Exporte sowie C-eigene skalare und feste Imports ab. Forth-Nebeneingaben erhalten generierte Bridge-Deklarationen und koennen getesteten 64-Bit-Integer-Bridge-Speicher mit BRIDGE@ symbol und value BRIDGE! symbol sowie getesteten DOUBLE-breiten Bridge-Speicher mit BRIDGE@F64 symbol und value BRIDGE!F64 symbol lesen und schreiben; das schliesst BASIC-Exporte und C-eigene skalare Imports ein. Feste Forth-Pufferdeklarationen stellen BRIDGEADDR symbol und BRIDGELEN symbol fuer getesteten Bytezugriff mit C@/C! bereit. Pointer-Bridge-Slots stellen BRIDGEPTR symbol bereit; das Wort legt den gespeicherten Pointerwert fuer getestete Byte-Schreibzugriffe durch eine BASIC-Pufferadresse auf den Stack. Eingebettetes Forth nutzt typisierte PB-Lokal-Woerter wie PBVALI64, PBSETI64, PBVALF64 und PBSETF64 fuer die fokussierte Skalar-Bridge.

Die getestete V14-Oberflaeche unterstuetzt skalare Integer-, Gleitkomma-, Pointer-, BOOL-, CURRENCY- und feste STRINGZ * n-Deklarationen fuer exportierten oder importierten Objektspeicher. Pointer-Bridge-Speicher ist als 8-Byte-Objektslot getestet, wird fuer C als void* bereitgestellt und fuer Rust als usize erzeugt, sodass Rust die gespeicherte Adresse fuer getestete Byte-Schreibzugriffe zu einem Raw-Pointer casten kann. Feste Puffer werden fuer C-Bridge-Header als Byte-Arrays erzeugt und sind gegen C-eigene Byte-Arrays sowie COBOL-PIC X(n) EXTERNAL-Speicher getestet. Generierte C- und Rust-Deklarationen enthalten nur Bridge-Aliase, die in der jeweiligen Quellsprache gueltige Bezeichner sind; COBOL-artige Aliase mit Bindestrichen bleiben fuer COBOL und den Linker verfuegbar, ohne C- oder Rust-Nebeneingaben zu stoeren. Ein Bridge-Alias hat in einer BASIC-Uebersetzungseinheit genau einen Besitzer; dasselbe Alias darf nicht sowohl als BRIDGE EXPORT als auch als BRIDGE IMPORT deklariert werden. BRIDGE IMPORT ist nur eine Deklaration: ein anderes Objekt im selben Link muss das Alias-Symbol definieren, sonst bricht der Link mit einer Unresolved-Symbol-Diagnose ab. Verwaltete dynamische Strings, Arrays, UDTs und Aggregat-Schreibzugriffe bleiben ausserhalb dieser fokussierten Oberflaeche, bis sie einen eigenen getesteten Laufzeitvertrag haben.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BUILD$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

BUILD$

Build or concatenate

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x$ = BUILD$( a$ , b$ , c$ , d$ ...)

Beschreibung

Build or concatenate

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In some cases, string concatenation using the classic string operators can be a slow process. This is particularly true when there are many operands using longer strings. The BUILD$ function passes all the typical bottlenecks to create a new string at the greatest possible speed. The following 2 lines are functionally identical, but the BUILD$ version will execute substantially faster.

x$ = a$ + "bb" + c$ + y$(7) + y$(i&) + z$

x$ = BUILD$(a$, "bb", c$, y$(7), y$(i&), z$)

It's interesting to note that this string function could have been named APPEND$ or PREPEND$ because it performs these functionalities so well. For example, to prepend a topic number to text$ while also adding a period at the end, you could execute:

text$ = BUILD$( "1) ", text$, ".")

In order to extract the utmost efficiency, BUILD$() was designed to work with a very narrow definition. The component parameters must be dynamic string variables, either scalar or array , string literals , or string equates . They may not be expressions . There is virtually no limit as to the number of parameters.

The BUILD$() function is most valuable when you are concatenating numerous strings all at the same time. However, when you must add many string sections, in many separate operations, the StringBuilder object is much faster, and a more appropriate choice.

Generally speaking, the greater the number of parameters, the greater the increase in execution speed.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • LET
  • CHR$
  • CSET$ ? PBXB64-Compiler-Hilfe
  • JOIN$
  • LSET$
  • REPEAT$ - Hilfe zum PBXB64-Compiler
  • RSET$
  • STRING$ - Hilfe zum PBXB64-Compiler
  • IStringBuilderA.Add-Methode
  • STRINSERT$
  • WRAP$
  • Hilfe zum PBXB64-Compiler


Built In RGB Color Equates - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Built In RGB Color Equates

The following is a list of RGB color equates built into the compiler, which can be used with routines that accept RGB color values.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

The following is a list of RGB color equates built into the compiler, which can be used with routines that accept RGB color values.

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Built-in Interfaces - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Built-in Interfaces

The compiler provides a set of built-in Interfaces, including:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

The compiler provides a set of built-in Interfaces, including:

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

ICONNECTIONPOINTCONTAINER

Beschreibung

Built-in Interfaces gehoert zur Kategorie General. Diese Seite beschreibt den PBXB64-Dokumentationsstand fuer diesen Eintrag; verwenden Sie die Grenzen und Belege auf dieser Seite statt historischer PBWin-Annahmen.

Praktische Verwendung

Built-in Interfaces gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.


Built-in numeric equates - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Built-in numeric equates

The compiler provides a convenient set of built-in numeric equates .

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

The compiler provides a convenient set of built-in numeric equates .

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

The first to consider should be the group which determines the compiler version and the supported feature level. Additional information may be found with the %DEF equate operator.

%PB_CC32, %PB_DLL32, %PB_EXE, %PB_REVISION, %PB_REVLETTER, %PB_WIN32

Compile-Time information:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Built-in string equates - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Built-in string equates

Der Compiler stellt au&szlig;erdem eine Reihe integrierter String-Equates bereit. Diese bieten sowohl Komfort als auch Selbstdokumentation.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Compiler stellt außerdem eine Reihe integrierter String-Equates bereit. Diese bieten sowohl Komfort als auch Selbstdokumentation.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Die folgende Tabelle zeigt das ANSI-Formular, das jeweils mit einem einzelnen Dollarzeichen ($) beginnt. Der Compiler enthält und bietet außerdem jeweils eine breite Unicode-Version an, die durch ein doppeltes Dollarzeichen ($$) gekennzeichnet ist. Beispielsweise gibt $NUL ein Byte mit dem Zeichencode Null (0) zurück, während $$NUL ein Wort mit dem Zeichencode Null (0) zurückgibt.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


Byte (?) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Byte (?)

Bytes sind 8-Bit (1 Byte) vorzeichenlose Ganzzahlen mit einem Wert von 0 bis 255 ( 0 bis 2^8-1). Das Typspezifizierzeichen f&uuml;r ein Byte ist: ?.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Bytes sind 8-Bit (1 Byte) vorzeichenlose Ganzzahlen mit einem Wert von 0 bis 255 ( 0 bis 2^8-1). Das Typspezifizierzeichen für ein Byte ist: ?.

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Byte-Variablen werden identifiziert, indem dem Variablennamen ein Fragezeichen folgt (d. h. var? ) oder indem die DEFBYT-Anweisung verwendet wird, wie in der vorherigen Diskussion von Ganzzahlen beschrieben. Sie können Byte-Variablen auch mit dem Schlüsselwort BYTE mit der DIM-Anweisung deklarieren. Zum Beispiel:

Byte-Variablen eignen sich besonders zum Speichern kleiner, vorzeichenloser ganzzahliger Größen wie der Anzahl der Tage in einem Monat. Sie sollten keine Byte-Variablen in FOR/NEXT-Schleifen verwenden, da diese äußerst ineffizient sind.

Eine PowerBASIC-Byte-Variable entspricht einem Bool-Datentyp (in Kleinbuchstaben), der von den meisten modernen C-Compilern verwendet wird. Ein Bool ist ein nicht-traditioneller 8-Bit-Datentyp ohne Vorzeichen, während ein BOOL-Datentyp (in Großbuchstaben) einer langen Ganzzahl in PowerBASIC entspricht. Beachten Sie, dass einige ältere C-Compiler möglicherweise die Schlüsselwörter bool und BOOL frei austauschen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' numeric_type_long
FUNCTION PBMAIN() AS LONG
  LOCAL a AS LONG
  a = 10
  IF (a) <> (10) THEN FUNCTION = 1: EXIT FUNCTION
  a = a + 5
  IF (a) <> (15) THEN FUNCTION = 2: EXIT FUNCTION
  a = a * 2
  IF (a) <> (30) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


C Datentypen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

C Datentypen

PBXB64 unterst&uuml;tzt das Kompilieren von C17-Quelldateien (.c, .h) mithilfe des integrierten C-Frontends. Die Header der C17-Standardbibliothek sind im Compiler enthalten und im Verzeichnis c17_headers verf&uuml;gbar.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 unterstützt das Kompilieren von C17-Quelldateien (.c, .h) mithilfe des integrierten C-Frontends. Die Header der C17-Standardbibliothek sind im Compiler enthalten und im Verzeichnis c17_headers verfügbar.

Typ: Datentyp | Kategorie: C-Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

C-Datentypen ist die Einstiegsseite fuer das integrierte PBXB64-C-Frontend. Verwenden Sie diese Seite, um vor dem Schreiben eines Programms den passenden Skalar-, Zeiger-, String- oder Aggregattyp auszuwählen und dann auf die engeren Befehlsseiten und fokussierten Validierungsbeispiele zu wechseln.

Die Seite dokumentiert die nativen Windows-x64-Groessen, die PBXB64 beim Kompilieren von C17-Quelltext verwendet. Fuer ein Programm ist deshalb nicht nur die C-Formulierung, sondern das konkrete Typ-, Vorzeichen- und ABI-Mapping unten massgeblich.

Standard-C-Datentypen

Beim Kompilieren von C-Code mit PBXB64 -std=c17 file.c sind die folgenden Standard-C-Datentypen über das enthaltene verfügbar Header:

Typ | Kopfzeile | Größe | Beschreibung
char | <stdint.h> | 1 Byte | Zeichen / kleinste adressierbare Einheit
short | <stdint.h> | 2 Bytes | Kurze Ganzzahl mit Vorzeichen
int | <stdint.h> | 4 Bytes | Standard-Ganzzahl mit Vorzeichen
long | <stdint.h> | 4 Bytes | Lange Ganzzahl mit Vorzeichen (Win64 LLP64)
long long | <stdint.h> | 8 Byte | Erweiterte Ganzzahl mit Vorzeichen
float | <math.h> | 4 Bytes | IEEE 754 mit einfacher Genauigkeit
double | <math.h> | 8 Byte | IEEE 754 double-precision
long double | <math.h> | 8 Byte | Erweiterte Genauigkeit (Win64 wird auf double abgebildet)
void* | <stddef.h> | 8 Byte | Pointer (64-Bit unter Win64)
size_t | <stddef.h> | 8 Byte | Vorzeichenloser Größentyp (Win64)
ptrdiff_t | <stddef.h> | 8 Byte | Vorzeichenbehafteter Zeigerdifferenztyp

Ganzzahltypen mit fester Breite

Typen mit exakter Breite von <stdint.h>:

Typ | Größe | PB-Äquivalent
int8_t | 1 Byte | BYTE (signiert)
uint8_t | 1 Byte | BYTE
int16_t | 2 Bytes | GANZE ZAHL
uint16_t | 2 Bytes | WORD
int32_t | 4 Bytes | LONG
uint32_t | 4 Bytes | DWORD
int64_t | 8 Byte | QUAD
uint64_t | 8 Byte | QUAD (ohne Vorzeichen)
intptr_t | 8 Byte | QUAD
uintptr_t | 8 Byte | QUAD

Boolescher Typ

<stdbool.h> liefert bool, true, Undfalse. In C ist bool 1 Byte. Verwenden Sie in PB BYTEoderLONG für boolesche Werte.

Zeichentypen

<wchar.h> liefert wchar_t (2 Bytes unter Win64, UTF-16). Das PB-Äquivalent ist WSTRING. char ist 1 Byte (ANSI). Das PB-Äquivalent ist STRING.

Inklusive C17-Header

The following standard C17 headers are bundled with PBXB64:

assert.h    ctype.h     errno.h     float.h
inttypes.h  limits.h    locale.h    math.h
setjmp.h    signal.h    stdarg.h    stdatomic.h
stdbool.h   stddef.h    stdint.h    stdio.h
stdlib.h    string.h    time.h      wchar.h

Usage

#include <stdint.h>
#include <stdbool.h>

int main(void) {
    int64_t big = 9223372036854775807LL;
    bool flag = true;
    return 0;
}

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • Datentypen
  • Native H-Lib-Container - Übersicht
  • Hilfe zum PBXB64-Compiler


C17 Standardbibliotheksheader - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

C17 Standardbibliotheksheader

PBXB64 wird mit einem vollst&auml;ndigen C17-Standardbibliotheksheadersatz f&uuml;r gehostetes C ausgeliefert Validierung. Diese Header befinden sich im Verzeichnis c17_headers und werden beim Kompilieren von C-Code mit PBXB64 -std=c17.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 wird mit einem vollständigen C17-Standardbibliotheksheadersatz für gehostetes C ausgeliefert Validierung. Diese Header befinden sich im Verzeichnis c17_headers und werden beim Kompilieren von C-Code mit PBXB64 -std=c17.

Typ: automatisch durchsucht. Referenz | Kategorie: C-Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Header Kategorien

Kopfzeile | Kategorie | Schlüssel Inhalt
<assert.h> | Diagnose | assert() Makro
<ctype.h> | Charakter | isalpha, isdigit, Toupper usw.
<errno.h> | Diagnose | errno, Fehlercode Makros
<float.h> | Limits | FLT_MAX, DBL_MAX, LDBL_MAX, etc.
<inttypes.h> | Formatting | PRId64, PRIu64, usw.
<limits.h> | Limits | CHAR_MAX, INT_MAX, LONG_MAX, etc.
<locale.h> | Localization | setlocale, localeconv
<math.h> | Math | sin, cos, sqrt, pow usw.
<setjmp.h> | Nicht-lokale Sprünge | setjmp, longjmp
<signal.h> | Signals | signal, raise, SIG* Konstanten
<stdarg.h> | Variadic | va_list, va_start, va_arg, va_end
<stdatomic.h> | Atomics | atomare Typen und Operationen
<stdbool.h> | Boolean | bool, true, false
<stddef.h> | Definitions | size_t, ptrdiff_t, NULL, offsetof
<stdint.h> | Ganze Zahl | int8_t, uint16_t, int32_t, int64_t, etc.
<stdio.h> | I/O | FILE, fopen, printf, scanf, etc.
<stdlib.h> | General | malloc, free, atoi, qsort, rand, etc.
<string.h> | Zeichenfolge | strlen, strcpy, strcat, memcmp, etc.
<time.h> | Time | time, clock, struct tm, strftime
<wchar.h> | Wide char | wchar_t, wprintf, wcslen, usw.

PBXB64-spezifische Header

Kopfzeile | Beschreibung
<pbxb64/hlib.h> | H-Lib Container C API für PB Frontends

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • C Datentypen
  • Datentypen
  • Hilfe zum PBXB64-Compiler


CADD$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CADD$

Kategorie: komplexe wissenschaftliche Arithmetik | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CADD$( left, right )

Beschreibung

Kategorie: komplexe wissenschaftliche Arithmetik | Status: V24 verifiziert

Semantik

Addiert Real- und Imaginaerteil zweier Werte. Komplexer Text hat das Format real;imag; ein Skalar wird als scalar;0 behandelt. Das Ergebnis ist kanonischer Dezimaltext.

Operanden und Grenzen

Normale Numerik, INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL, UNF, UNC und UNI werden akzeptiert. Die exakte UNC-Zeichenkettenengine bleibt aktiv.


CALL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CALL

Invoke a procedure (

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CALL ProcName [([ arguments ])] [TO result_var ]

Beschreibung

Invoke a procedure (

Typ:Anweisung |Kategorie: Procedures

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

The CALL statement has the following parts:

ProcName

The name of a Sub, Function, Method, Property, or FastProc defined elsewhere in the program.

arguments

An optional, comma-delimited list of variables , expressions, and constants to be passed to the procedure as parameters, for up to 32 parameters. If the CALL keyword is used, the arguments must be enclosed in parentheses.

You can omit the CALL keyword. If you do so, you may also omit the parentheses surrounding arguments. For example, the following lines are equivalent:

CALL MyProc(parm1, parm2)

MyProc(parm1, Parm2)

MyProc parm1, parm2

However, if the first parameter argument is enclosed in parentheses for any reason, the entire parameter list must be enclosed in parentheses. For example:

MyProc (3+z, b) ' Valid syntax

MyProc ((3+z), b) ' Valid syntax

MyProc (3+z), b ' Invalid syntax

This updated syntax now permits macros to be called using the SUB-style convention if/when the macros expand directly to Function calls. For example:

MACRO sm(Msg) = SendMessage(a, Msg, b, c)

can be called like this (when the return value is not required):

In all cases, the number and type of parameters passed must agree with the arguments in procedure definition.

V ariant Arguments

Y ou can think of a Variant as a kind of container, which can hold a variable of most any data type. If you call a procedure which requires a variant for one or more of its arguments, PowerBASIC will automatically convert a standard data type into a variant data type.

While a variant may not normally contain a UDT , PowerBASIC offers a special methodology to do so. At programmer direction, a TYPE may be assigned to a variant (as a byte string ) by using:

[LET] VrntVar = TypeVar AS STRING

In the same manner, a UDT argument can be auto-converted to the variant type by appending AS STRING:

CALL ProcName(UDTVar AS STRING)

The data contained in the User-Defined Type variable (UDT) is stored in the variant argument as a dynamic string of bytes (vt_bstr). When you retrieve that UDT data (with Variant$ ), PowerBASIC understands the content and handles it accurately. However, other programming languages may not understand this technique, so it should be limited to PowerBASIC applications. This methodology is implemented in all of the PowerBASIC COLLECTION objects as it greatly enhances ease of coding and performance of the final executable.

Passing Parameters

In a procedure definition, every parameter is described by the data type, and the format used to pass it. The type may be any normal variable type, such as long, string, User-Defined Type, etc. The passing format describes how the value is presented to the procedure: by reference (BYREF), by value (BYVAL), or by reference to a copy (BYCOPY).

Wenn ein Parameter als Referenz übergeben wird, besteht er aus einer 4-Byte-Adresse der Daten. In diesem Fall können die Originaldaten durch die Prozedur geändert werden.

Wenn ein Parameter als Wert übergeben wird, handelt es sich um eine tatsächliche Kopie der Daten. Da es sich bei dem Parameter um eine Kopie handelt, können die Originaldaten durch die Prozedur nicht geändert werden.

Wenn Sie Parameter aus dem aufrufenden Code mit einem expliziten BYVAL übergeben, schalten Sie die Typprüfung des Compilers für diesen Parameter effektiv aus. Dies kann in Fällen nützlich sein, in denen der aufgerufene Code einen BYREF-Parameter erwartet und Sie eine Adresse eines anderen Datentyps übergeben möchten, die ohne die BYVAL-Methode einen Fehler bei der Kompilierung auslösen würde. Zum Beispiel:

SUB TheSub(x AS STRINGZ) ' Adresse von x erwartet

[Anweisungn]

END SUB

[Anweisungn]

DIM a$

a$ = "Dynamische Stringdaten"

CALL TheSub(BYVAL STRPTR(a$)) ' Daten übergeben Adresse

BYCOPY

Ein per Kopie übergebener Parameter ist ein Sonderfall; so etwas wie eine Mischung aus den beiden anderen Methoden. Wenn eine Prozedur erwartet, dass ein Parameter als Referenz übergeben wird, erwartet sie, einen Zeiger auf die Daten zu sehen. In einigen Fällen, beispielsweise wenn der Parameter ein berechneter Ausdruck ist, ist es nicht genau möglich, einen Zeiger zu übergeben, da es sich bei einem Ausdrucksergebnis um einen temporären Wert handelt, der nicht an einem permanenten Speicherort vorhanden ist. Wenn Sie andererseits sicherstellen möchten, dass die Originaldaten durch die Prozedur nicht verändert werden, können Sie eine BYCOPY-Überschreibung in die Argumentliste einfügen.

In beiden Fällen wird eine Kopie der Daten an einem temporären Speicherort gespeichert, und der Parameter besteht aus einer 4-Byte-Adresse dieses temporären Speicherorts. Eine andere Möglichkeit, BYCOPY zu erzwingen, besteht darin, einen Variablennamen in Klammern zu setzen, damit er für den Compiler als Ausdruck und nicht nur als einzelne Variable erscheint.

Sofern nicht anders angegeben, verwenden Parameter standardmäßig die BYREF-Übergabemethode. Ausdrücke und Konstanten werden immer BYCOPY übergeben. Zeichenfolgen fester Länge, benutzerdefinierte Typen und vollständige Arrays werden immer BYREF.

CALL MySub (i&) ' i& wird als Referenz übergeben

CALL MySub (BYREF i&) ' i& wird als übergeben reference

CALL MySub (BYCOPY i&) ' i& wird von copy

CALL MySub ((i&)) ' i& wird von copy

übergeben. Sofern nicht anders angegeben, werden Parameter standardmäßig durch die BYREF-Übergabe übergeben Methode. Ausdrücke und Konstanten werden immer BYCOPY übergeben. Vollständige Arrays werden immer BYREF übergeben.

Ganze Arrays werden durch die Verwendung eines leeren Satzes von Klammern nach dem Array angegeben, während einzelne Array-Elemente durch die tiefgestellte Indexnummer angegeben werden. Zum Beispiel:

CALL SumArray(a()) ' gesamtes Array 'a' übergeben

CALL SumArray(a(3)) ' Element 3 von Array 'a' übergeben

Die CALL-Anweisung kann sein Wird zum Aufrufen von Funktionen, Subs, Methoden, Eigenschaften oder Fastprocs verwendet. In diesem Fall wird der Rückgabewert der Funktion einfach verworfen, es sei denn, das Schlüsselwort TO wird zur Angabe einer Rückgabevariablen verwendet.

Wenn eine Prozedur einen Parameter als Referenz erwartet, ist es möglich, einen Zeiger durch einen Wert zu ersetzen, um das identische Ergebnis zu erzielen. Dies ist besonders nützlich bei Zeichenfolgen und Typen fester Länge:

DECLARE SUB a(z%)

DIM MyInt AS INTEGER, x AS INTEGER PTR

x = VARPTR(MyInt)

CALL a(MyInt)

CALL a(BYVAL x)

CALL a(BYVAL VARPTR(MyInt))

Wenn die Prozedur einen Parameter als Wert erwartet, können Sie natürlich nicht den Zeiger, sondern das Zeigerziel übergeben (d. h. CALL a(@x)).

PowerBASIC-Compiler haben ein Limit von 32 Parametern pro SUB, FUNCTION, METHOD und PROPERTY. Um mehr als 32 Parameter zu übergeben, erstellen Sie einen benutzerdefinierten Typ (UDT) und übergeben Sie stattdessen (die Adresse) des UDT als Referenz (BYREF).

Strings fester Länge, STRINGZ-Strings und benutzerdefinierte Typen/Unions können jetzt auch als BYVAL- oder OPTIONAL-Parameter übergeben werden. Versuchen Sie zu vermeiden, große Elemente BYVAL zu übergeben, da dies furchtbar ineffizient ist und es eine maximale Größenbeschränkung von 64 KB für eine bestimmte Parameterliste gibt. Arrays können nicht BYVAL übergeben werden.

Wenn eine Prozedurdefinition entweder einen BYREF-Parameter oder einen Zeigervariablenparameter angibt, kann der aufrufende Code stattdessen frei ein BYVAL DWORD oder einen Zeiger übergeben. Obwohl die Verwendung der expliziten BYVAL-Überschreibung im aufrufenden Code optional ist, wird sie aus Gründen der Übersichtlichkeit empfohlen. Es ist notwendig, alle Zeigerparameter explizit als BYVAL zu deklarieren (d. h. BYVAL X AS BYTE PTR). Andernfalls wird beim Kompilieren ein Fehler 549 („BYVAL erforderlich mit Zeigern“) generiert.

Eine Prozedur kann auch innerhalb desselben Moduls importiert und exportiert werden. Das heißt, eine Funktion im Modul kann als EXPORT angegeben werden, während eine DECLARE-Anweisung im selben Modul sie durch die Option LIB „XXX.DLL“ als importierte Funktion angibt, vorausgesetzt, dass XXX.DLL der Name des Moduls ist. Dies kann besonders nützlich sein, wenn Sie eine #INCLUDE-Datei mit allen DECLARE-Anweisungen für ein Projekt erstellen möchten.

Informationen zur Verwendung von OPTIONAL-Parametern finden Sie unter DECLARE, FUNCTION, METHOD, PROPERTY und SUB themen.

NOTHING

Das reservierte Wort NOTHING kann verwendet werden, um jeden OBJECT-Variablenparameter zu ersetzen. In diesem Fall übergibt der Compiler ein Nullobjekt (oder einen Zeiger auf ein Nullobjekt, wenn BYREF) anstelle eines typischen Parameters. Obwohl dies einige Programmierprobleme vereinfacht, muss die Technik mit Vorsicht angewendet werden. Wenn die Zielmethode oder -funktion keinen Nullparameter erwartet, kann dies zu einem schwerwiegenden Fehlerzustand führen.

TO result_var

Dies bietet eine optionale Möglichkeit, result_var einen Funktionsrückgabewert zuzuweisen. Der folgende Code weist beispielsweise x% den Rückgabewert auf zwei verschiedene Arten zu:

x% = MyFunCall

CALL MyFunCall TO x%

Einschränkungen

Eine Thread-Funktion darf nicht direkt aufgerufen oder ausgeführt werden. außer durch eine THREAD CREATE-Anweisung.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • CALL DWORD
  • DECLARE ? PBXB64-Compiler-Hilfe
  • FASTPROC/END FASTPROC-Anweisungen
  • FUNCTION/END FUNCTION-Anweisungen
  • METHOD/END METHOD-Anweisungen
  • PROPERTY / END PROPERTY
  • SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe
  • THREAD CREATE
  • Hilfe zum PBXB64-Compiler


CALL DWORD - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CALL DWORD

Eine Prozedur indirekt ueber einen DWORD-grossen Codezeiger aufrufen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CALL DWORD TargetPtr
CALL DWORD TargetPtr USING abc ([ arguments ]) [TO result_var ]

Beschreibung

Eine Prozedur indirekt ueber einen DWORD-grossen Codezeiger aufrufen.

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] fuer die fokussierte Integer-/Pointer-Oberflaeche: CALL DWORD ptr, CALL DWORD ptr USING Modell(args) TO result, Modellfunktionen mit einem und mehreren Integer-Argumenten, Integer-Rueckgabewertzuweisung und String-Ziel-Diagnose. String-Rueckgabewerte, BYREF-Modellparameter, OPTIONAL-Parameter, externe DLL-Ziele und STDCALL/CDECL-Unterscheidungen bleiben breitere Paritaetsziele.

Beschreibung

CALL DWORD ist ein wesentlicher Bestandteil fuer die Implementierung einer (expliziten) dynamischen Verknuepfung von DLLs zur Laufzeit und nicht die ueblichere Ladezeit-(implizite) Verknuepfung. Dies bietet eine Moeglichkeit, Aufrufe an APIs und DLLs zu erstellen, die moeglicherweise nicht in allen Windows-Versionen vorhanden sind. Diese Technik stellt sicher, dass eine Anwendung erfolgreich gestartet werden kann, auch wenn Windows den Speicherort der API- oder DLL-Funktion nicht aufloesen kann.

Die erste (vereinfachte) Form von CALL DWORD kann verwendet werden, wenn die Zielunterfunktion/Zielfunktion keine Parameter annimmt und keinen Rueckgabewert bietet. Ausserdem sind die Aufrufkonventionen STDCALL (SDECL) erforderlich, die von der ueberwiegenden Mehrheit (ueber 99 %) der Importprozeduren verwendet werden. In allen anderen Faellen muessen Sie die zweite Form mit einer USING-Klausel verwenden, um die Signatur der Ziel-Sub/Funktion zu definieren.

TargetPtr

Eine Doppelwort-, Long-Integer- oder Zeigervariable, die die Adresse des Einstiegspunkts einer Prozedur (Sub oder Funktion) enthaelt. Wenn sich die Zielunterfunktion/Zielfunktion im selben Modul befindet, koennen Sie die Adresse mit der CODEPTR-Funktion abrufen. Wenn es sich in einer externen DLL befindet, verwenden Sie IMPORT ADDR, um es zu laden und die Adresse abzurufen.

Diese Option wird verwendet, um eine Modellprozedurdeklaration zu definieren, die allen Aufrufkonventionen entspricht, die zum Aufrufen der Zielunterfunktion/-funktion verwendet werden sollen. Beispielsweise sind die folgenden zwei Aufrufe der Funktion MySubCall aequivalent:

DECLARE SUB MySubCall

DIM PtrMySubCall AS DWORD

PtrMySubCall= CODEPTR(MySubCall)

[Anweisungn]

CALL MySubCall

CALL DWORD PtrMySubCall USING MySubCall

arguments

Eine optionale, durch Kommas getrennte Liste von Variablen, Ausdruecke und Konstanten, die als Parameter an die Prozedur uebergeben werden sollen. Im CALL DWORD-Kontext sind einschliessende Klammern erforderlich. Anzahl und Typ der uebergebenen Parameter muessen mit den Argumenten der durch die USING-Klausel benannten Prozedur uebereinstimmen. Weitere Informationen zu Parameteruebergabemethoden finden Sie unter CALL.

TO result_var

Beim Aufrufen einer Funktion, die einen Wert zurueckgibt, bietet das Schluesselwort TO eine Moeglichkeit, den Funktionsrueckgabewert result_var zuzuweisen.

Einschränkungen

Thread-Funktionen und Callback-Funktionen koennen nicht mit CALL DWORD aufgerufen werden. Das DECLARE-Modell fuer die USING-Klausel darf keine LIB- oder IMPORT-Option angeben.

Getestete Oberflaeche

Die aktuelle Regression in tests/pb/test_call_dword.pb prueft die reine Zeigerform, einen Integer-Modellaufruf mit einem Argument, einen Integer-Modellaufruf mit zwei Argumenten und die Rueckgabewertzuweisung ueber TO. Die Reject-Regression belegt, dass String-Ziele abgelehnt werden.

Praktische Verwendung

Erfassen Sie den Einstiegspunkt mit CODEPTR, speichern Sie ihn in einer DWORD- oder Zeigervariablen und rufen Sie ihn mit einer Modellprozedur auf, deren Signatur zum echten Ziel passt. Verwenden Sie die Form ohne Argumente nur dann, wenn die Zielroutine keine Parameter annimmt und keinen Rueckgabewert liefert.

LOCAL p AS LONG
LOCAL r AS LONG
p = CODEPTR(Foo)
CALL DWORD p USING Foo(5) TO r

Aktuelle Grenzen

String-Rueckgabewerte, BYREF-Modellparameter, OPTIONAL-Parameter, externe DLL-Ziele und Aufrufkonventions-Unterschiede sind weiterhin breitere Paritaetsarbeit. Halten Sie die Seite bis zu weiteren fokussierten Tests auf die verifizierte Integer-/Pointer-Oberflaeche beschraenkt.

Einschränkungen

Die fokussierte CALL-DWORD-Oberflaeche ist auf die getestete Integer-/Pointer-Verwendung beschraenkt. String-Rueckgabewerte, BYREF-Parameter, OPTIONAL-Parameter, externe DLL-Ziele und STDCALL/CDECL-Unterschiede bleiben bis zu weiteren Regressionen offen.

Getestete Oberflaeche

Die aktuelle Regression in tests/pb/test_call_dword.pb prueft die reine Zeigerform, einen Integer-Modellaufruf mit einem Argument, einen Integer-Modellaufruf mit zwei Argumenten und die Rueckgabewertzuweisung ueber TO. Die Reject-Regression belegt, dass String-Ziele abgelehnt werden.

Praktische Verwendung

Erfassen Sie den Einstiegspunkt mit CODEPTR, speichern Sie ihn in einer DWORD- oder Zeigervariablen und rufen Sie ihn mit einer Modellprozedur auf, deren Signatur zum echten Ziel passt. Verwenden Sie die Form ohne Argumente nur dann, wenn die Zielroutine keine Parameter annimmt und keinen Rueckgabewert liefert.

LOCAL p AS LONG
LOCAL r AS LONG
p = CODEPTR(Foo)
CALL DWORD p USING Foo(5) TO r

Aktuelle Grenzen

String-Rueckgabewerte, BYREF-Modellparameter, OPTIONAL-Parameter, externe DLL-Ziele und Aufrufkonventions-Unterschiede sind weiterhin breitere Paritaetsarbeit. Halten Sie die Seite bis zu weiteren fokussierten Tests auf die verifizierte Integer-/Pointer-Oberflaeche beschraenkt.

Einschränkungen

Die fokussierte CALL-DWORD-Oberflaeche ist auf die getestete Integer-/Pointer-Verwendung beschraenkt. String-Rueckgabewerte, BYREF-Parameter, OPTIONAL-Parameter, externe DLL-Ziele und STDCALL/CDECL-Unterschiede bleiben bis zu weiteren Regressionen offen.

Getestetes Beispiel

Beispieldatei: tests/pb/test_call_dword.pb

Validierungsnachweis: tests/validate.toml enthaelt die pb_linkrun-Tests test_call_dword und test_call_dword_reject_string_target.

CALL DWORD p
CALL DWORD p USING Foo(5) TO r
CALL DWORD p USING AddMul(4, 3) TO r

PBXB64-Status: [ZERTIFIZIERT GETESTET]

Siehe auch

  • CALL
  • CODEPTR
  • DECLARE ? PBXB64-Compiler-Hilfe
  • FASTPROC/END FASTPROC-Anweisungen
  • FUNCTION/END FUNCTION-Anweisungen
  • ADDR IMPORTIEREN
  • SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe
  • THREAD CREATE
  • Hilfe zum PBXB64-Compiler


CALLSTK$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CALLSTK$

Ruft fokussierte Call-Stack-Informationen fuer den aktuellen Frame ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

sfname$ = CALLSTK$( n )

Beschreibung

Ruft fokussierte Call-Stack-Informationen fuer den aktuellen Frame ab.

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 implementiert einen fokussierten aktuellen Frame. CALLSTK$(0) gibt den aktuellen abgesenkten Funktionsnamen zurueck, und CALLSTK(0) gibt eine von Null verschiedene aktuelle Frame-Markierung zurueck.

Tiefen groesser als Null werden nicht still angenaehert. Sie erzeugen die gezielte Compile-Diagnose CALLSTK depth beyond 0 is not implemented, bis echte Multi-Frame-Call-Stack-Verfolgung implementiert ist.

Die nullbasierte Form ist Teil des aktuellen PBXB64-Vertrags. Sie gibt Debug- und Protokollcode eine deterministische Moeglichkeit, die gerade kompilierte Funktion zu erkennen, ohne vorzugeben, dass Aufrufer-Frames, Argumentformatierung oder Stack-Walking bereits vorhanden sind.

Wenn diese Oberflaeche erweitert wird, muessen tiefere Formen echte Stack-Daten liefern und duerfen nicht einfach wiederholt die aktuelle Funktion zurueckgeben. Bis dahin fixieren Tests die Diagnose fuer nicht unterstuetzte Tiefen.

Das Beispiel unten bleibt absichtlich klein, damit es in Konsolen-, GUI- und isolierten Einzel-EXE-Pruefungen stabil bleibt.

Einschränkungen

Vollstaendige PBWin-Call-Stack-Paritaet bleibt offen: Parameterdarstellung, Aufrufer-Frame-Zugriff und threadbezogene Stack-Snapshots sind in diesem fokussierten Baseline-Vertrag nicht implementiert.

Verwenden Sie das aktuelle Ergebnis nicht als Sicherheitsgrenze und nicht als Ersatz fuer strukturierten Fehlerkontext. Es ist ein aktueller Frame-Helfer fuer Diagnose und einfache Instrumentierung.

Von PBWin portierte Programme sollten alle Verwendungen mit Tiefen groesser als Null separat pruefen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • #TOOLS
  • CALLSTKCOUNT
  • FUNCNAME$
  • PROFIL
  • TRACE
  • Hilfe zum PBXB64-Compiler


CALLSTKCOUNT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CALLSTKCOUNT

Ruft die fokussierte Stack-Anzahl fuer den aktuellen Frame ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

count& = CALLSTKCOUNT

Beschreibung

Ruft die fokussierte Stack-Anzahl fuer den aktuellen Frame ab.

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 implementiert einen fokussierten aktuellen Frame. CALLSTKCOUNT gibt fuer diesen Baseline-Vertrag 1 zurueck.

Verwenden Sie CALLSTK$(0) oder FUNCNAME$, um den aktuellen abgesenkten Funktionsnamen abzurufen.

Dieser Wert beschreibt bewusst nur die implementierte PBXB64-Stack-Helfer-Oberflaeche. Er zaehlt keine Aufrufer-Frames, keine verschachtelte Prozedurhistorie, keine Fehlerbehandlungs-Frames und keine Laufzeitbibliotheks-Frames.

Der stabile Wert ist nuetzlich fuer Code, der nur pruefen muss, dass Stack-Helfer-Instrumentierung vorhanden ist. Code, der eine vollstaendige PBWin-Call-Stack-Tiefe benoetigt, muss diese Oberflaeche weiterhin als begrenzte Kompatibilitaet behandeln.

Das Beispiel unten prueft deshalb nur die garantierte aktuelle Baseline und vermeidet Annahmen ueber Aufrufer oder Laufzeitbibliotheks-Frames.

Einschränkungen

Vollstaendige PBWin-Call-Stack-Paritaet bleibt offen: Multi-Frame-Zaehler und threadbezogene Stack-Snapshots sind in diesem fokussierten Baseline-Vertrag nicht implementiert.

Eine spaetere Erweiterung muss diese Seite und die registrierten Tests gemeinsam aktualisieren, damit die dokumentierte Anzahl zum echten Call-Stack-Modell passt.

Von PBWin portierte Anwendungen sollten jede Logik, die Werte groesser als eins erwartet, vor produktiver Nutzung dieses Helfers ueberarbeiten.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • #TOOLS
  • CALLSTK$
  • FUNCNAME$
  • PROFIL
  • TRACE
  • Hilfe zum PBXB64-Compiler


CASE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CASE

Label a SELECT CASE branch

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CASE expression [, expression ...]
CASE expression TO expression
CASE IS comparison expression
CASE ELSE

Beschreibung

Label a SELECT CASE branch

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerCASE statement introduces one branch of a SELECT CASE block. The selector expression is compared against each CASE list; the first matching block executes, then control jumps to the statement after END SELECT.

Generierter Assembler-Code

Kompilieren mit:

PBXB64 example.pb --asmout example.asm
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 1
    sete r10
    mov rbx, r10
    test rbx, rbx
    jne pb_case_body_PBMAIN_0
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 2
    sete r10
    mov rbx, r10
    test rbx, rbx
    jne pb_case_body_PBMAIN_1
    jmp pb_case_else_PBMAIN_2
pb_case_body_PBMAIN_0:
    mov [rbp-16], 10
    jmp pb_select_end_PBMAIN_3
pb_case_body_PBMAIN_1:
    mov [rbp-16], 20
    jmp pb_select_end_PBMAIN_3
pb_case_else_PBMAIN_2:
    mov [rbp-16], 0
    jmp pb_select_end_PBMAIN_3
pb_select_end_PBMAIN_3:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 2
    SELECT CASE x
        CASE 1
            FUNCTION = 10
        CASE 2
            FUNCTION = 20
        CASE ELSE
            FUNCTION = 0
    END SELECT
END FUNCTION

Siehe auch

  • SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe
  • CASE ELSE
  • GRUNDLEGENDER Kontrollfluss
  • Hilfe zum PBXB64-Compiler


CASE ELSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CASE ELSE

Default branch of SELECT CASE

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CASE ELSE
  [statements]

Beschreibung

Default branch of SELECT CASE

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

CASE ELSE is the optional final branch of a SELECT CASE block. It executes when none of the preceding CASE expressions match the selector.

Generierter Assembler-Code

Kompilieren mit:

PBXB64 example.pb --asmout example.asm
    ; ... earlier CASE tests ...
    jmp pb_case_else_PBMAIN_2
pb_case_body_PBMAIN_0:
    mov [rbp-16], 10
    jmp pb_select_end_PBMAIN_3
pb_case_else_PBMAIN_2:
    mov [rbp-16], 0
    jmp pb_select_end_PBMAIN_3
pb_select_end_PBMAIN_3:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 99
    SELECT CASE x
        CASE 1
            FUNCTION = 10
        CASE ELSE
            FUNCTION = 0
    END SELECT
END FUNCTION

Siehe auch

  • SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe
  • CASE
  • GRUNDLEGENDER Kontrollfluss


CATCH - TRY-Fehlerpfad behandeln - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CATCH - TRY-Fehlerpfad behandeln

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

TRY
  ERROR 5
CATCH
  RESUME NEXT
END TRY

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Kontrollkeyword in Verbindung mit TRY fuer Fehlerbehandlungs-Kompatibilitaet.

Praktische Verwendung

Verwenden Sie CATCH nur innerhalb eines passenden TRY/END TRY-Blocks. Die Seite beschreibt die erkannte PBXB64-Schreibweise fuer die Fehler- oder Cleanup-Klausel, die an die umgebende Kontrollstruktur gebunden ist.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Ausserhalb eines TRY-Blocks sollte diese Klausel nicht als gueltige Struktur durchgehen. Fehlende Blockpaare oder falsche Nestung muessen als Fehler sichtbar werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CB Callback functions - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CB Callback functions

In a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CtlID = CB.CTL
CtlMsg = CB.CTLMSG
WinHndl = CB.HNDL
Value = CB.LPARAM
Msg = CB.MSG
Value = CB.WPARAM
CodeMsg = CB.NMCODE
NmPtr = CB.NMHDR
NmStruc = CB.NMHDR$
NmHndl = CB.NMHWND
NmID = CB.NMID

Beschreibung

In a

Typ:Funktion |Kategorie: Procedures

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64-Implementierung: PBXB64 senkt die Punktformen der Callback-Helfer auf Runtime-Zugriffe auf den aktuellen Callback-Status ab. Die registrierte Regression test_cb_callback_state.pb verifiziert CB.HNDL, CB.MSG, CB.WPARAM, CB.LPARAM, CB.CTL, CB.CTLMSG, CB.NMHDR, CB.NMHWND, CB.NMID, CB.NMCODE, die Legacy-Aliasnamen CBHNDL, CBMSG, CBWPARAM, CBLPARAM, CBCTL und CBCTLMSG sowie einen begrenzten CB.NMHDR$-Strukturkopiepfad. test_cb_nmhdr_sized.pb verifiziert die dokumentierte Groessenform CB.NMHDR$(bytes).

PBXB64-Grenze: CB.NMHDR$ kopiert derzeit die Basis-NMHDR-Bytes in einen Heap-String und ist mit nicht-nullhaltigen Testbytes geprüft. Beliebige Binärstrings mit eingebetteten Nullbytes hängen noch vom künftigen expliziten Binärstring-Längenvertrag ab.

When an event occurs (like a user clicking on a button , a character typed into a text box , etc.) Windows sends a message to the control Callback Function, or the Dialog Callback Function. The CB functions are used to easily retrieve information about the message. These CB functions can only be used within a callback function.

Callback functions in Windows have a standard set of four parameters. For this reason, PowerBASIC allows you to ignore them and save some typing in your source code. The implied parameters are:

FUNCTION DlgCallback(BYVAL hDlg AS DWORD _

BYVAL wMsg AS LONG _

BYVAL wParam AS LONG _

BYVAL lParam AS LONG)

Generische Rückruffunktionen

CB.HNDL

Diese Funktion gibt das Fensterhandle des übergeordneten Dialogs zurück. Dies ist der durch den hDlg-Parameter oben angegebene Wert.

CB.MSG

Jeder Nachrichtentyp, der an Ihre Rückruffunktion gesendet wird, hat einen eindeutigen numerischen Wert, z. B. %WM_COMMAND, %WM_NOTIFY usw. CB.MSG gibt den tatsächlichen numerischen Nachrichtenwert zurück der verarbeiteten Nachricht. Die Definitionen der numerischen Werte in anderen CB-Funktionen (CB.LPARAM, CB.WPARAM, CB.CTL usw.) können erst ermittelt werden, wenn CB.MSG identifiziert wird. Daher testen Rückruffunktionen normalerweise zuerst den Wert von CB.MSG.

CB.WPARAM

Wenn Windows eine Nachricht an eine Rückruffunktion sendet, enthält der wParam-Wert je nach Art der jeweiligen Nachricht (CB.MSG) unterschiedliche Werte. Mit anderen Worten: CB.WPARAM gibt einen nachrichtenabhängigen Wert zurück.

CB.LPARAM

Wenn Windows eine Nachricht an eine Rückruffunktion sendet, enthält der lParam-Wert je nach Art der jeweiligen Nachricht (CB.MSG) unterschiedliche Werte. Mit anderen Worten, CB.LPARAM gibt einen nachrichtenabhängigen Wert zurück.

%WM_COMMAND Spezifische Rückruffunktionen

CB.CTL

Wenn CB.MSG = %WM_COMMAND, dies Die Funktion gibt die ID-Nummer zurück, die dem Steuerelement mit der CONTROL ADD-Anweisung zugewiesen wurde. Für andere Werte von CB.MSG werden nachrichtenabhängige Werte zurückgegeben. Dieser Wert wird als niederwertiges Wort des Parameters wParam gesendet. Es entspricht funktional LO (WORD, wParam&) in einer herkömmlichen Funktion oder LO(WORD, CB.WPARAM) in einer DDT-Rückruffunktion.

CB.CTLMSG

Wenn CB.MSG = %WM_COMMAND, gibt diese Funktion die spezifische Steuernachricht zurück, die sie beschreibt das aufgetretene Ereignis. Beispielsweise gibt CB.CTLMSG %BN_CLICKED zurück, wenn der Benutzer auf eine Schaltfläche klickt. Für andere Werte von CB.MSG werden nachrichtenabhängige Werte zurückgegeben. Dieser Wert wird als höherwertiges Wort des Parameters wParam gesendet. Es entspricht funktional HI (WORD, wParam&) in einer herkömmlichen Funktion oder HI(WORD, CB.WPARAM) in einer DDT-Rückruffunktion.

%WM_NOTIFY Spezifischer Rückruf Funktionen

CB.NMCODE

Wenn CB.MSG = %WM_NOTIFY, gibt diese Funktion die spezifische Benachrichtigungsnachricht zurück, die das aufgetretene Ereignis beschreibt. Beispielsweise gibt CB.NMCODE %NM_SETFOCUS zurück, wenn das beschriebene Steuerelement den Fokus erhält. Für andere Werte von CB.MSG ist der zurückgegebene Wert bedeutungslos.

CB.NMHDR

Wenn CB.MSG = %WM_NOTIFY, gibt diese Funktion die Adresse (einen Zeiger) an den NMHDR UDT für diese Benachrichtigungsnachricht zurück. NMHDR ist definiert als:

Typ NMHDR

hwndFrom als DWord ' Handle des Steuerelements, das die Nachricht sendet

idfrom als DWord ' Bezeichner des Steuerelements, das die Nachricht sendet message

code as Long ' Benachrichtigungscode

Endtyp

Einige Benachrichtigungsnachrichten (%NM_CHAR, %NM_CLICK usw.) erfordern eine erweiterte Version der NM-Struktur. Allerdings beginnen alle NM-Strukturen mit einem NMHDR-UDT, sodass der hier zurückgegebene Zeiger immer korrekt ist. Für andere Werte von CB.MSG ist der von CB.NMHDR zurückgegebene Zeiger bedeutungslos.

CB.NMHDR$

If CB.MSG = %WM_NOTIFY, this function returns the contents of the NMHDR UDT as a dynamic string . If the notification message is one which requires an extended version of the NM structure, the string returned contains all of the data for the extended UDT. However, in all cases, the first 12 bytes of the returned string will be the contents of NMHDR. You can use TYPE SET to assign the string data to an appropriate user-defined type. For other values of CB.MSG, the string returned by CB.NMHDR$ is meaningless.

The following notification messages use the extended NM structures as listed, so an appropriately longer string is returned:

Message

%NM_CLICK

NMMOUSE

%NM_RCLICK

NMMOUSE

%NM_NCHITTEST

NMMOUSE

%NM_KEYDOWN

%NM_SETCURSOR

NMMOUSE

%NM_CHAR

NMCHAR

%NM_TOOLTIPSCREATED

NMTOOLTIPSCREATED

Other special notify messages may use a different extended NM structure than those listed above. To ensure compatibility, you can include an optional numeric parameter to specify the size of the special UDT you are using:

TYPE SET NotifyUDT = CB.NMHDR$(sizeof(NotifyUDT))

CB.NMHWND

If CB.MSG = %WM_NOTIFY, this function returns the handle of the control which sent this message. For other values of CB.MSG, the value returned is meaningless.

CB.NMID

If CB.MSG = %WM_NOTIFY, this function returns the ID number assigned to this control. For other values of CB.MSG, the value returned is meaningless.

Einschränkungen

Diese Funktionen liefern nur sinnvolle Werte, solange Callback-Status verfügbar ist. PBXB64 akzeptiert die alten Aliasnamen CBMSG, CBHNDL, CBLPARAM, CBWPARAM, CBCTL und CBCTLMSG weiterhin für Kompatibilität mit älteren Quellen; neuer Code sollte die Punktformen verwenden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Rückrufe
  • Dynamic Dialog Tools (DDT)
  • Hilfe zum PBXB64-Compiler


CBRT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CBRT

Gibt die reelle dritte Wurzel zurueck.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(CBRT(-8.0) + 2.0) > 0.0001 THEN FUNCTION = 1

Beschreibung

Gibt die reelle dritte Wurzel zurueck.

Syntax: y = CBRT( n )

Semantik

CBRT ist fuer alle reellen Werte definiert und erhaelt das Vorzeichen; CBRT(-8) ist -2. Das unterscheidet sich von einem gebrochenen Potenzausdruck fuer negative Basen.

Datentypen

Alle normalen numerischen Typen, alle 128/256/512-Bit-Integer, UNL und UNF werden akzeptiert. Ergebnis: DOUBLE.


CBYT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CBYT

Convert a value to specific

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

bytevar? = CBYT( numeric_expression )
currencyvar@ = CCUR( numeric_expression )
currencyextvar@@ = CCUX( numeric_expression )
doublevar# = CDBL( numeric_expression )
doublewordvar??? = CDWD( numeric_expression )
extendedvar## = CEXT( numeric_expression )
integervar% = CINT( numeric_expression )
longintvar& = CLNG( numeric_expression )
quadintvar&& = CQUD( numeric_expression )
singlevar! = CSNG( numeric_expression )
wordvar?? = CWRD( numeric_expression )

Beschreibung

Convert a value to specific

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Each of these functions converts a numeric expression to a particular variable type. In each case, numeric_expression must be within the legal range for the result type. The numeric_expression will be rounded if necessary.

Function

Result type

Währung

Extended-currency

Double-precision floating-point

Doppelwort

Extended-precision floating-point

Ganze Zahl

Lange Ganzzahl

Quad-Ganzzahl

Single-precision floating-point

These conversion functions are rarely needed as PowerBASIC automatically performs any necessary conversions when executing an assignment statement or passing parameters. For example:

e% = f#

is equivalent to:

e% = CINT(f#)

In the case of the functions that convert to integral class values, the fractional part of the number is rounded. If the fractional part is exactly .5 then it rounds to the nearest even integral value. For example, CINT(1.5) returns 2, CINT(.5) returns 0, and CLNG(-0.6) returns -1.

Einschränkungen

CSNG limit string display to 7 significant digits.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_cast_rounding
FUNCTION PBMAIN() AS LONG
  IF (CINT(3.7)) <> (4) THEN FUNCTION = 1: EXIT FUNCTION
  IF (CLNG(3.7)) <> (4) THEN FUNCTION = 2: EXIT FUNCTION
  IF (CSNG(3.7)) <> (4) THEN FUNCTION = 3: EXIT FUNCTION
  IF (CDBL(3.7)) <> (4) THEN FUNCTION = 4: EXIT FUNCTION
  IF (CCUR(3.7)) <> (4) THEN FUNCTION = 5: EXIT FUNCTION
  IF (CUX(3.7)) <> (4) THEN FUNCTION = 6: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • CEIL
  • CVBYT
  • FIX ? PBXB64-Compiler-Hilfe
  • INT ? PBXB64-Compiler-Hilfe
  • MKBYT$


CCONJ$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CCONJ$

Kategorie: exakte komplexe Komponenten | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CCONJ$( value )

Beschreibung

Kategorie: exakte komplexe Komponenten | Status: V24 verifiziert

Semantik

Liefert die konjugierte Zahl durch Beibehalten des Realteils und Negieren des Imaginaerteils. Das Ergebnis ist kanonischer Dezimaltext.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. Die Operation bleibt im exakten Dezimalpfad.


CCOS$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CCOS$

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CCOS$( value )

Beschreibung

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Semantik

Liefert cos(real)*cosh(imag);-sin(real)*sinh(imag) als kanonischen DOUBLE-Text. Vorzeichenbehaftete Nullen werden normalisiert.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert.


CDIV$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CDIV$

Kategorie: komplexe wissenschaftliche Arithmetik | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CDIV$( numerator, denominator )

Beschreibung

Kategorie: komplexe wissenschaftliche Arithmetik | Status: V24 verifiziert

Semantik

Teilt komplexe Werte ueber den exakten UNC-Dezimalpfad und liefert kanonischen real;imag-Text. Ein Skalar im Nenner ist rein reell.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. Ein Nullnenner folgt dem vorhandenen UN-Engine-Fehlervertrag.


CEXP$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CEXP$

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CEXP$( value )

Beschreibung

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Semantik

Liefert die komplexe Exponentialfunktion exp(real)*(cos(imag);sin(imag)) als kanonischen Text. Die Komponenten werden ueber DOUBLE berechnet.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. Das Ergebnis ist formatierter DOUBLE-Text.


CHAIN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CHAIN

Startet ein anderes Programm und uebergibt die Kontrolle. Die Anweisungsform beendet den aktuellen Prozess mit dem Exit-Code des Kindprozesses; die Funktionsform liefert den Exit-Code an den Aufrufer zurueck.

Kategorie: Allgemeine Referenz

Syntax

CHAIN command$
result& = CHAIN(command$)

Beschreibung

Startet ein anderes Programm und uebergibt die Kontrolle. Die Anweisungsform beendet den aktuellen Prozess mit dem Exit-Code des Kindprozesses; die Funktionsform liefert den Exit-Code an den Aufrufer zurueck.

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt das PBXB64-Verhalten, das durch die aktuelle Validierungsmatrix abgedeckt ist. Verwenden Sie die hier gezeigte Syntax fuer Regressionstests; weitergehende PowerBASIC-Formen gelten als separate Kompatibilitaetsarbeit, sofern keine andere Seite sie dokumentiert.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CHDIR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CHDIR

&Auml;ndern Sie das aktuelle (Standard-)Verzeichnis auf dem Standardlaufwerk oder einem anderen Laufwerk (&auml;hnlich dem DOS-Befehl CHDIR). CHDIR betrifft nur das Standardlaufwerk f&uuml;r das aktuelle Programm.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CHDIR path

Beschreibung

Ändern Sie das aktuelle (Standard-)Verzeichnis auf dem Standardlaufwerk oder einem anderen Laufwerk (ähnlich dem DOS-Befehl CHDIR). CHDIR betrifft nur das Standardlaufwerk für das aktuelle Programm.

Typ:Anweisung |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

path ist ein Zeichenfolgenausdruck, der entweder einen relativen oder einen expliziten Verzeichnisnamen enthält. Der Verzeichnisname kann aus einem (DOS-Stil) Short File Name (SFN)-Verzeichnisnamen, einem Long File Name (LFN)-Verzeichnisnamen oder einer Kombination aus beiden bestehen. Außerdem kann dem Pfad ein Laufwerksbuchstabe und ein Doppelpunkt (z. B. „D:“) vorangestellt werden, um das aktuelle Verzeichnis auf einem nicht standardmäßigen Laufwerk zu ändern.

Das aktuelle Verzeichnis ist der Speicherort, an dem Ihr Programm standardmäßig Dateioperationen ausführt. Somit:

CHDIR "\DATA"

wechselt in das Unterverzeichnis \DATA auf dem aktuellen Laufwerk und:

CHDIR „..\DATA2“

ändert das aktuelle Verzeichnis in ein Verzeichnis, dessen übergeordnetes Verzeichnis auch das übergeordnete Verzeichnis des ursprünglichen Verzeichnisses ist. Der doppelte Punkt impliziert das übergeordnete Verzeichnis.

CHDIR "J:\Programme\Internet Explorer"

changes the current directory of Drive J. Drive J need not be the current default drive.

If path does not specify a valid directory on the target drive, a run-time Error 76 occurs ("Path not found").

A program that changes the current directory on the default drive also changes its active directory.

path may also be used with UNC names (i.e., \\server\share), but their use is subject to operating system restrictions.

PBXB64 senkt CHDIR path$ auf den eingebetteten Helfer bestof_chdir ab. Dieser ruft die Win32-API SetCurrentDirectoryA auf.

Einschränkungen

CHDIR is not intended to change the current default drive. Use CHDRIVE instead.

Die fokussierte PBXB64-Zertifizierung deckt relative Verzeichniswechsel in und aus temporaeren Testverzeichnissen ab. Laufwerksrelative Pfade, UNC, Unicode, ungueltige Pfade und PBWin-ERR-Paritaet bleiben breitere Datei-/Pfad-Kompatibilitaetsarbeit.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • CHDRIVE
  • CURDIR$
  • MKDIR
  • RMDIR
  • Hilfe zum PBXB64-Compiler


CHDRIVE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CHDRIVE

Change the current default drive.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CHDRIVE drive

Beschreibung

Change the current default drive.

Typ:Anweisung |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

drive is a string expression whose first character is a letter from A to the highest logical drive letter. The trailing colon (:) that DOS uses is optional in PowerBASIC. If drive does not indicate a valid drive, a run-time Error 76 occurs ("Path not found").

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CHDIR
  • CURDIR$
  • MKDIR
  • RMDIR
  • Hilfe zum PBXB64-Compiler


CHEBYSHEV - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CHEBYSHEV

Kategorie: Orthogonale Polynome | Status: V22 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = CHEBYSHEV( degree, x )

Beschreibung

Kategorie: Orthogonale Polynome | Status: V22 verifiziert

Semantik

Liefert das Tschebyscheff-Polynom erster Art T_degree(x) als DOUBLE. Die Rekursion beginnt mit T0=1 und T1=x.

Operanden und Grenzen

Der Grad muss eine nichtnegative Ganzzahl bis 100000 sein. Normale Numerik sowie INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden ueber DOUBLE-Konvertierung akzeptiert. Dies ist keine beliebig genaue Polynomrechnung.


CHOOSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CHOOSE

Return one of several values, based upon the value of an index.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = CHOOSE( index& , choice1 [, choice2 ] ...[ELSE choice9 ])
y& = CHOOSE&( index& , choice1 [, choice2 ] ...[ELSE choice9 ])
y$ = CHOOSE$( index& , choice1 [, choice2 ] ...[ELSE choice9 ])
y = CHOOSE([BIT] index&, choice1 [, choice2 ] ...[ELSE choice9 ])
y& = CHOOSE&([BIT] index&, choice1 [, choice2 ] ...[ELSE choice9 ])
y$ = CHOOSE$([BIT] index&, choice1 [, choice2 ] ...[ELSE choice9 ])
y$ = CHOOSE$([BITS] index&, choice1 [, choice2 ] ...[ELSE choice9 ])

Beschreibung

Return one of several values, based upon the value of an index.

Typ:Funktion |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] für numerisches CHOOSE mit konstantem Selektor; Laufzeit-Selektor und CHOOSE$ implementiert und getestet

Beschreibung

These functions may take any number of choice parameters. They return one of the parameters, or a combination of them, based upon the value of index& . In the standard form, index& makes the choice based upon the sequence of the parameters. That is, if index& is one, choice1 is returned. If two, choice2 is returned, etc. If index& is not equal to one of the choice values, the default value is returned to the calling code.

CHOOSE expects choices of any numeric type. CHOOSE& expects choices optimized for an integral data type. CHOOSE$ expects choices of string type. CHOOSE% is recognized as a valid synonym for CHOOSE&.

If no match is made with one of the choice values, the value zero (0) or an empty (zero-length) string is normally returned. However, if an ELSE clause is included as the last choice, its value is returned as the default value. For example:

ChoiceVar$ = CHOOSE$(7,"ONE", "TWO" ELSE "NUL")

In this case, the ELSE expression "NUL" is returned.

Die BIT- und BITS-Selektoroptionen sind in PBXB64 noch nicht implementiert.

Einschränkungen

Der Compiler erzeugt eine bedingte Kaskade, sodass nur die ausgewählte Choice zur Laufzeit ausgeführt wird, wenn es sich um einfache Literal- oder Variablenargumente handelt. Da Funktionsargumente vor dem CHOOSE/CHOOSE$-Aufruf ausgewertet werden, können Ausdrücke mit Funktionsaufrufen und Seiteneffekten dennoch für nicht ausgewählte Choices ausgewertet werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • IIF
  • MAX ? PBXB64-Compiler-Hilfe
  • MIN ? PBXB64-Compiler-Hilfe
  • SWITCH
  • SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


CHRBYTES - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CHRBYTES

Determine the size of a single character in a string

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

siz& = CHRBYTES( MyStringVar )

Beschreibung

Determine the size of a single character in a string

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

CHRBYTES gibt die Speicherbreite eines Zeichens fuer den uebergebenen String-Ausdruck zurueck. PBXB64 gibt 1 fuer ANSI-String-Ausdruecke wie STRING, STRINGZ und String-Literale zurueck. Fuer Wide-String-Ausdruecke wie WSTRING und WSTRINGZ wird 2 zurueckgegeben.

Das Ergebnis basiert auf dem Ausdruckstyp, nicht auf einer Inhaltsanalyse des aktuellen Textes.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • LEN ? PBXB64-Compiler-Hilfe
  • SIZEOF
  • Hilfe zum PBXB64-Compiler


ChrToOem$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ChrToOem$

&Uuml;bersetzt einen String

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

o$ = ChrToOem$( AnsiOrWide$ )

Beschreibung

Übersetzt einen String

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

AnsiOrWide$ enthält eine Reihe von ANSI-Zeichen oder WIDE-Zeichen (16-Bit), in die ChrToOem$ übersetzt wird OEM-Byte Zeichen.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • OemToChr$
  • ChrToUtf8$
  • Utf8ToChr$
  • Hilfe zum PBXB64-Compiler


ChrToUtf8$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ChrToUtf8$

&Uuml;bersetzt eine Zeichenfolge von

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

o$ = ChrToUtf8$( AnsiOrWide$ )

Beschreibung

Übersetzt eine Zeichenfolge von

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

AnsiOrWide$ enthält eine Reihe von ANSI-Zeichen oder WIDE-Zeichen (16-Bit), ChrToUtf8$ übersetzt sie in UTF-8-Byte Zeichen.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • ChrToOem$
  • OemToChr$
  • Utf8ToChr$
  • Hilfe zum PBXB64-Compiler


CIMAG$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CIMAG$

Kategorie: exakte komplexe Komponenten | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CIMAG$( value )

Beschreibung

Kategorie: exakte komplexe Komponenten | Status: V24 verifiziert

Semantik

Extrahiert den Imaginaerteil aus real;imag. Ein Skalar hat Imaginaerteil null. Der Text ist kanonisch dezimal.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. Die Komponentenextraktion bleibt String-basiert exakt.


CLASS/END CLASS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CLASS/END CLASS

Erstellen Sie den Code und die Daten f&uuml;r an

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CLASS name [ $GUID ] [COMMON] [OPTIMIZE] [AS COM | AS EVENT]
Class Method code blocks...
INSTANCE ClassName AS STRING
INTERFACE name $GUID [AS EVENT]
INHERIT IUNKNOWN
Method and Property code blocks...
END INTERFACE
EVENT SOURCE interface-name
END CLASS

Beschreibung

Erstellen Sie den Code und die Daten für an

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

CLASS / END CLASS-Anweisungen schließen die Schnittstellenimplementierung(en) und Instanzvariablendeklarationen einer Klasse ein. METHOD- und PROPERTY-Blöcke enthalten den Code, der für ein Objekt ausgeführt werden soll. INSTANCE-Anweisungen definieren die Variablen, die für jede Instanz eines Objekts dieser Klasse eindeutig sind.

Der Name und die optionale $GUID werden vom Programmierer zur Identifizierung der Klasse bereitgestellt. Standardmäßig gilt eine Klasse als privat, sodass auf die Methoden nur aus der EXE- oder DLL-Datei zugegriffen werden kann, in der sie definiert ist. Das AS COM-Attribut macht die Klasse extern für praktisch jeden Prozess verfügbar, der COM-fähig ist.

Bei einer privaten Klasse kann die $GUID frei weggelassen werden, da PowerBASIC die Klasse leicht anhand des Namens identifizieren kann. Bei einer veröffentlichten COM-Klasse sollten Sie eine bestimmte GUID Ihrer Wahl einfügen. Wenn es weggelassen wird, wird vom Compiler eine zufällige GUID erstellt, die sich jedoch jedes Mal ändert, wenn Sie das Programm kompilieren. Es wird schwierig sein, dies mit anderen Programmen zu synchronisieren, die Ihr Objekt identifizieren und darauf zugreifen möchten.

COMMON

Der optionale COMMON-Deskriptor kann eingefügt werden, um anzugeben, dass diese Klasse von und zwischen verknüpften Einheitenmodulen (Host/Main oder SLL) frei referenziert werden kann. Dies hat den zusätzlichen Nebeneffekt, dass sichergestellt wird, dass die Klasse nicht durch #OPTIMIZE CODE ON .

AS EVENT

entfernt wird. Wenn eine Klasse eine Ereignisquelle ist (sie generiert Ereignisse, anstatt Ereignisse zu verarbeiten), sind eine oder mehrere EVENT SOURCE-Anweisungen enthalten, um die Ereignisschnittstellen zu benennen. Die Ereignisschnittstellen müssen separat deklariert und implementiert werden. Ein Ereignis wird durch die Ausführung einer RAISEEVENT-Anweisung oder einer OBJECT RAISEEVENT-Anweisung in der Klasse generiert. Wenn es sich bei einer Klasse um einen Event-Handler handelt (sie enthält Code zum Behandeln eines von einer Ereignisquelle generierten Ereignisses), muss das AS EVENT-Attribut in der CLASS-Anweisung und jeder INTERFACE-Anweisung erscheinen. Ein Event-Handler wird in der COM-Terminologie auch als „Event Sink“ bezeichnet.

OPTIMIZE

With code optimization enabled ( #OPTIMIZE CODE ON) , PowerBASIC removes code for subs and functions which are not called. Where possible, this technique is even applied to individual methods and property methods within classes.

Of course, if an object variable is transferred out of the current module (to another EXE/SLL/DLL), there is no way to determine (at compile-time) which methods may be called on it at run-time, so none can be safely removed. COM, COMMON, and EVENT classes allow variables to be transferred out of the module, so they block removal of any code in the class.

The OPTIMIZE descriptor allows you to control this code optimization to a high degree. If you specify the OPTIMIZE option, you are stating that no object variables on this class will be transferred out of the module. Therefore, PowerBASIC is free to remove any code in the class which is not referenced. This is a powerful tool which can allow you to substantially reduce the size of your program.

The OPTIMIZE rules can be summarized:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • #OPTIMIZE
  • EREIGNISQUELLE
  • EREIGNISSE
  • INSTANZ
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • Was ist COM?
  • METHOD/END METHOD-Anweisungen
  • PROPERTY / END PROPERTY
  • RAISEEVENT
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


CLIP$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CLIP$

Delete characters from a string

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = CLIP$(LEFT StringExpression , Count& )
s$ = CLIP$(RIGHT StringExpression , Count& )
s$ = CLIP$(MID StringExpression , Start& , Count& )

Beschreibung

Delete characters from a string

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Returns the contents of StringExpression with Count& characters removed from the left side.

Returns the contents of StringExpression with Count& characters removed from the right side.

Returns the contents of StringExpression with Count& characters removed starting at position Start& . The first character is considered position 1, the second position 2...

If Count& is negative, or Start& is less than one, the return value is undefined.

Einschränkungen

If Count& is less than one, the entire string is returned. If Start& is less than one, the results are undefined.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • EXTRACT$
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • MID$ ? PBXB64-Compiler-Hilfe
  • REMOVE$
  • REPLACE ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • SHRINK$
  • STRINSERT$
  • STRDELETE$
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • UNWRAP$
  • Hilfe zum PBXB64-Compiler


CLIPBOARD - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CLIPBOARD

Copy data to and from the Windows clipboard.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CLIPBOARD GET BITMAP TO ClipVar [, ClipResult ]
CLIPBOARD GET OEMTEXT TO AnsiStrgVar [, ClipResult ]
CLIPBOARD GET TEXT TO StrgVar [, ClipResult ]
CLIPBOARD GET UNICODE TO StrgVar [, ClipResult ]
CLIPBOARD RESET [, ClipResult ]
CLIPBOARD SET BITMAP ClipHndl [, ClipResult ]
CLIPBOARD SET OEMTEXT StrgExpr [, ClipResult ]
CLIPBOARD SET TEXT StrgExpr [, ClipResult ]
CLIPBOARD SET UNICODE StrgExpr [, ClipResult ]

Beschreibung

Copy data to and from the Windows clipboard.

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]


CLOG$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CLOG$

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CLOG$( value )

Beschreibung

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Semantik

Liefert den Hauptwert des komplexen Logarithmus log(magnitude);phase als kanonischen Text. Die Komponenten werden numerisch berechnet.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. Der Logarithmus von Null ist ein Definitionsfehler und liefert NaN;NaN.


CLSID$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CLSID$

Return a 16-byte

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

a$ = CLSID$( ProgramID$ )

Beschreibung

Return a 16-byte

Typ:Funktion |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A CLSID string is a 128-bit (16-byte) binary string representing the GUID or UUID of a COM object/component. A CLSID string is not in a human-readable format.

You can convert textual ID name of a COM object/component into a CLSID string with the CLSID$ function. CLSID examines the system registry in order to determine the CLSID string associated with the ProgramID$ string.

The ProgramID$ parameter is not case-sensitive, so "MSAGENT.CONTROL.2", "MSAgent.Control.2" and "msagent.control.2" all refer to the same COM object/component. If the ProgramID$ cannot be found, or if any error occurs during the lookup and conversion process, CLSID$ will not set the ERR system variable, but will return an empty string.

To convert the binary CLSID string into human-readable GUID/UUID format, use the GUIDTXT$ function. CLSID$ is the complement to the PROGID$ function.

PowerBASIC programmers rarely, if ever, need to deal with CLSID strings in order to utilize a COM object or component.

The return string may be assigned to a dynamic string , fixed-length or nul-terminated string (at least 16 bytes long), or (typically) a GUID variable. See DIM for more information.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • GUID$
  • GUIDTXT$
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ISNOTHING
  • ISOBJECT
  • LET-Anweisung (mit Objekten)
  • OBJEKT
  • ZIEL
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • What Does A Class Look Like?
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


CMAG - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CMAG

Kategorie: komplexe wissenschaftliche Arithmetik | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

magnitude = CMAG( value )

Beschreibung

Kategorie: komplexe wissenschaftliche Arithmetik | Status: V24 verifiziert

Semantik

Liefert die DOUBLE-Betragsfunktion sqrt(real*real + imag*imag). Text verwendet real;imag; ein Skalar wird als scalar;0 interpretiert.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. Das Ergebnis ist numerisch und nutzt daher die DOUBLE-Bruecke.


CMUL$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CMUL$

Kategorie: komplexe wissenschaftliche Arithmetik | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CMUL$( left, right )

Beschreibung

Kategorie: komplexe wissenschaftliche Arithmetik | Status: V24 verifiziert

Semantik

Multipliziert (a+bi)(c+di) und liefert (ac-bd);(ad+bc) als kanonischen Dezimaltext. Skalare sind rein reell.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. Die Multiplikation bleibt bei String-Operanden exakt dezimal.


CODEPTR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CODEPTR

Obtain a 32-bit address of a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

AddrVar = CODEPTR( Label )
AddrVar = CODEPTR( ProcName )

Beschreibung

Obtain a 32-bit address of a

Typ:Funktion |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

CODEPTR ermittelt die Adresse eines Labels, einer Sub, Function, FastProc oder eines ASMDATA-Blocks. Die erste Form kann verwendet werden, um die Adresse eines Labels innerhalb derselben Prozedur zu erhalten. Die zweite Form dient zum Ermitteln der Adresse einer Sub, Function, FastProc oder eines ASMDATA-Block-Labels.

In PBXB64 werden ASMDATA-Block-Labels als schreibgeschützte Globals emittiert und sind sowohl auf Modulebene als auch innerhalb einer Prozedur gültige CODEPTR-Ziele, sofern der ASMDATA-Block lexikalisch vor dem CODEPTR-Verweis steht.

CODEPTR is particularly useful when it is necessary to pass the address of a SUB or FUNCTION to PowerBASIC or Windows to specify a Callback Function.

Einschränkungen

CODEPTR cannot obtain the address of a METHOD or PROPERTY as direct access to them would constitute an illegal operation.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • STRPTR
  • VARPTR
  • CALL DWORD
  • Hilfe zum PBXB64-Compiler


Collection Objects - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Collection Objects

The following operations provides a convenient way to refer to a related group of items:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

The following operations provides a convenient way to refer to a related group of items:

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

ILinkListCollection.ADD

An item is added to the end of the LinkListCollection.

ILinkListCollection.CLEAR

All items are removed from the LinkListCollection.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


COMBOBOX ADD - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COMBOBOX ADD

Manipulate a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

COMBOBOX ADD hDlg , id& , StrExpr [TO datav& ]
COMBOBOX DELETE hDlg , id& , item&
COMBOBOX FIND hDlg , id& , item& , StrExpr TO datav&
COMBOBOX FIND EXACT hDlg , id& , item& , StrExpr TO datav&
COMBOBOX GET COUNT hDlg , id& TO datav&
COMBOBOX GET SELCOUNT hDlg , id& TO datav&
COMBOBOX GET SELECT hDlg , id& TO datav&
COMBOBOX GET STATE hDlg , id& , item& TO datav&
COMBOBOX GET TEXT hDlg , id& [, item& ] TO txtv$
COMBOBOX GET USER hDlg , id& , item& TO datav&
COMBOBOX INSERT hDlg , id& , item& , StrExpr [TO datav& ]
COMBOBOX RESET hDlg , id&
COMBOBOX SELECT hDlg , id& , item&
COMBOBOX SET TEXT hDlg , id& , item& , StrExpr
COMBOBOX SET USER hDlg , id& , item& , NumExpr
COMBOBOX UNSELECT hDlg , id&

Beschreibung

Manipulate a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-getesteter Umfang: tests/pb/test_listbox_combobox_direct.pb prueft direkte COMBOBOX-Formen fuer ADD, INSERT, DELETE, FIND, FIND EXACT, GET COUNT, GET SELCOUNT, GET SELECT, GET STATE, GET TEXT, GET USER, SELECT, SET TEXT, SET USER, UNSELECT und RESET. Weitere Randfaelle wie nicht gefundene Eintraege, ungueltige Indizes, sortierte Styles und style-spezifisches Verhalten brauchen noch eigene Tests.

Beschreibung

In jedem der folgenden Beispiele und Beschreibungen wird das COMBOBOX-Steuerelement, das Gegenstand der Anweisung ist, durch das Handle des Dialogfelds identifiziert, das die COMBOBOX besitzt ( hDlg ) und die eindeutige Steuerelement-ID, die Sie ihm bei der Erstellung in CONTROL ADD COMBOBOX gegeben haben.

COMBOBOX ADD hDlg , id& , StrExpr [TO datav& ]

Der durch StrExpr angegebene Zeichenfolgenwert wird dem COMBOBOX-Steuerelement hinzugefügt. Wenn die COMBOBOX den Stil %CBS_SORT hat, wird die neue Zeichenfolge in alphanumerischer Reihenfolge eingefügt; Andernfalls wird es am Ende der vorhandenen Liste hinzugefügt. Wenn die optionale TO-Klausel enthalten ist, wird die Indexposition der hinzugefügten Zeichenfolge der durch datav& dargestellten Variablen zugewiesen. Der Index ist eins für die erste Zeichenfolge, zwei für die zweite usw. Wenn der Index kleiner als eins ist, ist ein Fehler aufgetreten und es wurde keine Zeichenfolge hinzugefügt.

COMBOBOX DELETE hDlg , id& , item&

Die Zeichenfolge an der durch item& angegebenen Position wird aus der COMBOBOX gelöscht. Die Artikelnummer ( item& ) wird auf eins indiziert (1=erste, 2=zweite usw.).

COMBOBOX FIND hDlg , id& , item& , StrExpr TO datav&

Strings in der COMBOBOX werden durchsucht, um die erste Zeichenfolge zu finden, die mit den Daten in StrExpr beginnt, unabhängig von den folgenden Zeichen. Bei Vergleichen wird die Groß-/Kleinschreibung nicht beachtet. Die Suche nach Zeichenfolgen beginnt mit der durch item& angegebenen Zeichenfolge und endet mit der letzten Zeichenfolge in der COMBOBOX. Die Suche beginnt nicht am Anfang der Liste. Die Artikelnummer (item&) wird auf 1 indiziert (1=erste, 2=zweite usw.). Um die gesamte COMBOBOX beginnend mit der ersten Zeichenfolge zu durchsuchen, sollte item& auf eins (1) gesetzt werden. Wenn eine passende Zeichenfolge gefunden wird, wird der Indexwert der Übereinstimmung der durch datav& angegebenen Variablen zugewiesen. Wenn keine Übereinstimmung gefunden wird, wird ihm der Wert Null (0) zugewiesen.

COMBOBOX FIND EXACT hDlg , id& , item& , StrExpr TO datav&

Strings in der COMBOBOX werden durchsucht, um den ersten String zu finden, der genau mit den Daten in StrExpr übereinstimmt . Bei Vergleichen wird die Groß-/Kleinschreibung nicht beachtet. Die Suche nach Zeichenfolgen beginnt mit der durch item& angegebenen Zeichenfolge und endet mit der letzten Zeichenfolge in der COMBOBOX. Die Suche beginnt nicht am Anfang der Liste. Die Artikelnummer ( item& ) wird auf 1 indiziert (1=erste, 2=zweite usw.). Um die gesamte COMBOBOX beginnend mit der ersten Zeichenfolge zu durchsuchen, sollte item& auf eins (1) gesetzt werden. Wenn eine passende Zeichenfolge gefunden wird, wird der Indexwert der Übereinstimmung der durch datav& angegebenen Variablen zugewiesen. Wenn keine Übereinstimmung gefunden wird, wird ihr der Wert Null (0) zugewiesen.

COMBOBOX GET COUNT hDlg , id& TO datav&

Die Anzahl der Elemente in der Listbox der COMBOBOX wird abgerufen und der durch datav& angegebenen Long-Integer-Variablen zugewiesen. .

COMBOBOX GET SELCOUNT hDlg , id& TO datav&

Die Anzahl der ausgewählten Elemente im Listenfeld der COMBOBOX wird abgerufen und der durch datav& angegebenen Long-Integer-Variablen zugewiesen. Da es sich um ein Listenfeld mit einfacher Auswahl handelt, ist der abgerufene Wert immer entweder Null oder Eins.

COMBOBOX GET SELECT hDlg , id& TO datav&

Der Index des aktuell ausgewählten Elements im Listenfeld der COMBOBOX wird abgerufen und der von angegebenen Variablen zugewiesen datav& . Der Index ist 1 für das erste Element, 2 für das zweite Element usw. Wenn keine aktuelle Auswahl vorhanden ist, wird der Wert Null (0) zugewiesen.

COMBOBOX GET STATE hDlg , id& , item& TO datav&

Ein Datenelement wird daraufhin überprüft, ob es aktuell ausgewählt ist. Der numerische Wert item& gibt an, welcher Benutzerwert überprüft werden soll, 1 für das erste Element, 2 für das zweite Element usw. Wenn das Element ausgewählt ist, wird -1 (wahr) der durch datav& angegebenen Variablen zugewiesen. Andernfalls wird ihm 0 (false) zugewiesen.

COMBOBOX GET TEXT hDlg , id& [, item& ] TO txtv$

Text wird aus der COMBOBOX abgerufen und der durch txtv$ angegebenen String-Variablen zugewiesen. Wenn der numerische Ausdruck item& enthalten ist, bestimmt er, welche Textzeichenfolge zurückgegeben wird, 1 für das erste Element, 2 für das zweite Element usw. Wenn item& fehlt oder den Wert Null enthält, wird der ausgewählte Text zurückgegeben (oder eine leere Zeichenfolge, wenn keiner ausgewählt ist). Wenn Sie den im Bearbeitungsfeldteil der COMBOBOX gefundenen Text abrufen möchten (unabhängig davon, ob er eingegeben oder ausgewählt wurde), sollten Sie stattdessen die CONTROL GET TEXT-Anweisung verwenden.

COMBOBOX GET USER hDlg , id& , item& TO datav&

Jedem Element in einer COMBOBOX kann nach Ermessen des Programmierers ein langer ganzzahliger Benutzerwert zugeordnet sein. Dieser Benutzerwert wird mit COMBOBOX GET USER abgerufen. Der numerische Wert item& gibt an, welcher Benutzerwert angefordert wird, 1 für das erste Element, 2 für das zweite Element usw. Der zurückgegebene Benutzerwert wird der durch datav& angegebenen langen Ganzzahlvariablen zugewiesen. COMBOBOX-Benutzerwerte werden mit der COMBOBOX SET USER-Anweisung zugewiesen. Zusätzlich zu diesen COMBOBOX-Benutzerwerten bietet jedes DDT-Steuerelement zusätzlich acht Benutzerwerte, auf die mit CONTROL GET USER und CONTROL SET USER zugegriffen werden kann.

COMBOBOX INSERT hDlg , id& , item& , StrExpr [TO datav& ]

Der Text für ein neues Datenelement, das durch StrExpr angegeben wird, wird an der durch item& angegebenen Stelle eingefügt. Der Wert von item& = 1 für das erste Element, 2 für das zweite Element usw. Die Liste der Datenelemente wird nicht neu sortiert, auch wenn die COMBOBOX mit dem Stil %CBS_SORT erstellt wurde. Wenn Sie alle Elemente sortieren möchten, verwenden Sie stattdessen COMBOBOX ADD. Wenn die optionale TO-Klausel enthalten ist, wird die Indexposition der eingefügten Zeichenfolge der durch datav& dargestellten Variablen zugewiesen. Der Index ist eins für die erste Zeichenfolge, zwei für die zweite usw. Wenn der Index kleiner als eins ist, ist ein Fehler aufgetreten und es wurde keine Zeichenfolge eingefügt.

COMBOBOX RESET hDlg , id&

Alle Inhalte der angegebenen löschen COMBOBOX.

COMBOBOX SELECT hDlg , id& , item&

Der durch item& angegebene Zeichenfolgenwert wird als ausgewählter Text für das COMBOBOX-Steuerelement ausgewählt und der ausgewählte Text wird an eine sichtbare Position gescrollt. Der Wert von item& = 1 für das erste Element, 2 für das zweite Element usw.

COMBOBOX SET TEXT hDlg, id&, item&, StrExpr

Der Text für das durch item& angegebene Datenelement wird durch den neuen Text in StrExpr ersetzt. Der Wert von item& = 1 für das erste Element, 2 für das zweite Element usw. Die Liste der Datenelemente wird nicht neu sortiert, auch wenn die COMBOBOX mit dem Stil %CBS_SORT erstellt wurde. Wenn Sie alle Elemente sortieren möchten, verwenden Sie stattdessen COMBOBOX DELETE gefolgt von COMBOBOX ADD.

COMBOBOX SET USER hDlg , id& , item& , NumExpr

Jedem Element in einer COMBOBOX kann nach Ermessen von ein langer ganzzahliger Benutzerwert zugeordnet sein der Programmierer. Dieser Benutzerwert wird mit COMBOBOX SET USER zugewiesen und mit COMBOBOX GET USER abgerufen. Der numerische Wert item& gibt an, auf welchen Benutzerwert zugegriffen werden soll, 1 für das erste Element, 2 für das zweite Element usw. Der durch NumExpr angegebene Wert wird für einen späteren Abruf gespeichert. Zusätzlich zu diesen COMBOBOX-Benutzerwerten bietet jedes DDT-Steuerelement acht zusätzliche Benutzerwerte, auf die mit CONTROL GET USER und CONTROL SET USER zugegriffen werden kann.

COMBOBOX UNSELECT hDlg , id&

Alle Elemente in einem COMBOBOX-Steuerelement werden auf nicht ausgewählt gesetzt state.

Einschränkungen

Unter Windows 95/98/ME ist ein Listenfeld auf 32.767 Elemente beschränkt. In allen Windows-Versionen sind die tatsächlich im Listenfeld enthaltenen Zeichenfolgendaten nur durch den verfügbaren Speicher begrenzt.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL COMBOBOX HINZUFÜGEN
  • CONTROL GET TEXT
  • Hilfe zum PBXB64-Compiler


COMM - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COMM

Wert oder Status eines

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

lResult& = COMM([#] hComm , Comfunc )

Beschreibung

Wert oder Status eines

Typ:Funktion |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hComm ist die PowerBASIC-Dateinummer, die von der COMM OPEN-Anweisung zum Öffnen des Kommunikationsports verwendet wurde. Wählen Sie ein Comfunc-Schlüsselwort aus der folgenden Tabelle aus, um die zugehörige Einstellung abzurufen.

Comfunc

Wert (TRUE <> 0, FALSE = 0)

Port-Baudrate (9600, 14400, 19200 usw.).

TRUE/FALSE Break wird aktiviert. Break wird im Allgemeinen verwendet, um die Aufmerksamkeit des angeschlossenen Modems, Terminals oder Systems zu erregen.

Anzahl der Bits pro Byte (4, 5, 6, 7 oder 8).

TRUE/FALSE Trägererkennungsstatus; Synonym für RLSD (READ-ONLY). Wenn CD TRUE ist, verfügt das DCE (Modem) über eine geeignete Verbindung auf dem vorhandenen Kommunikationskanal. Wenn CD FALSE ist, gibt es keine geeignete Verbindung.

TRUE/FALSE Der Clear-To-Send-Status wird zurückgegeben (NUR LESEN).

CTSFLOW

TRUE/FALSE CTS-Ausgabefluss aktivieren Steuerung (Eingangssignal). Wenn CTSFLOW aktiviert ist, stoppt der DTE (Computer) das Senden von Daten, wenn das CTS-Signal vom DCE (Modem) auf logisch niedrig gesetzt wird. Die Übertragung wird fortgesetzt, wenn das DCE (Modem) das CTS-Signal wieder auf logisch hoch setzt. Das CTS-Signal wird normalerweise als Reaktion auf ein RTS-Signal verwendet.

TRUE/FALSE Der Status „Data-Set-Ready“ wird zurückgegeben (READ-ONLY).

DSRFLOW

TRUE/FALSE DSR aktivieren Ausgangsflusskontrolle (Eingangssignal). Wenn DSRFLOW aktiviert ist, stoppt der DTE (Computer) das Senden von Daten, wenn das DSR-Signal vom DCE (Modem) auf logisch niedrig gesetzt wird. Die Übertragung wird aktiviert, wenn das DSR-Signal wieder logisch hoch ist. Das DSR-Signal wird oft in Verbindung mit CTS als Reaktion auf ein RTS-Signal verwendet.

DSRSENS

TRUE/FALSE DSR-Empfindlichkeit aktivieren. Wenn DSRSENS aktiviert ist, werden vom DTE (Computer) empfangene Daten nur dann in den Empfangspuffer gestellt, wenn DSR auf logisch hoch gesetzt ist. Wenn DSR niedrig eingestellt ist, werden empfangene Daten verworfen. Durch die Aktivierung von DSRSENS kann DSR das DTE (den Computer) aktivieren oder deaktivieren, um Daten vom DTE (dem Modem) zu empfangen. DSRSENS wird in praktischen Kommunikationssituationen selten verwendet.

DTRFLOW

TRUE/FALSE DTR-Handshake-Flusskontrolle aktivieren (Ausgangssignal). Wenn DTRFLOW aktiviert ist, signalisiert es, dass sich das DCE (Modem) auf die Verbindung mit dem Kommunikationskanal vorbereiten sollte. DTR wird normalerweise für die Modem-On-/Off-Hook-Steuerung verwendet, kann aber auch in Verbindung mit DSR für Handshaking verwendet werden.

DTRLINE

TRUE/FALSE DTR-Leitung aktivieren. Wenn aktiviert, lässt DTRLINE die DTR-Leitung aktiv, wenn der Port vom DTE (Computer) geschlossen wird. Dadurch wird sichergestellt, dass das DCE (Modem) den Kommunikationskanal nicht schließt, wenn der Port geschlossen ist.

TRUE/FALSE Null-Bytes ($NUL) werden verworfen, wenn read.

PARITY

TRUE/FALSE Paritätsprüfung aktivieren. Dieser Modus muss aktiviert sein, damit die anderen Paritätsoptionen ausgewählt werden können.

PARITYCHAR

Zeichen, das zum Ersetzen von Paritätsfehlern verwendet werden soll. PARITY muss aktiviert sein.

PARITYREPL

TRUE/FALSE Zeichenersetzung bei Paritätsfehler aktivieren. PARITY muss aktiviert sein.

PARITYTYPE

0 = Keine, 1 = Ungerade, 2 = Gerade, 3 = Mark, 4 = Leerzeichen. PARITÄT muss aktiviert sein. Standard = 0.

TRUE/FALSE Klingelanzeige ist eingeschaltet (schreibgeschützt). Wenn RING TRUE zurückgibt, wird auf dem Kommunikationskanal (vom Modem) ein Rufsignal empfangen. RING nähert sich dem Zustand des Rufsignals an; Allerdings wird es möglicherweise nicht auf allen Windows-Plattformen korrekt gemeldet.

Receive-line-signal-detect (READ-ONLY). Siehe CD/Carrier-Erkennung oben.

RTSFLOW

Bereit zum Senden (Ausgangssignal). 0 = Deaktivieren, 1 = Aktivieren, 2 = Handshake, 3 = Umschalten. Toggle wird für Halbduplex-(2-Draht)-Operationen verwendet, um die Leitung „umzukehren“. Während der DTE (Computer) damit beschäftigt ist, Daten zu senden, löst er das RTS-Signal aus und der DCE (Modem) blockiert seinen Datenempfangskanal. Wenn das RTS-Signal auf logisch niedrig zurückkehrt, kehrt das DCE (Modem) in den Sendemodus zurück und das DTE (Computer) wechselt in den Empfangsmodus.

Der Handshake-Modus veranlasst das DTE (Computer), den Empfangspuffer (RXQUE) zu überprüfen, nachdem jedes Zeichen im Puffer platziert wurde. Wenn der Puffer zu 5/6 voll ist, wird das RTS-Signal gelöscht. Wenn der Empfangspuffer auf unter 1/6 sinkt, wird RTS erneut erhöht

RXPUFFER

Größe des Empfangspuffers in Bytes.

Derzeit im Empfangspuffer befindliche Zeichen (schreibgeschützt).

0 = 1 Stoppbits, 1 = 1,5 Stoppbits, 2 = 2 Stoppbits.

TXBUFFER

Größe des Sendepuffers in Bytes. In einigen Fällen kann Windows die Übertragungsgröße möglicherweise nicht melden.

Derzeit im Sendepuffer befindliche Zeichen (schreibgeschützt).

XINPFLOW

TRUE/FALSE Aktiviert die XON/XOFF-Eingangsflusssteuerung. Wenn der Empfangspuffer des DTE (Computers) voll ist, wird ein XOFF-Zeichen an das DCE (Modem) gesendet, um es anzuweisen, die Übertragung anzuhalten. Wenn das DCE zur Wiederaufnahme der Übertragung bereit ist, wird ein XON-Zeichen an das DCE gesendet. Typischerweise wird XOFF gesendet, wenn der Empfangspuffer weniger als 1/16 verbleibend hat, und XON wird gesendet, wenn der Empfangspuffer auf weniger als 1/16 seiner maximalen Größe abfällt. Standard = FALSCH.

XOUTFLOW

TRUE/FALSE XON/XOFF-Ausgangsflusskontrolle aktivieren. Wenn aktiviert, sendet das DCE (Modem) ein XOFF an das DTE (Computer), um die Datenübertragung an das DCE zu stoppen. Wenn das DCE bereit ist, weitere Daten zu empfangen, wird ein XON-Zeichen gesendet. XOUTFLOW verwendet normalerweise die gleichen 1/16-Regeln wie XINPFLOW. Standard = FALSCH.

Gängige Baudraten reichen von 110 bis 256.000. In der Datei WIN32API.INC sind Equates mit dem Präfix %CBR_ definiert, um Sie bei der Angabe einer gemeinsamen Baudrate zu unterstützen, Sie sind jedoch nicht auf einen begrenzten Satz von Raten beschränkt.

PowerBASIC setzt die Systemvariable ERR, wenn bei der Verwendung der COMM-Funktion ein Fehler auftritt.

Das Zahlensymbol (#) als Präfix ist optional, wird aber aus Gründen der Übersichtlichkeit empfohlen.

Einschränkungen

Aufgrund der Unterschiede zwischen Win32-Betriebssystemen können Parameter (wie TXBUFFER und TXQUE) möglicherweise nicht unter allen Umständen erfolgreich abgefragt werden.

PBXB64 V14 unterstuetzt die getesteten Modemstatus-Selektoren COMM([#] hComm, CTS), COMM([#] hComm, DSR), COMM([#] hComm, CD), COMM([#] hComm, RLSD) und COMM([#] hComm, RING). Gueltige serielle Handles fragen Win32 GetCommModemStatus ab und geben PowerBASIC TRUE oder FALSE zurueck; Null- oder nicht geoeffnete Handles geben FALSE zurueck. Die registrierten Tests pruefen Syntax, eingebettete Laufzeitverknuepfung, sicheres Null-Handle-Verhalten und eine Diagnose fuer nicht unterstuetzte COMM-Funktionsselektoren. Hardwaregestuetztes Verhalten bei gesetzten Signalen haengt von einem vorhandenen seriellen Geraet oder einem virtuellen COM-Paar ab und bleibt breitere serielle Paritaetsarbeit.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • Serielle Kommunikation
  • COMM CLOSE
  • COMM LINE - Hilfe zum PBXB64-Compiler
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • COMM SET
  • KOMM-TIMEOUT
  • Hilfe zum PBXB64-Compiler


COMM CLOSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COMM CLOSE

Schlie&szlig;en und &ouml;ffnen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

COMM CLOSE [#] hComm [, [#] hComm ...]

Beschreibung

Schließen und öffnen

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Schließt einen oder mehrere Kommunikationsports, wie durch die PowerBASIC-Dateinummer angegeben, die in jedem hComm-Parameter enthalten ist. COMM CLOSE beendet die Beziehung zwischen einer PowerBASIC-Dateinummer und dem seriellen Portgerät, das ihr zuvor durch die COMM OPEN-Anweisung zugeordnet wurde.

Das Zahlensymbol (#) als Präfix ist optional, wird aber aus Gründen der Übersichtlichkeit empfohlen.

Es wird außerdem empfohlen, alle geöffneten seriellen Ports explizit zu schließen, bevor Ihre Anwendung beendet wird. Beachten Sie, dass COMM CLOSE ein Synonym für CLOSE ist.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • Serielle Kommunikation
  • CLOSE
  • COMM
  • COMM LINE - Hilfe zum PBXB64-Compiler
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • COMM SET
  • KOMM-TIMEOUT
  • Hilfe zum PBXB64-Compiler


COMM LINE - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COMM LINE - Hilfe zum PBXB64-Compiler

Erhalten Sie ein CR/LF (

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

COMM LINE [INPUT] [#] hComm , string_var

Beschreibung

Erhalten Sie ein CR/LF (

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Liest eine durch Trennzeichen getrennte Datenzeile aus dem Empfangspuffer, wobei eine „Zeile“ als Datenstrom definiert ist, der durch ein CR/LF (Wagenrücklauf und Zeilenvorschub, $CRLF oder CHR$ (13,10)) abgeschlossen wird. COMM LINE INPUT ist ideal zum Abrufen von Modem-Antwortzeichenfolgen als Antwort auf „AT“-Befehle, die an ein Modem gesendet werden.

hComm ist die Dateinummer, die Sie mit COMM OPEN verwendet haben, eine Ganzzahl im Bereich von 1 bis 32767. Das Zahlensymbol (#) als Präfix ist optional, wird aber aus Gründen der Übersichtlichkeit empfohlen.

COMM LINE liest den Empfangspuffer bis zum nächsten $CRLF-Zeichenpaar. Die $CRLF-Bytes werden aus dem Puffer entfernt, sind jedoch nicht Teil der von COMM LINE zurückgegebenen Zeichenfolgendaten. Beachten Sie, dass die Anweisung unbegrenzt auf eine vollständige, mit $CRLF abgeschlossene Datenzeile wartet, wenn im Empfangspuffer kein $CRLF-Paar vorhanden ist. In diesem Sinne ist COMM LINE eine blockierende Anweisung. Mit der COMM TIMEOUT-Anweisung können COMM-Timeout-Grenzwerte angegeben werden.

Die empfangenen Daten werden der string_var zugewiesen. Der Zeichenmodus der string_var muss mit der CHR-Option in COMM OPEN (ANSI/WIDE) übereinstimmen. Andernfalls wird ein Fehler 5 (Ungültiger Funktionsaufruf) generiert und es werden keine Daten empfangen.

Die EOF-Funktion kann auch mit COMM LINE (und TCP LINE) verwendet werden, um zu erkennen, dass eine unvollständige Zeile empfangen wurde. Normalerweise liest die COMM LINE-Anweisung Daten, bis ein $CRLF-Zeichenpaar gefunden wird. In diesem Fall gibt EOF false (Null) zurück. Wenn jedoch eine Zeitüberschreitung auftritt, gibt COMM LINE alle angesammelten Daten zurück und setzt EOF auf logisch TRUE (ungleich Null).

In vielen Fällen wäre es ratsam, EOF nach jeder COMM LINE-Anweisung zu testen, um zu überprüfen, ob eine vollständige Zeile empfangen wurde. In manchen Fällen möchten Sie die Anweisung möglicherweise noch einmal oder mehrmals ausführen und dabei die Daten kombinieren, um eine vollständige Textzeile zu erhalten.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • Serielle Kommunikation
  • COMM CLOSE
  • COMM
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • COMM SET
  • KOMM-TIMEOUT
  • EOF
  • Hilfe zum PBXB64-Compiler


COMM OPEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COMM OPEN

&Ouml;ffnen Sie ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

COMM OPEN "COM n " AS [#] hComm [CHR = ANSI|WIDE]

Beschreibung

Öffnen Sie ein

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Öffnet eine serielle Schnittstelle, um mit der Kommunikation zu beginnen, und stellt eine Beziehung zwischen einer Dateinummer und einem bestimmten Gerät mit serieller Schnittstelle her.

Identifiziert die Nummer des seriellen Ports, zum Beispiel COM1, COM4 usw. Der Portspezifikation darf kein Doppelpunkt folgen. Siehe Einschränkungen unten.

Ein numerischer Ausdruck, der eine nicht verwendete PowerBASIC-Dateinummer im Bereich von 1 bis 32767 angibt. Dies wird normalerweise von der FREEFILE-Funktion bereitgestellt. Das Zahlensymbol (#) als Präfix ist optional, wird aber aus Gründen der Übersichtlichkeit empfohlen.

Wenn der Port nicht erfolgreich geöffnet wurde, enthält die Systemvariable ERR den Fehlercode. Bevor die eigentliche Kommunikation über den Port beginnen kann, müssen Sie die Kommunikationsparameter konfigurieren, indem Sie für jeden Parameter eine COMM SET-Anweisung verwenden.

Einschränkungen

Im Portnamen darf kein Doppelpunkt verwendet werden, wie es im DOS-Code üblich war. COMM OPEN kann weder ein Dateihandle des Betriebssystems verwenden noch einen Port öffnen, der bereits verwendet wird. Beim Öffnen von Ports über COM9 erfordert Windows die Angabe des Portnamens mit der folgenden Syntax:

COMM OPEN „\\.\COM15“ AS #hComm

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • Serielle Kommunikation
  • COMM CLOSE
  • COMM
  • COMM LINE - Hilfe zum PBXB64-Compiler
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • COMM SET
  • KOMM-TIMEOUT
  • FREEFILE
  • OPEN
  • Hilfe zum PBXB64-Compiler


COMM PRINT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COMM PRINT

Senden Sie eine Textzeichenfolge &uuml;ber eine serielle Schnittstelle mit optionalem CR/LF.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

COMM PRINT [#] hComm , string_expression [;] [TO CharCountVar ]

Beschreibung

Senden Sie eine Textzeichenfolge über eine serielle Schnittstelle mit optionalem CR/LF.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die in string_expression enthaltenen Textdaten werden an den seriellen Port gesendet, der der Dateinummer hComm zugeordnet ist. Das Zahlensymbol (#) ist optional.

Die Daten werden in der in der COMM OPEN-Anweisung angegebenen Zeichenform gesendet. Wenn CHR=WIDE angegeben wurde, werden die Daten in breiten Unicode-Zeichen gesendet. Andernfalls wird es in ANSI-Bytes gesendet. Die Daten werden automatisch in die entsprechende Form konvertiert.

Diese Anweisung ist eine Variation von COMM SEND , wird jedoch normalerweise nur mit Text verwendet. Auf jeden gesendeten string_-Ausdruck folgt automatisch ein Wagenrücklauf- und Zeilenvorschubpaar, um die Zeile zu begrenzen. Wenn jedoch ein abschließendes Semikolon (;) hinzugefügt wird, wird CR/LF unterdrückt.

Wenn die optionale „TO CharCountVar“-Klausel enthalten ist, wird ihr eine Zählung der Anzahl der geschriebenen Zeichen zugewiesen. Diese Zählung umfasst CR/LF, sofern verwendet. Dadurch können Sie den Erfolg der Operation beurteilen. Wenn ein TimeOut aufgetreten ist, ist dieser Wert kleiner als erwartet und es wird ein Laufzeitfehler 24 (Geräte-Timeout) generiert.

C OMM PRINT ist ideal zum Senden von „AT“-Befehlen an ein Modem. Lassen Sie zu diesem Zweck das abschließende Semikolon weg, da Sie möchten, dass CR/LF zusammen mit den Daten gesendet wird.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • Serielle Kommunikation
  • COMM CLOSE
  • COMM
  • COMM LINE - Hilfe zum PBXB64-Compiler
  • COMM OPEN
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • COMM SET
  • KOMM-TIMEOUT
  • Hilfe zum PBXB64-Compiler


COMM RECV - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COMM RECV

Bin&auml;rdaten von a empfangen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

COMM RECV [#] hComm , count& , string_var

Beschreibung

Binärdaten von a empfangen

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Rufen Sie die Anzahl der Bytes aus dem Empfangspuffer ab und platzieren Sie die Ergebnisse in string_var . Die Programmausführung wird angehalten, bis count& Bytes verfügbar sind. Daher ist es ratsam, zu überprüfen, wie viele Bytes verfügbar sind, bevor Sie eine COMM RECV-Anfrage stellen. Sie können dies tun, indem Sie den RXQUE-Wert mit der COMM-Funktion überprüfen, wie im folgenden Beispiel gezeigt.

hComm ist die Dateinummer, die Sie mit COMM OPEN verwendet haben, eine Ganzzahl im Bereich von 1 bis 32767. Das Zahlensymbol (#) als Präfix ist optional, wird aber aus Gründen der Übersichtlichkeit empfohlen.

Die empfangenen Daten werden der string_var zugewiesen. Der Zeichenmodus der string_var muss mit der CHR-Option in COMM OPEN (ANSI/WIDE) übereinstimmen. Andernfalls wird ein Fehler 5 (Ungültiger Funktionsaufruf) generiert und es werden keine Daten empfangen.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • Serielle Kommunikation
  • COMM CLOSE
  • COMM
  • COMM LINE - Hilfe zum PBXB64-Compiler
  • COMM OPEN
  • COMM PRINT
  • COMM RESET
  • COMM SEND
  • COMM SET
  • KOMM-TIMEOUT
  • Hilfe zum PBXB64-Compiler


COMM RESET - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COMM RESET

Deaktivieren Sie die Flusskontrolle f&uuml;r einen bestimmten Wert

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

COMM RESET [#] hComm , FLOW

Beschreibung

Deaktivieren Sie die Flusskontrolle für einen bestimmten Wert

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Schaltet die gesamte Flusskontrolle zum seriellen Port aus, wie durch die in hComm gespeicherte Dateinummer angegeben.

Das Zahlensymbol (#) als Präfix ist optional, wird aber aus Gründen der Übersichtlichkeit empfohlen.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • Serielle Kommunikation
  • COMM CLOSE
  • COMM
  • COMM LINE - Hilfe zum PBXB64-Compiler
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM SEND
  • COMM SET
  • KOMM-TIMEOUT
  • Hilfe zum PBXB64-Compiler


COMM SEND - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COMM SEND

Senden Sie eine Datenzeichenfolge &uuml;ber a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

COMM SEND [#] hComm , string_expression TO [ CharCountVar ]

Beschreibung

Senden Sie eine Datenzeichenfolge über a

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die in string_expression enthaltenen Daten werden an den seriellen Port gesendet, der der Dateinummer hComm zugeordnet ist. Das Zahlensymbol (#) ist optional.

Die Daten werden in der in der COMM OPEN-Anweisung angegebenen Zeichenform gesendet. Wenn CHR=WIDE angegeben wurde, werden die Daten in breiten Unicode-Zeichen gesendet. Andernfalls wird es in ANSI-Bytes gesendet. Die Daten werden automatisch in die entsprechende Form konvertiert.

Bei COMM SEND werden den Daten keine Trennzeichen hinzugefügt. Wenn ein nachgestelltes CR/LF erforderlich ist, ist es normalerweise am besten, stattdessen COMM PRINT zu verwenden.

Wenn die optionale „TO CharCountVar“-Klausel enthalten ist, wird ihr eine Zählung der Anzahl der geschriebenen Zeichen zugewiesen. Dadurch können Sie den Erfolg der Operation beurteilen. Wenn ein TimeOut aufgetreten ist, ist dieser Wert kleiner als erwartet und es wird ein Laufzeitfehler 24 (Geräte-Timeout) generiert.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • Serielle Kommunikation
  • COMM CLOSE
  • COMM
  • COMM LINE - Hilfe zum PBXB64-Compiler
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SET
  • KOMM-TIMEOUT
  • Hilfe zum PBXB64-Compiler


COMM SET - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COMM SET

Legen Sie Kommunikationsoptionen f&uuml;r a fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

COMM SET [#] hComm , Comfunc = value

Beschreibung

Legen Sie Kommunikationsoptionen für a fest

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Legen Sie die Parameter fest, die für die Kommunikation mit einem seriellen Port erforderlich sind. Dies muss immer erfolgen, bevor Sie Daten über den Port senden und empfangen können.

Um die Kommunikationsparameter zu konfigurieren, verwenden Sie Schlüsselwörter aus der folgenden Tabelle, um den Comfunc anzugeben, sowie einen geeigneten Wert aus dem Bereich, der für den Comfunc-Parameter gilt, den Sie festlegen möchten. Wenn beim Versuch, einen Parameter festzulegen, ein Fehler auftritt, setzt PowerBASIC die Systemvariable ERR, um die Fehlernummer anzuzeigen. Während jeder Parameter einzeln eingestellt werden muss, ist es auch möglich, bestimmte Parameter zu ändern, ohne dass die Kommunikation unterbrochen und erneut hergestellt werden muss.

COMM SET-Schlüsselworttabelle

Comfunc

Wert (TRUE <> 0, FALSE = 0)

Port-Baudrate (9600, 14400, 19200 usw.). Siehe Hinweise unten.

TRUE/FALSE Break wird aktiviert. Break wird im Allgemeinen verwendet, um die Aufmerksamkeit des angeschlossenen Modems, Terminals oder Systems zu erregen.

Anzahl der Bits pro Byte (4, 5, 6, 7 oder 8).

TRUE/FALSE Trägererkennungsstatus; Synonym für RLSD (READ-ONLY). Wenn CD TRUE ist, verfügt das DCE (Modem) über eine geeignete Verbindung auf dem vorhandenen Kommunikationskanal. Wenn CD FALSE ist, gibt es keine geeignete Verbindung.

CTSFLOW

TRUE/FALSE CTS-Ausgabefluss aktivieren Steuerung (Eingangssignal). Wenn CTSFLOW aktiviert ist, stoppt der DTE (Computer) das Senden von Daten, wenn das CTS-Signal vom DCE (Modem) auf logisch niedrig gesetzt wird. Die Übertragung wird fortgesetzt, wenn das DCE (Modem) das CTS-Signal wieder auf logisch hoch setzt. Das CTS-Signal wird normalerweise als Reaktion auf ein RTS-Signal verwendet.

DSRFLOW

TRUE/FALSE DSR aktivieren Ausgangsflusskontrolle (Eingangssignal). Wenn DSRFLOW aktiviert ist, stoppt der DTE (Computer) das Senden von Daten, wenn das DSR-Signal vom DCE (Modem) auf logisch niedrig gesetzt wird. Die Übertragung wird aktiviert, wenn das DSR-Signal wieder logisch hoch ist. Das DSR-Signal wird oft in Verbindung mit CTS als Reaktion auf ein RTS-Signal verwendet.

DSRSENS

TRUE/FALSE DSR-Empfindlichkeit aktivieren. Wenn DSRSENS aktiviert ist, werden vom DTE (Computer) empfangene Daten nur dann in den Empfangspuffer gestellt, wenn DSR auf logisch hoch gesetzt ist. Wenn DSR niedrig eingestellt ist, werden empfangene Daten verworfen. Durch die Aktivierung von DSRSENS kann DSR das DTE (den Computer) aktivieren oder deaktivieren, um Daten vom DTE (dem Modem) zu empfangen. DSRSENS wird in praktischen Kommunikationssituationen selten verwendet.

DTRFLOW

TRUE/FALSE DTR-Handshake-Flusskontrolle aktivieren (Ausgangssignal). Wenn DTRFLOW aktiviert ist, signalisiert es, dass sich das DCE (Modem) auf die Verbindung mit dem Kommunikationskanal vorbereiten sollte. DTR wird normalerweise für die Modem-On-/Off-Hook-Steuerung verwendet, kann aber auch in Verbindung mit DSR für Handshaking verwendet werden.

DTRLINE

TRUE/FALSE DTR-Leitung aktivieren. Wenn aktiviert, lässt DTRLINE die DTR-Leitung aktiv, wenn der Port vom DTE (Computer) geschlossen wird. Dadurch wird sichergestellt, dass das DCE (Modem) den Kommunikationskanal nicht schließt, wenn der Port geschlossen ist.

TRUE/FALSE Null-Bytes ($NUL) werden verworfen, wenn read.

PARITY

TRUE/FALSE Paritätsprüfung aktivieren. Dieser Modus muss aktiviert sein, damit die anderen Paritätsoptionen ausgewählt werden können.

PARITYCHAR

Zeichen, das zum Ersetzen von Paritätsfehlern verwendet werden soll. PARITY muss aktiviert sein.

PARITYREPL

TRUE/FALSE Zeichenersetzung bei Paritätsfehler aktivieren. PARITY muss aktiviert sein.

PARITYTYPE

0 = Keine, 1 = Ungerade, 2 = Gerade, 3 = Mark, 4 = Leerzeichen. PARITÄT muss aktiviert sein. Standard = 0.

TRUE/FALSE Klingelanzeige ist eingeschaltet (schreibgeschützt). Wenn RING TRUE zurückgibt, wird auf dem Kommunikationskanal (vom Modem) ein Rufsignal empfangen. RING nähert sich dem Zustand des Rufsignals an; Allerdings wird es möglicherweise nicht auf allen Windows-Plattformen korrekt gemeldet.

Receive-line-signal-detect (READ-ONLY). Siehe CD/Carrier-Erkennung oben.

RTSFLOW

Bereit zum Senden (Ausgangssignal). 0 = Deaktivieren, 1 = Aktivieren, 2 = Handshake, 3 = Umschalten. Toggle wird für Halbduplex-(2-Draht)-Operationen verwendet, um die Leitung „umzukehren“. Während der DTE (Computer) damit beschäftigt ist, Daten zu senden, löst er das RTS-Signal aus und der DCE (Modem) blockiert seinen Datenempfangskanal. Wenn das RTS-Signal auf logisch niedrig zurückkehrt, kehrt das DCE (Modem) in den Sendemodus zurück und das DTE (Computer) wechselt in den Empfangsmodus.

Der Handshake-Modus veranlasst das DTE (Computer), den Empfangspuffer (RXQUE) zu überprüfen, nachdem jedes Zeichen im Puffer platziert wurde. Wenn der Puffer zu 5/6 voll ist, wird das RTS-Signal gelöscht. Wenn der Empfangspuffer auf unter 1/6 sinkt, wird RTS erneut erhöht.

RXPUFFER

Größe des Empfangspuffers in Bytes.

Derzeit im Empfangspuffer befindliche Zeichen (schreibgeschützt).

0 = 1 Stoppbits, 1 = 1,5 Stoppbits, 2 = 2 Stoppbits.

TXBUFFER

Größe des Sendepuffers in Bytes. In einigen Fällen kann Windows die Übertragungsgröße möglicherweise nicht melden.

Derzeit im Sendepuffer befindliche Zeichen (schreibgeschützt).

XINPFLOW

TRUE/FALSE Aktiviert die XON/XOFF-Eingangsflusssteuerung. Wenn der Empfangspuffer des DTE (Computers) voll ist, wird ein XOFF-Zeichen an das DCE (Modem) gesendet, um es anzuweisen, die Übertragung anzuhalten. Wenn das DCE zur Wiederaufnahme der Übertragung bereit ist, wird ein XON-Zeichen an das DCE gesendet. Typischerweise wird XOFF gesendet, wenn der Empfangspuffer weniger als 1/16 verbleibend hat, und XON wird gesendet, wenn der Empfangspuffer auf weniger als 1/16 seiner maximalen Größe abfällt. Standard = FALSCH.

XOUTFLOW

TRUE/FALSE XON/XOFF-Ausgangsflusskontrolle aktivieren. Wenn aktiviert, sendet das DCE (Modem) ein XOFF an das DTE (Computer), um die Datenübertragung an das DCE zu stoppen. Wenn das DCE bereit ist, weitere Daten zu empfangen, wird ein XON-Zeichen gesendet. XOUTFLOW verwendet normalerweise die gleichen 1/16-Regeln wie XINPFLOW. Standard = FALSCH.

Gängige Baudraten reichen von 110 bis 256.000. In der Datei WIN32API.INC sind Equates mit dem Präfix %CBR_ definiert, um Sie bei der Angabe einer gemeinsamen Baudrate zu unterstützen, Sie sind jedoch nicht auf einen begrenzten Satz von Raten beschränkt.

Der Versuch, ein READ-ONLY-Attribut festzulegen, führt zur Kompilierungszeit zum Fehler 542 („Darf nicht geändert werden“).

Das Zahlensymbol (#) als Präfix ist optional, wird aber aus Gründen der Übersichtlichkeit empfohlen.

PBXB64-Implementierungshinweise

PBXB64 V14 senkt BAUD, BYTE/BITS, PARITY, PARITYTYPE, PARITYCHAR, PARITYREPL, STOP, XINPFLOW und XOUTFLOW auf den eingebetteten Windows-DCB-Laufzeitpfad ab. test_comm_set_extended.pb prueft dynamische Ausdruckswerte fuer diese Optionen, und test_comm_flow_missing.pb prueft sicheres Verhalten bei fehlendem Port und Null-Handle. Fuer erfolgreiche hardwaregestuetzte Kommunikation ist weiterhin ein echter serieller Port oder ein virtuelles COM-Port-Paar erforderlich.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • Serielle Kommunikation
  • COMM CLOSE
  • COMM
  • COMM LINE - Hilfe zum PBXB64-Compiler
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • KOMM-TIMEOUT
  • Hilfe zum PBXB64-Compiler


Command Summary - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Command Summary

The following is a list of the commands built into the compiler and separated into 18 groups of related commands, which can assist with identifying the best command for the task at hand. Some commands

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

The following is a list of the commands built into the compiler and separated into 18 groups of related commands, which can assist with identifying the best command for the task at hand. Some commands

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Back to command index


COMMAND$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COMMAND$

Gibt die Befehlszeilenargumente zur&uuml;ck, die zum Starten des Programms verwendet werden.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = COMMAND$
s$ = COMMAND$( ArgNum )

Beschreibung

Gibt die Befehlszeilenargumente zurück, die zum Starten des Programms verwendet werden.

Typ:Funktion |Kategorie: Utilities

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

COMMAND$ gibt alles zurück, was nach dem Programmnamen eingegeben wurde. In einigen Betriebssystemhandbüchern wird dieser Text als Trailer oder Befehlsende bezeichnet. Sie können COMMAND$ verwenden, um Laufzeitargumente wie Dateinamen und Programmoptionen zu sammeln.

Abhängig von der optionalen Argumentnummer gibt COMMAND$ entweder den vollständigen Trailer oder nur eines der Argumente zurück. Wenn ArgNum Null (0) ist oder nicht vorhanden ist, wird der vollständige Trailer zurückgegeben. Wenn ArgNum größer als Null ist, wird der Trailer analysiert, um ein einzelnes Argument zurückzugeben (1 = erstes Argument. 2 = zweites Argument usw.). Wenn ArgNum größer als die Anzahl der Argumente ist, wird eine Nullzeichenfolge (Nulllänge) zurückgegeben.

Argumente werden durch ein oder mehrere Leerzeichen getrennt. Wenn Leerzeichen von Bedeutung sind, sollten Sie das Argument in doppelte Anführungszeichen (") einschließen. Solche doppelten Anführungszeichen werden von COMMAND$ aus dem Rückgabewert entfernt. Wenn eine Zeichenfolge in Anführungszeichen mit der Länge Null ("") gefunden wird, wird sie vollständig ignoriert.

Stellen Sie sich beispielsweise ein Programm namens FASTSORT.EXE vor, das Daten aus einer Datei liest, sie sortiert und das Ergebnis in einer neuen Datei ablegt. Mit COMMAND$ können Sie die Namen der Eingabe- und Ausgabedateien angeben, wenn das Programm aufgerufen wird:

FASTSORT.EXE cust.dta cust.new

Wenn FASTSORT mit der Ausführung beginnt, würde COMMAND$ oder COMMAND$(0) Folgendes zurückgeben:

cust.dta cust.new

COMMAND$(1) würde Folgendes zurückgeben:

cust.dta

COMMAND$(2) würde Folgendes zurückgeben:

Kundenneu

Einschränkungen

In einigen neueren Windows-Versionen führen Dateizuordnungs- und Drag-Drop-Dateivorgänge dazu, dass Dateinamen bei der Übergabe in COMMAND$ in doppelte Anführungszeichen eingeschlossen werden. Es wäre ratsam, sicherzustellen, dass Ihre Bewerbungen auf diese Möglichkeit vorbereitet sind. Einige Betriebssysteme schließen die Befehlszeile automatisch in doppelte Anführungszeichen ein.

PowerBASIC legt keine willkürlichen Beschränkungen für die Länge der von COMMAND$ zurückgegebenen Zeichenfolge fest, das Betriebssystem kann jedoch Beschränkungen festlegen. Solche Einschränkungen können beispielsweise deutlich werden, wenn Sie versuchen, eine große Anzahl von Dateien per Drag & Drop in eine EXE-Datei im Windows Explorer zu ziehen. Normalerweise führt der Versuch, mehr Dateien zu löschen, als das Betriebssystem zulässt, zu einer Warnmeldung des Betriebssystems.

Innerhalb der IDE kann ein Befehlszeilenparameter COMMAND$ zu Testzwecken sowohl im Kompilierungs- und Ausführungsmodus als auch im Kompilierungs- und Debugmodus angegeben werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • JOIN$
  • PARSE$ " PBXB64-Compiler-Hilfe
  • PARSECOUNT " PBXB64-Compiler-Hilfe
  • PATHNAME$
  • PATHSCAN$ " PBXB64-Compiler-Hilfe
  • WINMAIN
  • Hilfe zum PBXB64-Compiler


COMPILE-Metaanweisung - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COMPILE-Metaanweisung

Steuert Compileroptionen aus dem Quellcode.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Steuert Compileroptionen aus dem Quellcode.

Typ:Konzeptionell |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Überblick

Dieses Thema bietet Hintergrundinformationen und praktische Anleitungen. Eine detaillierte Syntax finden Sie auf den entsprechenden Befehlsseiten.

Beschreibung

#COMPILE waehlt die Ausgabefamilie fuer die aktuelle Quelldatei. Die fokussierte PBXB64-Oberflaeche belegt EXE-, DLL-, SLL- und Subsystem-Auswahl; die Seite ist als Vertrag fuer diese Build-Modus-Entscheidungen zu lesen.

Validierungsbeleg

Validierungsbeleg: tests/pb/test_compile_exe_directive.pb belegt, dass #COMPILE EXE eine PE-EXE mit dem angeforderten Ausgabename erzeugt. tests/pb/test_compile_dll_named.pb belegt, dass #COMPILE DLL eine DLL erzeugt und die benannten Einstiegspunkte exportiert. tests/pb/test_sll_unit.pb belegt, dass #COMPILE SLL die PBXB64-native Archivform erzeugt. tests/pb/test_subsystem_directive_gui.pb, tests/pb/test_subsystem_directive_console.pb, tests/pb/test_subsystem_cli_gui.pb und tests/pb/test_subsystem_cli_console.pb belegen die Auswahl von Subsystemen aus Quelle und CLI.

Nutzungshinweise

Platzieren Sie die Direktive vor ausfuehrbarem Code. Verwenden Sie einen Dateinamen nur dann, wenn Sie den Ausgabestamm oder die Erweiterung steuern muessen, und halten Sie die benannten Beispiele klein, damit der Ausgabemodus aus der erzeugten Datei eindeutig wird.

Siehe auch

  • Hilfe zum PBXB64-Compiler


COMPILER-Metaanweisung - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COMPILER-Metaanweisung

Bettet Compiler-Anweisungen und -Optionen direkt in den Quellcode ein.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

#COMPILER option

Beschreibung

Bettet Compiler-Anweisungen und -Optionen direkt in den Quellcode ein.

Typ: Metaaussage | Kategorie: Präprozessor und Metaanweisungen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • COMPILE-Metaanweisung
  • #OPTION " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


Config_Clear - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Config_Clear

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Config_Clear() AS LONG

Beschreibung

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Config_Clear ist ein normaler, unterstrichener BASIC-Befehl der Familie Config. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP-Aequivalent: in-process provider/configuration contract

Nebenwirkung: configuration. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Config sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Config_Clear(0)
  FUNCTION = 0
END FUNCTION


Config_Export - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Config_Export

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Config_Export(optional name AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Config_Export ist ein normaler, unterstrichener BASIC-Befehl der Familie Config. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP-Aequivalent: in-process provider/configuration contract

Nebenwirkung: configuration. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Config sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Config_Export("{}")
  FUNCTION = 0
END FUNCTION


Config_Has - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Config_Has

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Config_Has(name AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Config_Has ist ein normaler, unterstrichener BASIC-Befehl der Familie Config. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP-Aequivalent: in-process provider/configuration contract

Nebenwirkung: configuration. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Config sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Config_Has(0)
  FUNCTION = 0
END FUNCTION


Config_Import - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Config_Import

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Config_Import(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Config_Import ist ein normaler, unterstrichener BASIC-Befehl der Familie Config. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP-Aequivalent: in-process provider/configuration contract

Nebenwirkung: configuration. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Config sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Config_Import(0)
  FUNCTION = 0
END FUNCTION


Config_ProviderCount - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Config_ProviderCount

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Config_ProviderCount() AS LONG

Beschreibung

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Config_ProviderCount ist ein normaler, unterstrichener BASIC-Befehl der Familie Config. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP-Aequivalent: in-process provider/configuration contract

Nebenwirkung: configuration. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Config sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Config_ProviderCount(0)
  FUNCTION = 0
END FUNCTION


Config_ProviderName - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Config_ProviderName

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Config_ProviderName(optional name AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Config_ProviderName ist ein normaler, unterstrichener BASIC-Befehl der Familie Config. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP-Aequivalent: in-process provider/configuration contract

Nebenwirkung: configuration. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Config sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Config_ProviderName("{}")
  FUNCTION = 0
END FUNCTION


Config_Remove - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Config_Remove

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Config_Remove(name AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: Config | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Config_Remove ist ein normaler, unterstrichener BASIC-Befehl der Familie Config. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP-Aequivalent: in-process provider/configuration contract

Nebenwirkung: configuration. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Config sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Config_Remove(0)
  FUNCTION = 0
END FUNCTION


CONST - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONST

Deklarieren Sie eine Kompilierzeitkonstante

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONST name [= value] [, name [= value] ...] AS type
CONST name = expression

Beschreibung

Deklarieren Sie eine Kompilierzeitkonstante

Typ:Anweisung |Kategorie: Datentypen und Variablen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerCONST Die Anweisung definiert eine benannte Konstante, deren Wert zur Kompilierzeit festgelegt wird. Konstanten können numerisch oder Zeichenfolgen sein und können im Modul- oder Prozedurbereich deklariert werden.

Generierter Assembler-Code

Kompilieren mit:

PBXB64 example.pb --asmout example.asm
    mov r10, 0x400921fb54442d18
    movq xmm0, r10
    movsd [rbp-24], xmm0
    mov r10, 0x4000000000000000
    movq xmm0, r10
    movsd [rbp-32], xmm0

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN () AS LONG
    CONST Pi = 3.141592653589793##
    CONST MaxCount = 100&
    LOCAL r AS DOUBLE
    r = 2.0##
    FUNCTION = FIX(Pi * r * r)
END FUNCTION

Siehe auch

  • LOCAL � PBXB64-Compiler-Hilfe
  • GLOBAL ? PBXB64-Compiler-Hilfe
  • STATIC ? PBXB64-Compiler-Hilfe
  • ENUM/END ENUM-Anweisungen ? PBXB64-Compiler-Hilfe
  • BASIC-Variablen und -Bereich
  • Hilfe zum PBXB64-Compiler


CONTROL ADD - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL ADD

F&uuml;gen Sie ein benutzerdefiniertes Steuerelement zu a hinzu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD classname$, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]

Beschreibung

Fügen Sie ein benutzerdefiniertes Steuerelement zu a hinzu

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn der Benutzer mit dem Steuerelement interagiert, wird eine Nachricht an die angegebene Rückruffunktion gesendet. Wenn keine Rückruffunktion angegeben ist, wird die Nachricht an den Rückruf für den Dialog gesendet.

Die Werte „style&“ und „exstyle&“ hängen von der Art des verwendeten benutzerdefinierten Steuerelements oder allgemeinen Steuerelements ab. Die an Ihren Rückruf gesendeten Benachrichtigungen hängen auch von der Art des verwendeten benutzerdefinierten Steuerelements oder allgemeinen Steuerelements ab.

Wenn die Callback-Funktion eine %WM_COMMAND-Nachricht empfängt, kann die Identität des Steuerelements, das die Nachricht sendet, mit der CB.CTL-Funktion ermittelt werden. Verwenden Sie die Funktion CB.CTLMSG, um den Wert der Benachrichtigungsnachricht in Ihrem Rückruf abzurufen. Viele allgemeine Windows-Steuerelemente senden %WM_NOTIFY-Nachrichten anstelle der konventionelleren %WM_COMMAND-Nachrichten. PBXB64 leitet %WM_NOTIFY über NMHDR.idFrom an den für das Steuerelement registrierten Callback weiter oder verwendet den Dialog-Callback, wenn kein Control-Callback registriert ist. Mit CB.NMCODE, CB.NMHDR, CB.NMHWND und CB.NMID kann der Benachrichtigungsinhalt gelesen werden; die Bedeutung von CB.WPARAM und CB.LPARAM hängt vom Benachrichtigungstyp ab.

Einschränkungen

Benutzerdefinierte Steuerelemente erfordern möglicherweise eine besondere Behandlung außer den generischen DDT-Funktionen ( CONTROL SET COLOR , CONTROL SET FONT usw.). Weitere Informationen finden Sie in der Dokumentation zu den Steuerungen.

PBXB64-Umsetzung: Die dokumentierten Common-Control-Aliase HEADER, LISTVIEW, PROGRESSBAR, STATUSBAR, TOOLBAR, TREEVIEW und GRAPHIC werden auf native Win32-Klassen abgebildet und ueber die Common-Control-Bibliothek initialisiert. Die generische Erstellung und Stilweitergabe bleiben verfuegbar.

Validierung: tests/pb/test_control_common_classes.pb erzeugt jeden abgebildeten Alias und prueft im headless Link/Run-Lauf gueltige native Handles.

PBXB64-Umsetzung: COMBOBOX und LISTBOX akzeptieren im Anfangsparameter eine eindimensionale dynamische STRING-Feldvariable. Die Elemente werden in Feldreihenfolge an das native Control uebergeben; beim ersten leeren String endet die Befuellung entsprechend der PB-Originalhilfe. Wenn style und exstyle fehlen, werden die dokumentierten Standardwerte verwendet.

PBXB64-Umsetzung: Common-Control-WM_NOTIFY-Nachrichten werden über NMHDR.idFrom an den Control-Callback verteilt. Der Callback-Kontext bewahrt den nativen Benachrichtigungszeiger für die dokumentierten CB.NM*-Zugriffe.

Validierung: tests/pb/test_control_notify_callback.pb sendet einen synthetischen NMHDR durch das native Dialogfenster und prüft Nachricht, Control-ID, Benachrichtigungscode, Quell-Handle und Header-Zeiger.

PBXB64-Umsetzungshinweise

STEUERUNG HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • #MESSAGES " PBXB64-Compiler-Hilfe
  • Dynamic Dialog Tools (DDT)
  • STEUERGRIFF
  • CONTROL SEND
  • Hilfe zum PBXB64-Compiler


CONTROL ADD CHECK3STATE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL ADD CHECK3STATE

F&uuml;gen Sie einem Dialogfeld ein Kontrollk&auml;stchen f&uuml;r die automatische 3-Status-Funktion hinzu. Dies wird h&auml;ufig verwendet, um eine Auswahl anzugeben, die &#8222;Wahr&ldquo; (festgelegt oder aktiviert), &#8222;Falsch&ldquo; (nicht festgelegt oder deaktiviert) oder &#8222;Unbestimmt&ldquo; (ausgegraut) sein kann, und wird oft in Dialogen gefunden, die &#8222;Multiple-Choice&ldquo;-Optionen bieten.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD CHECK3STATE, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD CHECK3STATE, hDlg, id&, txt$, 100, 100, 40, 14, , , _
CALL Check3Callback() ' Use default styles

Beschreibung

Fügen Sie einem Dialogfeld ein Kontrollkästchen für die automatische 3-Status-Funktion hinzu. Dies wird häufig verwendet, um eine Auswahl anzugeben, die „Wahr“ (festgelegt oder aktiviert), „Falsch“ (nicht festgelegt oder deaktiviert) oder „Unbestimmt“ (ausgegraut) sein kann, und wird oft in Dialogen gefunden, die „Multiple-Choice“-Optionen bieten.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn das kaufmännische Und-Zeichen (&) im txt$-Parameter vorkommt, wird der folgende Buchstabe unterstrichen angezeigt. Dadurch wird eine Steuerungsbeschleunigung (Hotkey) hinzugefügt, die es dem Benutzer ermöglicht, direkt auf ein Steuerelement zu „klicken“, indem er einfach die ALT-Taste gedrückt hält, während er den angegebenen Hotkey drückt. Beispielsweise macht „Set s&tate“ ALT+t zum Hotkey.

Wenn der Benutzer auf ein Kontrollkästchen mit drei Zuständen klickt, wird eine Nachricht an die für das Steuerelement vorgesehene Rückruffunktion gesendet. Wenn keine Rückruffunktion angegeben ist, wird die Nachricht an den Rückruf für den Dialog gesendet.

Wenn der Steuerrückruf die Benachrichtigungsnachricht verarbeitet, sollte er TRUE (ungleich Null) zurückgeben, um zu verhindern, dass die Nachricht unnötig an den Dialogrückruf und schließlich an die DDT-Engine selbst weitergeleitet wird.

Benachrichtigungsnachrichten werden an die Callback-Funktion gesendet, wobei CB.MSG = %WM_COMMAND ist, CB.CTL die ID (id&) des Steuerelements enthält und CB.CTLMSG die folgenden Werte enthält:

%BN_CLICKED

Wird gesendet, wenn der Benutzer eine Maustaste klickt oder das Steuerelement mit dem Hotkey aktiviert (es sei denn, das Steuerelement wurde deaktiviert).

%BN_DISABLE

Wird gesendet, wenn ein Steuerelement deaktiviert ist.

%BN_KILLFOCUS

Wird gesendet, wenn ein Steuerelement den Tastaturfokus verliert. Das Steuerelement muss den %BS_NOTIFY-Stil enthalten.

%BN_SETFOCUS

Wird gesendet, wenn ein Steuerelement den Tastaturfokus erhält. Das Steuerelement muss den %BS_NOTIFY-Stil enthalten.

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

PBXB64-Umsetzungshinweise

STEUERUNG CHECK3STATE HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG CHECK3STATE HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG CHECKBOX HINZUFÜGEN
  • CONTROL ADD OPTION
  • CONTROL GET CHECK
  • CONTROL SET CHECK
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • Hilfe zum PBXB64-Compiler


CONTROL ADD FRAME - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL ADD FRAME

F&uuml;gen Sie einem Dialog einen Rahmen hinzu. Dies wird auch als &#8222;Gruppen&ldquo;-Steuerelement bezeichnet und normalerweise um Steuerelemente herum gezeichnet, um eine visuelle Verbindung zwischen solchen Steuerelementen anzuzeigen. Ein Frame-Steuerelement wird h&auml;ufig um verwandte Optionssteuerelemente herum verwendet.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD FRAME, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]]
CONTROL ADD FRAME, hDlg, id&, txt$, 100, 100, 40, 14, , ' Use default styles

Beschreibung

Fügen Sie einem Dialog einen Rahmen hinzu. Dies wird auch als „Gruppen“-Steuerelement bezeichnet und normalerweise um Steuerelemente herum gezeichnet, um eine visuelle Verbindung zwischen solchen Steuerelementen anzuzeigen. Ein Frame-Steuerelement wird häufig um verwandte Optionssteuerelemente herum verwendet.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Frame-Steuerelement sendet keine Nachrichten an seinen übergeordneten Dialog und erfordert oder unterstützt kein Callback .

PBXB64 implementiert FRAME als native Win32-BUTTON-Gruppenbox. Wenn beide optionalen Stiloperanden fehlen, wird standardmaessig der native Stil %BS_GROUPBOX | %BS_LEFT | %BS_TOP verwendet; explizite style- und exstyle-Operanden werden an das native Steuerelement weitergegeben. Dieses Verhalten wird durch tests/pb/test_control_add_defaults.pb verifiziert.

PBXB64-Umsetzungshinweise

STEUERUNG RAHMEN HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG RAHMEN HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET TEXT
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • CONTROL SET TEXT
  • Hilfe zum PBXB64-Compiler


CONTROL ADD IMGBUTTONX - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL ADD IMGBUTTONX

F&uuml;gen Sie einem Dialog eine Schaltfl&auml;che f&uuml;r ein gestrecktes Bild hinzu. Gestreckte Bildschaltfl&auml;chen werden oft verwendet, um das Erscheinungsbild eines Dialogs zu verbessern, wobei das Bild automatisch gestreckt oder gestaucht wird, um das Steuerelement auszuf&uuml;llen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD IMGBUTTONX, hDlg , id& , image$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD IMGBUTTONX, hDlg, id&, txt$, 100, 100, 150, 200, , , _
CALL ImgButtonxCallback() ' Use default styles

Beschreibung

Fügen Sie einem Dialog eine Schaltfläche für ein gestrecktes Bild hinzu. Gestreckte Bildschaltflächen werden oft verwendet, um das Erscheinungsbild eines Dialogs zu verbessern, wobei das Bild automatisch gestreckt oder gestaucht wird, um das Steuerelement auszufüllen.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Größe der in der Schaltfläche verwendeten Bitmap oder des Symbols wird an die Schaltfläche angepasst. Wenn Ihre Schaltfläche 64 Dialogeinheiten breit ist und Ihr Symbol oder Ihre Bitmap nur 32, wird es gestreckt, um die gesamte Schaltfläche abzudecken. Für beste Ergebnisse sollten die Symbole 32 x 32 Pixel groß sein.

Die Bildschaltfläche wird im Dialogfeld dreidimensional gezeichnet, sofern nicht der Stil %BS_FLAT angegeben ist. Wenn der Benutzer auf eine Schaltfläche klickt, wird eine Nachricht an die für die Schaltfläche vorgesehene Rückruffunktion gesendet. Wenn keine Rückruffunktion angegeben ist, wird die Nachricht an den Rückruf für den Dialog gesendet.

Benachrichtigungsnachrichten werden an die Callback-Funktion gesendet, wobei CB.MSG = %WM_COMMAND ist, CB.CTL die ID ( id& ) des Steuerelements enthält und CB.CTLMSG die folgenden Werte enthält:

%BN_CLICKED

Wird gesendet, wenn der Benutzer auf eine Maustaste klickt oder die Schaltfläche mit dem Hotkey aktiviert (es sei denn, die Schaltfläche wurde deaktiviert).

%BN_DISABLE

Wird gesendet, wenn eine Schaltfläche deaktiviert ist.

%BN_KILLFOCUS

Wird gesendet, wenn eine Schaltfläche den Tastaturfokus verliert. Die Schaltfläche muss den %BS_NOTIFY-Stil enthalten.

%BN_SETFOCUS

Wird gesendet, wenn eine Schaltfläche den Tastaturfokus erhält. Die Schaltfläche muss den %BS_NOTIFY-Stil enthalten.

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

PBXB64-Umsetzungshinweise

STEUERUNG IMGBUTTON HINZUFÜGENX gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG IMGBUTTON HINZUFÜGENX ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG GRAFIK HINZUFÜGEN
  • STEUERUNG BILD HINZUFÜGEN
  • STEUERUNG IMAGEX HINZUFÜGEN
  • STEUERUNG IMGBUTTON HINZUFÜGEN
  • STEUERUNGSSET-BILD
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • Hilfe zum PBXB64-Compiler


CONTROL ADD LABEL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL ADD LABEL

F&uuml;gen Sie einem Dialog eine Textbeschriftung hinzu. Eine Textbeschriftung &auml;hnelt einem herk&ouml;mmlichen statischen Steuerelement.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD LABEL, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD LABEL, hDlg, id&, txt$, 100, 100, 150, 200, , , _
CALL LabelCallback() ' Use default styles

Beschreibung

Fügen Sie einem Dialog eine Textbeschriftung hinzu. Eine Textbeschriftung ähnelt einem herkömmlichen statischen Steuerelement.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn das kaufmännische Und-Zeichen (&) im txt$-Parameter vorkommt, wird der folgende Buchstabe unterstrichen angezeigt. Dadurch wird ein Steuerungsbeschleuniger (Hotkey) hinzugefügt, der es dem Benutzer ermöglicht, direkt auf das Steuerelement zu „klicken“, das in der Tab-Reihenfolge unmittelbar nach dem Label-Steuerelement folgt, indem er einfach die ALT-Taste gedrückt hält, während er den angegebenen Hotkey drückt. Beispielsweise macht „&Sicherheitsstufe auswählen“ ALT+S zum Hotkey.

Ein Label-Steuerelement sendet nur dann Nachrichten an einen Rückruf, wenn der %SS_NOTIFY-Stil verwendet wird. Die folgenden Benachrichtigungen werden an die Callback-Funktion gesendet:

%STN_CLICKED

Wird gesendet, wenn der Benutzer auf eine Maustaste klickt oder die Schaltfläche mit dem Hotkey aktiviert (es sei denn, die Schaltfläche wurde deaktiviert).

%STN_DBLCLK

Wird gesendet, wenn der Benutzer auf ein Label-Steuerelement doppelklickt (es sei denn, das Steuerelement wurde deaktiviert).

%STN_DISABLE

Wird gesendet, wenn eine Schaltfläche deaktiviert ist.

%STN_ENABLE

Wird gesendet, wenn ein Label-Steuerelement aktiviert wurde.

Verwenden Sie die CONTROL SET TEXT-Anweisung, um den Text in einem Etikettensteuerelement zu ändern, und CONTROL SET FONT, um die in einem Etikettensteuerelement verwendete Schriftart zu ändern. Dies ist nur möglich, wenn das Label einen eindeutigen ID-Wert hat (d. h. id& sollte nicht -1 sein).

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

PBXB64-Umsetzungshinweise

STEUERUNG ETIKETT HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG ETIKETT HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET TEXT
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • CONTROL SET TEXT
  • Hilfe zum PBXB64-Compiler


CONTROL ADD LINE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL ADD LINE

F&uuml;gen Sie einem Dialog ein Zeilensteuerelement hinzu. Ein Liniensteuerelement kann auch ein Rechteck (leer oder gef&uuml;llt) sein.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD LINE, hDlg, id&, txt$, x, y, xx, yy [, [style&] [, [exstyle&]]] [[,] CALL callback]
CONTROL ADD LINE, hDlg, id&, "", 100, 100, 150, 1, , , CALL LineCallback() ' Use default styles

Beschreibung

Fügen Sie einem Dialog ein Zeilensteuerelement hinzu. Ein Liniensteuerelement kann auch ein Rechteck (leer oder gefüllt) sein.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn das kaufmännische Und-Zeichen (&) im txt$-Parameter vorkommt, wird der folgende Buchstabe unterstrichen angezeigt. Dadurch wird ein Steuerungsbeschleuniger (Hotkey) hinzugefügt, der es dem Benutzer ermöglicht, direkt auf das Steuerelement zu „klicken“, das in der Tab-Reihenfolge unmittelbar nach dem Zeilensteuerelement folgt, indem er einfach die ALT-Taste gedrückt hält, während er den angegebenen Hotkey drückt. Beispielsweise macht „&Test Suite“ ALT+T zum Hotkey.

Ein Zeilensteuerelement sendet nur dann Nachrichten an einen Rückruf, wenn der %SS_NOTIFY-Stil verwendet wird. Die folgenden Benachrichtigungen werden an die Callback-Funktion gesendet:

%STN_CLICKED

Wird gesendet, wenn der Benutzer auf ein Zeilensteuerelement klickt (es sei denn, das Steuerelement wurde deaktiviert).

%STN_DBLCLK

Wird gesendet, wenn der Benutzer auf ein Zeilensteuerelement doppelklickt (es sei denn, das Steuerelement wurde deaktiviert).

%STN_DISABLE

Wird gesendet, wenn eine Leitungssteuerung deaktiviert wurde.

%STN_ENABLE

Wird gesendet, wenn eine Leitungssteuerung aktiviert wurde.

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

PBXB64 erzeugt LINE als natives STATIC-Steuerelement. Wenn style& und exstyle& weggelassen werden, sind %SS_ETCHEDFRAME beziehungsweise %WS_EX_LEFT die Standardwerte. Der getestete Callback-Pfad liefert die Control-ID in CB.CTL und den Benachrichtigungscode in CB.CTLMSG.

Validierungsnachweis: tests/pb/test_control_add_line_scrollbar.pb prueft die native Erzeugung, den Standardstil, die %SS_NOTIFY-Zustellung sowie die Werte von CB.CTL und CB.CTLMSG.

PBXB64-Umsetzungshinweise

STEUERUNG ZEILE HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG ZEILE HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERGRIFF
  • CONTROL SEND
  • Hilfe zum PBXB64-Compiler


CONTROL ADD LISTBOX - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL ADD LISTBOX

F&uuml;gen Sie einem Dialogfeld ein Listenfeld-Steuerelement hinzu. Ein Listenfeld enth&auml;lt eine Reihe vordefinierter Eintr&auml;ge, die es einem Benutzer erm&ouml;glichen, ein oder mehrere Elemente auszuw&auml;hlen. Ein Listenfeld kann Zeichenfolgen enthalten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD LISTBOX, hDlg , id& , [ items$() ], x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD LISTBOX, hDlg, id&, items$(), 100, 100, 150, 200, , , _
CALL ListboxCallback() ' Use default styles

Beschreibung

Fügen Sie einem Dialogfeld ein Listenfeld-Steuerelement hinzu. Ein Listenfeld enthält eine Reihe vordefinierter Einträge, die es einem Benutzer ermöglichen, ein oder mehrere Elemente auszuwählen. Ein Listenfeld kann Zeichenfolgen enthalten

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die folgenden Benachrichtigungen werden an die Callback-Funktion gesendet:

%LBN_DBLCLK

Wird gesendet, wenn der Benutzer im Listenteil eines Listenfelds auf eine Zeichenfolge doppelklickt.

%LBN_ERRSPACE

Wird gesendet, wenn ein Listenfeld nicht genügend Speicher zuweisen kann, um eine bestimmte Anforderung zu erfüllen.

%LBN_KILLFOCUS

Wird gesendet, wenn ein Listenfeld den Tastaturfokus verliert.

%LBN_SELCANCEL

Wird gesendet, wenn der Benutzer ein Element auswählt, dann aber ein anderes Steuerelement auswählt oder das Dialogfeld schließt. Es gibt an, dass die anfängliche Auswahl des Benutzers ignoriert werden soll.

%LBN_SELCHANGE

Wird gesendet, wenn die Auswahl im Listenfeld geändert werden soll, weil der Benutzer entweder in das Listenfeld klickt oder die Auswahl mithilfe der Pfeiltasten ändert.

%LBN_SETFOCUS

Wird gesendet, wenn ein Listenfeld den Tastaturfokus erhält.

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

Einschränkungen

Unter Windows 95/98/ME ist ein Listenfeld auf 32.736 Elemente beschränkt. In allen Windows-Versionen sind die im Listenfeld enthaltenen tatsächlichen Zeichenfolgendaten nur durch den verfügbaren Speicher begrenzt.

PBXB64-Umsetzungshinweise

STEUERUNG LISTBOX HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG LISTBOX HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • LISTBOX ADD
  • Hilfe zum PBXB64-Compiler


CONTROL ADD LISTVIEW - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL ADD LISTVIEW

F&uuml;gen Sie ein hinzu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD LISTVIEW, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD LISTVIEW, hDlg, id&, "", 100, 100, 150, 200, , , CALL LVCallback()

Beschreibung

Fügen Sie ein hinzu

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachrichten reagiert.

PBXB64-Implementierungshinweise

PBXB64 V14 bildet diese DDT-Form auf die native Win32-Common-Control-Klasse SysListView32 ab. Die registrierten V14-Tests erzeugen mit diesem Befehl ein LISTVIEW, haengen eine ImageList an, fuegen ein Element ein, lesen die Elementanzahl, setzen/lesen STYLEXX und setzen/loeschen ein Overlay-Bild. Weitere LISTVIEW-Unterbefehle sind auf der LISTVIEW-Seite dokumentiert und bleiben dort separat eingegrenzt.

PBXB64-Umsetzungshinweise

STEUERUNG LISTVIEW HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG LISTVIEW HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • HEADER GET COUNT
  • LISTVIEW DELETE COLUMN
  • Hilfe zum PBXB64-Compiler


CONTROL ADD OPTION - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL ADD OPTION

F&uuml;gen Sie einem Dialogfeld eine Optionsschaltfl&auml;che hinzu. Eine Optionsschaltfl&auml;che ist genau wie ein herk&ouml;mmliches &#8222;Radio-Button&ldquo;-Steuerelement.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD OPTION, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD OPTION, hDlg, id&, txt$, 100, 100, 150, 200, , , _
CALL OptionButtonCallback() ' Use default styles

Beschreibung

Fügen Sie einem Dialogfeld eine Optionsschaltfläche hinzu. Eine Optionsschaltfläche ist genau wie ein herkömmliches „Radio-Button“-Steuerelement.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Optionsschaltflächen werden zum Anzeigen einer Liste von Auswahlmöglichkeiten verwendet, von denen nur eine ausgewählt werden kann. Es macht also keinen Sinn, nur eine einzige Optionsschaltfläche zu haben. Wenn Sie das Aktivieren oder Deaktivieren eines einzelnen Elements zulassen möchten, verwenden Sie stattdessen ein Kontrollkästchen.

Wenn eine Gruppe von Optionsschaltflächen erstellt wird, sollten Sie den „ausgewählten“ und „nicht ausgewählten“ Status aller Optionsschaltflächen explizit festlegen, indem Sie die CONTROL SET OPTION-Anweisung verwenden, um den Prüfstatus aller Schaltflächen in der Gruppe festzulegen.

Darüber hinaus sollte das erste OPTION-Steuerelement in einer Gruppe den Stil %WS_GROUP (um den Anfang einer Gruppe von Schaltflächen zu markieren) und %WS_TABSTOP haben. Die übrigen OPTION-Steuerelemente in der Gruppe sollten nicht die Stile %WS_GROUP oder %WS_TABSTOP haben. Allerdings sollte das allernächste Nicht-OPTION-Steuerelement, das in der Tab-Reihenfolge nach der Gruppe erscheint, die Stile %WS_GROUP und %WS_TABSTOP erhalten (letzterer kann von der Art des Steuerelements abhängen). Wenn nach der Gruppe keine weiteren Steuerelemente vorhanden sind, fügen Sie %WS_GROUP zum ersten Steuerelement im Dialogfeld hinzu. Dadurch wird sichergestellt, dass die Tastaturnavigation mit den Pfeiltasten innerhalb der Gruppe der OPTION-Steuerelemente funktioniert und dass die TAB- und UMSCHALT+TAB-Tasten den Fokus zwischen ganzen Steuerelementgruppen wechseln (anstelle einzelner Steuerelemente, wie es üblich ist, wenn jedes Gruppenmitglied den Stil %WS_TABSTOP hat).

Wenn das kaufmännische Und-Zeichen (&) im txt$-Parameter vorkommt, wird der folgende Buchstabe unterstrichen angezeigt. Dadurch wird ein Steuerbeschleuniger (Hotkey) hinzugefügt, der es dem Benutzer ermöglicht, das Optionssteuerelement direkt auszuwählen, indem er einfach die ALT-Taste gedrückt hält, während er den angegebenen Hotkey drückt. Beispielsweise macht „Ebene &3“ ALT+3 zum Hotkey.

Wenn der Benutzer auf eine Optionsschaltfläche klickt, wird eine Nachricht an die für das Steuerelement vorgesehene Rückruffunktion gesendet. Wenn keine Rückruffunktion angegeben ist, wird die Nachricht an den Rückruf für den Dialog gesendet.

Die folgenden Benachrichtigungen werden an die Callback-Funktion gesendet:

%BN_CLICKED

Wird gesendet, wenn der Benutzer auf eine Maustaste klickt oder die Schaltfläche mit dem Hotkey aktiviert (es sei denn, die Schaltfläche wurde deaktiviert).

%BN_KILLFOCUS

Wird gesendet, wenn die Optionsschaltfläche den Tastaturfokus verliert, sofern die Schaltfläche den %BS_NOTIFY-Stil hat.

%BN_SETFOCUS

Wird gesendet, wenn die Optionsschaltfläche den Tastaturfokus erhält, vorausgesetzt, die Optionsschaltfläche hat den Stil %BS_NOTIFY.

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

PBXB64-Umsetzungshinweise

STEUERN SIE DIE OPTION HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERN SIE DIE OPTION HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD CHECK3STATE
  • STEUERUNG CHECKBOX HINZUFÜGEN
  • CONTROL GET CHECK
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • CONTROL SET OPTION
  • Hilfe zum PBXB64-Compiler


CONTROL ADD STATUSBAR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL ADD STATUSBAR

F&uuml;gen Sie ein StatusBar-Steuerelement zu einem hinzu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD STATUSBAR, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD STATUSBAR, hDlg, id&, "", 5, 5, 5, 5, , , CALL SBCallback()

Beschreibung

Fügen Sie ein StatusBar-Steuerelement zu einem hinzu

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachrichten reagiert.

UI-Prüfung

Dialog- und Control-Seiten sollen das Control erzeugen, den dokumentierten Befehl anwenden und den geänderten Zustand über Getter, Notification oder sichtbares Ergebnis prüfen. Prüfen Sie Handle-Gültigkeit, bevor Nachrichten gesendet werden.

Nachrichten- und Lebensdauerregeln

Dokumentieren Sie Besitzerfenster, Control-ID, Lebensdauer von Child-Handles und ob der Befehl vor oder nach dem Anzeigen des Dialogs gültig ist.

x64-Hinweise

Verwenden Sie zeigergroße Handles und speichern Sie HWND, HDC oder Callback-Zeiger nicht in 32-Bit-Variablen.

PBXB64-Umsetzungshinweise

STEUERUNG STATUSBAR HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG STATUSBAR HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET FONT
  • STATUSBAR SET PARTS
  • Hilfe zum PBXB64-Compiler


CONTROL COMBOBOX HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL COMBOBOX HINZUFÜGEN

F&uuml;gen Sie einem Dialogfeld ein Kombinationsfeld hinzu. Ein Kombinationsfeld wird h&auml;ufig verwendet, um einem Benutzer die Auswahl eines Elements aus einer vordefinierten Liste oder die Eingabe eines neuen (nicht gelisteten) Elements zu erm&ouml;glichen. Ein Kombinationsfeld darf nur Textzeichenfolgen enthalten. Um Zahlen in ein Kombinationsfeld einzuf&uuml;gen, wandeln Sie sie in Zeichenfolgen um

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD COMBOBOX, hDlg , id& , [ items$() ], x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD COMBOBOX, hDlg, id&, txt$(), 100, 100, 100, 40, , , CALL ComboCallback() ' Use default styles

Beschreibung

Fügen Sie einem Dialogfeld ein Kombinationsfeld hinzu. Ein Kombinationsfeld wird häufig verwendet, um einem Benutzer die Auswahl eines Elements aus einer vordefinierten Liste oder die Eingabe eines neuen (nicht gelisteten) Elements zu ermöglichen. Ein Kombinationsfeld darf nur Textzeichenfolgen enthalten. Um Zahlen in ein Kombinationsfeld einzufügen, wandeln Sie sie in Zeichenfolgen um

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn der Benutzer ein Element auswählt oder den Text eines Kombinationsfelds bearbeitet, wird eine Nachricht an die für das Kombinationsfeld vorgesehene Rückruffunktion gesendet. Wenn keine Rückruffunktion angegeben ist, wird die Nachricht an den Rückruf für den Dialog gesendet.

Wenn der Steuerrückruf die Benachrichtigungsnachricht verarbeitet, sollte er TRUE (ungleich Null) zurückgeben, um zu verhindern, dass die Nachricht unnötig an den Dialogrückruf und schließlich an die DDT-Engine selbst weitergeleitet wird.

Benachrichtigungsnachrichten werden an die Callback-Funktion gesendet, wobei CB.MSG = %WM_COMMAND ist, CB.CTL die ID (id&) des Steuerelements enthält und CB.CTLMSG die folgenden Werte enthält:

%CBN_CLOSEUP

Wird gesendet, wenn das Listenfeld einer Kombinationsbox geschlossen wurde.

%CBN_DBLCLK

Wird gesendet, wenn der Benutzer im Listenfeld eines Kombinationsfelds auf eine Zeichenfolge doppelklickt.

%CBN_DROPDOWN

Wird gesendet, wenn das Listenfeld eines Kombinationsfelds sichtbar gemacht werden soll.

%CBN_EDITCHANGE

Wird gesendet, nachdem der Benutzer eine Aktion ausgeführt hat, die möglicherweise den Text im Textfeldteil eines Kombinationsfelds geändert hat. Im Gegensatz zur Benachrichtigung %CBN_EDITUPDATE wird diese Benachrichtigung gesendet, nachdem Windows den Bildschirm aktualisiert.

%CBN_EDITUPDATE

Wird gesendet, wenn im Textfeldteil eines Kombinationsfelds geänderter Text angezeigt wird. Diese Benachrichtigung wird gesendet, nachdem das Steuerelement den Text formatiert hat, aber bevor es den Text anzeigt.

%CBN_ERRSPACE

Wird gesendet, wenn ein Kombinationsfeld nicht genügend Speicher zuweisen kann, um eine bestimmte Anforderung zu erfüllen.

%CBN_KILLFOCUS

Wird gesendet, wenn ein Kombinationsfeld den Tastaturfokus verliert.

%CBN_SELCHANGE

Wird gesendet, wenn die Auswahl im Listenfeld eines Kombinationsfelds geändert werden soll, weil der Benutzer entweder in das Listenfeld klickt oder die Auswahl mithilfe der Pfeiltasten ändert.

%CBN_SELCANCEL

Wird gesendet, wenn der Benutzer ein Element auswählt, dann aber ein anderes Steuerelement auswählt oder das Dialogfeld schließt. Es gibt an, dass die anfängliche Auswahl des Benutzers ignoriert werden soll.

%CBN_SELENDOK

Wird gesendet, wenn der Benutzer ein Listenelement auswählt oder ein Element auswählt und dann die Liste schließt. Es zeigt an, dass die Auswahl des Benutzers verarbeitet werden soll.

%CBN_SETFOCUS

Wird gesendet, wenn ein Kombinationsfeld den Tastaturfokus erhält.

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

PBXB64-Umsetzungshinweise

CONTROL ADD COMBOBOX gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

CONTROL ADD COMBOBOX ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • COMBOBOX ADD
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • Hilfe zum PBXB64-Compiler


CONTROL ENABLE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL ENABLE

Aktivieren Sie ein Steuerelement, damit es Nachrichten empfangen kann, wenn der Benutzer mit der Maus oder der Tastatur damit interagiert.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ENABLE hDlg , id&

Beschreibung

Aktivieren Sie ein Steuerelement, damit es Nachrichten empfangen kann, wenn der Benutzer mit der Maus oder der Tastatur damit interagiert.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt. id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONT ROL ADD-Anweisung zugewiesen wird.

Ein aktiviertes Steuerelement empfängt Nachrichten, wenn es mit der Maus angeklickt oder mit der Tastatur ausgewählt wird.

PBXB64-Umsetzungshinweise

STEUERUNG AKTIVIEREN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG AKTIVIEREN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG DEAKTIVIEREN
  • CONTROL KILL
  • Hilfe zum PBXB64-Compiler


CONTROL GET CHECK - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL GET CHECK

Holen Sie sich das

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL GET CHECK hDlg , id& TO lResult&

Beschreibung

Holen Sie sich das

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTRO L ADD-Anweisung zugewiesen wird.

lResult& erhält den Prüfstatus des Steuerelements wie folgt:

lErgebnis&

Überprüfen Sie den Kontrollstatus

0 (Null)

Die Schaltfläche ist deaktiviert (nicht gesetzt oder gelöscht).

1 (Eins)

Schaltfläche ist aktiviert (gesetzt)

2 (Zwei)

Schaltfläche ist unbestimmt (ausgegraut) (nur CHECK3STATE)

Beachten Sie, dass ein ausgegrautes (unbestimmtes) CHECK3STATE-Steuerelement nicht bedeutet, dass das Steuerelement deaktiviert ist. Vielmehr ist der Prüfstatus des Steuerelements sowohl aktiviert als auch deaktiviert.

PBXB64 liest den nativen Schaltflächenstatus und liefert 0, 1 oder 2. Die fokussierte Testdatei tests/pb/test_control_check_state.pb deckt CHECKBOX- und CHECK3STATE-Steuerelemente ab.

PBXB64-Umsetzungshinweise

KONTROLLE ERHALTEN SIE ÜBERPRÜFEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

KONTROLLE ERHALTEN SIE ÜBERPRÜFEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD CHECK3STATE
  • STEUERUNG CHECKBOX HINZUFÜGEN
  • CONTROL ADD OPTION
  • CONTROL SET CHECK
  • CONTROL SET OPTION
  • TREEVIEW DELETE
  • Hilfe zum PBXB64-Compiler


CONTROL GET CLIENT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL GET CLIENT

Geben Sie die zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL GET CLIENT hDlg , id& TO w& , h&

Beschreibung

Geben Sie die zurück

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONT ROL ADD-Anweisung zugewiesen wird.

Die Größe des Control-Client-Bereichs wird in den Variablen w& (Breite) und h& (Höhe) platziert. Die Größe wird in denselben Begriffen (Pixel oder Dialogeinheiten) wie der übergeordnete Dialog angegeben.

PBXB64 liest das native Clientrechteck ohne den Nicht-Client-Rahmen des Steuerelements. Die fokussierte Testdatei tests/pb/test_control_geometry.pb prueft die Clientmasse vor und nach einer Aenderung der Gesamtgroesse.

PBXB64-Umsetzungshinweise

KONTROLLE KUNDEN ERHALTEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

KONTROLLE KUNDEN ERHALTEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET LOC
  • CONTROL GET SIZE
  • CONTROL SET CLIENT
  • CONTROL SET LOC
  • STEUERUNGSSATZGRÖSSE
  • DIALOGEINHEITEN
  • DIALOGPIXEL
  • GRAPHIC(Client.X)
  • Hilfe zum PBXB64-Compiler


CONTROL GET LOC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL GET LOC

Rufen Sie den Speicherort des angegebenen Steuerelements in einem Dialogfeld ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL GET LOC hDlg , id& TO x& , y&

Beschreibung

Rufen Sie den Speicherort des angegebenen Steuerelements in einem Dialogfeld ab.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

Die Position der oberen linken Ecke des Steuerelements wird in den Variablen x& (horizontale Position) und y& (vertikale Position) platziert. Die Position ist relativ zur oberen linken Ecke des Clientbereichs im übergeordneten Dialogfeld. Die Koordinaten werden in denselben Begriffen (Pixel oder Dialogeinheiten) wie der übergeordnete Dialog angegeben.

PBXB64 liest das Fensterrechteck des untergeordneten Steuerelements und wandelt seine Bildschirmposition in die Clientkoordinaten von hDlg um. Die fokussierte Testdatei tests/pb/test_control_geometry.pb prueft das dokumentierte Ergebnis relativ zum uebergeordneten Dialog.

PBXB64-Umsetzungshinweise

STEUERUNG ERHALTEN LOC gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG ERHALTEN LOC ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • CONTROL GET SIZE
  • CONTROL SET LOC
  • STEUERUNGSSATZGRÖSSE
  • Hilfe zum PBXB64-Compiler


CONTROL GET SIZE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL GET SIZE

Ruft die Gr&ouml;&szlig;e eines Steuerelements im angegebenen Bereich ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL GET SIZE hDlg , id& TO nWide& , nHigh&

Beschreibung

Ruft die Größe eines Steuerelements im angegebenen Bereich ab

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

Die Breite wird in den Variablen nWide& und die Höhe in den Variablen nHigh& platziert. Die Koordinaten werden in denselben Begriffen (Pixel oder Dialogeinheiten) wie der übergeordnete Dialog angegeben.

PBXB64 meldet das vollstaendige Fensterrechteck des Steuerelements einschliesslich eines eventuell vorhandenen Nicht-Client-Rahmens. Die fokussierte Testdatei tests/pb/test_control_geometry.pb prueft Breite und Hoehe vor und nach der Groessenaenderung.

PBXB64-Umsetzungshinweise

KONTROLLE ERHALTEN SIE GRÖSSE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

KONTROLLE ERHALTEN SIE GRÖSSE ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • CONTROL GET LOC
  • CONTROL SET LOC
  • STEUERUNGSSATZGRÖSSE
  • Hilfe zum PBXB64-Compiler


CONTROL GET TEXT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL GET TEXT

Holen Sie sich den Text von einem Steuerelement.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL GET TEXT hDlg , id& TO txt$

Beschreibung

Holen Sie sich den Text von einem Steuerelement.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird. Jeder Text im Steuerelement wird in die Variable txt$ eingefügt.

Bei Kombinationsfeldern gibt CONTROL GET TEXT den im Bearbeitungsteil des Steuerelements eingegebenen Text zurück. Um den ausgewählten Text aus dem Listenteil eines Kombinationsfelds oder eines Listenfeld-Steuerelements abzurufen, verwenden Sie die COMBOBOX GET TEXT-Anweisung bzw. die LISTBOX GET TEXT-Anweisung.

PBXB64-Umsetzungshinweise

CONTROL GET TEXT gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

CONTROL GET TEXT ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • COMBOBOX ADD
  • CONTROL SET TEXT
  • LISTBOX ADD
  • LISTVIEW DELETE COLUMN
  • TREEVIEW DELETE
  • Hilfe zum PBXB64-Compiler


CONTROL GET USER - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL GET USER

Rufen Sie einen Wert aus dem Benutzerdatenbereich von a ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL GET USER hDlg , id& , index& TO retvar&

Beschreibung

Rufen Sie einen Wert aus dem Benutzerdatenbereich von a ab

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Jedes DDT-Steuerelement verfügt über einen Benutzerdatenbereich, der aus acht Long-Integer-Werten besteht, die nach Ermessen des Programmierers zum Speichern relevanter Daten verwendet werden können. CONTROL GET USER ermöglicht das Abrufen eines der Werte basierend auf dem Indexparameterwert (1 bis 8).

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

index& ist die Indexnummer des abzurufenden Benutzerdatenwerts im Bereich von 1 bis einschließlich 8.

retvar& empfängt den Long-Integer-Datenwertspeicher im angegebenen Benutzerdatenindex.

Einschränkungen

Bei der Zerstörung der Steuerung gehen Daten im Nutzdatenbereich verloren. Der Datenbereich ist vollständig vom von Windows verwalteten %GWL_USERDATA-Bereich getrennt.

PBXB64 speichert die acht Werte pro aktivem Steuerelement und setzt sie zurück, wenn eine Steuerungs-ID für ein neu erstelltes Steuerelement wiederverwendet wird. Die fokussierte Testdatei tests/pb/test_control_user_data.pb deckt Round-Trip-Zugriff und Zurücksetzen ab.

PBXB64-Umsetzungshinweise

KONTROLLE GET BENUTZER gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

KONTROLLE GET BENUTZER ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • COMBOBOX ADD
  • CONTROL SET USER
  • DIALOG GET USER
  • DIALOG SET USER
  • LISTBOX ADD
  • LISTVIEW DELETE COLUMN
  • TREEVIEW DELETE
  • Hilfe zum PBXB64-Compiler


CONTROL HIDE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL HIDE

Machen Sie eine Kontrolle

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL HIDE HDlg , ID&

Beschreibung

Machen Sie eine Kontrolle

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das durch die HDlg/ID&-Kombination identifizierte Control wird unsichtbar gemacht.

HDlg ist das Handle des Dialogs, der das Steuerelement besitzt. ID& ist die eindeutige Kontrollkennung, die der Kontrolle mit CONTROL ADD zugewiesen wird.

UI-Prüfung

Dialog- und Control-Seiten sollen das Control erzeugen, den dokumentierten Befehl anwenden und den geänderten Zustand über Getter, Notification oder sichtbares Ergebnis prüfen. Prüfen Sie Handle-Gültigkeit, bevor Nachrichten gesendet werden.

Nachrichten- und Lebensdauerregeln

Dokumentieren Sie Besitzerfenster, Control-ID, Lebensdauer von Child-Handles und ob der Befehl vor oder nach dem Anzeigen des Dialogs gültig ist.

x64-Hinweise

Verwenden Sie zeigergroße Handles und speichern Sie HWND, HDC oder Callback-Zeiger nicht in 32-Bit-Variablen.

PBXB64-Umsetzungshinweise

STEUERUNG AUSblenden gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG AUSblenden ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • STEUERUNG NORMALISIEREN
  • STEUERUNGSSATZGRÖSSE
  • DIALOG HIDE
  • DIALOG NORMALISIEREN
  • Hilfe zum PBXB64-Compiler


CONTROL KILL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL KILL

Entfernen Sie ein Steuerelement aus einem Dialogfeld.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL KILL hDlg , id&

Beschreibung

Entfernen Sie ein Steuerelement aus einem Dialogfeld.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt. id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

Das Steuerelement wird zerstört und aus dem Dialog entfernt. Die Rückruffunktion für das Steuerelement oder den Dialog empfängt keine Nachrichten mehr für das Steuerelement.

Einschränkungen

Ein Steuerelement sollte nicht zerstört werden, während eine Benachrichtigungsnachricht desselben Steuerelements verarbeitet wird. Es ist jedoch zulässig, ein anderes Steuerelement im Benachrichtigungshandler zu beenden. Wenn es unbedingt erforderlich ist, ein Steuerelement während der Verarbeitung einer seiner Benachrichtigungsnachrichten zu beenden, verwenden Sie die PostMessage-API-Funktion (oder die Anweisungen DIALOG POST oder CONTROL POST), um eine benutzerdefinierte Nachricht an den Dialogrückruf zu senden, und beenden Sie das Steuerelement, wenn die benutzerdefinierte Nachricht verarbeitet wird.

PBXB64-Umsetzungshinweise

KONTROLLKILL gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

KONTROLLKILL ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG DEAKTIVIEREN
  • CONTROL ENABLE
  • Hilfe zum PBXB64-Compiler


CONTROL POST - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL POST

Platzieren Sie a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL POST hDlg , id& , Msg& , wParam& , lParam&

Beschreibung

Platzieren Sie a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

CONTROL POST stellt die Nachricht in die Nachrichtenwarteschlange und kehrt sofort zurück. Die Nachricht wird von der Steuerung zu einem späteren Zeitpunkt verarbeitet, wenn sie die Nachricht aus der Warteschlange liest.

Dieses Verhalten unterscheidet sich deutlich von der CONTROL SEND-Anweisung, die das Steuerelement dazu zwingt, die Nachricht unmittelbar vor der Rückgabe zu verarbeiten. Da es sich bei CONTROL POST um einen asynchronen Vorgang handelt, ist es nicht möglich, einen Rückkehrcode aus der Nachricht abzurufen.

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

Msg& ist die Nachricht, die Sie an das Steuerelement senden möchten.

wParam& ist der erste Nachrichtenparameter. lParam& ist der zweite Nachrichtenparameter. Die Werte von wParam& und lParam& sind nachrichtenabhängig. Standardmäßig übergibt PowerBASIC diese Parameter BYVAL. Wenn erwartet wird, dass das Zielsteuerelement die Werte der in den Parametern wParam& und lParam& übergebenen Variablen ändert, übergeben Sie diese mit VARPTR(), da die Änderungen sonst wahrscheinlich verworfen werden.

Beachten Sie, dass die Adresse der Daten gültig bleiben muss, bis das Steuerelement die Nachricht verarbeitet und auf die Daten zugegriffen hat. In diesem Fall kann die Verwendung von STATIC- oder GLOBAL-Variablen sehr wichtig sein, da sonst eine allgemeine Schutzverletzung (GPF) auftreten kann (d. h. wenn die Variablen zum Zeitpunkt der Verarbeitung der Nachricht den Gültigkeitsbereich verlassen haben).

Ein Beispiel für die Übermittlung der Adressen von Variablen an ein Steuerelement:

' Rufen Sie eine Bearbeitungssteuerung der aktuellen Auswahl ab

' Sel1& und Sel2& müssen STATIC oder GLOBAL sein

CONTROL POST CB.HNDL, %ID_EDIT6, %EM_GETSEL, VARPTR(Sel1&), VARPTR(Sel2&)

CONTROL POST kehrt sofort zurück, nachdem die Nachricht in die Warteschlange gestellt wurde.

PBXB64 löst das untergeordnete Steuerelement aus hDlg und id& auf und stellt die Nachricht mit PostMessageA in die Warteschlange. Die Nachricht wird verarbeitet, wenn die Dialog-Nachrichtenschleife sie mit DIALOG DOEVENTS ausliefert; die fokussierte Testdatei tests/pb/test_control_send_post.pb prueft diese Zustandsaenderung. CONTROL POST besitzt kein Ergebnissziel.

Einschränkungen

Um eine benutzerdefinierte Nachricht an ein Steuerelement zu senden, verwenden Sie einen Nachrichtenwert im Bereich von (%WM_USER + 500) bis (%WM_USER + &H07FFF) oder verwenden Sie die RegisterWindowMessage-API, um einen eindeutigen Nachrichtenwert vom Betriebssystem abzurufen. Die Verwendung von Nachrichten mit einem numerischen Wert kleiner als %WM_USER + 500 kann zu Konflikten mit Windows Common Control-Meldungen führen.

PBXB64-Umsetzungshinweise

Kontrollposten gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

Kontrollposten ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERGRIFF
  • CONTROL SEND
  • DIALOGPOST
  • DIALOG SENDEN
  • Hilfe zum PBXB64-Compiler


CONTROL REDRAW - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL REDRAW

Planen Sie die Neuzeichnung eines bestimmten Steuerelements.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL REDRAW hDlg , id&

Beschreibung

Planen Sie die Neuzeichnung eines bestimmten Steuerelements.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

CONTROL REDRAW macht das Zielsteuerelement ungültig und plant das Eintreten eines Neuzeichnungsereignisses.

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

Einschränkungen

Das Neuzeichnen einzelner Steuerelemente wird als Ereignis mit niedriger Priorität betrachtet und ein Neuzeichnen des Steuerelements erfolgt möglicherweise nicht sofort, wenn in der Nachrichtenwarteschlange ausstehende Nachrichten vorhanden sind. Das heißt, ausstehende Nachrichten in der Nachrichtenwarteschlange müssen möglicherweise verarbeitet werden, bevor das geplante Neuzeichnungsereignis eintritt.

Es wird nicht empfohlen, CONTROL REDRAW oder DIALOG REDRAW innerhalb des %WM_PAINT und des zugehörigen Nachrichtenverarbeitungscodes zu verwenden, da sonst eine unendliche Neuzeichnungsschleife auftreten könnte.

PBXB64-Umsetzungshinweise

STEUERN SIE NEUZEICHNEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERN SIE NEUZEICHNEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET COLOR
  • DIALOG-SET-FARBE
  • DIALOG NEUZEICHNEN
  • Hilfe zum PBXB64-Compiler


CONTROL SEND - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SEND

Senden Sie eine

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SEND hDlg , id& , Msg& , wParam& , lParam& [TO lResult& ]

Beschreibung

Senden Sie eine

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

Msg& ist die Nachricht, die Sie der Steuerung senden möchten.

wParam& ist der erste Nachrichtenparameter. lParam& ist der zweite Nachrichtenparameter. Die Werte von wParam& und lParam& sind nachrichtenabhängig. Standardmäßig übergibt PowerBASIC diese Parameter BYVAL. Wenn erwartet wird, dass das Zielsteuerelement die in den Parametern wParam& und lParam& übergebenen Werte zurückgibt oder ändert, übergeben Sie sie mit VARPTR, andernfalls werden die Rückgabewerte verworfen. Zum Beispiel:

' Rufen Sie die aktuelle Auswahl eines Bearbeitungssteuerelements ab

CONTROL SEND CB.HNDL, %ID_EDIT1, %EM_GETSEL, VARPTR(Sel1&), VARPTR(Sel2&)

CONTROL SEND kehrt erst von der Ausführung zurück, wenn der Rückruf des Steuerelements die Nachricht verarbeitet hat. Dieses synchrone Verhalten unterscheidet sich erheblich vom Verhalten von CONTROL POST , bei dem die Nachricht einfach in die Nachrichtenwarteschlange des Steuerelements gestellt wird (zur Verarbeitung zu einem späteren Zeitpunkt) und sofort zurückgegeben wird. Auf dieser Basis kann CONTROL SEND einen Rückgabewert aus der Nachricht erhalten, CONTROL POST jedoch nicht.

Der Rückgabewert der Nachricht kann optional lResult & zugewiesen werden.

PBXB64 löst das untergeordnete Steuerelement aus hDlg und id& auf, sendet die Nachricht synchron mit SendMessageA und weist das native Ergebnis bei Verwendung der optionalen TO-lResult&-Form zu. Die fokussierte Testdatei tests/pb/test_control_send_post.pb prueft das synchrone BM_GETCHECK-Ergebnis und den zugehoerigen Warteschlangenpfad.

Wenn CONTROL SEND eine Nachricht sendet, die im selben Rückruf zurückkommt, in dem die Nachricht ihren Ursprung hatte, sollte darauf geachtet werden, dass kritische STATIC- und GLOBAL-Variablen nicht unerwartet durch den zweiten Nachrichtenverarbeitungscode im Rückruf geändert werden. Dies wird als reentrant Code Design bezeichnet.

Einschränkungen

Um eine benutzerdefinierte Nachricht an einen Dialog zu senden, verwenden Sie einen Nachrichtenwert im Bereich von (%WM_USER + 500) bis (%WM_USER + &H07FFF) oder verwenden Sie die RegisterWindowMessage-API, um einen eindeutigen Nachrichtenwert vom Betriebssystem zu erhalten. Die Verwendung von Nachrichten mit einem numerischen Wert kleiner als %WM_USER + 500 kann zu Konflikten mit Windows Common Control-Meldungen führen.

PBXB64-Umsetzungshinweise

STEUERUNG SENDEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG SENDEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERGRIFF
  • CONTROL POST
  • DIALOGPOST
  • DIALOG SENDEN
  • Hilfe zum PBXB64-Compiler


CONTROL SET CHECK - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SET CHECK

Legen Sie den Pr&uuml;fstatus f&uuml;r a fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET CHECK hDlg , id& , checkstate&

Beschreibung

Legen Sie den Prüfstatus für a fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Bei einem Kontrollkästchen-Steuerelement wird der Prüfstatus festgelegt (aktiviert), wenn im Kontrollkästchen ein „X“-Symbol angezeigt wird. Der Prüfstatus gilt als nicht gesetzt (nicht markiert oder gelöscht), wenn das Kontrollkästchen leer ist.

Ein CHECK3STATE-Steuerelement unterstützt einen dritten Zustand, der als unbestimmt bezeichnet wird. In diesem Zustand ist das Kontrollkästchen ausgegraut.

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelementkennung, die dem Schaltflächensteuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

Setzen Sie für CHECKBOX-Steuerelemente checkstate& auf Null (0), um den Prüfstatus des Steuerelements zu deaktivieren (deaktivieren oder löschen), oder auf eins (1), um den Prüfstatus des Steuerelements zu überprüfen (einzustellen).

Setzen Sie für CHECK3STATE-Steuerelemente checkstate& auf Null (0), um den Prüfstatus des Steuerelements zu deaktivieren (deaktivieren oder löschen), auf eins (1), um den Prüfstatus zu aktivieren (einzustellen) (Anzeige eines „X“-Symbols im Feld), oder auf zwei (2), um den unbestimmten Status festzulegen (Anzeige eines ausgegrauten Kontrollkästchens).

Um den Prüfstatus von OPTION-Steuerelementen festzulegen, verwenden Sie die CONTROL SET OPTION-Anweisung.

PBXB64 sendet den angeforderten Status an das native Schaltflächen- Steuerelement und verwendet die dokumentierten Auto-Check-Standards, wenn CONTROL ADD CHECKBOX oder CONTROL ADD CHECK3STATE keine Stiloperanden angibt. Die fokussierte Testdatei tests/pb/test_control_check_state.pb deckt die Zustände 0, 1 und 2 ab.

PBXB64-Umsetzungshinweise

STEUERUNGSSATZ PRÜFEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNGSSATZ PRÜFEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD CHECK3STATE
  • STEUERUNG CHECKBOX HINZUFÜGEN
  • CONTROL ADD OPTION
  • CONTROL GET CHECK
  • CONTROL SET OPTION
  • TREEVIEW DELETE
  • Hilfe zum PBXB64-Compiler


CONTROL SET CLIENT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SET CLIENT

&Auml;ndern Sie die Gr&ouml;&szlig;e eines Steuerelements auf eine bestimmte Gr&ouml;&szlig;e

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET CLIENT hDlg , id& , nWide& , nHigh&

Beschreibung

Ändern Sie die Größe eines Steuerelements auf eine bestimmte Größe

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Abhängig von der Art der verwendeten Rahmen kann die Clientgröße kleiner als die Gesamtgröße sein. Der Clientbereich ist der Teil innerhalb der Grenzen eines Steuerelements, der je nach Stil und Exstyle bei der Erstellung variiert. Bei einem Steuerelement ohne Rahmen sind die Clientgröße und die Gesamtgröße gleich. Ein alternatives Beispiel: Bei einem Steuerelement mit dem %WS_BORDER-Stil ist der Clientbereich normalerweise einige Pixel kleiner als die Gesamtgröße.

Handle des Dialogs, der das Steuerelement besitzt.

Der eindeutige Steuerelementbezeichner, der dem Steuerelement mit der CONTROL ADD-Anweisung zugewiesen wird.

nWide& , nHigh&

Integrale Ausdrücke, Variablen oder numerische Literalwerte, die die gewünschte Größe des Clientbereichs angeben. Breite und Höhe werden in Pixeln oder Dialogeinheiten angegeben, je nachdem, welches System beim Erstellen des übergeordneten Dialogs verwendet wurde.

PBXB64 behaelt den aktuellen Nicht-Client-Rahmen bei, addiert ihn zu den gewuenschten Clientmassen und setzt die resultierende Gesamtgroesse mit SetWindowPos. Die fokussierte Testdatei tests/pb/test_control_geometry.pb prueft Clientbreite und Clienthoehe.

Grafische Steuerelemente

Ab dieser Version von PowerBASIC kann die Größe von GRAFIKSTEUERN mit CONTROL SET CLIENT, GRAPHIC SET CLIENT, CONTROL SET SIZE und GRAPHIC SET SIZE geändert werden.

Wenn Sie die Größe eines Grafiksteuerelements ändern, wird die ursprüngliche Bitmap Pixel für Pixel in das neu verkleinerte Steuerelement kopiert. Jeder erweiterte Bereich wird mit der aktuellen Hintergrundfarbe gefüllt. Ihr Programm greift auf normale Weise darauf zurück, um eine Bitmap in der neuen Größe zu erstellen.

Wenn ein Clip-Bereich zum Erstellen von Rändern eingerichtet wurde, wird dieser zurückgesetzt. Wenn skalierte Koordinaten festgelegt wurden, werden diese ebenfalls zurückgesetzt, da keine der beiden für die geänderte Größe angemessen wäre. Sie können diese Attribute mit GRAPHIC SCALE oder GRAPHIC SET CLIP wieder aktivieren, basierend auf der neuen Größe des Zeichenbereichs.

PBXB64-Umsetzungshinweise

CONTROL SET-CLIENT gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

CONTROL SET-CLIENT ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • CONTROL GET LOC
  • CONTROL GET SIZE
  • CONTROL SET LOC
  • STEUERUNGSSATZGRÖSSE
  • GRAPHIC SET CLIENT
  • GRAFIKSATZGRÖSSE
  • Hilfe zum PBXB64-Compiler


CONTROL SET COLOR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SET COLOR

Legt die Vordergrund- und Hintergrundfarben eines Dialog-Steuerelements mit den dokumentierten RGB-Werten und Standardfarb-Sentinels fest.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET COLOR hDlg , id& , foreclr& , backclr&

Beschreibung

Legt die Vordergrund- und Hintergrundfarben eines Dialog-Steuerelements mit den dokumentierten RGB-Werten und Standardfarb-Sentinels fest.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg identifiziert den übergeordneten Dialog des Steuerelements und id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

Die Farbwerte von foreclr& und backclr& müssen im Bereich von &H0 bis &H00FFFFFF liegen. RGB kann eine nützliche Funktion sein, um einen 32-Bit-Farbwert aus diskreten Rot-, Grün- und Blauwerten abzuleiten:

forcr&

Der Vordergrundfarbparameter foreclr& wird verwendet, um die Farbe des im Steuerelement angezeigten Textes festzulegen. Wenn foreclr& = -1&, wird die Standardfarbe für den Vordergrundtext verwendet.

backclr&

Der Parameter backclr& gibt die Farbe des Hintergrunds hinter dem Text im Steuerelement an. Wenn backclr& = -1&, wird die Standardhintergrundtextfarbe verwendet. Wenn backclr& = -2&, wird der Texthintergrund nicht gezeichnet, sodass der Hintergrund „durch“ den Text hindurchscheinen kann. Der nicht sichtbare Hintergrundstil kann bei einigen Steuerelementen zu unerwünschten Nebenwirkungen führen. Beispielsweise wird bei einem FRAME-Steuerelement der Beschriftungstext über einem ununterbrochenen Rahmen überlagert angezeigt.

Im Farbtiefenmodus mit 16 Bit oder mehr wird die angegebene RGB-Farbe verwendet, wenn der Hintergrund des Steuerelements gezeichnet wird. Im 8-Bit-Modus (256 Farben) funktioniert das Farbsystem jedoch ganz anders. Hinter den Kulissen in Windows enthält die Basissystempalette normalerweise 20 Volltonfarben, die beim Zeichnen auf dem Hintergrund der Steuerelemente nicht gedithert werden. Diese Volltonfarben eignen sich ideal zur Steuerung von Hintergrundfarben mit DDT-Dialogen im 256-Farben-Modus.

Wenn umgekehrt ein nicht fester RGB-Farbwert verwendet wird, schwankt Windows (annähernd), um die Farbe zu zeichnen, um das Steuerelement zu zeichnen, indem es Kombinationen aus zwei oder mehr Farben verwendet. Dies führt meist zu einem unerwünschten Mustereffekt.

Um diese Probleme im 256-Farben-Modus zu vermeiden, sollten Steuerelemente mit einer der 20 Standard-Systemfarben (durchgehend) eingefärbt werden oder stattdessen die Standardfarbe verwendet werden. PowerBASIC enthält die folgenden 10 integrierten Funktionen, die bei der Auswahl einer Standard-Volltonfarbe helfen:

%RGB_BLACK %RGB_BLUE %RGB_GREEN %RGB_CYAN %RGB_RED

%RGB_MAGENTA %RGB_YELLOW %RGB_WHITE %RGB_GRAY %RGB_LIGHTGRAY

Viele nicht standardmäßige Farben sind ebenfalls in den Compiler integriert. Eine vollständige Liste finden Sie im Thema „Integrierte RGB-Farbgleichungen“.

Wenn Sie die Farbe im 256-Farben-Modus lieber deaktivieren möchten, können Sie die Anzahl der Farben einfach mit dem folgenden Code testen:

' Anzahl der Farben bestimmen

LOKALES HDC ALS DWORD, iColors SO LANG

hDC = GetWindowDC(GetDeskTopWindow())

iColors = 2& ^ (GetDeviceCaps(hDC, %BITSPIXEL) * GetDeviceCaps(hDC, %PLANES))

ReleaseDC GetDeskTopWindow(), hDC

IF iColors > 256 THEN _

CONTROL SET COLOR hdlg, idctl&, -1, RGB(0,255,100)

Im 256-Farben-Modus auf den meisten Computern können die Werte der standardmäßigen 20 Systemfarben ermittelt werden, indem die ersten und letzten 10 (0 bis 9 und 246 bis 255 einschließlich) Einträge von der GetSystemPaletteEntries-API-Funktion wie folgt angefordert werden:

' Array mit Volltonfarben füllen

DIM hDC ALS DWORD, Spalten SO LANG, x SO LANG

hDC = GetWindowDC(GetDesktopWindow)

Cols = GetDeviceCaps(hDC, %NUMRESERVED)

REDIM lp(1 TO Cols) SO LONG

x& = GetSystemPaletteEntries(hDC, 0, Cols \ 2, BYVAL VARPTR(lp(1)))

x& = GetSystemPaletteEntries(hDC, 256 - x&, Cols - x&, BYVAL VARPTR(lp(x& + 1)))

ReleaseDC GetDesktopWindow, hDC

' Array lp() enthält jetzt die Volltontabelle

Weitere Informationen zum Arbeiten mit Paletten im 256-Farben-Modus finden Sie in WIN32.HLP oder unter http://msdn.microsoft.com.

Einschränkungen

Windows lässt nicht zu, dass die Farbe von Standard-Drucktastensteuerelementen, Zeilensteuerelementen, Bildsteuerelementen, Bildschaltflächen und den meisten gebräuchlichen Steuerelementen durch die standardmäßigen CONTROL SET COLOR-Techniken geändert wird.

Um eine farbige Schaltfläche oder einen farbigen Bereich in einem Dialog zu erstellen, besteht die bevorzugte Lösung darin, ein IMGBUTTON/IMAGEBUTTONX- oder IMAGE/IMAGEX-Steuerelement mit einer entsprechend farbigen Bitmap zu verwenden. Einige gängige Steuerelemente bieten spezielle Möglichkeiten zum Festlegen ihrer Farbe. Beispielsweise kann die Hintergrundfarbe eines Listenansicht-Steuerelements mit der Meldung %LVM_SETBKCOLOR festgelegt werden.

Beim dynamischen Ändern der Farben eines Steuerelements innerhalb eines Rückrufs (d. h. nach der DIALOG SHOW-Anweisung) sollte auf eine CONTROL SET COLOR-Anweisung unmittelbar eine explizite CONTROL REDRAW-Anweisung folgen.

Ohne diese erzwungene Neuzeichnung des Steuerelements wird die Änderung der Hintergrundfarbe des Steuerelements für den Benutzer möglicherweise erst sichtbar, wenn das Steuerelement schließlich im normalen Verlauf der Benutzerinteraktion neu gezeichnet wird. Ein normales Repaint kann beispielsweise nur erfolgen, wenn das Steuerelement verdeckt und dann von einem anderen Fenster freigelegt wird. Durch die rechtzeitige Neulackierung des Steuerelements wird sichergestellt, dass das Steuerelement jederzeit ein aktuelles Erscheinungsbild behält.

Beim gleichzeitigen Aktualisieren der Farben mehrerer Steuerelemente ist ein DIALOG REDRAW normalerweise effizienter als mehrere CONTROL REDRAW-Anweisungen.

PBXB64-Umsetzungshinweise

STEUERUNG FARBE EINSTELLEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG FARBE EINSTELLEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Built In RGB Color Equates
  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • CONTROL GET SIZE
  • CONTROL REDRAW
  • CONTROL SET FONT
  • DIALOG NEUZEICHNEN
  • DIALOG-SET-FARBE
  • Hilfe zum PBXB64-Compiler


CONTROL SET FOCUS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SET FOCUS

Legen Sie den Tastaturfokus auf das angegebene Steuerelement fest.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET FOCUS hDlg , id&

Beschreibung

Legen Sie den Tastaturfokus auf das angegebene Steuerelement fest.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

Das Steuerelement, das den Fokus besitzt, empfängt alle Tastaturmeldungen. Viele Steuerelemente ändern ihr Aussehen, wenn sie den Tastaturfokus erhalten (und verlieren), normalerweise durch die Anzeige eines „Fokusrechtecks“ um oder auf dem Steuerelement, das den Tastaturfokus hat. Es kann jeweils nur ein Steuerelement den Tastaturfokus haben, und es können Situationen auftreten, in denen kein Steuerelement den Fokus hat.

Steuerelemente, die einen „Benachrichtigungs“-Stil enthalten (z. B. %BS_NOTIFY), erhalten eine Benachrichtigungsmeldung, wenn der Fokus gewonnen oder verloren wird. Das heißt, wenn ein solches Steuerelement den Fokus verliert, erhält es eine entsprechende Nachricht, und das Steuerelement, das den Fokus erlangt, erhält möglicherweise auch eine entsprechende Fokusbenachrichtigungsnachricht.

Wenn ein Steuerelement den Fokus erhält, wird das übergeordnete Dialogfeld auch als Vordergrundfenster festgelegt.

Windows garantiert nicht die Reihenfolge, in der Fokusbenachrichtigungsmeldungen an das Steuerelement gesendet werden, das den Fokus verliert, und an das Steuerelement, das den Fokus erhält. Anwendungen sollten sich nicht auf die Reihenfolge verlassen, in der diese Arten von Nachrichten empfangen werden.

Einschränkungen

CONTROL SET FOCUS kann nicht verwendet werden, um den Fokus eines Steuerelements in einem separaten Thread festzulegen.

PBXB64-Umsetzungshinweise

STEUERUNG FOKUS SETZEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG FOKUS SETZEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • Hilfe zum PBXB64-Compiler


CONTROL SET FONT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SET FONT

W&auml;hlen Sie eine Schriftart aus, die f&uuml;r ein bestimmtes Windows-Steuerelement verwendet werden soll.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET FONT hDlg , id& , FontHndl&

Beschreibung

Wählen Sie eine Schriftart aus, die für ein bestimmtes Windows-Steuerelement verwendet werden soll.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die durch FontHndl& angegebene Schriftart wird für die Verwendung durch dieses bestimmte Steuerelement ausgewählt, bis sie mit einer anderen CONTROL SET FONT-Anweisung geändert wird. Wenn Sie für FontHndl& den Wert Null angeben, wird die Schriftart wieder auf die ursprünglich von PowerBASIC ausgewählte Standardschriftart geändert.

Sie können nahezu beliebig viele Schriftarten und Attribute vordefinieren, indem Sie für jede Schriftart FONT NEW-Anweisungen ausführen. Dadurch sind sie sofort einsatzbereit, wenn sie mit CONTROL SET FONT, GRAPHIC SET FONT und XPRINT SET FONT ausgewählt werden.

PBXB64 setzt ein Handle ungleich Null aus FONT NEW mit der WM_SETFONT-Nachricht des Steuerelements. Ein Null-Handle stellt die vom Dialog geerbte Standardschriftart wieder her. Die fokussierte Testdatei tests/pb/test_control_set_font.pb deckt beide Wechsel ab.

PBXB64-Umsetzungshinweise

STEUERUNG SET SCHRIFTART gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG SET SCHRIFTART ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • DIALOG-STANDARDSCHRIFTART
  • FONT END
  • SCHRIFTART NEU
  • GRAFIK-SET-SCHRIFTART
  • XPRINT SET FONT
  • Hilfe zum PBXB64-Compiler


CONTROL SET IMAGEX - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SET IMAGEX

&Auml;ndern Sie das Symbol oder die Bitmap, die in einem angezeigt wird

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET IMAGEX hDlg , id& , newimage$

Beschreibung

Ändern Sie das Symbol oder die Bitmap, die in einem angezeigt wird

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit der CONTROL ADD IMAGEX-Anweisung zugewiesen wurde.

newimage$ gibt den Namen der Bitmap oder des Symbols in der Ressourcendatei an. Wenn die Bildressource einen ganzzahligen Bezeichner verwendet, sollte newimage$ mit einem Zahlensymbol (#) beginnen, gefolgt vom ganzzahligen Bezeichner im ASCII-Format. Beispiel: „#998“. Andernfalls sollte der Textbezeichnername verwendet werden.

Einschränkungen

Bilder können nur mit Bildern des gleichen Typs ausgetauscht werden. Das heißt, wenn das Steuerelement eine Bitmap anzeigt, muss das Ersatzbild ebenfalls eine Bitmap sein. Wenn das Steuerelement ein Symbol anzeigt, muss das Ersatzbild ebenfalls ein Symbol sein. Für beste Ergebnisse sollten die Symbole 32 x 32 Pixel groß sein.

Wenn ein Bild geändert wird, gibt CONTROL SET IMAGEX automatisch das alte Bild aus dem Speicher frei. In früheren Versionen von PowerBASIC lag die Pflicht beim Programmierer, das alte Image-Handle freizugeben.

PBXB64-Umsetzungshinweise

STEUERUNG IMAGEX EINSTELLEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG IMAGEX EINSTELLEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG GRAFIK HINZUFÜGEN
  • STEUERUNG BILD HINZUFÜGEN
  • STEUERUNG IMAGEX HINZUFÜGEN
  • STEUERUNG IMGBUTTON HINZUFÜGEN
  • CONTROL ADD IMGBUTTONX
  • STEUERUNGSSET-BILD
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • Hilfe zum PBXB64-Compiler


CONTROL SET IMGBUTTON - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SET IMGBUTTON

&Auml;ndern Sie das Symbol oder die Bitmap, die in einem angezeigt wird

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET IMGBUTTON hDlg , id& , newimage$

Beschreibung

Ändern Sie das Symbol oder die Bitmap, die in einem angezeigt wird

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit der CONTROL ADD IMGBUTTON-Anweisung zugewiesen wurde.

newimage$ gibt den Namen der Bitmap oder des Symbols in der Ressourcendatei an. Wenn die Bildressource einen ganzzahligen Bezeichner verwendet, sollte newimage$ mit einem Zahlensymbol (#) beginnen, gefolgt vom ganzzahligen Bezeichner im ASCII-Format. Beispiel: „#998“. Andernfalls sollte der Textbezeichnername verwendet werden.

Einschränkungen

Bilder können nur mit Bildern des gleichen Typs ausgetauscht werden. Das heißt, wenn das Steuerelement eine Bitmap anzeigt, muss das Ersatzbild ebenfalls eine Bitmap sein. Wenn das Steuerelement ein Symbol anzeigt, muss das Ersatzbild ebenfalls ein Symbol sein. Für beste Ergebnisse sollten die Symbole 32 x 32 Pixel groß sein.

Wenn ein Bild geändert wird, gibt CONTROL SET IMGBUTTON automatisch das alte Bild aus dem Speicher frei. In früheren Versionen von PowerBASIC lag die Pflicht beim Programmierer, das alte Image-Handle freizugeben.

PBXB64-Umsetzungshinweise

STEUERUNG IMGBUTTON EINSTELLEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG IMGBUTTON EINSTELLEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG GRAFIK HINZUFÜGEN
  • STEUERUNG BILD HINZUFÜGEN
  • STEUERUNG IMAGEX HINZUFÜGEN
  • STEUERUNG IMGBUTTON HINZUFÜGEN
  • CONTROL ADD IMGBUTTONX
  • STEUERUNGSSET-BILD
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTONX
  • Hilfe zum PBXB64-Compiler


CONTROL SET IMGBUTTONX - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SET IMGBUTTONX

&Auml;ndern Sie das Symbol oder die Bitmap, die in einem angezeigt wird

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET IMGBUTTONX hDlg , id& , newimage$

Beschreibung

Ändern Sie das Symbol oder die Bitmap, die in einem angezeigt wird

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit den CONTROL ADD IMGBUTTONX-Anweisungen zugewiesen wird.

newimage$ gibt den Namen der Bitmap oder des Symbols in der Ressourcendatei an. Wenn die Bildressource einen ganzzahligen Bezeichner verwendet, sollte newimage$ mit einem Zahlensymbol (#) beginnen, gefolgt vom ganzzahligen Bezeichner im ASCII-Format. Beispiel: „#998“. Andernfalls sollte der Textbezeichnername verwendet werden.

Einschränkungen

Bilder können nur mit Bildern des gleichen Typs ausgetauscht werden. Das heißt, wenn das Steuerelement eine Bitmap anzeigt, muss das Ersatzbild ebenfalls eine Bitmap sein. Wenn das Steuerelement ein Symbol anzeigt, muss das Ersatzbild ebenfalls ein Symbol sein. Für beste Ergebnisse sollten die Symbole 32 x 32 Pixel groß sein.

Wenn ein Bild geändert wird, gibt CONTROL SET IMGBUTTONX automatisch das alte Bild aus dem Speicher frei. In früheren Versionen von PowerBASIC lag die Pflicht beim Programmierer, das alte Image-Handle freizugeben.

PBXB64-Umsetzungshinweise

CONTROL SET IMGBUTTONX gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

CONTROL SET IMGBUTTONX ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG GRAFIK HINZUFÜGEN
  • STEUERUNG BILD HINZUFÜGEN
  • STEUERUNG IMAGEX HINZUFÜGEN
  • STEUERUNG IMGBUTTON HINZUFÜGEN
  • CONTROL ADD IMGBUTTONX
  • STEUERUNGSSET-BILD
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • Hilfe zum PBXB64-Compiler


CONTROL SET LOC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SET LOC

Verschieben Sie das Steuerelement an eine neue Position im Dialogfeld.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET LOC hDlg , id& , x& , y&

Beschreibung

Verschieben Sie das Steuerelement an eine neue Position im Dialogfeld.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

x& und y& geben die neue Position für die obere linke Ecke des Steuerelements an. Diese Koordinaten beziehen sich auf die obere linke Ecke des Clientbereichs des übergeordneten Dialogs (0,0) und werden in denselben Begriffen (Pixel oder Dialogeinheiten) wie der übergeordnete Dialog angegeben.

Die Standortkoordinaten können negativ oder größer als die Breite des Clientbereichs des übergeordneten Dialogs sein, was dazu führt, dass das Steuerelement abgeschnitten (teilweise angezeigt) oder vollständig ausgeblendet wird.

Diese Technik wird häufig verwendet, um die Eingabetaste zu erfassen, indem eine Standardschaltfläche (%BS_DEFAULT) erstellt und das Steuerelement außerhalb des Clientbereichs des Dialogfelds positioniert wird. Auch wenn das Steuerelement nicht sichtbar ist, ist es dennoch aktiv und kann auf Tastenbetätigungen des Steuerelements usw. reagieren.

PBXB64 setzt die neue Position mit SetWindowPos, wobei Groesse und Z-Reihenfolge erhalten bleiben. Die fokussierte Testdatei tests/pb/test_control_geometry.pb verschiebt ein aktives Steuerelement und liest seine Position relativ zum Dialog wieder ein.

PBXB64-Umsetzungshinweise

STEUERUNG SET LOC gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG SET LOC ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • CONTROL GET LOC
  • CONTROL GET SIZE
  • STEUERUNGSSATZGRÖSSE
  • Hilfe zum PBXB64-Compiler


CONTROL SET OPTION - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SET OPTION

Legen Sie den Pr&uuml;fstatus f&uuml;r eine fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET OPTION hDlg , id& , minid& , maxid&

Beschreibung

Legen Sie den Prüfstatus für eine fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Prüfstatus gilt als gesetzt (aktiviert), wenn das Kontrollkästchen aktiviert ist, und als deaktiviert (nicht aktiviert oder deaktiviert), wenn das Kontrollkästchen leer ist. Der Prüfstatus sollte immer nur für ein OPTION-Steuerelement in einer Gruppe von OPTION-Steuerelementen festgelegt sein. OPTION-Steuerelementen in einer Gruppe sollten eindeutige fortlaufende Identifikationsnummern zugewiesen werden.

hDlg bezieht sich auf den Dialog, der die OPTION-Steuerelemente besitzt.

id& ist die eindeutige Steuerelementkennung, die dem Schaltflächensteuerelement mit einer CONTROL ADD OPTION-Anweisung zugewiesen wird. CONTROL SET OPTION legt den Prüfstatus für dieses Steuerelement fest und setzt den Prüfstatus für alle verbleibenden OPTION-Steuerelemente zurück, deren Bezeichner im Bereich von minid& bis maxid& enthalten sind.

Das erste OPTION-Steuerelement in einer Gruppe sollte den Stil %WS_GROUP haben, um den Anfang einer Gruppe von Schaltflächen zu markieren, und das erste Nicht-OPTION-Steuerelement nach der Gruppe sollte ebenfalls diesen Stil haben. Wenn nach der Gruppe keine weiteren Steuerelemente vorhanden sind, fügen Sie %WS_GROUP zum ersten Steuerelement im Dialogfeld hinzu. Dadurch wird sichergestellt, dass die Tastaturnavigation mit den Pfeiltasten innerhalb der Gruppe der OPTION-Steuerelemente funktioniert.

PBXB64 prueft den inklusiven ID-Bereich, setzt jedes vorhandene Steuerelement in diesem Bereich zurueck und aktiviert die ausgewaehlte id& mit der nativen BM_SETCHECK-Nachricht. Die fokussierte Testdatei tests/pb/test_control_set_option.pb prueft die Exklusivitaet in beide Richtungen.

PBXB64-Umsetzungshinweise

STEUERUNGSSET-OPTION gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNGSSET-OPTION ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD OPTION
  • CONTROL GET CHECK
  • Hilfe zum PBXB64-Compiler


CONTROL SET TEXT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SET TEXT

&Auml;ndern Sie den Text in einem Steuerelement.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET TEXT hDlg , id& , txt$

Beschreibung

Ändern Sie den Text in einem Steuerelement.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

txt$ ist der neue Text für das Steuerelement. Jeder vorhandene Text im Steuerelement wird durch den neuen Text ersetzt.

UI-Prüfung

Dialog- und Control-Seiten sollen das Control erzeugen, den dokumentierten Befehl anwenden und den geänderten Zustand über Getter, Notification oder sichtbares Ergebnis prüfen. Prüfen Sie Handle-Gültigkeit, bevor Nachrichten gesendet werden.

Nachrichten- und Lebensdauerregeln

Dokumentieren Sie Besitzerfenster, Control-ID, Lebensdauer von Child-Handles und ob der Befehl vor oder nach dem Anzeigen des Dialogs gültig ist.

x64-Hinweise

Verwenden Sie zeigergroße Handles und speichern Sie HWND, HDC oder Callback-Zeiger nicht in 32-Bit-Variablen.

PBXB64-Umsetzungshinweise

STEUERUNG TEXT EINSTELLEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG TEXT EINSTELLEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET TEXT
  • Hilfe zum PBXB64-Compiler


CONTROL SET USER - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SET USER

Legen Sie einen Wert im Benutzerdatenbereich von a fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET USER hDlg , id& , index& , usrval&

Beschreibung

Legen Sie einen Wert im Benutzerdatenbereich von a fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Jedes DDT-Steuerelement verfügt über einen Benutzerdatenbereich, der aus acht Long-Integer-Werten besteht, die nach Ermessen des Programmierers zum Speichern relevanter Daten verwendet werden können. Mit CONTROL SET USER kann einer der Werte basierend auf dem Indexparameterwert (1 bis 8) festgelegt werden.

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

index& ist die Indexnummer des festzulegenden Benutzerdatenwerts im Bereich von 1 bis einschließlich 8.

usrval& ist der lange ganzzahlige Datenwert, der im Benutzerdatenbereich gespeichert werden soll.

Einschränkungen

Bei der Zerstörung der Steuerung gehen Daten im Nutzdatenbereich verloren. Der Datenbereich ist vollständig vom von Windows verwalteten %GWL_USERDATA-Bereich getrennt.

PBXB64 speichert die acht Werte pro aktivem Steuerelement und setzt sie zurück, wenn eine Steuerungs-ID für ein neu erstelltes Steuerelement wiederverwendet wird. Die fokussierte Testdatei tests/pb/test_control_user_data.pb deckt Round-Trip-Zugriff und Zurücksetzen ab.

PBXB64-Umsetzungshinweise

STEUERUNG BENUTZER EINSTELLEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG BENUTZER EINSTELLEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • COMBOBOX ADD
  • CONTROL GET USER
  • DIALOG GET USER
  • DIALOG SET USER
  • LISTBOX ADD
  • LISTVIEW DELETE COLUMN
  • TREEVIEW DELETE
  • Hilfe zum PBXB64-Compiler


CONTROL SHOW STATE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL SHOW STATE

&Auml;ndern Sie den sichtbaren Status eines Steuerelements.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SHOW STATE hDlg , id& , showstate& [TO lResult& ]

Beschreibung

Ändern Sie den sichtbaren Status eines Steuerelements.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

CONTROL SHOW STATE wird verwendet, um den Status und/oder das Erscheinungsbild des angegebenen Steuerelements zu ändern, das durch das übergeordnete Dialoghandle hDlg und die Kombination aus Steuerelement-ID und eindeutiger Kennung identifiziert wird.

showstate& kann einer der folgenden sein (mit einem Wert im Bereich von 0 bis 10), wie in der Datei WIN32API.INC definiert):

%SW_HIDE

Blenden Sie das Steuerelement aus.

%SW_MAXIMIZE

Maximiert die angegebene Kontrolle.

%SW_MINIMIZE

Minimieren Sie das angegebene Steuerelement.

%SW_RESTORE

Aktivieren Sie das Steuerelement und zeigen Sie es an. Wenn das Steuerelement minimiert oder maximiert wird, stellt Windows seine ursprüngliche Größe und Position wieder her. Eine Anwendung sollte dieses Flag angeben, wenn sie ein minimiertes Steuerelement wiederherstellt.

%SW_SHOW

Aktivieren Sie das Steuerelement und zeigen Sie es in seiner aktuellen Größe und Position an.

%SW_SHOWMAXIMIZED

Synonym von %SW_MAXIMIZE.

%SW_SHOWMINIMIZED

Aktivieren Sie das Steuerelement und minimieren Sie es.

%SW_SHOWNA

Zeigt das Steuerelement in seinem aktuellen Zustand an, ohne es zu aktivieren. Das aktuell aktive Fenster/Steuerelement bleibt aktiv.

%SW_SHOWNOACTIVATE

Zeigen Sie das Steuerelement in seiner aktuellen Größe und Position an, ohne es zu aktivieren. Das aktuell aktive Fenster/Steuerelement bleibt aktiv.

%SW_SHOWNORMAL

Aktivieren Sie das Steuerelement und zeigen Sie es an. Wenn das Steuerelement minimiert oder maximiert wird, wird es in seiner ursprünglichen Größe und Position wiederhergestellt.

Wenn die optionale TO-Klausel enthalten ist, wird der Variable lResult& der Wert Null zugewiesen, wenn das Steuerelement zuvor nicht sichtbar war, oder ein Wert ungleich Null, wenn es zuvor sichtbar war.

PBXB64-Umsetzungshinweise

CONTROL SHOW STATE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

CONTROL SHOW STATE ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG DEAKTIVIEREN
  • CONTROL ENABLE
  • DIALOG SHOW STATE
  • Hilfe zum PBXB64-Compiler


CONTROL TEXTBOX HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL TEXTBOX HINZUFÜGEN

F&uuml;gen Sie einem Dialogfeld ein Textfeld-Steuerelement hinzu. Ein Textfeld ist einem herk&ouml;mmlichen Bearbeitungssteuerelement sehr &auml;hnlich und wird zum Eingeben von Text in eine Anwendung verwendet. Textfelder unterst&uuml;tzen die einzeilige und mehrzeilige Eingabe.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD TEXTBOX, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD TEXTBOX, hDlg, id&, txt$, 100, 100, 150, 200, , , _
CALL EditControlCallback() ' Use default styles

Beschreibung

Fügen Sie einem Dialogfeld ein Textfeld-Steuerelement hinzu. Ein Textfeld ist einem herkömmlichen Bearbeitungssteuerelement sehr ähnlich und wird zum Eingeben von Text in eine Anwendung verwendet. Textfelder unterstützen die einzeilige und mehrzeilige Eingabe.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 implementiert TEXTBOX als natives Win32-EDIT-Steuerelement. Wenn beide optionalen Stiloperanden fehlen, werden die dokumentierten Standardwerte verwendet: %WS_TABSTOP | %WS_BORDER | %ES_LEFT | %ES_AUTOHSCROLL fuer den Fensterstil und %WS_EX_CLIENTEDGE | %WS_EX_LEFT fuer den erweiterten Stil. Explizite style- und exstyle-Operanden werden an das native Steuerelement weitergegeben. Dieses Verhalten wird durch tests/pb/test_control_add_defaults.pb verifiziert.

Wenn Sie den %ES_AUTOHSCROLL-Stil angeben, scrollt das Steuerelement automatisch horizontal, wenn die Einfügemarke über den rechten Rand des Steuerelements hinausgeht. Um eine neue Zeile zu beginnen, muss der Benutzer die ENTER-Taste drücken.

Wenn Sie %ES_AUTOHSCROLL nicht angeben, setzt das Steuerelement bei Bedarf automatisch Wörter an den Anfang der nächsten Zeile. Eine neue Zeile wird auch begonnen, wenn der Benutzer die ENTER-Taste drückt. Die Kontrollgröße bestimmt die Position des Zeilenumbruchs.

Die folgenden Benachrichtigungen werden an die Callback-Funktion gesendet:

%EN_CHANGE

Wird gesendet, wenn der Benutzer eine Aktion ausgeführt hat, die möglicherweise den Text im Textfeld geändert hat. Im Gegensatz zur %EN_UPDATE-Benachrichtigung wird diese Nachricht gesendet, nachdem Windows den Bildschirm aktualisiert. Auch das programmgesteuerte Ändern des Textes in einem Steuerelement löst diese Meldung aus.

%EN_ERRSPACE

Wird gesendet, wenn das Textfeld nicht genügend Speicher zuweisen kann, um eine bestimmte Anforderung zu erfüllen.

%EN_HSCROLL

Wird gesendet, wenn der Benutzer auf die horizontale Bildlaufleiste eines mehrzeiligen Textfelds klickt. Der Rückruf wird benachrichtigt, bevor der Bildschirm aktualisiert wird.

%EN_KILLFOCUS

Wird gesendet, wenn ein Bearbeitungssteuerelement den Tastaturfokus verliert.

%EN_MAXTEXT

Wird gesendet, wenn die aktuelle Texteinfügung die angegebene Anzahl von Zeichen für das Textfeld überschritten hat. Die Texteinfügung wird abgeschnitten.

%EN_SETFOCUS

Wird gesendet, wenn ein Bearbeitungssteuerelement den Tastaturfokus erhält.

%EN_UPDATE

Wird gesendet, wenn in einem Textfeld geänderter Text angezeigt wird. Diese Benachrichtigung wird gesendet, nachdem das Steuerelement den Text formatiert hat, aber bevor es den Text anzeigt. Siehe auch %EN_CHANGE.

%EN_VSCROLL

Wird gesendet, wenn der Benutzer auf die vertikale Bildlaufleiste eines Textfelds klickt. Der Rückruf wird benachrichtigt, bevor der Bildschirm aktualisiert wird.

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

Verwenden Sie CONTROL GET TEXT, um den Text aus einem Textfeld-Steuerelement abzurufen, und verwenden Sie CONTROL SET TEXT, um den Text in einem Textfeld-Steuerelement zu ändern. Wenn Sie den Text in einem Textfeld-Steuerelement ändern (als Reaktion auf eine %EN_CHANGE- oder %EN_UPDATE-Nachricht), wird ein zweiter Satz von %EN_CHANGE- und %EN_UPDATE-Nachrichten ausgelöst. Sofern dies nicht kompensiert wird, können diese Benachrichtigungen unbeabsichtigt eine Endlosschleife verursachen.

PBXB64 unterstützt PASSWORD FIELD für Textfeld-Steuerelemente. Die Anweisung wendet EM_SETPASSWORDCHAR auf das Bearbeitungssteuerelement an und verwendet dabei standardmäßig ein Sternchen oder ein explizites numerisches Maskenzeichen, sofern angegeben.

Folgendes kann beispielsweise tödlich sein:

CALLBACK-FUNCTION EditControlCallback()

IF CB.CTL = %ID_EDITBOX1 UND CB.CTLMSG = %EN_CHANGE THEN

CONTROL SET TEXT CB.HNDL, CB.CTL, „Neuer Text“

EXIT-FUNCTION

END IF

[Anweisungn]

Da es sich bei CONTROL SET TEXT um eine „blockierende“ Anweisung handelt (d. h. die Anweisung wird erst abgeschlossen, wenn der Text geändert wurde), ist es einfach, den Endlosschleifeneffekt zu blockieren:

CALLBACK-FUNCTION EditControlCallback()

STATIC EditBusy&

IF CB.CTL = %ID_EDITBOX1 UND CB.CTLMSG = %EN_CHANGE THEN

IF EditBusy&THEN FUNCTION BEENDEN

EditBusy& = -1

CONTROL SET TEXT CB.HNDL, CB.CTL, „Neuer Text“

ZURÜCKSETZEN BearbeitenBeschäftigt&

EXIT-FUNCTION

END IF

[Anweisungn]

PBXB64-Umsetzungshinweise

STEUERUNG TEXTFELD HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG TEXTFELD HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET TEXT
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • CONTROL SET TEXT
  • Hilfe zum PBXB64-Compiler


CONTROL TRAXOMATIC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CONTROL TRAXOMATIC

Proportionale PowerTrax-Groessenanpassung und Positionsverfolgung fuer ein Control aktivieren.

Kategorie: Allgemeine Referenz

Syntax

CONTROL TRAXOMATIC hDlg, ID, TraxBits

Beschreibung

Proportionale PowerTrax-Groessenanpassung und Positionsverfolgung fuer ein Control aktivieren.

Typ: Anweisung | Kategorie: Benutzeroberflaeche, Grafik und DDT

PBXB64-Status: TEILWEISE: Syntax, alle acht Trax-Konstanten und proportionale Positions-/Groessenverfolgung fuer ein registriertes DDT-Control sind implementiert und getestet. PowerTrax-Prozentkoordinaten und automatische Skalierungsvererbung bleiben offen.

PBXB64-Zertifizierung: [TESTS/PB/TEST_TRAXOMATIC.PB BESTANDEN]

TraxBits

%Trax.Full    Groesse und Position
%Trax.High    Hoehe
%Trax.Wide    Breite
%Trax.Size    Hoehe und Breite
%Trax.Vert    Vertikale Position
%Trax.Horz    Horizontale Position
%Trax.Posn    Horizontale und vertikale Position
%Trax.None    TRAXOMATIC-Verfolgung deaktivieren

Der Eltern-Dialog muss mit DDT erzeugt worden sein. Der fokussierte Test tests/pb/test_traxomatic.pb prueft alle acht Konstanten sowie die vollstaendige Positions-/Groessenanpassung fuer einen Kinddialog und ein Button-Control.

Bekannte Grenze: Die PB-Originalbeschreibung aktiviert zusaetzlich den PowerTrax-Modus. PBXB64 implementiert derzeit noch keine prozentualen Control-Erzeugungswerte und keine automatische Skalierungsvererbung.

Siehe auch

  • DIALOG TRAXOMATIC
  • DIALOG XLAT
  • CONTROL ADD
  • Hilfe zum PBXB64-Compiler


COSH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

COSH

Gibt den hyperbolischen Kosinus eines Arguments zurueck.

Kategorie: Allgemeine Referenz

Syntax

y = COSH( numeric_expression )

Beschreibung

Gibt den hyperbolischen Kosinus eines Arguments zurueck.

Typ: Funktion | Kategorie: Mathematik und Numerik

PBXB64-Status: VERFUEGBAR

Beschreibung

COSH berechnet den hyperbolischen Kosinus. Das Ergebnis ist ein Gleitkommawert.

PBXB64 akzeptiert INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL ueber den bestehenden Befehl. UNL wird intern weitergeleitet; ein neuer Befehlsname ist nicht erforderlich. Sehr grosse Integerwerte werden in den Gleitkomma-Bereich umgewandelt.

Validierung

tests/pb/test_math_wide_unl.pb prueft COSH mit Wide-Integer und UNL. Verwenden Sie den Test math_wide_unl aus tests/validate.toml.

Zurueck zum Befehlsindex


CPHASE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CPHASE

Kategorie: komplexe wissenschaftliche Arithmetik | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

phase = CPHASE( value )

Beschreibung

Kategorie: komplexe wissenschaftliche Arithmetik | Status: V24 verifiziert

Semantik

Liefert die DOUBLE-Phase in Radiant mit ATN2(imag, real). Der Hauptwert entspricht dem ueblichen Bereich der zweistelligen Arcustangensfunktion.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. Ein Skalar hat Imaginaerteil null.


CPOW$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CPOW$

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CPOW$( base, exponent )

Beschreibung

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Semantik

Liefert die Hauptwert-Potenz ueber exp(exponent*CLOG(base)). Rein reelle Werte nutzen einen direkten pow-Pfad; die Komponenten werden als DOUBLE-Text ausgegeben.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. Null mit negativem Exponenten und nichtfinite Bereiche liefern NaN;NaN.


CREAL$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CREAL$

Kategorie: exakte komplexe Komponenten | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CREAL$( value )

Beschreibung

Kategorie: exakte komplexe Komponenten | Status: V24 verifiziert

Semantik

Extrahiert den Realteil aus real;imag. Bei einem Skalar ist der Wert selbst der Realteil. Der Text ist kanonisch dezimal.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. Die Extraktion verwendet keine DOUBLE-Konvertierung.


CSET$ ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CSET$ ? PBXB64-Compiler-Hilfe

Gibt eine Zeichenfolge zur?ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result_var = CSET$( string_expression , strlen& [USING ustring_expression ])

Beschreibung

Gibt eine Zeichenfolge zur?ck

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

CSET$ zentriert die Zeichenfolge string_expression in eine Zeichenfolge aus strlen&-Zeichen.

Wenn ustring_expression null (leer) ist oder nicht angegeben ist, f?llt CSET$ string_expression mit Leerzeichen auf. Andernfalls f?llt CSET$ die Zeichenfolge mit dem ersten Zeichen von ustring_expression auf.

Wenn string_expression k?rzer als strlen& ist, zentriert CSET$ string_expression innerhalb result_var und f?llt beide Seiten wie oben beschrieben auf; Andernfalls gibt CSET$ die strlen&-Bytes ganz links von string_expression zur?ck.

PBXB64 unterst?tzt auch die Zeichensatzformen CSET(string,set) und CSET$(string,set). Die numerische Form gibt die Anzahl der Zeichen aus string zur?ck, die in set enthalten sind. Die String-Form gibt diese passenden Zeichen in ihrer urspr?nglichen Reihenfolge zur?ck.

CSET ABS ist kein eigener PBXB64-Befehl. Der Eintrag war ein generiertes PBWin-Hilfeindex-Artefakt aus den ABS-/USING-Schl?sselw?rtern auf der CSET-Seite und wird aus dem Command-Coverage-Nenner gefiltert.

PBXB64-Beispiel

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    IF CSET$("abc", 7, ".") <> "..abc.." THEN FUNCTION = 1: EXIT FUNCTION
    IF CSET$("abcdef", 3) <> "abc" THEN FUNCTION = 2: EXIT FUNCTION
    IF CSET$("hello world", "aeiou") <> "eoo" THEN FUNCTION = 3: EXIT FUNCTION
    IF CSET("hello world", "aeiou") <> 3 THEN FUNCTION = 4: EXIT FUNCTION
    FUNCTION = 0
END FUNCTION

Die fokussierte Regression ist examples/basic/test_cset_center.pb.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • GET ? PBXB64-Compiler-Hilfe
  • LET
  • LSET$
  • PUT ? PBXB64-Compiler-Hilfe
  • RESET
  • RSET$
  • STRINSERT$
  • TYPE SET
  • Hilfe zum PBXB64-Compiler


CSIN$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CSIN$

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CSIN$( value )

Beschreibung

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Semantik

Liefert sin(real)*cosh(imag);cos(real)*sinh(imag) als kanonischen DOUBLE-Text.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. Beliebig genaue transzendente Ausgabe wird nicht behauptet.


CSQRT$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CSQRT$

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CSQRT$( value )

Beschreibung

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Semantik

Liefert die Haupt-Quadratwurzel als kanonischen real;imag-Text. Nach dem Parsen werden die Komponenten ueber DOUBLE berechnet.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. Beliebig genaue transzendente Ausgabe wird nicht behauptet.


CSUB$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CSUB$

Kategorie: komplexe wissenschaftliche Arithmetik | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CSUB$( left, right )

Beschreibung

Kategorie: komplexe wissenschaftliche Arithmetik | Status: V24 verifiziert

Semantik

Subtrahiert Real- und Imaginaerteil komponentenweise. Werte verwenden real;imag; ein Skalar hat Imaginaerteil null. Das Ergebnis ist kanonischer Dezimaltext.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. Praezision und Normalisierung folgen der exakten UNC-Engine.


CTAN$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CTAN$

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = CTAN$( value )

Beschreibung

Kategorie: komplexe analytische Funktionen | Status: V24 verifiziert

Semantik

Liefert die komplexe Tangensfunktion ueber sin(2*real)/(cos(2*real)+cosh(2*imag));sinh(2*imag)/(cos(2*real)+cosh(2*imag)).

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL, UNF, UNC und UNI werden akzeptiert. An einem Pol liefert die Funktion NaN;NaN und setzt den UN-Stringfehler.


CURDIR$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CURDIR$

Gibt den aktuellen Verzeichnispfad f&uuml;r das angegebene Laufwerk zur&uuml;ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = CURDIR$[( drive$ )]

Beschreibung

Gibt den aktuellen Verzeichnispfad für das angegebene Laufwerk zurück.

Typ:Funktion |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

„drive$“ ist ein optionaler Zeichenfolgenausdruck, der den Laufwerksbuchstaben des Ziellaufwerks enthält. Wenn Laufwerk$ nicht angegeben ist oder eine leere Zeichenfolge ist, wird der aktuelle Verzeichnispfad für das Standardlaufwerk zurückgegeben.

PBXB64 senkt CURDIR$ und CURDIR$(drive$) auf den eingebetteten Laufzeithelfer bestof_curdir ab. Die Standardform gibt das aktuelle Prozessverzeichnis zurueck. Die Laufwerksform gibt das aktuelle Verzeichnis des angegebenen Laufwerksbuchstabens zurueck, sofern Windows eines bereitstellt.

Einschränkungen

Die fokussierte PBXB64-Zertifizierung deckt das Lesen des aktuellen Verzeichnisses nach CHDIR und eine nichtleere laufwerksqualifizierte Rueckgabe fuer das aktive Laufwerk ab. UNC-Pfade, laufwerksrelative Sonderfaelle, Laufwerkswurzeln, Unicode-Pfade und Fehlerparitaet fuer ungueltige Laufwerke bleiben breitere Datei-/Pfad-Kompatibilitaetsarbeit.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • CHDRIVE
  • CHDIR
  • Hilfe zum PBXB64-Compiler


CVBYT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CVBYT

Extrahiert numerische Werte

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

bytevar? = CVBYT( stringexpr [, offset ])
curvar@ = CVCUR( stringexpr [, offset ])
cuxvar@@ = CVCUX( stringexpr [, offset ])
doublevar# = CVD ( stringexpr [, offset ])
doublewordvar??? = CVDWD( stringexpr [, offset ])
extendedvar## = CVE ( stringexpr [, offset ])
integervar% = CVI ( stringexpr [, offset ])
longintvar& = CVL ( stringexpr [, offset ])
quadintvar&& = CVQ ( stringexpr [, offset ])
singlevar! = CVS ( stringexpr [, offset ])
wordvar?? = CVWRD( stringexpr [, offset ])

Beschreibung

Extrahiert numerische Werte

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die CVx-Funktionen geben eine Zahl zurück, die einem binären Muster entspricht, das in einem ANSI-Zeichenfolgenwert gespeichert ist. Das Binärmuster ist das interne Format, das PowerBASIC zum Speichern dieser Werte im Speicher verwendet. Dieses Format folgt dem IEEE-Standard, wo immer er gilt. Die MKx$-Funktionen ergänzen die CVx-Funktionen. Verwechseln Sie diese Funktionen nicht mit der VAL-Funktion, die eine als druckbare Textzeichenfolge gespeicherte Zahl (z. B. „123,45“) in einen numerischen Ausdruck umwandelt.

In allen außer den extremsten Fällen muss StringExpr ein ANSI-String oder UDT sein, der aus einzelnen Bytes besteht. WIDE-Zeichenfolgen (Unicode) bestehen aus einer Reihe von 2-Byte-Wörtern, die im Allgemeinen zu undefinierten Ergebnissen führen.

Mit den CVx-Funktionen können Sie Werte abrufen, die über das erste Byte des StringExpr hinausgehen. In diesem Fall gibt der optionale Offset-Parameter die Byteposition an, an der die Konvertierung beginnen soll. Dies ist die Byteposition, nicht die Zeichenposition, selbst bei einem WIDE StringExpr . Wenn Offset nicht angegeben ist, wird davon ausgegangen, dass es eins (1) ist.

Beispiel: „Value& = CVL(x$, 3)“ würde das 3. bis 6. Byte von x$ extrahieren und diese 4 Bytes in den entsprechenden Long-Integer-Wert konvertieren. In diesem Beispiel muss x$ mindestens 6 Byte lang sein.

Der fokussierte Kompatibilitaetsvertrag von PBXB64 fuer CVE ist die getestete 8-Byte-EXT-Form, die mit DOUBLE kompatibel ist. tests/pb/test_cve_mke_double_alias.pb prueft, dass CVE(MKE$(3.5)) ueber die eingebettete Laufzeit korrekt zurueckgewandelt wird. Echte 10-Byte-PBWin-Extended-Precision-Speicherung ist erst implementiert, wenn der Compiler eine reale Extended-Precision-Laufzeitdarstellung besitzt.

Function

Variabel

Konvertiert in

1-Byte-Zeichenfolge

8-Byte-String

Währung

8-Byte-String

Extended-currency

8-Byte-String

Schwimmer mit doppelter Genauigkeit

4-Byte-Zeichenfolge

Doppelwort

10-Byte-Zeichenfolge

Schwimmer mit erweiterter Präzision

2-Byte-String

Ganze Zahl

4-Byte-Zeichenfolge

Lange Ganzzahl

8-Byte-String

Quad-Ganzzahl

4-Byte-Zeichenfolge

Float mit einfacher Genauigkeit

2-Byte-String

Einschränkungen

Ausdrücke mit numerischen Gleichungen und bedingter Kompilierung ( #IF ) können auch die CVQ-Funktion enthalten. Auf diese Weise können Sie einem Equate ganz einfach numerische Werte zuweisen, basierend auf einer aussagekräftigen Mnemonik. Der CVQ-Ausdruck ist in diesem Zusammenhang auf eine Länge von acht Bytes begrenzt. Zum Beispiel:

%Mode = CVQ("DEBUG")

%Style = CVQ("Cool")

CVS beschränkt die Zeichenfolgenanzeige auf sieben signifikante Ziffern.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • MKBYT$
  • Hilfe zum PBXB64-Compiler


CVWRD / CVCUX - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

CVWRD / CVCUX

Wandelt Little-Endian-Bytefolgen aus MKWRD$ und MKCUX$ wieder in WORD- und CURRENCYX-kompatible numerische Werte um.

Kategorie: Allgemeine Referenz

Syntax

w& = CVWRD(bytes$)
c&& = CVCUX(bytes$)

Beschreibung

Wandelt Little-Endian-Bytefolgen aus MKWRD$ und MKCUX$ wieder in WORD- und CURRENCYX-kompatible numerische Werte um.

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt das PBXB64-Verhalten, das durch die aktuelle Validierungsmatrix abgedeckt ist. Verwenden Sie die hier gezeigte Syntax fuer Regressionstests; weitergehende PowerBASIC-Formen gelten als separate Kompatibilitaetsarbeit, sofern keine andere Seite sie dokumentiert.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


DATACOUNT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DATACOUNT

Gibt die Gesamtzahl der lokalen Anzahl zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

Count% = DATACOUNT

Beschreibung

Gibt die Gesamtzahl der lokalen Anzahl zurück

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DATACOUNT gibt nur die Anzahl der DATA-Elemente in der Sub , Function , Method oder Property zurück, in der es vorkommt (d. h. lokale DATA-Anweisungen). Während es nicht möglich ist, Daten direkt von außerhalb des Gültigkeitsbereichs der aktuellen Prozedur zu lesen, können globale Daten einfach emuliert werden, indem sie innerhalb einer Prozedur platziert werden, die Daten an den aufrufenden Code zurückgibt. Es gibt eine Grenze von 64 Kilobyte und 16384 separaten Datenelementen pro Prozedur.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DATEN
  • READ$
  • Hilfe zum PBXB64-Compiler


DATE$-Systemvariable - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DATE$-Systemvariable

Legen Sie das Systemdatum fest oder rufen Sie es ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DATE$ = s$ ' sets system date according to s$
s$ = DATE$ ' s$ now contains system date

Beschreibung

Legen Sie das Systemdatum fest oder rufen Sie es ab.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Durch Zuweisen eines ordnungsgemäß formatierten Zeichenfolgenwerts zu DATE$ wird das Systemdatum festgelegt. Sie können DATE$ auch einer Zeichenfolgenvariablen zuweisen, die 10 Zeichen in der Form „mm-tt-jjjj“ speichert, wobei mm für den Monat, dd für den Tag und yyyy für das Jahr steht.

Um das Datum zu ändern, muss Ihre Datumszeichenfolge auf eine der folgenden Arten formatiert sein:

MM-TT-JJ

MM/TT/JJ

MM-TT-JJJJ

MM/TT/JJJJ

Beispielsweise setzt DATE$ = „11-09-84“ das Systemdatum auf den 9. November 1984.

Einschränkungen

Das der Systemvariablen DATE$ zugewiesene Jahr muss im Bereich von 1980 bis 2099 liegen. DATE$ gibt niemals gebietsschemaspezifische Datumsformate zurück. Bei der Zuweisung einer zweistelligen Jahreszahl wird davon ausgegangen, dass jeder Wert unter 81 im Jahr 2000 liegt und jeder Wert über 80 im Jahr 1900 liegt.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • DAYNAME$
  • MONTHNAME$
  • IPowerTime.AddDays-Methode
  • TIME$-Systemvariable
  • Hilfe zum PBXB64-Compiler


Dateibefehle - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Dateibefehle

Die folgenden Funktionen k&ouml;nnen zum Bearbeiten von Dateien, Standard-E/A und Festplattendiensten verwendet werden:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die folgenden Funktionen können zum Bearbeiten von Dateien, Standard-E/A und Festplattendiensten verwendet werden:

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Ändern Sie das aktuelle (Standard-)Verzeichnis auf einem bestimmten Laufwerk.

Change the current default drive.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


Dateien - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Dateien

PowerBASIC bietet drei verschiedene M&ouml;glichkeiten zum Speichern und Abrufen von Informationen von der Festplatte: sequentielle, zuf&auml;llige und bin&auml;re Dateieingabe und -ausgabe. Jedes hat seine Vor- und Nachteile; derjenige, der funktioniert b

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PowerBASIC bietet drei verschiedene Möglichkeiten zum Speichern und Abrufen von Informationen von der Festplatte: sequentielle, zufällige und binäre Dateieingabe und -ausgabe. Jedes hat seine Vor- und Nachteile; derjenige, der funktioniert b

Typ:Schlüsselwort |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


DATEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DATEN

Erkl&auml;ren

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DATA ["] item ["] [[, ["] item ["]] ...]

Beschreibung

Erklären

Typ:Anweisung |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DATA-Anweisungen dürfen nur innerhalb von Subs , Functions , Method oder Properties erscheinen und sind nur für den Code in der Prozedur sichtbar, in der sie erscheinen. Jedes Verfahren kann daher über eigene private Daten verfügen.

Daten können aus nahezu beliebigen Textzeichen bestehen. Datenelemente können in Anführungszeichen gesetzt werden, um führende/nachgestellte Leerzeichen beizubehalten, die andernfalls während der Kompilierung entfernt werden.

Einschränkungen

Es gibt eine Grenze von 64 Kilobyte und 16384 separaten Datenelementen pro Prozedur. Frühere Versionen von PowerBASIC ignorierten Klartext, der unmittelbar nach einem Literal in Anführungszeichen bis zum nächsten Komma oder Zeilenende stand. Dies ist jedoch nicht mehr akzeptabel und erzeugt einen Fehler 477 („Syntaxfehler“).

DATA-Anweisungen können sich nicht über mehr als eine physische Quellcodezeile erstrecken und Zeilenfortsetzungszeichen verwenden. Bei der Formatierung von DATA-Anweisungen ist besondere Vorsicht geboten, insbesondere wenn die Daten Unterstriche und/oder Doppelpunkte enthalten sollen. In den folgenden Beispielen werden Datenelemente blau hervorgehoben:

Wenn nach einem Komma ein Unterstrich steht, wird er als Anfang einer Datenzeichenfolge in Anführungszeichen und nicht als Zeilenfortsetzungszeichen behandelt:

' In dieser Zeile sind drei Datenelemente vorhanden:

DATEN „Tom“, „Dick“, _Harry

Der Doppelpunkt (Anweisungstrennzeichen) fungiert bei Verwendung in Zeichenfolgendaten ohne Anführungszeichen als reguläres Anweisungstrennzeichen:

' Zwei Datenelemente und eine separate Anweisung

DATEN „Tom“, „Dick“ : Harry& = 1

Wenn jedoch ein Doppelpunkt in einer Datenzeichenfolge in Anführungszeichen vorkommt, wird er als Teil der Datenzeichenfolge behandelt:

' 3 Datenelemente

DATEN „Tom“,Dick,“:Harry& = 1“

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DATACOUNT
  • READ$
  • VAL ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


Daten lesen und schreiben - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Daten lesen und schreiben

Als Erg&auml;nzung zur neuen COMM OPEN-Anweisung f&uuml;hrt PowerBASIC vier neue COMM-Anweisungen ein, die Ihnen beim Schreiben serieller Kommunikationsprogramme helfen:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Als Ergänzung zur neuen COMM OPEN-Anweisung führt PowerBASIC vier neue COMM-Anweisungen ein, die Ihnen beim Schreiben serieller Kommunikationsprogramme helfen:

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

COMM PRINT #hComm, expr [;]

COMM SEND #hComm, expr

COMM RECV #hComm, count, expr

COMM LINE [INPUT] #hComm, expr

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Datentypen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Datentypen

Die Pflege von Zahlen ist ein wichtiger Bestandteil jedes Programmiersystems. Gl&uuml;cklicherweise k&ouml;nnen Sie mit PowerBASIC die meisten technischen &Uuml;berlegungen zur internen Nummernverwaltung ignorieren. Wenn Sie nie g

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Pflege von Zahlen ist ein wichtiger Bestandteil jedes Programmiersystems. Glücklicherweise können Sie mit PowerBASIC die meisten technischen Überlegungen zur internen Nummernverwaltung ignorieren. Wenn Sie nie g

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Aus Effizienzgründen speichert und verarbeitet PowerBASIC Daten in verschiedenen Formen. Es unterstützt elf einzigartige numerische Typen, drei String-Typen und auch Zeiger. Die folgenden Tabellen fassen die wichtigsten Merkmale und Unterscheidungen dieser Datentypen zusammen. Im Rest dieses Abschnitts werden diese Funktionen ausführlich erläutert.

Anforderungen und Bereiche für die Speicherung numerischer Daten

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Datentypen in Registern - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Datentypen in Registern

Es gibt drei grundlegende Arten von Operanden, die in einem Register platziert werden k&ouml;nnen: Direktregister, Speicherregister oder ein anderes Register.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Es gibt drei grundlegende Arten von Operanden, die in einem Register platziert werden können: Direktregister, Speicherregister oder ein anderes Register.

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Ein unmittelbarer Operand ist normalerweise ein numerisches Literal (Zahl), es kann aber auch ein String-Literal in der Form „a“ sein, das von PowerBASIC in seinen ASCII-Äquivalentcode konvertiert wird.

! MOV AL, „a“ ; String-Literal

! MOV EDX, 0 ; Numerisch unmittelbar/literal

Ein Speicheroperand ist eine Adresse im Speicher einer bestimmten Datenform:

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


DAYNAME$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DAYNAME$

Konvertiert eine Wochentagszahl in den zugeh&ouml;rigen Namen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = DAYNAME$( DayNumber& )

Beschreibung

Konvertiert eine Wochentagszahl in den zugehörigen Namen.

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Funktion DAYNAME$ wandelt eine Wochentagszahl in eine Zeichenfolge um, die den zugehörigen Namen darstellt. Das Argument muss im Bereich von 0 bis 6 liegen und die Namen Sonntag, Montag usw. darstellen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DATE$-Systemvariable
  • MONTHNAME$
  • IPowerTime.AddDays-Methode
  • Hilfe zum PBXB64-Compiler


Debuggen von PBXB64-Programmen - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Debuggen von PBXB64-Programmen - Hilfe zum PBXB64-Compiler

Tipps und Techniken zum Debuggen von PBXB64-Programmen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Tipps und Techniken zum Debuggen von PBXB64-Programmen.

Typ:Konzeptionell |Kategorie: Entwicklung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Überblick

Dieses Thema bietet Hintergrundinformationen und praktische Anleitungen. Eine detaillierte Syntax finden Sie auf den entsprechenden Befehlsseiten.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Hilfe zum PBXB64-Compiler


DEC$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DEC$

Konvertieren Sie einen ganzzahligen Wert in eine Dezimalzeichenfolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = DEC$( IntVal [, Digits , LeadSpaces , TrailSpaces ])

Beschreibung

Konvertieren Sie einen ganzzahligen Wert in eine Dezimalzeichenfolge

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

IntVal ist ein numerischer Ausdruck im Bereich einer 64-Bit-Quad-Ganzzahl (-9223372036854775808 bis +9223372036854775807). Jeder Bruchteil des Wertes wird gerundet. Wenn der Wert negativ ist, belegt das führende Minuszeichen eine Ziffernposition. Die Ergebniszeichenfolge wird immer als Ganzzahl unter Verwendung aller signifikanten Ziffern in IntVal formatiert. Es wird niemals in wissenschaftlicher Notation ausgedrückt.

Wenn Digits 0 ist (oder nicht angegeben ist), werden dem numerischen Feld keine führenden Zeichen hinzugefügt. Wenn Digits eine positive Zahl größer als 0 ist, werden der Ergebniszeichenfolge führende Nullen vorangestellt, um die gewünschte Länge zu erreichen. Wenn Digits eine negative Zahl ist, werden führende Leerzeichen hinzugefügt, um die absolute Länge zu erreichen. Die Ziffern können im Bereich von -20 bis +20 liegen.

LeadSpaces specifies additional leading spaces to be prepended, regardless of the length of the numeric portion of the string.

TrailSpaces specifies additional trailing spaces to be appended to the end of the string.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BIN$
  • FORMAT$
  • HEX$
  • OCT$
  • STR$ ? PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • USING$
  • VAL ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


DEC128 " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DEC128 " PBXB64-Compiler-Hilfe

16-Byte-Festkomma-Dezimaltyp mit 18 Dezimalstellen Genauigkeit.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LOCAL  var AS DEC128
STATIC var AS DEC128
GLOBAL var AS DEC128

Beschreibung

16-Byte-Festkomma-Dezimaltyp mit 18 Dezimalstellen Genauigkeit.

Typ: Datentyp | Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DEC128 ist ein 16-Byte-Festkomma-Dezimaltyp, der Werte mit einer Genauigkeit von 18 Dezimalstellen speichert. Es wird als vorzeichenbehaftete 64-Bit-Mantisse gepaart mit einem 32-Bit-Exponenten implementiert und bietet exakte Dezimalarithmetik für finanzielle und wissenschaftliche Berechnungen, bei denen binäre Gleitkomma-Rundungsfehler nicht akzeptabel sind.

Der Typ wird als Referenz (Zeiger) an Laufzeitfunktionen übergeben. Benutzen VARPTR(var) um die Adresse beim Aufruf der integrierten Konvertierungsfunktionen zu erhalten.

Integrierte Funktionen

Function | Unterschrift | Beschreibung
DEC128_FROM_DOUBLE | DEC128_FROM_DOUBLE(d, VARPTR(v)) | Konvertieren Sie einen DOUBLE-Wert in eine DEC128-Variable.
DEC128_TO_DOUBLE | d = DEC128_TO_DOUBLE(VARPTR(v)) | Konvertieren Sie eine DEC128-Variable zurück in DOUBLE.
DEC128_ADD | DEC128_ADD(VARPTR(a), VARPTR(b), VARPTR(out)) | Addieren Sie zwei DEC128-Werte und speichern Sie das Ergebnis in out.

Description

DEC128 is the documented 16-byte decimal numeric surface. Use the conversion helpers shown on this page and keep tests focused on exact conversion and arithmetic behavior.

Validation Evidence

Validation evidence: DEC128 examples and conversion helper pages provide the current executable evidence.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL d AS DEC128
  LOCAL e AS DEC128
  LOCAL r AS DOUBLE

  ' Convert 1.5 into DEC128
  DEC128_FROM_DOUBLE(1.5, VARPTR(d))

  ' Convert back to DOUBLE and print
  r = DEC128_TO_DOUBLE(VARPTR(d))
  PRINT "DEC128(1.5)="; r

  ' Add two DEC128 values
  DEC128_FROM_DOUBLE(2.5, VARPTR(e))
  DEC128_ADD(VARPTR(d), VARPTR(e), VARPTR(d))
  r = DEC128_TO_DOUBLE(VARPTR(d))
  PRINT "DEC128(1.5+2.5)="; r

  FUNCTION = 0
END FUNCTION

Siehe auch

  • RATIONAL " PBXB64-Compiler-Hilfe
  • CBYT
  • GRUNDLEGENDE mathematische Funktionen
  • Hilfe zum PBXB64-Compiler


DECR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DECR

Dekrementieren Sie a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DECR variable

Beschreibung

Dekrementieren Sie a

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Variable kann eine numerische Variable oder eine Zeigervariable sein. Wenn DECR mit einer numerischen Variablen verwendet wird, wird 1 von der numerischen Variablen subtrahiert.

Wenn DECR für das Ziel einer numerischen Zeigervariablen verwendet wird (d. h. DECR @IntPtr), wird die numerische Zielvariable um eins dekrementiert. Wenn Sie DECR jedoch für eine Zeigervariable verwenden, wird der Wert der Zeigervariablen um die Größe ihres Ziels dekrementiert.

Wenn beispielsweise ein Zeiger auf Element 1000 eines Integer-Arrays gegeben ist, würde die DECR der Zeigervariablen selbst zu einem Dekrement von 2 führen, das auf das vorherige Element im Array (Element 999) zeigen sollte. Dies liegt daran, dass eine Ganzzahl zwei Bytes breit ist, sodass der Zeigerwert um 2 Bytes reduziert wird.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • INCR
  • LET
  • Hilfe zum PBXB64-Compiler


DEFBYT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DEFBYT

Deklarieren Sie den Standardtyp f&uuml;r

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DEFtype letter_range [, letter_range ] [, ...]

Beschreibung

Deklarieren Sie den Standardtyp für

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Typ stellt einen der Variablentypen von PowerBASIC dar: INT (Ganzzahl), LNG (Lange Ganzzahl), QUD (Quad-Ganzzahl), SNG (Gleitkomma mit einfacher Genauigkeit), DBL (Gleitkomma mit doppelter Genauigkeit), EXT (Gleitkomma mit erweiterter Genauigkeit), CUR (Währung), CUX (Erweiterte Währung), STR (Zeichenfolge), BYT (Byte), WRD (Wort) und DWD (Doppelwort). ).

Buchstabenbereich

ist entweder ein einzelnes alphabetisches Zeichen (A bis Z, Groß- und Kleinschreibung spielt keine Rolle) oder eine Reihe von Buchstaben (zwei durch einen Bindestrich getrennte Buchstaben, zum Beispiel A-M).

DEF-Typ

Teilt dem Compiler mit, dass Variablen und benutzerdefinierte Funktionen, deren Namen mit dem angegebenen Buchstaben oder Buchstabenbereich beginnen, vom angegebenen Typ sind.

Wenn der Compiler einen Variablennamen ohne Typspezifizierer findet, wird normalerweise ein Fehler bei der Kompilierung generiert. Wenn jedoch eine vorangehende Anweisung vom Typ DEF wie DEFINT A-Z vorhanden wäre, würde die Variable standardmäßig diesen Typ verwenden (in diesem Fall eine Integer-Variable).

Sie können mehrere Anweisungen vom Typ DEF verwenden. Wenn es eine Überschneidung zwischen zwei Anweisungen vom Typ DEF gibt, wird kein Fehler generiert. aber die Definition der letztgenannten Anweisung vom Typ DEF überschreibt die erstere, wenn sich die beiden überschneiden.

Die Anweisung vom Typ DEF wird in zukünftigen Editionen von PowerBASIC möglicherweise nicht mehr unterstützt. Daher empfehlen wir explizite Variablendeklarationen mit DIM, INSTANCE, LOCAL, STATIC, THREADED oder GLOBAL.

Einschränkungen

Der Def-Typ gilt nur für implizit definierte Variablen. Es hat keine Auswirkung auf Variablen, die explizit definiert sind. Wenn in der Anwendung eine #DIM ALL-Anweisung vorhanden ist, haben Deftype-Anweisungen keine Auswirkung. #DIM ALL erfordert, dass alle Variablen explizit definiert werden

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

DEFINT A-E, G, Q, Y-Z

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • INSTANZ
  • LOCAL � PBXB64-Compiler-Hilfe
  • STATIC ? PBXB64-Compiler-Hilfe
  • THREADED
  • GLOBAL ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


Definieren benutzerdefinierter Typen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Definieren benutzerdefinierter Typen

Die Definition eines benutzerdefinierten Typs beginnt mit dem reservierten Wort TYPE und endet mit den Schl&uuml;sselw&ouml;rtern END TYPE. Dazwischen definieren Sie die Namen und Datentypen der Mitgliedselemente (Felder), die t sind

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Definition eines benutzerdefinierten Typs beginnt mit dem reservierten Wort TYPE und endet mit den Schlüsselwörtern END TYPE. Dazwischen definieren Sie die Namen und Datentypen der Mitgliedselemente (Felder), die t sind

Typ:Schlüsselwort |Kategorie:Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

LastName AS STRING * 20 ' Eine 20-stellige Zeichenfolge

FirstName AS STRING * 15 ' Eine 15-stellige Zeichenfolge

IDnum AS LONG ' Studenten-ID, eine lange Ganzzahl

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.


DEGREES - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DEGREES

Wandelt einen Winkel vom Bogenmass in Grad um.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(DEGREES(3.141592653589793) - 180.0) > 0.0001 THEN FUNCTION = 1

Beschreibung

Wandelt einen Winkel vom Bogenmass in Grad um.

Syntax: y = DEGREES( radians )

Semantik

DEGREES multipliziert mit 180/pi. Der Winkel wird nicht normalisiert und nicht gewrappt; RADIANS ist die inverse Skalierung.

Datentypen

Normale numerische Typen und Wide-, UNL- und UNF-Familien werden akzeptiert. Ergebnis: DOUBLE.


DELAY - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DELAY

Unterbricht die Ausfuehrung fuer die angeforderte Anzahl Millisekunden und liefert nach dem Warten 0 zurueck.

Kategorie: Allgemeine Referenz

Syntax

result& = DELAY(milliseconds&)

Beschreibung

Unterbricht die Ausfuehrung fuer die angeforderte Anzahl Millisekunden und liefert nach dem Warten 0 zurueck.

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt das PBXB64-Verhalten, das durch die aktuelle Validierungsmatrix abgedeckt ist. Verwenden Sie die hier gezeigte Syntax fuer Regressionstests; weitergehende PowerBASIC-Formen gelten als separate Kompatibilitaetsarbeit, sofern keine andere Seite sie dokumentiert.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Der Inline-Assembler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Der Inline-Assembler

Gelegentlich kann es vorkommen, dass die Syntax und Struktur der BASIC-Sprache f&uuml;r die jeweilige Aufgabe nicht optimal geeignet ist. PowerBASIC geht auf den Bedarf nach optimaler Geschwindigkeit und Flexibilit&auml;t ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Gelegentlich kann es vorkommen, dass die Syntax und Struktur der BASIC-Sprache für die jeweilige Aufgabe nicht optimal geeignet ist. PowerBASIC geht auf den Bedarf nach optimaler Geschwindigkeit und Flexibilität ein

Typ:Schlüsselwort |Kategorie:Inline-Assembler

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

In diesem Kapitel werden die verschiedenen Möglichkeiten erläutert, mit denen Sie mit PowerBASIC Assembler-Code in Ihren BASIC-Programmen verwenden können. Außerdem werden einige Designphilosophien und Überlegungen besprochen, die Sie berücksichtigen sollten, wenn Sie sich entscheiden, Ihre eigenen Prozeduren oder Funktionen in Assemblersprache zu schreiben.

Die Technik der Schnittstelle zur Assemblersprache ist naturgemäß etwas komplex. Sie sollten mit den Konzepten der Assemblersprache einigermaßen vertraut sein, bevor Sie sich mit den Informationen in diesem Kapitel befassen.

Verwenden Sie Assemblersprache in Ihrem Code

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Der Stack - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Der Stack

Der Stapel ist ein Bereich von Speicheradressen, der zur tempor&auml;ren Speicherung von Daten entweder innerhalb einer Prozedur oder als normale Methode zur &Uuml;bergabe von Parametern an eine Prozedur verwendet werden kann.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Stapel ist ein Bereich von Speicheradressen, der zur temporären Speicherung von Daten entweder innerhalb einer Prozedur oder als normale Methode zur Übergabe von Parametern an eine Prozedur verwendet werden kann.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Der Zugriff auf den Stack erfolgt im Code normalerweise über die Mnemoniken PUSH und POP. Der Zugriff auf den Stapel erfolgt nach dem Last-on-first-off-Prinzip, was bedeutet, dass der zuletzt auf den Stapel gelegte Wert auch der erste ist, der wieder vom Stapel entfernt wird.

Die nächste Position, die auf dem Stapel beschrieben werden kann, wird als oberste Position des Stapels bezeichnet. Wenn ein Datenelement auf den Stapel verschoben wird, dekrementiert der Prozessor den Stapelzeiger ESP und schreibt die Daten dann an die Oberseite des Stapels. Wenn ein Datenelement wieder vom Stapel entfernt wird, liest der Prozessor die Daten oben im Stapel und erhöht dann den Stapelzeiger. Daher verringert sich die Stapeladresse, wenn mehr Daten darauf verschoben werden, und die Adresse erhöht sich, wenn Daten wieder vom Stapel entfernt werden.

In den folgenden Bildern stellt jedes Quadrat 1 Byte auf dem Stapel dar, und die verschiedenen Farben sollen die unterschiedlichen Datengrößen veranschaulichen, die gepusht und gepoppt werden. Die oberste Seite des Stapels ist die linke Seite jedes Bildes.

Die folgende Sequenz veranschaulicht das Stapellayout, während ein 32-Bit- und zwei 16-Bit-Werte aus dem Stapel verschoben und entnommen werden.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


DESKTOP GET CLIENT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DESKTOP GET CLIENT

Liest die Groesse des nutzbaren Desktopbereichs in Pixeln.

Kategorie: Allgemeine Referenz

Syntax

DESKTOP GET CLIENT TO width&, height&

Beschreibung

Liest die Groesse des nutzbaren Desktopbereichs in Pixeln.

Typ: Anweisung | Kategorie: Desktop

PBXB64-Status: VERFUEGBAR

PBXB64-Pruefung: [KOMPILIERT/VERKNUEPFT/AUSGEFUEHRT]

Beschreibung

Die Laufzeit liefert die Windows-Arbeitsbereichsabmessungen ohne den fuer Taskleiste oder andere Systemoberflaechen reservierten Bereich.

Validierung

tests/e2e/pb/test_desktop_get.pb prueft diese Form und die anderen Desktopmetriken in den Make- und CMake-E2E-Lanes.

Siehe auch

  • DESKTOP GET LOC
  • DESKTOP GET SIZE
  • DESKTOP GET PPI
  • Hilfe zum PBXB64-Compiler


DESKTOP GET LOC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DESKTOP GET LOC

Liest die Position der oberen linken Ecke des nutzbaren Desktopbereichs in Pixeln.

Kategorie: Allgemeine Referenz

Syntax

DESKTOP GET LOC TO x&, y&

Beschreibung

Liest die Position der oberen linken Ecke des nutzbaren Desktopbereichs in Pixeln.

Typ: Anweisung | Kategorie: Desktop

PBXB64-Status: VERFUEGBAR

PBXB64-Pruefung: [KOMPILIERT/VERKNUEPFT/AUSGEFUEHRT]

Beschreibung

Die Laufzeit liefert den Ursprung des Windows-Arbeitsbereichs. Taskleiste und andere reservierte Desktopbereiche werden beruecksichtigt.

Validierung

tests/e2e/pb/test_desktop_get.pb prueft diese Form und die anderen Desktopmetriken in den Make- und CMake-E2E-Lanes.

Siehe auch

  • DESKTOP GET SIZE
  • DESKTOP GET CLIENT
  • DESKTOP GET PPI
  • Hilfe zum PBXB64-Compiler


DESKTOP GET PPI - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DESKTOP GET PPI

Liest die Displayaufloesung in Pixeln pro Zoll.

Kategorie: Allgemeine Referenz

Syntax

DESKTOP GET PPI TO x&, y&

Beschreibung

Liest die Displayaufloesung in Pixeln pro Zoll.

Typ: Anweisung | Kategorie: Desktop

PBXB64-Status: VERFUEGBAR

PBXB64-Pruefung: [KOMPILIERT/VERKNUEPFT/AUSGEFUEHRT]

Beschreibung

Die Laufzeit liefert die horizontale und vertikale Aufloesung aus dem primaeren Desktopgeraetekontext. Fuer eine Schaetzung von Pixeln pro Millimeter kann durch 25,4 geteilt werden.

Validierung

tests/e2e/pb/test_desktop_get.pb prueft diese Form und die anderen Desktopmetriken in den Make- und CMake-E2E-Lanes.

Siehe auch

  • GRAPHIC(PPI.X)
  • DESKTOP GET LOC
  • DESKTOP GET SIZE
  • Hilfe zum PBXB64-Compiler


DESKTOP GET SIZE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DESKTOP GET SIZE

Liest die Groesse des primaeren Desktops in Pixeln.

Kategorie: Allgemeine Referenz

Syntax

DESKTOP GET SIZE TO width&, height&

Beschreibung

Liest die Groesse des primaeren Desktops in Pixeln.

Typ: Anweisung | Kategorie: Desktop

PBXB64-Status: VERFUEGBAR

PBXB64-Pruefung: [KOMPILIERT/VERKNUEPFT/AUSGEFUEHRT]

Beschreibung

Die Laufzeit liefert die Abmessungen des primaeren Bildschirms einschliesslich des von der Taskleiste belegten Bereichs.

Validierung

tests/e2e/pb/test_desktop_get.pb prueft diese Form und die anderen Desktopmetriken in den Make- und CMake-E2E-Lanes.

Siehe auch

  • DESKTOP GET LOC
  • DESKTOP GET CLIENT
  • DESKTOP GET PPI
  • Hilfe zum PBXB64-Compiler


DIALOG DEAKTIVIEREN - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG DEAKTIVIEREN - Hilfe zum PBXB64-Compiler

Deaktivieren Sie einen Dialog, sodass er keine Maus oder Tastatur mehr empf&auml;ngt

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG DISABLE hDlg

Beschreibung

Deaktivieren Sie einen Dialog, sodass er keine Maus oder Tastatur mehr empfängt

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, den Sie deaktivieren möchten. Ein deaktivierter Dialog erhält keine Meldungen, wenn er mit der Maus angeklickt oder mit der Tastatur ausgewählt wird. Das Deaktivieren eines bereits deaktivierten Dialogs hat keine Auswirkung.

Wenn der Dialog über eine Rückruffunktion verfügt, wird eine %WM_ENABLE-Nachricht an die Rückruffunktion gesendet, bevor DIALOG DISABLE abgeschlossen ist.

PBXB64-Umsetzungshinweise

DIALOG DEAKTIVIEREN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG DEAKTIVIEREN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • DIALOG ENABLE
  • DIALOG HIDE
  • DIALOG NORMALISIEREN
  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • DIALOG SHOW STATE
  • Hilfe zum PBXB64-Compiler


DIALOG DOEVENTS - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG DOEVENTS - Hilfe zum PBXB64-Compiler

Prozess ausstehendes Fenster oder Dialog

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG DOEVENTS [ sleep& ] [TO count& ]

Beschreibung

Prozess ausstehendes Fenster oder Dialog

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DIALOG DOEVENTS wird normalerweise verwendet, um eine „Nachrichtenpumpe“ für modale Dialogfelder zu erstellen.

Wenn eine Fenstermeldung ansteht, wird diese entsprechend verarbeitet. Wenn keine Nachrichten ausstehen, wird die Ausführung des aktuellen Threads für die durch den Parameter „sleep&“ angegebene Zeit angehalten. Wenn „sleep&“ den Wert Null (0) hat, wird der Rest der aktuellen Zeitscheibe anderen Threads oder Prozessen überlassen. Wenn „sleep&“ größer als Null ist, wird der aktuelle Thread für diese Anzahl von Millisekunden angehalten, damit andere Threads oder Prozesse fortfahren können. Wenn „sleep&“ nicht angegeben ist, wird standardmäßig der Wert eins (1) verwendet. Während der Ruhephase werden alle Zeitscheiben für den aktuellen Thread an andere Threads und Prozesse weitergegeben. Wenn keine anderen Threads mit gleicher Priorität vorhanden sind, wird die Ausführung sofort fortgesetzt. Die Zeitscheibendauer (auch Quantum genannt) kann von Version zu Windows-Version variieren und zwischen 20 mSek und 120 mSek liegen. Wenn die optionale TO-Klausel enthalten ist, wird die Anzahl der aktiven Dialoge in der Variable count& zurückgegeben, sobald alle anstehenden Nachrichten verarbeitet wurden.

Einschränkungen

Die DIALOG DOEVENTS-Schleife muss für die Dauer der modalen Dialoge ausgeführt werden, sonst reagieren sie nicht oder werden nicht korrekt neu gezeichnet.

PBXB64-Umsetzungshinweise

DIALOGVERANSTALTUNGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOGVERANSTALTUNGEN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • DIALOG NEU
  • DIALOG SHOW MODELESS
  • SLEEP
  • Hilfe zum PBXB64-Compiler


DIALOG ENABLE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG ENABLE

Aktivieren Sie einen Dialog, damit er empfangen kann

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG ENABLE hDlg

Beschreibung

Aktivieren Sie einen Dialog, damit er empfangen kann

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, den Sie aktivieren möchten. Ein aktivierter Dialog erhält Meldungen, wenn er mit der Maus angeklickt oder mit der Tastatur ausgewählt wird. Das Aktivieren eines Dialogs hat keine Auswirkung, wenn der Dialog bereits aktiviert ist.

Wenn der Dialog über eine Rückruffunktion verfügt, wird vor Abschluss von DIALOG ENABLE eine %WM_ENABLE-Nachricht an die Rückruffunktion gesendet.

PBXB64-Umsetzungshinweise

DIALOG AKTIVIEREN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG AKTIVIEREN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • DIALOG DEAKTIVIEREN - Hilfe zum PBXB64-Compiler
  • DIALOG HIDE
  • DIALOG NORMALISIEREN
  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • DIALOG SHOW STATE
  • Hilfe zum PBXB64-Compiler


DIALOG END - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG END - Hilfe zum PBXB64-Compiler

Schlie&szlig;en und zerst&ouml;ren Sie den angegebenen Dialog.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG END hDlg [, lResult& ]

Beschreibung

Schließen und zerstören Sie den angegebenen Dialog.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der durch die Variable hDlg angegebene Dialog wird zerstört.

lResult& gibt optional einen Wert an, der an die DIALOG SHOW MODAL- oder DIALOG SHOW MODELESS-Anweisung zurückgegeben werden soll, die den Dialog ursprünglich aktiviert hat.

Einschränkungen

DIALOG END kann einen Dialog in einem separaten Thread nicht schließen oder zerstören. Senden oder posten Sie in diesem Fall eine Nachricht an den Dialog, um ihm das Schließen zu signalisieren, und antworten Sie auf die Nachricht im Rückruf für den angegebenen Dialog. Zum Beispiel:

' Löst ein DIALOG END in einem separaten Thread aus

DIALOG SEND hDlg, %WM_SYSCOMMAND, %SC_CLOSE, 0

DIALOG END kann während der Verarbeitung der %WM_INITDIALOG-Nachricht nicht verwendet werden. Wenn dieser Effekt erforderlich ist, besteht die Lösung darin, eine benutzerdefinierte Nachricht an den Dialog zu senden und an dieser Stelle DIALOG END zu verwenden. Zum Beispiel:

CALLBACK-FUNCTION MyDialogCallback

SELECT CASE CB.MSG

CASE %WM_INITDIALOG

IF gMustEnd& THEN _ ' Wir müssen aufhören!

DIALOGPOST CB.HNDL, %WM_USER+999&, 0, 0

CASE %WM_USER + 999&

DIALOGENDE CB.HNDL

FUNCTION = 1

END AUSWÄHLEN

ENDFUNKTION

PBXB64-Umsetzungshinweise

DIALOG END gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG END ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • DIALOG NEU
  • DIALOG SHOW MODELESS
  • THREAD CREATE
  • Hilfe zum PBXB64-Compiler


DIALOG GET CLIENT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG GET CLIENT

Geben Sie die zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG GET CLIENT hDlg TO nWide& , nHigh&

Beschreibung

Geben Sie die zurück

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

HDlg bezieht sich auf den zu untersuchenden Dialog. Die Größe des Dialog-Client-Bereichs wird in den Variablen nWide& (Breite) und nHigh& (Höhe) platziert. Die Größe wird in denselben Begriffen (Pixel oder Dialogeinheiten) wie der übergeordnete Dialog angegeben.

PBXB64-Umsetzungshinweise

DIALOG KUNDEN ERHALTEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG KUNDEN ERHALTEN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • DIALOG GET LOC
  • DIALOG GET SIZE
  • DIALOGPIXEL
  • DIALOG SET CLIENT
  • DIALOG SET LOC
  • DIALOG-SET-GRÖSSE
  • DIALOGEINHEITEN
  • Hilfe zum PBXB64-Compiler


DIALOG GET LOC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG GET LOC

Gibt den Speicherort des angegebenen zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG GET LOC hDlg TO x& , y&

Beschreibung

Gibt den Speicherort des angegebenen zurück

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

HDlg bezieht sich auf den zu untersuchenden Dialog. Die Position des Dialogs wird als relative Position in den Variablen x& (horizontale Position) und y& (vertikale Position) platziert. Wenn der Dialog mit der Option PIXELS in der DIALOG NEW-Anweisung erstellt wurde, werden die Werte in Pixeleinheiten zurückgegeben. Wenn die Option UNITS verwendet wurde (oder keine Skalierungsoption angegeben wurde), werden die Werte in Dialogeinheiten zurückgegeben.

[OBJECT]Wenn das [OBJECT]übergeordnete[OBJECT] des Dialogs Null (oder %HWND_DESKTOP) ist, ist die Position relativ zur oberen linken Ecke der Anzeige. Andernfalls ist es relativ zur oberen linken Ecke des Clientbereichs des übergeordneten Fensters.

PBXB64-Umsetzungshinweise

DIALOG GET LOC gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG GET LOC ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • DIALOG GET CLIENT
  • DIALOG GET SIZE
  • DIALOGPIXEL
  • DIALOG SET LOC
  • DIALOG-SET-GRÖSSE
  • DIALOGEINHEITEN
  • Hilfe zum PBXB64-Compiler


DIALOG GET SIZE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG GET SIZE

Gibt die Gr&ouml;&szlig;e des angegebenen zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG GET SIZE hDlg TO x& , y&

Beschreibung

Gibt die Größe des angegebenen zurück

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

HDlg bezieht sich auf den zu untersuchenden Dialog. Die Gesamtgröße des Dialogs wird in den Variablen x& (Breite) und y& (Höhe) abgelegt. Wenn der Dialog mit der Option PIXELS in der DIALOG NEW-Anweisung erstellt wurde, werden die Werte in Pixeleinheiten zurückgegeben. Wenn die Option UNITS verwendet wurde (oder keine Skalierungsoption angegeben wurde), werden die Werte in Dialogeinheiten zurückgegeben.

PBXB64-Umsetzungshinweise

DIALOG GRÖSSE ERHALTEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG GRÖSSE ERHALTEN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • DIALOG GET CLIENT
  • DIALOG GET LOC
  • DIALOGPIXEL
  • DIALOG SET LOC
  • DIALOG-SET-GRÖSSE
  • DIALOGEINHEITEN
  • Hilfe zum PBXB64-Compiler


DIALOG GET TEXT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG GET TEXT

Rufen Sie den Text in a ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG GET TEXT hDlg TO titletext$

Beschreibung

Rufen Sie den Text in a ab

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Text des durch hDlg angegebenen Dialogs oder Fenstertitels. Bei DDT-Dialogen ist hDlg das Dialoghandle, das von der DIALOG NEW-Anweisung zurückgegeben wird. In einer Dialog-Callback-Funktion gibt die CB.HNDL-Funktion das übergeordnete Dialog-Handle zurück und dieses kann auch mit DIALOG GET TEXT verwendet werden.

Titeltext$

Der Text wird zurückgegeben und in die String-Variable titletext$ eingefügt. Wenn das Fenster oder der Dialog ungültig ist, wird titletext$ auf eine leere Zeichenfolge gesetzt.

Einschränkungen

hDlg ist ein Dialog- oder Fensterhandle, daher funktioniert DIALOG GET TEXT sowohl mit DDT-Dialogen als auch mit herkömmlichen Fenstern und Dialogen.

PBXB64-Umsetzungshinweise

DIALOG TEXT ERHALTEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG TEXT ERHALTEN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • CB Callback functions
  • CONTROL GET TEXT
  • CONTROL SET TEXT
  • DIALOG NEU
  • DIALOG SET TEXT
  • Hilfe zum PBXB64-Compiler


DIALOG GET USER - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG GET USER

Rufen Sie einen Wert aus dem Benutzerdatenbereich von a ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG GET USER hDlg , index& TO retvar&

Beschreibung

Rufen Sie einen Wert aus dem Benutzerdatenbereich von a ab

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Jeder DDT-Dialog verfügt über einen Benutzerdatenbereich, der aus acht Long-Integer-Werten besteht, die nach Ermessen des Programmierers zum Speichern relevanter Daten verwendet werden können. DIALOG GET USER ermöglicht das Abrufen eines der Werte basierend auf dem Indexparameterwert (1 bis 8).

hDlg bezieht sich auf den Dialog, der die Benutzerdaten enthält.

index& ist die Indexnummer des abzurufenden Benutzerdatenwerts im Bereich von 1 bis einschließlich 8.

retvar& empfängt den Long-Integer-Datenwert, der im angegebenen Benutzerdatenindex gespeichert ist.

Einschränkungen

Bei der Zerstörung des Dialogs gehen Daten im Benutzerdatenbereich verloren. Der Datenbereich ist vollständig vom von Windows verwalteten %GWL_USERDATA-Bereich getrennt.

PBXB64-Umsetzungshinweise

DIALOG BENUTZER ERHALTEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG BENUTZER ERHALTEN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • COMBOBOX ADD
  • CONTROL GET USER
  • CONTROL SET USER
  • DIALOG SET USER
  • LISTBOX ADD
  • LISTVIEW DELETE COLUMN
  • TREEVIEW DELETE
  • Hilfe zum PBXB64-Compiler


DIALOG HIDE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG HIDE

Machen Sie ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG HIDE hDlg

Beschreibung

Machen Sie ein

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der durch das Handle hDlg identifizierte Dialog wird unsichtbar gemacht.

UI-Prüfung

Dialog- und Control-Seiten sollen das Control erzeugen, den dokumentierten Befehl anwenden und den geänderten Zustand über Getter, Notification oder sichtbares Ergebnis prüfen. Prüfen Sie Handle-Gültigkeit, bevor Nachrichten gesendet werden.

Nachrichten- und Lebensdauerregeln

Dokumentieren Sie Besitzerfenster, Control-ID, Lebensdauer von Child-Handles und ob der Befehl vor oder nach dem Anzeigen des Dialogs gültig ist.

x64-Hinweise

Verwenden Sie zeigergroße Handles und speichern Sie HWND, HDC oder Callback-Zeiger nicht in 32-Bit-Variablen.

PBXB64-Umsetzungshinweise

DIALOG AUSblenden gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG AUSblenden ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • CONTROL HIDE
  • STEUERUNG NORMALISIEREN
  • DIALOG MAXIMIZE
  • DIALOG MINIMIEREN
  • DIALOG NORMALISIEREN
  • Hilfe zum PBXB64-Compiler


DIALOG MAXIMIZE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG MAXIMIZE

Maximieren Sie a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG MAXIMIZE hDlg

Beschreibung

Maximieren Sie a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der durch das Handle hDlg identifizierte Dialog wird maximiert. Mit DIALOG NORMALIZE können Sie den Dialog in seinen Normalzustand zurückversetzen.

UI-Prüfung

Dialog- und Control-Seiten sollen das Control erzeugen, den dokumentierten Befehl anwenden und den geänderten Zustand über Getter, Notification oder sichtbares Ergebnis prüfen. Prüfen Sie Handle-Gültigkeit, bevor Nachrichten gesendet werden.

Nachrichten- und Lebensdauerregeln

Dokumentieren Sie Besitzerfenster, Control-ID, Lebensdauer von Child-Handles und ob der Befehl vor oder nach dem Anzeigen des Dialogs gültig ist.

x64-Hinweise

Verwenden Sie zeigergroße Handles und speichern Sie HWND, HDC oder Callback-Zeiger nicht in 32-Bit-Variablen.

PBXB64-Umsetzungshinweise

DIALOG MAXIMIEREN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG MAXIMIEREN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • CONTROL HIDE
  • STEUERUNG NORMALISIEREN
  • STEUERUNGSSATZGRÖSSE
  • DIALOG MINIMIEREN
  • DIALOG NORMALISIEREN
  • DIALOG-SET-GRÖSSE
  • Hilfe zum PBXB64-Compiler


DIALOG MINIMIEREN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG MINIMIEREN

Minimieren Sie a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG MINIMIZE hDlg

Beschreibung

Minimieren Sie a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der durch das Handle hDlg identifizierte Dialog wird minimiert. Mit DIALOG NORMALIZE können Sie den Dialog in seinen Normalzustand zurückversetzen.

UI-Prüfung

Dialog- und Control-Seiten sollen das Control erzeugen, den dokumentierten Befehl anwenden und den geänderten Zustand über Getter, Notification oder sichtbares Ergebnis prüfen. Prüfen Sie Handle-Gültigkeit, bevor Nachrichten gesendet werden.

Nachrichten- und Lebensdauerregeln

Dokumentieren Sie Besitzerfenster, Control-ID, Lebensdauer von Child-Handles und ob der Befehl vor oder nach dem Anzeigen des Dialogs gültig ist.

x64-Hinweise

Verwenden Sie zeigergroße Handles und speichern Sie HWND, HDC oder Callback-Zeiger nicht in 32-Bit-Variablen.

PBXB64-Umsetzungshinweise

DIALOG MINIMIEREN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG MINIMIEREN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • CONTROL HIDE
  • STEUERUNG NORMALISIEREN
  • STEUERUNGSSATZGRÖSSE
  • DIALOG MAXIMIZE
  • DIALOG NORMALISIEREN
  • DIALOG-SET-GRÖSSE
  • Hilfe zum PBXB64-Compiler


DIALOG NEU - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG NEU

Erstellen Sie einen neuen Dialog im Speicher, der zur Anzeige bereit ist.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG NEW [PIXELS, | UNITS,] hParent , title$ , [ x& ], [ y& ], xx& , yy& [, [ style& ] [, [ exstyle& ]]] [,] TO hDlg

Beschreibung

Erstellen Sie einen neuen Dialog im Speicher, der zur Anzeige bereit ist.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein neuer leerer Dialog wird erstellt, aber noch nicht angezeigt. Sobald der Dialog erstellt wurde und alle gewünschten Steuerelemente mit CONTROL ADD-Anweisungen hinzugefügt wurden, kann der Dialog mit den Anweisungen DIALOG SHOW MODELESS oder DIALOG SHOW MODAL angezeigt werden.

Wenn ein modaler Dialog erstellt wird, muss die Anwendung für die Dauer des Dialogs eine DIALOG DOEVENTS-Nachrichtenpumpe erstellen. Wenn keine Nachrichtenpumpe bereitgestellt wird, kann dies zu Unterbrechungen bei der Anzeige des Dialogs führen oder dazu, dass der Dialog nicht auf Nachrichten wie Tastenklicks usw. reagieren kann. Modale Dialoge erfordern keine Nachrichtenpumpe. Um den angezeigten Status eines Dialogs zu ändern (d. h. ausgeblendet, minimiert usw.), nachdem der Dialog erstellt wurde, verwenden Sie die DIALOG SHOW STATE-Anweisung.

Wenn ein Dialog weder über den %WS_CHILD- noch den %WS_POPUP-Stil verfügt, erzwingt Windows möglicherweise eine Mindestdialogbreite von etwa 60–70 Dialogeinheiten.

PIXEL

Wenn das Schlüsselwort PIXELS angegeben ist, werden alle Größen- und Positionsparameter in Pixel angegeben. In diesem Fall geben verwandte Anweisungen wie DIALOG GET LOC ebenfalls Werte in Pixeln zurück.

Wenn UNITS angegeben ist (oder keine Skalierungsoption angegeben ist), werden alle Größen- und Positionsparameter in Dialogeinheiten angegeben. (Standard)

DIALOG NEW übernimmt die folgenden Parameter.

hParent

Handle des übergeordneten Fensters oder Dialogs. Wenn kein übergeordnetes Element vorhanden ist, verwenden Sie Null (0) oder %HWND_DESKTOP. Wenn der Dialog MODAL ist, wird das übergeordnete Fenster/Dialogfeld deaktiviert, während dieser „untergeordnete“ Dialog ausgeführt wird.

Titel$

Der Text, der in der Titel- oder Beschriftungsleiste des Dialogs angezeigt wird.

x&, y&

Optionale Position der oberen linken Ecke für den Dialog. Der Speicherort wird in denselben Begriffen (Pixel oder Dialogeinheiten) angegeben, die in der DIALOG NEW-Anweisung angegeben sind. Wenn weder x& noch y& angegeben sind, wird der Dialog im Windows-Arbeitsbereich zentriert.

Wenn %CW_USEDEFAULT (&H080000000) angegeben ist, wird die Standard-Windows-Position verwendet (Kaskadierung von der oberen linken Ecke).

xx&, yy&

Die Breite und Höhe des Dialogs. Die Größe wird in denselben Begriffen (Pixel oder Dialogeinheiten) angegeben wie in der DIALOG NEW-Anweisung.

Wenn der Standarddialogstil (oder ein anderer Dialogstil, der den %WS_CAPTION-Stil enthält) verwendet wird, geben die Parameter „Breite“ und „Höhe“ nur die Clientgröße an, und diese umfasst keine Beschriftungs- und Rahmenabmessungen.

Wenn der Stil %WS_CAPTION nicht enthält, geben Breite und Höhe die Gesamtgröße des Dialogs an, einschließlich der Beschriftung und des Rahmens, falls vorhanden.

Beachten Sie, dass %WS_CAPTION eine Kombination aus den Stilen %WS_BORDER und %WS_DLGFRAME ist. Der Standarddialogstil umfasst die Stile %WS_BORDER und %WS_DLGFRAME, also implizit den Stil %WS_CAPTION.

Stil&

Eine optionale Bitmaske, die beschreibt, wie der Dialog angezeigt werden soll. Der Standardstil von &H084C000D4& besteht aus %DS_3DLOOK, %DS_SETFONT, %DS_MODALFRAME, %DS_NOFAILCREATE, %WS_BORDER, %WS_CLIPSIBLINGS, %WS_DLGFRAME und %WS_POPUP. Wird verwendet, wenn der Parameter in der Anweisung vollständig weggelassen wurde. Zum Beispiel:

DIALOG NEU 0, „Dialogtitel“,,, 100, 200,, TO hDlg

Benutzerdefinierte Stilwerte ersetzen die Standardwerte. Das heißt, sie ergänzen nicht die Standardstilwerte – Ihr Code muss alle erforderlichen Stilparameter angeben (mit Ausnahme von %DS_NOFAILCREATE, %DS_SETFONT und %DS_3DLOOK, die von PowerBASIC automatisch zum Stil- und Parameter hinzugefügt werden).

Dies gilt auch für den Parameter „Extended Styles“ – wenn Ihr Code einen benutzerdefinierten Primärstil angibt, ist auch der standardmäßige erweiterte Stil nicht mehr wirksam. In diesem Fall muss möglicherweise auch ein expliziter erweiterter Stil zur DIALOG NEW-Anweisung hinzugefügt werden, wenn ein expliziter primärer Stil angegeben ist.

Der primäre Stil und Wert kann eine Kombination aus den folgenden Werten sein, kombiniert mit dem ODER-Operator, um eine Bitmaske zu bilden:

%DS_3DLOOK Geben Sie dem Dialogfeld eine nicht fette Schriftart und zeichnen Sie dreidimensionale Ränder um die Steuerelemente im Dialogfeld. Der %DS_3DLOOK-Stil ist nicht für Anwendungen erforderlich, die mit #OPTION VERSION4 oder #OPTION VERSION5 gekennzeichnet sind. da Windows automatisch das 3D-Erscheinungsbild anwendet. DDT-Dialoge werden immer mit diesem Stil erstellt. (Standard)

%DS_3DLOOK

Geben Sie dem Dialogfeld eine nicht fette Schriftart und zeichnen Sie dreidimensionale Ränder um die Steuerelemente im Dialogfeld. Der %DS_3DLOOK-Stil ist nicht für Anwendungen erforderlich, die mit #OPTION VERSION4 oder #OPTION VERSION5 gekennzeichnet sind. da Windows automatisch das 3D-Erscheinungsbild anwendet. DDT-Dialoge werden immer mit diesem Stil erstellt. (Standard)

%DS_ABSALIGN

Geben Sie an, dass die Koordinaten des Dialogfelds Bildschirmkoordinaten sind. Andernfalls geht Windows davon aus, dass es sich um Clientkoordinaten handelt.

%DS_CENTER

Zentrieren Sie das Dialogfeld im Arbeitsbereich (dem Bereich, der nicht von der Taskleiste und der Taskleiste verdeckt wird). Dies ist die Standardeinstellung, wenn x& und y& nicht angegeben sind.

%DS_CENTERMOUSE

Zentrieren Sie den Mauszeiger im Dialogfeld, wenn das Dialogfeld zum ersten Mal erstellt wird.

%DS_CONTEXTHELP

Fügen Sie ein Fragezeichen in die Titelleiste des Dialogfelds ein. Wenn der Benutzer auf das Fragezeichen klickt, verwandelt sich der Cursor in ein Fragezeichen mit einem Zeiger. Wenn der Benutzer dann auf ein Steuerelement im Dialogfeld klickt, erhält der Dialogrückruf eine %WM_HELP-Nachricht. Dieser Stil kann nicht mit den Stilen %WS_MAXIMIZEBOX und %WS_MINIMIZEBOX verwendet werden. Siehe auch %WS_EX_CONTEXTHELP.

%DS_CONTROL

Erstellen Sie einen Dialog, der als untergeordnetes Steuerelement eines anderen Dialogs fungiert und die Tastaturfokusschnittstelle über die beiden Dialoge hinweg glättet, wenn die TAB-Taste oder Steuerungsbeschleuniger verwendet werden. Wird normalerweise für Dialoge verwendet, die die „Seiten“ für Registerkartensteuerelemente und Eigenschaftenblätter bilden.

%DS_MODALFRAME

Erstellen Sie ein Dialogfeld mit einem modalen Dialogfeldrahmen, der mit einer Titelleiste und einem Systemmenü kombiniert werden kann, indem Sie die Stile %WS_CAPTION und %WS_SYSMENU angeben. (Standard)

%DS_NOFAILCREATE

Der Dialog wird unabhängig von Fehlern erstellt, die während der Erstellungsphase auftreten können. DDT-Dialoge werden immer mit diesem Stil erstellt. (Standard)

%DS_SETFONT

Die Schriftart, die von einem DDT-Dialog und seinen Steuerelementen verwendet werden soll, kann mit der DIALOG DEFAULT FONT-Anweisung vorab festgelegt werden. Wenn die DIALOG DEFAULT FONT-Anweisung nicht verwendet wird, wird die Standardschriftart (MS Sans Serif, 8 Punkt) verwendet. Die Größe der Dialogschriftart wirkt sich proportional auf die Konvertierung von Dialogeinheitenwerten in Pixel aus, sodass eine Erhöhung der Standardschriftgröße automatisch zu einem größeren Dialog führt, auch wenn die Dialogabmessungen konstant geblieben sind. Wenn untergeordnete Steuerelemente zu einem %DS_SETFONT-Dialog hinzugefügt werden, wird ihnen eine %WM_SETFONT-Nachricht gesendet, um sicherzustellen, dass sie auch die angegebene Dialogschriftart verwenden. DDT-Dialoge werden immer mit diesem Stil erstellt. (Standard)

%DS_SETFOREGROUND

Bringen Sie das Dialogfeld in den Vordergrund. Intern ruft Windows die SetForegroundWindow-API-Funktion für das Dialogfeld auf.

%DS_SYSMODAL

Erstellen Sie ein systemmodales Dialogfeld. Dieser Stil bewirkt, dass das Dialogfeld den %WS_EX_TOPMOST-Stil aufweist, hat ansonsten jedoch keine Auswirkung auf das Dialogfeld oder das Verhalten anderer Anwendungen und Fenster, wenn das Dialogfeld angezeigt wird.

%WS_BORDER

Erstellen Sie einen Dialog mit einem dünnen Rand.

%WS_CAPTION

Erstellen Sie einen Dialog mit einer Titelleiste. Enthält die Stile %WS_BORDER und %WS_DLGFRAME. Wenn dieser Stil verwendet wird, geben die Parameter xx& und yy& die Größe des Clientbereichs des Dialogs an; andernfalls geben sie die äußeren Abmessungen des Dialogs an. (Standard)

%WS_CHILD

Erstellen Sie einen untergeordneten Dialog. Kann nicht mit dem %WS_POPUP-Stil verwendet werden. Wird normalerweise mit %DS_CONTROL für die Registerkartensteuerung und Eigenschaftenblatt-„Seiten“ verwendet.

%WS_CLIPCHILDREN

Schließen Sie den von untergeordneten Steuerelementen eingenommenen Bereich aus, wenn auf dem Dialoghintergrund gezeichnet wird. FRAME- und LINE-Steuerelemente in einem Dialogfeld mit diesem Stil verwenden normalerweise den erweiterten Stil %WS_EX_TRANSPARENT, sodass der Hintergrund dieser Steuerelemente vom Dialogfeld gezeichnet wird, bevor die Steuerelemente gezeichnet werden. %WS_CLIPCHILDREN wird häufig verwendet, um das Flimmern beim Neuzeichnen zu reduzieren, wenn die Größe eines Dialogfelds im %WS_THICKFRAME-Stil geändert wird.

%WS_CLIPSIBLINGS

Untergeordnete Steuerelemente werden voneinander abgeschnitten (nicht überzeichnet), wenn das Dialogfenster neu gezeichnet wird. (Standard)

%WS_DISABLED

Erstellen Sie einen Dialog, der zunächst deaktiviert ist. Ein deaktivierter Dialog kann keine Eingaben vom Benutzer empfangen.

%WS_DLGFRAME

Erstellen Sie ein Fenster mit einem Rahmen im Stil, der normalerweise für Dialogfelder verwendet wird. (Standard)

%WS_HSCROLL

Der Dialog enthält eine horizontale Bildlaufleiste.

%WS_ICONIC

Erstellen Sie ein zunächst minimiertes Dialogfeld, genau wie der %WS_MINIMIZE-Stil.

%WS_MAXIMIZE

Erstellen Sie einen zunächst maximierten Dialog.

%WS_MAXIMIZEBOX

Erstellen Sie ein Dialogfeld mit der Schaltfläche „Maximieren“. Verwendung mit dem %WS_SYSMENU-Stil.

%WS_MINIMIZE

Erstellen Sie ein zunächst minimiertes Dialogfeld, genau wie der %WS_ICONIC-Stil.

%WS_MINIMIZEBOX

Erstellen Sie ein Dialogfeld mit der Schaltfläche „Minimieren“. Verwendung mit dem %WS_SYSMENU-Stil.

%WS_OVERLAPPED

Erstellen Sie ein überlappendes Fenster. Ein überlappendes Fenster hat eine Titelleiste (Beschriftung) und einen Rahmen. Synonym des veralteten Stils %WS_TILED.

%WS_OVERLAPPEDWINDOW

Kombinationsstil, der einen überlappenden Dialog erzeugt. Besteht aus den Stilen %WS_CAPTION, %WS_SYSMENU, %WS_THICKFRAME, %WS_MINIMIZEBOX, %WS_MAXIMIZEBOX und %WS_OVERLAPPED.

%WS_POPUP

Erstellen Sie einen Popup-Dialog. Bei alleiniger Verwendung wird ein flacher Dialog ohne Beschriftung oder Rahmen erstellt. Kombinieren Sie es mit %DS_MODALFRAME, um einen 3D-Rahmen zu erstellen. Ein Popup-Dialogfeld kann ein anderes Fenster oder Dialogfeld überlappen. (Standard)

%WS_POPUPWINDOW

Erstellen Sie ein Popup-Dialogfeld, jedoch mit Rahmen und Systemmenü. Besteht aus %WS_BORDER, %WS_POPUP und %WS_SYSMENU. Kombinieren Sie %WS_POPUPWINDOW mit %WS_CAPTION, um das Fenstermenü sichtbar zu machen.

%WS_SYSMENU

Erstellen Sie ein Dialogfeld, dessen Titelleiste ein Systemmenüfeld enthält. Muss mit dem %WS_CAPTION-Stil verwendet werden.

%WS_THICKFRAME

Erstellen Sie einen Dialog mit einem Größenrahmen. Das heißt, die Größe des Dialogs kann geändert werden.

%WS_VSCROLL

Der Dialog enthält eine vertikale Bildlaufleiste. Siehe auch %WS_EX_LEFTSCROLLBAR.

exstyle&

Eine optionale Bitmaske im erweiterten Stil, die beschreibt, wie der Dialog angezeigt werden soll. Der standardmäßige erweiterte Dialogstil umfasst %WS_EX_LEFT mit %WS_EX_LTRREADING und %WS_EX_RIGHTSCROLLBAR. Der standardmäßige erweiterte Stil wird nur verwendet, wenn in der DIALOG NEW-Anweisung keine expliziten primären oder erweiterten Stilparameter vorhanden sind.

PBXB64-Qualifikation: Wenn x& und y& weggelassen werden, wird der Dialog im Windows-Arbeitsbereich zentriert. Ein expliziter style&-Wert, auch Null, ersetzt die primären Standardwerte; ein expliziter exstyle&-Wert, auch Null, ersetzt die erweiterten Standardwerte. Die automatischen Ergänzungen DS_NOFAILCREATE, DS_SETFONT und DS_3DLOOK bei einem expliziten Primärstil sind durch tests/pb/test_dialog_new_defaults.pb abgedeckt.

Ein expliziter erweiterter Stilwert kann eine Kombination der folgenden Werte sein, kombiniert mit dem OR-Operator, um eine Bitmaske zu bilden:

%WS_EX_ACCEPTFILES

Der Dialog akzeptiert Drag-and-Drop-Dateien. Die Dialog-Rückruffunktion empfängt eine %WM_DROPFILES-Nachricht, wenn Dateien im Dialog abgelegt wurden.

%WS_EX_APPWINDOW

Erzwingen Sie einen Dialog der obersten Ebene in der Anwendungs-Taskleiste, wenn das Fenster minimiert ist.

%WS_EX_CLIENTEDGE

Der Dialog hat einen Rand mit einer versunkenen Kante.

%WS_EX_CONTEXTHELP

Fügen Sie ein Fragezeichen in die Titelleiste des Dialogs ein. Wenn der Benutzer auf das Fragezeichen klickt, verwandelt sich der Cursor in ein Fragezeichen mit einem Zeiger. Wenn der Benutzer dann auf ein untergeordnetes Fenster klickt, erhält das untergeordnete Fenster eine %WM_HELP-Nachricht. Siehe auch %DS_CONTEXTHELP.

%WS_EX_CONTROLPARENT

Mit der TAB-Taste kann der Benutzer zwischen den untergeordneten Dialogen des Fensters navigieren. Siehe %DS_CONTROL.

%WS_EX_LEFT

Der Dialog verfügt über generische „linksbündige“ Eigenschaften. (Standard)

%WS_EX_LEFTSCROLLBAR

Falls vorhanden, wird die vertikale Bildlaufleiste links vom Clientbereich positioniert. Siehe auch %WS_VSCROLL.

%WS_EX_LTRREADING

Zeigen Sie den Dialogtext mithilfe der Leserichtungseigenschaften von links nach rechts an. (Standard)

%WS_EX_NOPARENTNOTIFY

Unterdrücken Sie %WM_PARENTNOTIFY-Meldungen, wenn ein Dialog erstellt oder zerstört wird.

%WS_EX_OVERLAPPEDWINDOW

Bestehend aus den Stilen %WS_EX_CLIENTEDGE und %WS_EX_WINDOWEDGE.

%WS_EX_PALETTEWINDOW

Bestehend aus den Stilen %WS_EX_WINDOWEDGE, %WS_EX_TOOLWINDOW und %WS_EX_TOPMOST.

%WS_EX_RIGHT

Dialog verfügt über generische „rechtsbündige“ Eigenschaften, die von der Fensterklasse abhängen. Dieser Stil hat nur dann eine Auswirkung, wenn die Shell-Sprache Hebräisch, Arabisch oder eine andere Sprache ist, die die Ausrichtung der Lesereihenfolge unterstützt. Andernfalls wird der Stil ignoriert.

%WS_EX_RIGHTSCROLLBAR

Falls vorhanden, wird die vertikale Bildlaufleiste rechts vom Clientbereich positioniert. Siehe %WS_VSCROLL. (Standard)

%WS_EX_RTLREADING

Wenn die Shell-Sprache Hebräisch, Arabisch oder eine andere Sprache ist, die die Ausrichtung der Leserichtung unterstützt, wird der Dialogtext mit den Eigenschaften der Leserichtung von rechts nach links angezeigt. Bei anderen Sprachen wird der Stil ignoriert.

%WS_EX_STATICEDGE

Dialog hat einen 3D-Rand. Wird hauptsächlich für Dialoge verwendet, die keine Benutzereingabe erfordern.

%WS_EX_TOOLWINDOW

Erstellen Sie ein Werkzeugfenster (ein Fenster, das als schwebende Symbolleiste verwendet werden soll). Ein Werkzeugfenster hat einen kürzeren Beschriftungsbereich als normal und die Dialogbeschriftung wird mit einer kleineren Schriftart gezeichnet. In der Taskleiste oder in dem Fenster, das erscheint, wenn der Benutzer ALT+TAB drückt, wird kein Toolfenster angezeigt. Bei den Hybridversionen von Windows (95/98/ME) muss dieser erweiterte Stil möglicherweise nach der Erstellung mithilfe der SetWindowLong-API-Funktion hinzugefügt werden.

%WS_EX_TOPMOST

Platzieren Sie den Dialog über allen nicht ganz oben liegenden Fenstern und lassen Sie ihn darüber, auch wenn der Dialog deaktiviert ist.

%WS_EX_TRANSPARENT

Steuerelemente/Fenster unterhalb des Dialogs werden gezeichnet, bevor der Dialog gezeichnet wird. Der Dialog gilt als transparent, da Elemente hinter dem Dialog bereits gezeichnet wurden – der Dialog selbst wird nicht anders gezeichnet. Echte Transparenz wird durch die Verwendung von Regionen erreicht – weitere Informationen finden Sie im MSDN.

%WS_EX_WINDOWEDGE

Der Dialog hat einen Rand mit einer erhöhten Kante.

Variable mit langer Ganzzahl, in der das Windows-Fensterhandle des Dialogs gespeichert wird, nachdem es von Windows erstellt und zugewiesen wurde. Dieses Handle sollte mit nachfolgenden DIALOG- und CONTROL-Anweisungen verwendet werden und kann direkt mit Windows-API-Aufrufen verwendet werden.

Wenn der Dialog nicht erstellt werden konnte (z. B. aufgrund geringer Windows-Ressourcen), wird Null zurückgegeben.

PBXB64-Umsetzungshinweise

DIALOG NEU gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG NEU ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD
  • DIALOG DOEVENTS - Hilfe zum PBXB64-Compiler
  • DIALOG END - Hilfe zum PBXB64-Compiler
  • DIALOG HIDE
  • DIALOG MAXIMIZE
  • DIALOG MINIMIEREN
  • DIALOG NONSTABLE - Hilfe zum PBXB64-Compiler
  • DIALOG NORMALISIEREN
  • DIALOG-SET-FARBE
  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • DIALOGSTABILISIEREN
  • DIALOG SHOW STATE
  • TXT Pseudo Object
  • Hilfe zum PBXB64-Compiler


DIALOG NEUZEICHNEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG NEUZEICHNEN

Signalisieren Sie eine bestimmte

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG REDRAW hDlg

Beschreibung

Signalisieren Sie eine bestimmte

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DIALOG REDRAW macht den Zieldialogbereich ungültig und signalisiert, dass ein Neuzeichnen/Neuzeichnen sofort erfolgt, selbst wenn ausstehende Nachrichten in der Nachrichtenwarteschlange vorhanden sind.

hDlg bezieht sich auf den Dialog, der neu gezeichnet werden soll.

Einschränkungen

Es wird nicht empfohlen, die Anweisungen DIALOG REDRAW oder CONTROL REDRAW innerhalb des %WM_PAINT und des zugehörigen Nachrichtenverarbeitungscodes zu verwenden, da sonst eine unendliche Neuzeichnungsschleife auftreten könnte.

PBXB64-Umsetzungshinweise

DIALOG NEU ZEICHNEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG NEU ZEICHNEN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL REDRAW
  • CONTROL SET COLOR
  • DIALOG-SET-FARBE
  • Hilfe zum PBXB64-Compiler


DIALOG NONSTABLE - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG NONSTABLE - Hilfe zum PBXB64-Compiler

Machen Sie ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG NONSTABLE hDlg

Beschreibung

Machen Sie ein

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der durch das Handle hDlg identifizierte Dialog wird instabil gemacht, d. h. er kann vom Benutzer geschlossen werden. Wenn ein Systemmenü vorhanden ist, sind die Schließoption und das Schließfeld aktiviert. Die Schließen-Taste ALT-F4 ist ebenfalls aktiviert. Dies ist der Standardbetriebsmodus.

UI-Prüfung

Dialog- und Control-Seiten sollen das Control erzeugen, den dokumentierten Befehl anwenden und den geänderten Zustand über Getter, Notification oder sichtbares Ergebnis prüfen. Prüfen Sie Handle-Gültigkeit, bevor Nachrichten gesendet werden.

Nachrichten- und Lebensdauerregeln

Dokumentieren Sie Besitzerfenster, Control-ID, Lebensdauer von Child-Handles und ob der Befehl vor oder nach dem Anzeigen des Dialogs gültig ist.

x64-Hinweise

Verwenden Sie zeigergroße Handles und speichern Sie HWND, HDC oder Callback-Zeiger nicht in 32-Bit-Variablen.

PBXB64-Umsetzungshinweise

DIALOG NICHT STABIL gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG NICHT STABIL ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • DIALOGSTABILISIEREN
  • Hilfe zum PBXB64-Compiler


DIALOG NORMALISIEREN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG NORMALISIEREN

Machen Sie ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG NORMALIZE hDlg

Beschreibung

Machen Sie ein

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der durch das Handle hDlg gekennzeichnete Dialog wird in seiner normalen Größe und Position sichtbar gemacht.

UI-Prüfung

Dialog- und Control-Seiten sollen das Control erzeugen, den dokumentierten Befehl anwenden und den geänderten Zustand über Getter, Notification oder sichtbares Ergebnis prüfen. Prüfen Sie Handle-Gültigkeit, bevor Nachrichten gesendet werden.

Nachrichten- und Lebensdauerregeln

Dokumentieren Sie Besitzerfenster, Control-ID, Lebensdauer von Child-Handles und ob der Befehl vor oder nach dem Anzeigen des Dialogs gültig ist.

x64-Hinweise

Verwenden Sie zeigergroße Handles und speichern Sie HWND, HDC oder Callback-Zeiger nicht in 32-Bit-Variablen.

PBXB64-Umsetzungshinweise

DIALOG NORMALISIEREN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG NORMALISIEREN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • DIALOG HIDE
  • DIALOG MAXIMIZE
  • DIALOG MINIMIEREN
  • DIALOG SHOW STATE
  • Hilfe zum PBXB64-Compiler


DIALOG SENDEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG SENDEN

Senden Sie eine

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG SEND hDlg , msg& , wParam& , lParam& [TO lResult& ]

Beschreibung

Senden Sie eine

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg identifiziert den Dialog, der die durch msg& angegebene Nachricht empfangen soll. wParam& ist der erste Nachrichtenparameter und lParam& ist der zweite Nachrichtenparameter.

Standardmäßig übergibt PowerBASIC diese Parameter BYVAL. Wenn erwartet wird, dass der Zieldialog die in den Parametern wParam& und lParam& übergebenen Werte zurückgibt oder ändert, übergeben Sie sie mit VARPTR(), andernfalls werden die Rückgabewerte verworfen. Zum Beispiel:

DIALOG SENDEN CB.HNDL, %WM_USER, VARPTR(Param1&), VARPTR(Param2&)

Der Rückgabewert kann zurückgegeben und in der Variablen lResult& gespeichert werden, nachdem die Nachricht vom Dialog verarbeitet wurde.

Einschränkungen

Wenn der Zieldialog nicht vom selben Thread erstellt wurde, wird die DIALOG SEND-Anweisung blockiert, bis der Thread die Nachricht verarbeitet. Die InSendMessage-API-Funktion gibt TRUE (ungleich Null) zurück, wenn der Rückrufcode gerade eine Nachricht von einem separaten Thread verarbeitet.

Um eine benutzerdefinierte Nachricht an einen Dialog zu senden, verwenden Sie einen Nachrichtenwert im Bereich von (%WM_USER + 500) bis (%WM_USER + &H07FFF) oder verwenden Sie die RegisterWindowMessage-API, um einen eindeutigen Nachrichtenwert vom Betriebssystem zu erhalten.

Ein Dialogrückruf kann eine Nachricht an seinen eigenen Dialog senden, es sollte jedoch darauf geachtet werden, keine Endlosschleife zu erzeugen. Wenn DIALOG SEND eine Nachricht sendet, die im selben Rückruf zurückkommt, in dem die Nachricht ihren Ursprung hatte, sollte außerdem darauf geachtet werden, dass kritische STATIC- und GLOBAL-Variablen nicht unerwartet durch den zweiten Nachrichtenverarbeitungscode im Rückruf geändert werden. Dies wird als reentrant Code Design bezeichnet.

PBXB64-Umsetzungshinweise

DIALOG SENDEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG SENDEN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL SEND
  • Hilfe zum PBXB64-Compiler


DIALOG SET CLIENT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG SET CLIENT

&Auml;ndern Sie die Gr&ouml;&szlig;e von a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG SET CLIENT hDlg , x& , y&

Beschreibung

Ändern Sie die Größe von a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf das Handle des zu ändernden Dialogs. x& und y& geben die neue Breite und Höhe des Dialog-Client-Bereichs an. x& und y& werden in Dialogeinheiten oder Pixeln angegeben, je nachdem, welches System bei der Erstellung des Dialogs verwendet wurde.

Abhängig von der Art der verwendeten Rahmen kann die Größe des Dialog-Clients kleiner als die Gesamtgröße sein. Der Clientbereich ist der Teil unterhalb der Dialogüberschrift und ein eventuelles Menü, in dem Steuerelemente platziert werden können.

PBXB64-Umsetzungshinweise

DIALOGSET-CLIENT gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOGSET-CLIENT ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • DIALOG NEU
  • DIALOGPIXEL
  • DIALOGEINHEITEN
  • DIALOG GET CLIENT
  • DIALOG GET LOC
  • DIALOG GET SIZE
  • DIALOG SET LOC
  • DIALOG-SET-GRÖSSE
  • Hilfe zum PBXB64-Compiler


DIALOG SET LOC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG SET LOC

&Auml;ndern Sie die Position von a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG SET LOC hDlg , x& , y&

Beschreibung

Ändern Sie die Position von a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

HDlg identifiziert den neu zu positionierenden Dialog. x& und y& geben die neuen Koordinaten der oberen linken Ecke des Zieldialogs an. x& und y& sind die horizontalen bzw. vertikalen Koordinaten. Wenn der Dialog mit der Option PIXELS in der DIALOG NEW-Anweisung erstellt wurde, werden die Werte in Pixeleinheiten zurückgegeben. Wenn die Option UNITS verwendet wurde (oder keine Skalierungsoption angegeben wurde), werden die Werte in Dialogeinheiten zurückgegeben.

Wenn der Dialog über ein übergeordnetes Element verfügt, sind die Koordinaten relativ zur oberen linken Ecke des Clientbereichs des übergeordneten Dialogfelds. Andernfalls beziehen sich die Koordinaten auf die obere linke Ecke des Desktop-Arbeitsbereichs.

PBXB64-Umsetzungshinweise

DIALOG SET LOC gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG SET LOC ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • DIALOG GET CLIENT
  • DIALOG GET LOC
  • DIALOG GET SIZE
  • DIALOGPIXEL
  • DIALOG-SET-GRÖSSE
  • DIALOGEINHEITEN
  • Hilfe zum PBXB64-Compiler


DIALOG SET TEXT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG SET TEXT

Setzen Sie den Text in a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG SET TEXT hDlg , titletext$

Beschreibung

Setzen Sie den Text in a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Beschriftung des durch hDlg angegebenen Dialogs oder Fensters wird mit der DIALOG SET TEXT-Anweisung festgelegt. Bei DDT-Dialogen ist hDlg das Dialoghandle, das von der DIALOG NEW-Anweisung zurückgegeben wird. In einer Dialog-Callback-Funktion gibt die CB.HNDL-Funktion das übergeordnete Dialog-Handle zurück und dieses kann auch mit DIALOG SET TEXT verwendet werden.

Titeltext$

Der Beschriftungstext wird in titletext$ angegeben. Wenn das Fenster oder der Dialog ungültig ist, wird der Vorgang ignoriert.

Einschränkungen

hDlg ist ein Dialog- oder Fensterhandle, daher funktioniert DIALOG SET TEXT sowohl mit DDT-Dialogen als auch mit herkömmlichen Fenstern und Dialogen.

PBXB64-Umsetzungshinweise

DIALOG TEXT EINSTELLEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG TEXT EINSTELLEN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CB Callback functions
  • CONTROL GET TEXT
  • CONTROL SET TEXT
  • DIALOG GET TEXT
  • DIALOG NEU
  • DIALOGSATZ-SYMBOL
  • Hilfe zum PBXB64-Compiler


DIALOG SET USER - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG SET USER

Legen Sie einen Wert im Benutzerdatenbereich von a fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG SET USER hDlg , index& , usrval&

Beschreibung

Legen Sie einen Wert im Benutzerdatenbereich von a fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Jeder DDT-Dialog verfügt über einen Benutzerdatenbereich, der aus acht Long-Integer-Werten besteht, die nach Ermessen des Programmierers zum Speichern relevanter Daten verwendet werden können. Mit DIALOG SET USER kann einer der Werte basierend auf dem Indexparameterwert (1 bis 8) festgelegt werden.

hDlg bezieht sich auf den Dialog, der den Benutzerdatenbereich besitzt.

index& ist die Indexnummer des festzulegenden Benutzerdatenwerts im Bereich von 1 bis einschließlich 8.

usrval& ist der lange ganzzahlige Datenwert, der im Benutzerdatenbereich gespeichert werden soll.

Einschränkungen

Bei der Zerstörung des Dialogs gehen Daten im Benutzerdatenbereich verloren. Der Datenbereich ist vollständig vom von Windows verwalteten %GWL_USERDATA-Bereich getrennt.

PBXB64-Umsetzungshinweise

DIALOG SET BENUTZER gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG SET BENUTZER ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • COMBOBOX ADD
  • CONTROL GET USER
  • CONTROL SET USER
  • DIALOG GET USER
  • LISTBOX ADD
  • LISTVIEW DELETE COLUMN
  • TREEVIEW DELETE
  • Hilfe zum PBXB64-Compiler


DIALOG SHOW MODAL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG SHOW MODAL

Anzeigen und Aktivieren eines

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG SHOW MODAL hDlg [[,] CALL callback ] [TO lResult& ]

Beschreibung

Anzeigen und Aktivieren eines

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg identifiziert einen Dialog, der mit DIALOG NEW erstellt wurde. Sie können eine Callback-Funktion für alle Dialognachrichten angeben, indem Sie das Schlüsselwort CALL verwenden, gefolgt vom Namen der Callback-Funktion.

Bei der Anzeige eines modalen Dialogs wird die DIALOG SHOW MODAL-Anweisung blockiert, bis der Dialog mit DIALOG END zerstört wird. Während der Dauer des Dialogs wird der Callback-Funktionscode als Reaktion auf Nachrichten für den Dialog ausgeführt.

Wenn in der DIALOG NEW-Anweisung ein übergeordnetes Fenster angegeben wurde, ist das übergeordnete Fenster deaktiviert, bis der modale Dialog zerstört wird.

Rückruf

Falls angegeben, werden Dialognachrichten an die angegebene Callback-Funktion weitergeleitet.

Kurz bevor ein Dialog zum ersten Mal angezeigt wird, wird der Callback-Funktion des Dialogs eine %WM_INITDIALOG-Nachricht gesendet. Durch die Verarbeitung dieser Nachricht innerhalb des Dialogrückrufs kann eine Anwendung die Gelegenheit nutzen, Steuerelemente mit Daten zu laden, bevor die Steuerelemente für den Benutzer sichtbar werden. Beispielsweise könnte ein Listenfeld-Steuerelement mit einer Liste von Elementen geladen werden, sodass das Steuerelement bei der ersten Anzeige mit Daten gefüllt erscheint.

Der angegebene Name der Callback-Funktion muss eine CALLBACK-FUNCTION sein, sonst tritt beim Kompilieren der Fehler 547 („Callback-Funktion erforderlich“) auf.

lErgebnis&

Wenn der modale Dialog mit der DIALOG END-Anweisung zerstört wird, wird der resultierende Wert der Variablen lResult& zugewiesen, sofern angegeben. lResult& wird vom Compiler davon ausgeschlossen, eine Registervariable zu werden, da dieser Wert von außerhalb der Funktion zugewiesen werden kann, die die DIALOG SHOW MODAL-Anweisung enthält, und dies nur mit einer Speichervariablen durchgeführt werden darf. Wenn die Zielvariable jedoch explizit als Registervariable deklariert wird, löst PowerBASIC beim Kompilieren den Fehler 491 („Ungültige Registervariable“) aus.

PBXB64-Umsetzungshinweise

DIALOGMODAL ANZEIGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOGMODAL ANZEIGEN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • DIALOG END - Hilfe zum PBXB64-Compiler
  • DIALOG NEU
  • DIALOG SHOW MODELESS
  • Hilfe zum PBXB64-Compiler


DIALOG SHOW MODELESS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG SHOW MODELESS

Anzeigen und Aktivieren eines

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG SHOW MODELESS hDlg [[,] CALL callback ] [TO lResult& ]

Beschreibung

Anzeigen und Aktivieren eines

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg identifiziert einen Dialog, der mit DIALOG NEW erstellt wurde. Sie können eine Rückruffunktion für alle Dialognachrichten angeben, indem Sie das Schlüsselwort CALL gefolgt vom Namen der Rückruffunktion verwenden.

Sobald ein modales Dialogfeld angezeigt wird, wird die DIALOG SHOW MODELESS-Anweisung abgeschlossen und die Ausführung des Codes fortgesetzt. Gleichzeitig kann der Dialog Nachrichten empfangen und über die Callback-Funktion verarbeiten. Auf eine DIALOG SHOW MODELESS-Anweisung folgt normalerweise eine Message-Pump-Schleife. Weitere Informationen finden Sie in den Beispielen unter DIALOG DOEVENTS .

Rückruf

Falls angegeben, werden Dialognachrichten an die angegebene Callback-Funktion weitergeleitet.

Der angegebene Name der Callback-Funktion muss eine CALLBACK-FUNCTION sein, sonst tritt beim Kompilieren der Fehler 547 („Callback-Funktion erforderlich“) auf.

lErgebnis&

Wenn der modale Dialog mit der DIALOG END-Anweisung zerstört wird, wird der resultierende Wert der Variablen lResult& zugewiesen, sofern angegeben. lResult& wird vom Compiler davon ausgeschlossen, eine Registervariable zu werden, da dieser Wert von außerhalb der Funktion zugewiesen werden kann, die die DIALOG SHOW MODELESS-Anweisung enthält, und dies nur mit einer Speichervariablen durchgeführt werden darf. Wenn die Zielvariable jedoch explizit als Registervariable deklariert wird, löst PowerBASIC beim Kompilieren den Fehler 491 („Ungültige Registervariable“) aus.

PBXB64-Implementierungsumfang

Der zertifizierte Link-/Run-Test deckt DIALOG SHOW MODELESS hDlg ohne Rückruf ab und führt eine native Anzeige-/Aktualisierungsoperation aus. Die dokumentierte CALL-Rückrufklausel wird explizit abgelehnt, bis die Rückrufstatus-Weiterleitung implementiert ist; sie wird nicht stillschweigend ignoriert.

PBXB64-Umsetzungshinweise

DIALOG ZEIGEN MODELLLOS gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG ZEIGEN MODELLLOS ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • DIALOG DOEVENTS - Hilfe zum PBXB64-Compiler
  • DIALOG END - Hilfe zum PBXB64-Compiler
  • DIALOG NEU
  • DIALOG SHOW MODAL
  • Hilfe zum PBXB64-Compiler


DIALOG SHOW STATE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG SHOW STATE

&Auml;ndern Sie den sichtbaren Zustand von a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG SHOW STATE hDlg , showstate& [TO lResult& ]

Beschreibung

Ändern Sie den sichtbaren Zustand von a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DIALOG SHOW STATE ändert den sichtbaren Status des durch hDlg identifizierten Dialogs.

showstate& kann einer der folgenden Werte sein:

%SW_HIDE

Blenden Sie den Dialog aus.

%SW_MAXIMIZE

Maximiert den angegebenen Dialog.

%SW_MINIMIZE

Minimiert den angegebenen Dialog.

%SW_RESTORE

Aktivieren Sie den Dialog und zeigen Sie ihn an. Wenn das Dialogfeld minimiert oder maximiert wird, stellt Windows seine ursprüngliche Größe und Position wieder her. Eine Anwendung sollte dieses Flag angeben, wenn sie einen minimierten Dialog wiederherstellt.

%SW_SHOW

Aktivieren Sie den Dialog und zeigen Sie ihn in seiner aktuellen Größe und Position an.

%SW_SHOWMAXIMIZED

Synonym von %SW_MAXIMIZE.

%SW_SHOWMINIMIZED

Aktivieren Sie den Dialog und minimieren Sie ihn.

%SW_SHOWNA

Zeigt den Dialog in seinem aktuellen Zustand an, ohne ihn zu aktivieren. Das aktuell aktive Fenster bleibt aktiv.

%SW_SHOWNOACTIVATE

Zeigen Sie den Dialog in seiner aktuellen Größe und Position an, ohne ihn zu aktivieren. Das aktuell aktive Fenster bleibt aktiv.

%SW_SHOWNORMAL

Aktivieren Sie den Dialog und zeigen Sie ihn an. Wenn das Dialogfeld minimiert oder maximiert wird, stellt Windows seine ursprüngliche Größe und Position wieder her.

Wenn der optionale Parameter lResult& verwendet wird, enthält er den vorherigen Sichtbarkeitsstatus. Wenn lResult& auf TRUE (ungleich Null) gesetzt ist, war der Dialog sichtbar. Wenn der Dialog zuvor ausgeblendet war, wird lResult& auf FALSE (Null) gesetzt.

Einschränkungen

In früheren Versionen von PowerBASIC durfte der DIALOG SHOW STATE nicht ausgeführt werden, bevor eine DIALOG SHOW MODAL- oder DIALOG SHOW MODELESS-Anweisung für diesen bestimmten Dialog ausgeführt wurde. Ab dieser Version von PowerBASIC kann DIALOG SHOW STATE vor oder nach der Aktivierung des Dialogs mit der Anweisung DIALOG SHOW MODAL oder DIALOG SHOW MODELESS ausgeführt werden.

Bei Verwendung vor der Dialogaktivierung werden die Attribute %SW_HIDE, %SW_MAXIMIZE und %SW_MINIMIZE für die Verwendung bei der Aktivierung gespeichert. Alle anderen möglichen Attribute werden in den Standard %SW_SHOW übersetzt. Im Allgemeinen ist es unklug, %SW_HIDE mit einem modalen Dialog zu verwenden.

DIALOG SHOW STATE kann verwendet werden, um einen Dialog anzuzeigen, bevor die Nachrichtenpumpe für einen moduslosen Dialog zu arbeiten beginnt (d. h. nach der DIALOG SHOW MODELESS-Anweisung usw.). Bis die Nachrichtenpumpe ihren Betrieb aufnimmt, wird der Dialog jedoch möglicherweise nicht vollständig gezeichnet oder angezeigt.

Weitere Informationen zu Nachrichtenpumpen finden Sie unter DIALOG DOEVENTS und DIALOG SHOW MODELESS .

PBXB64-Umsetzungshinweise

DIALOG STATUS ANZEIGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG STATUS ANZEIGEN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL SHOW STATE
  • DIALOG DOEVENTS - Hilfe zum PBXB64-Compiler
  • DIALOG HIDE
  • DIALOG MAXIMIZE
  • DIALOG MINIMIEREN
  • DIALOG NONSTABLE - Hilfe zum PBXB64-Compiler
  • DIALOG NORMALISIEREN
  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • DIALOGSTABILISIEREN
  • Hilfe zum PBXB64-Compiler


DIALOG TRAXOMATIC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG TRAXOMATIC

Proportionale PowerTrax-Groessenanpassung und Positionsverfolgung fuer einen Dialog aktivieren.

Kategorie: Allgemeine Referenz

Syntax

DIALOG TRAXOMATIC hDlg, TraxBits

Beschreibung

Proportionale PowerTrax-Groessenanpassung und Positionsverfolgung fuer einen Dialog aktivieren.

Typ: Anweisung | Kategorie: Benutzeroberflaeche, Grafik und DDT

PBXB64-Status: TEILWEISE: Syntax, alle acht Trax-Konstanten und proportionale Positions-/Groessenverfolgung fuer ein registriertes DDT-Kinddialogfenster sind implementiert und getestet. PowerTrax-Prozentkoordinaten und automatische Skalierungsvererbung bleiben offen.

PBXB64-Zertifizierung: [TESTS/PB/TEST_TRAXOMATIC.PB BESTANDEN]

Beschreibung

hDlg ist das untergeordnete Dialogfenster. Der Eltern-Dialog muss mit DDT erzeugt worden sein. Wenn sich seine Groesse aendert, berechnet PBXB64 die ausgewaehlten Positions- und Groessenachsen aus dem urspruenglichen Rechteck relativ zum Eltern-Clientbereich neu.

TraxBits

%Trax.Full    Groesse und Position
%Trax.High    Hoehe
%Trax.Wide    Breite
%Trax.Size    Hoehe und Breite
%Trax.Vert    Vertikale Position
%Trax.Horz    Horizontale Position
%Trax.Posn    Horizontale und vertikale Position
%Trax.None    TRAXOMATIC-Verfolgung deaktivieren

Die aktuelle Laufzeit wendet die ausgewaehlten Achsen im WM_SIZE-Pfad des Eltern-Dialogs an. Der fokussierte Test tests/pb/test_traxomatic.pb prueft alle acht Konstanten sowie die vollstaendige Positions-/Groessenanpassung fuer einen Kinddialog und ein Control.

Bekannte Grenze: Die PB-Originalbeschreibung aktiviert zusaetzlich den PowerTrax-Modus. PBXB64 implementiert derzeit noch kein DIALOG NEW TRAX, keine prozentualen Control-Erzeugungswerte und keine Skalierungsvererbung.

Siehe auch

  • CONTROL TRAXOMATIC
  • DIALOG XLAT
  • DIALOG NEU
  • Hilfe zum PBXB64-Compiler


DIALOG XLAT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG XLAT

DDT-Koordinaten von einem unterstuetzten Einheitensystem in ein anderes umrechnen.

Kategorie: Allgemeine Referenz

Syntax

DIALOG XLAT Scale1 hDlg, x, y TO Scale2 xx, yy

Beschreibung

DDT-Koordinaten von einem unterstuetzten Einheitensystem in ein anderes umrechnen.

Typ: Anweisung | Kategorie: Benutzeroberflaeche, Grafik und DDT

PBXB64-Status: ZERTIFIZIERT (alle fuenf dokumentierten Einheiten)

PBXB64-Zertifizierung: [alle fuenf Skalen getestet]

Beschreibung

Die Original-PB-Einheitensysteme sind PIXELS, METRIX, TRAX (PowerTrax), TWIPS und UNITS (Dialogeinheiten). Die Werte x und y werden von Scale1 nach Scale2 umgerechnet und in xx und yy gespeichert.

Dialogeinheiten haengen von der Standardschrift von hDlg ab. TRAX verwendet die Clientgroesse des Dialogs als prozentuale PowerTrax-Skala; METRIX verwendet die Bildschirmgroesse als 0-bis-1000-Skala. Alle Umrechnungen laufen ueber Pixel.


DIALOG-SET-FARBE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG-SET-FARBE

Legen Sie den Hintergrund fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG SET COLOR hDlg , foreclr& , backclr&

Beschreibung

Legen Sie den Hintergrund fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

HDlg identifiziert den Dialog, der eingefärbt werden soll.

Die Farbwerte foreclr& und backclr& müssen im Bereich von &H0 bis &H00FFFFFF liegen, während der Wert -1& zur Angabe der Systemstandardfarbe verwendet wird. RGB kann eine nützliche Funktion sein, um einen 32-Bit-Farbwert aus diskreten Rot-, Grün- und Blauwerten abzuleiten.

forcr&

In der aktuellen Implementierung von PowerBASIC wird der Dialog-Vordergrundfarbparameter foreclr& nicht verwendet, die Syntax wird jedoch für zukünftige Implementierungen beibehalten. Es wird empfohlen, den Vordergrundfarbparameter auf -1& zu setzen.

backclr&

Im Farbtiefenmodus mit 16 Bit oder mehr wird die angegebene RGB-Farbe verwendet, wenn der Hintergrund des Dialogfelds gezeichnet wird. Wenn backclr& = -1&, wird die Standardhintergrundfarbe des Dialogs verwendet. Wenn backclr& = -2&, wird der Dialoghintergrund nicht gezeichnet, sodass der Inhalt hinter dem Dialog durch den Dialog hindurch sichtbar wird.

Im Farbtiefenmodus mit 16 Bit oder mehr wird die angegebene RGB-Farbe verwendet, wenn der Hintergrund des Dialogfelds gezeichnet wird. Im 8-Bit-Modus (256 Farben) funktioniert das Farbsystem jedoch ganz anders. Hinter den Kulissen von Windows enthält die Basissystempalette normalerweise 20 Volltonfarben, die beim Zeichnen auf einem Dialoghintergrund nicht gedithert werden. Diese Volltonfarben eignen sich ideal für Hintergrundfarben bei DDT-Dialogen im 256-Farben-Modus.

Wenn umgekehrt ein nicht fester RGB-Farbwert verwendet wird, schwankt Windows (annähernd) bei der Farbe, um das Dialogfeld zu zeichnen, indem es Kombinationen aus zwei oder mehr Farben verwendet. Dies führt meist zu einem unerwünschten Mustereffekt.

Um diese Probleme im 256-Farben-Modus zu vermeiden, sollten Dialoge entweder mit einer der 20 Standard-Systemfarben (durchgehend) eingefärbt werden oder stattdessen die Standardfarbe verwendet werden. PowerBASIC enthält die folgenden 10 integrierten Funktionen, die bei der Auswahl einer Standard-Volltonfarbe helfen:

%RGB_BLACK %RGB_BLUE %RGB_GREEN %RGB_CYAN %RGB_RED

% RGB_ MAGENTA %RGB_YELLOW %RGB_WHITE %RGB_GRAY %RGB_LIGHTGRAY

Viele nicht standardmäßige Farben sind ebenfalls in den Compiler integriert. Eine vollständige Liste finden Sie im Thema „Integrierte RGB-Farbgleichungen“.

Wenn Sie die Farbe im 256-Farben-Modus lieber deaktivieren möchten, können Sie die Anzahl der Farben einfach mit dem folgenden Code testen:

' Anzahl der Farben bestimmen

LOKALES HDC ALS DWORD, iColors SO LANG

hDC = GetWindowDC(GetDeskTopWindow())

iColors = 2& ^ (GetDeviceCaps(hDC, %BITSPIXEL) * GetDeviceCaps(hDC, %PLANES))

ReleaseDC GetDeskTopWindow(), hDC

IF iColors > 256 THEN _

DIALOG SET FARBE hdlg, -1, RGB(0,100,192)

Im 256-Farben-Modus auf den meisten Computern können die Werte der standardmäßigen 20 Systemfarben ermittelt werden, indem die ersten und letzten 10 (0 bis 9 und 246 bis 255 einschließlich) Einträge von der GetSystemPaletteEntries-API-Funktion wie folgt angefordert werden:

' Array mit Volltonfarben füllen

DIM hDC ALS DWORD, Spalten SO LANG, x SO LANG

hDC = GetWindowDC(GetDesktopWindow)

Cols = GetDeviceCaps(hDC, %NUMRESERVED)

REDIM lp(1 TO Cols) SO LONG

x& = GetSystemPaletteEntries(hDC, 0, Cols \ 2, BYVAL VARPTR(lp(1)))

x& = GetSystemPaletteEntries(hDC, 256 - x&, Cols - x&, BYVAL VARPTR(lp(x& + 1)))

ReleaseDc GetDesktopWindow, hDC

' Array lp() enthält jetzt die Volltontabelle

Weitere Informationen zum Arbeiten mit Paletten im 256-Farben-Modus finden Sie in WIN32.HLP oder unter http://msdn.microsoft.com.

Beim dynamischen Ändern der Farben eines Dialogs innerhalb eines Rückrufs (d. h. nach der DIALOG SHOW-Anweisung) sollte auf eine DIALOG SET COLOR-Anweisung unmittelbar eine explizite DIALOG REDRAW-Anweisung folgen.

Ohne eine erzwungene Neuzeichnung des Dialogs wird die Änderung der Hintergrundfarbe des Dialogs für den Benutzer möglicherweise erst sichtbar, wenn der Dialog schließlich im normalen Verlauf der Benutzerinteraktion neu gezeichnet wird. Ein normales Repaint kann beispielsweise nur erfolgen, wenn der Dialog verdeckt wird und dann von einem anderen Fenster aufgedeckt wird. Durch die rechtzeitige Neugestaltung des Dialogs wird sichergestellt, dass der Dialog jederzeit ein aktuelles Erscheinungsbild behält.

PBXB64-Umsetzungshinweise

DIALOG FARBE EINSTELLEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG FARBE EINSTELLEN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Built In RGB Color Equates
  • Dynamic Dialog Tools (DDT)
  • CONTROL REDRAW
  • DIALOG NEUZEICHNEN
  • CONTROL SET COLOR
  • DIALOGSATZ-SYMBOL
  • Hilfe zum PBXB64-Compiler


DIALOG-SET-GRÖSSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG-SET-GRÖSSE

&Auml;ndern Sie die Gr&ouml;&szlig;e von a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG SET SIZE hDlg , nWide& , nHigh&

Beschreibung

Ändern Sie die Größe von a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

HDlg identifiziert den Dialog, dessen Größe geändert werden soll. nwide& und nhigh& geben die neue Breite und Höhe des Dialogs in Dialogeinheiten an. Wenn der Dialog mit der Option PIXELS in der DIALOG NEW-Anweisung erstellt wurde, werden die Werte in Pixeleinheiten festgelegt. Wenn die Option UNITS verwendet wurde (oder keine Skalierungsoption angegeben wurde), werden die Werte in Dialogeinheiten festgelegt.

PBXB64-Umsetzungshinweise

DIALOGGRÖSSE EINSTELLEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOGGRÖSSE EINSTELLEN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • DIALOG GET CLIENT
  • DIALOG GET LOC
  • DIALOG GET SIZE
  • DIALOGPIXEL
  • DIALOG SET CLIENT
  • DIALOG SET LOC
  • DIALOGEINHEITEN
  • Hilfe zum PBXB64-Compiler


DIALOG-STANDARDSCHRIFTART - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOG-STANDARDSCHRIFTART

Geben Sie den Standardwert an

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG DEFAULT FONT fontname$ [, points& , style& , charset& ]
DIALOG FONT [DEFAULT] fontname$ [, points& , style& , charset& ]

Beschreibung

Geben Sie den Standardwert an

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die DIALOG DEFAULT FONT-Anweisung gibt die Schriftart an, die für alle nachfolgenden mit DIALOG NEW erstellten Dialoge verwendet wird, bis eine weitere DIALOG DEFAULT FONT-Anweisung ausgeführt wird. Wenn eine DIALOG NEW-Anweisung ausgeführt wird, wird ihr die ausgewählte Standardschriftart und ihre vhild-Steuerelemente für die gesamte Lebensdauer des Dialogs zugeordnet.

Die Standardschriftart ist besonders wichtig, wenn Sie neue Dialoge erstellen, die Dialogeinheiten (anstelle von Pixeln) als Maßeinheit verwenden. Bei der Größenangabe in Dialogeinheiten berechnet Windows die physische Größe des Fensters unter anderem anhand der Schriftgröße. Durch eine spätere Änderung der Schriftgröße wird die Fenstergröße nicht aktualisiert.

Sie können den Wert Null (0) für jeden der numerischen Parameter verwenden, um anzugeben, dass der Compiler den Standardwert für dieses Element verwenden soll. Wenn Parameter fehlen, ersetzt der Compiler alle verbleibenden Parameter durch den Standardwert. Wenn keine DIALOG DEFAULT FONT-Anweisung ausgeführt wird, wählt PowerBASIC MS Sans Serif, 8 Punkt, ohne Stilattribute aus.

Bei der Angabe einer Schriftart sollte darauf geachtet werden, eine Standardschriftart zu verwenden, die in allen Windows-Versionen verfügbar ist, z. B. „Times New Roman“, „Arial“, „Courier“, „MS Sans Serif“ usw. Die Angabe eines Schriftartnamens, der nicht verfügbar ist, zwingt Windows dazu, eine Schriftart zu ersetzen, die möglicherweise optisch nicht ansprechend ist, und kann auch die relative Größe des Dialogfelds ändern.

DIALOG DEFAULT FONT ist modulspezifisch. Das heißt, es wirkt sich nur auf nachfolgende Dialoge aus, die durch Code in derselben EXE- oder DLL-Datei erstellt wurden. Beispielsweise hat eine DIALOG DEFAULT FONT-Anweisung in einer DLL keinen Einfluss auf Dialoge, die in der aufrufenden EXE-Datei oder anderen von der EXE-Datei geladenen DLLs erstellt wurden.

PBXB64-Umsetzungshinweise

DIALOG-STANDARDSCHRIFTART gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG-STANDARDSCHRIFTART ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • CONTROL SET FONT
  • Dynamic Dialog Tools (DDT)
  • DIALOG NEU
  • DIALOG-SET-FARBE
  • FONT END
  • SCHRIFTART NEU
  • GRAFIK-SET-SCHRIFTART
  • XPRINT SET FONT
  • Hilfe zum PBXB64-Compiler


DIALOGEINHEITEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOGEINHEITEN

Konvertieren

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG UNITS hDlg , x& , y& TO PIXELS xx& , yy&

Beschreibung

Konvertieren

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die in den Variablen x& und y& angegebenen Dialogeinheiten werden basierend auf der durch hDlg angegebenen Standardschriftart des Dialogs in Pixel konvertiert. Die resultierenden Pixelwerte werden in den Variablen xx& und yy& gespeichert.

UI-Prüfung

Dialog- und Control-Seiten sollen das Control erzeugen, den dokumentierten Befehl anwenden und den geänderten Zustand über Getter, Notification oder sichtbares Ergebnis prüfen. Prüfen Sie Handle-Gültigkeit, bevor Nachrichten gesendet werden.

Nachrichten- und Lebensdauerregeln

Dokumentieren Sie Besitzerfenster, Control-ID, Lebensdauer von Child-Handles und ob der Befehl vor oder nach dem Anzeigen des Dialogs gültig ist.

x64-Hinweise

Verwenden Sie zeigergroße Handles und speichern Sie HWND, HDC oder Callback-Zeiger nicht in 32-Bit-Variablen.

PBXB64-Umsetzungshinweise

DIALOGEINHEITEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOGEINHEITEN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • DIALOG GET CLIENT
  • DIALOG GET LOC
  • DIALOG GET SIZE
  • DIALOGPIXEL
  • DIALOG SET LOC
  • DIALOG-SET-GRÖSSE
  • Hilfe zum PBXB64-Compiler


DIALOGPIXEL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOGPIXEL

Konvertieren Sie Pixel (Ger&auml;teeinheiten) in

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG PIXELS hDlg , x& , y& TO UNITS xx& , yy&

Beschreibung

Konvertieren Sie Pixel (Geräteeinheiten) in

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die in den Variablen x& und y& angegebenen Pixelwerte werden basierend auf der durch hDlg angegebenen Standardschriftart des Dialogs in Dialogeinheiten konvertiert. Der resultierende Wert in Dialogeinheiten wird in den Variablen xx& und yy& gespeichert.

PBXB64-Umsetzungshinweise

DIALOGPIXEL gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOGPIXEL ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • DIALOG GET CLIENT
  • DIALOG GET LOC
  • DIALOG GET SIZE
  • DIALOG SET LOC
  • DIALOG-SET-GRÖSSE
  • DIALOGEINHEITEN
  • Hilfe zum PBXB64-Compiler


DIALOGPOST - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOGPOST

Platzieren Sie a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG POST hDlg , Msg& , wParam& , lParam&

Beschreibung

Platzieren Sie a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DIALOG POST stellt die Nachricht in die Nachrichtenwarteschlange und kehrt sofort zurück. Die Nachricht wird vom Dialog zu einem späteren Zeitpunkt verarbeitet, wenn er die Nachricht aus der Warteschlange liest.

Dieses Verhalten unterscheidet sich deutlich von der DIALOG SEND-Anweisung, die das Steuerelement dazu zwingt, die Nachricht unmittelbar vor der Rückgabe zu verarbeiten. Da es sich bei DIALOG POST um einen asynchronen Vorgang handelt, ist es nicht möglich, einen Rückkehrcode aus der Nachricht abzurufen.

hDlg bezieht sich auf den Zieldialog.

Msg& ist die Nachricht, die Sie im Dialog veröffentlichen möchten.

wParam& ist der erste Nachrichtenparameter. lParam& ist der zweite Nachrichtenparameter. Die Werte von wParam& und lParam& sind nachrichtenabhängig. Standardmäßig übergibt PowerBASIC diese Parameter BYVAL. Wenn erwartet wird, dass der Zieldialog die Werte der in den Parametern wParam& und lParam& übergebenen Variablen ändert, übergeben Sie sie mit VARPTR(), da die Änderungen sonst wahrscheinlich verworfen werden.

Beachten Sie, dass die Adresse der Daten gültig bleiben muss, bis der Dialog die Nachricht verarbeitet und auf die Daten zugegriffen hat. In diesem Fall kann die Verwendung von STATIC- oder GLOBAL-Variablen sehr wichtig sein, da sonst eine allgemeine Schutzverletzung (GPF) auftreten kann (d. h. wenn die Variablen zum Zeitpunkt der Verarbeitung der Nachricht den Gültigkeitsbereich verlassen haben).

Ein Beispiel für die Veröffentlichung der Adressen von Variablen in einem Dialog:

' Sel1& und Sel2& müssen STATIC oder GLOBAL sein

DIALOGPOST CB.HNDL, %WM_USER + 999&, VARPTR(Sel1&), VARPTR(Sel2&)

DIALOG POST kehrt sofort zurück, nachdem die Nachricht in die Warteschlange gestellt wurde.

Um eine benutzerdefinierte Nachricht in einem Dialog zu veröffentlichen, verwenden Sie einen Nachrichtenwert im Bereich von (%WM_USER + 500) bis (%WM_USER + &H07FFF) oder verwenden Sie die RegisterWindowMessage-API, um einen eindeutigen Nachrichtenwert vom Betriebssystem abzurufen. Die Verwendung von Nachrichten mit einem numerischen Wert kleiner als %WM_USER + 500 kann zu Konflikten mit Windows Common Control-Meldungen führen.

PBXB64-Umsetzungshinweise

DIALOGPOST gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOGPOST ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CB Callback functions
  • CONTROL POST
  • CONTROL SEND
  • DIALOG SENDEN
  • Hilfe zum PBXB64-Compiler


DIALOGSATZ-SYMBOL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOGSATZ-SYMBOL

&Auml;ndern Sie beide

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG SET ICON hDlg , newicon$

Beschreibung

Ändern Sie beide

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DIALOG SET ICON ändert sowohl das kleine Symbol (wie es in der Dialogtitelleiste verwendet wird) als auch das große Symbol (sichtbar in der Symbol-Aufgabenliste, die beim Umschalten zwischen ALT+TAB-Aufgaben angezeigt wird).

Handle des Dialogs, dessen Symbol geändert werden soll.

newicon$

Ein Zeichenfolgenausdruck, der den Namen des Symbols in der Ressourcendatei angibt. Wenn die Symbolressource einen ganzzahligen Bezeichner verwendet, sollte newicon$ mit einem Zahlensymbol (#) beginnen, gefolgt vom ganzzahligen Bezeichner im ASCII-Format. Beispiel: „#998“. Andernfalls sollte der Textbezeichnername verwendet werden.

Einschränkungen

DIALOG SET ICON kann keine Bitmap-Dateien verwenden. 32x32-Pixel-Symbole liefern die optisch ansprechendsten Ergebnisse.

PBXB64-Umsetzung: Ressourcenbezeichner verwenden den nativen Loader fuer gruppierte Symbole und fallen bei Bedarf auf die eingebetteten RT_ICON-Daten der PBXB64-Ressourcenpipeline zurueck. Beide Dialogsymbole werden gesetzt; ersetzte dialogeigene Symbole werden beim Ersetzen oder Zerstoeren des Dialogs freigegeben.

Validierung: tests/pb/test_dialog_set_icon.pb prueft eine kompilierte #RESOURCE ICON-Route, und tests/negative/pb/test_dialog_set_icon_missing_operands.pb prueft die fail-closed Arity-Diagnose.

PBXB64-Umsetzungshinweise

DIALOGSET-SYMBOL gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOGSET-SYMBOL ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG BILD HINZUFÜGEN
  • STEUERUNG IMAGEX HINZUFÜGEN
  • STEUERUNG IMGBUTTON HINZUFÜGEN
  • CONTROL ADD IMGBUTTONX
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • DIALOG SET TEXT
  • Hilfe zum PBXB64-Compiler


DIALOGSTABILISIEREN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIALOGSTABILISIEREN

Machen Sie ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIALOG STABILIZE hDlg

Beschreibung

Machen Sie ein

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der durch das Handle hDlg identifizierte Dialog ist stabilisiert, d. h. er kann vom Benutzer nicht geschlossen werden. Wenn ein Systemmenü vorhanden ist, sind die Schließoption und das Schließfeld ausgegraut. Die Schließen-Taste ALT-F4 ist deaktiviert. Dadurch können Sie sicher sein, dass Ihre Vorgänge im Dialog abgeschlossen werden können. Wenn ein Dialog stabilisiert ist, kann er nur durch DIALOGENDE oder Programmbeendigung geschlossen werden.

PBXB64-Umsetzungshinweise

DIALOG STABILISIEREN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

DIALOG STABILISIEREN ist ein DDT-Dialog-Befehl fuer ein Dialogfenster. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Dialog-Handle bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Dialog-Lebenszyklus

Dialogseiten sollen den vollstaendigen Lebenszyklus zeigen: DIALOG NEW erzeugt das Fenster, DIALOG SHOW macht es sichtbar, der Callback verarbeitet Eingaben und DIALOG END beendet die Sitzung. Ein gutes Beispiel prueft, dass der Dialogzustand bis zum expliziten Ende erhalten bleibt.

Nachrichtenfluss

Dialog-Callbacks muessen Nachricht, Parameter und Control-Zustand klar auseinanderhalten. Verwenden Sie die Callback-Hilfen, um Eingaben und Benachrichtigungen zu trennen, und pruefen Sie immer, ob blockierende und modellose Dialogformen denselben Zustandswechsel liefern, den die Seite beschreibt.

Siehe auch

  • DIALOG END - Hilfe zum PBXB64-Compiler
  • DIALOG NONSTABLE - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


Dialogstile - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Dialogstile

Wie Steuerelementstile stellt DDT einen Standardstil f&uuml;r ein Dialogfenster bereit, wenn die DIALOG NEW-Anweisung keinen bestimmten Stilparameter angibt.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wie Steuerelementstile stellt DDT einen Standardstil für ein Dialogfenster bereit, wenn die DIALOG NEW-Anweisung keinen bestimmten Stilparameter angibt.

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Der Standardstil umfasst die Kombination von %WS_POPUP, %WS_CAPTION, %DS_SETFONT, %DS_NOFAILCREATE, %DS_MODALFRAME und %DS_3DLOOK. Diese Entsprechungen entsprechen einem Stil von &H080C00D4. Der Standardwert für den erweiterten Stil ist Null.

Wenn Sie in Ihrer DIALOG NEW-Anweisung explizit %WS_CAPTION angeben, interpretiert DDT die Breiten- und Höhenwerte als Clientabmessungen und nicht als Gesamtdialogabmessungen. Dies kann sehr nützlich sein, wenn Sie einen Dialog mit bestimmten Client-Dimensionen erstellen müssen.

Sie können Dialoge mit Kombinationen der folgenden Stile erstellen:

Beschreibung

Dialogstile ist eine Uebersichtsseite fuer verwandte GUI- und Grafikbefehle. Sie fasst die Familie zusammen und verweist auf die konkreten Befehlsseiten, auf denen die getestete Syntax und das Laufzeitverhalten dokumentiert sind.

Uebersicht und Einstieg

Dialogstile ist eine Uebersichtsseite fuer verwandte GUI- und Grafikbefehle. Verwenden Sie diese Seite als Orientierung, waehrend die konkrete Syntax und die getesteten Details auf den einzelnen Befehlsseiten dokumentiert sind.

Typischer Aufbau

Ein vollstaendiges GUI- oder Grafikprogramm erzeugt zuerst Dialog, Grafikfenster oder Druckkontext, fuegt danach Controls oder Zeichenoperationen hinzu, fragt Zustand ab und gibt Ressourcen am Ende geordnet frei. Diese Reihenfolge macht Fehler bei Handles, IDs und Koordinatensystemen leichter nachvollziehbar.

Verlinkte Befehlsgruppen

  • DIALOG NEW und verwandte DIALOG-Befehle fuer Fenster und Dialogzustand.
  • CONTROL ADD und verwandte CONTROL-Befehle fuer Steuerelemente.
  • GRAPHIC WINDOW und verwandte GRAPHIC-Befehle fuer Zeichenausgabe.
  • XPRINT ATTACH und verwandte XPRINT-Befehle fuer Druckausgabe.


DIGAMMA - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIGAMMA

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = DIGAMMA( x )

Beschreibung

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Semantik

Liefert die reelle Digamma-Funktion psi(x), also die logarithmische Ableitung von Gamma(x), als DOUBLE. Der aktuelle reelle Bereich ist endlich x > 0.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL und UNF werden akzeptiert. Wide- und UN-Eingaben verwenden den numerischen DOUBLE-Weg; negative Pole und beliebig genaue Ergebnisse sind ausserhalb dieses V20-Vertrags.


DIR$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIR$

Gibt einen Dateinamen und/oder einen Verzeichniseintrag zur&uuml;ck, der einer Dateinamenmaske und einem optionalen Attribut entspricht.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

file$ = DIR$( mask$ [, [ONLY] attribute& , TO DirDataVar ])
file$ = DIR$([NEXT] [TO DirDataVar ])

Beschreibung

Gibt einen Dateinamen und/oder einen Verzeichniseintrag zurück, der einer Dateinamenmaske und einem optionalen Attribut entspricht.

Typ:Funktion |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Es gibt zwei Formen der Funktion DIR$(). Das erste Formular, das eine Maskenzeichenfolge und ein optionales Attribut enthält, wird verwendet, um den ersten passenden Dateinamen zu finden. Das zweite Formular ohne diese Parameter gibt nachfolgende übereinstimmende Dateinamen zurück. Wenn die zurückgegebene Zeichenfolge null (null Länge) ist, gibt es keine weiteren passenden Dateinamen.

Das zweite Formular kann optional das Schlüsselwort NEXT angeben, um die Selbstdokumentation des Quellcodes zu erleichtern.

mask$ gibt einen Dateinamen oder Pfad an, der einen Laufwerksnamen und System-Platzhalterzeichen (* und ?) enthalten kann. Wenn der numerische Attributparameter Null ist (oder nicht angegeben ist), gibt DIR$ nur „normale“ Dateien zurück. Wenn mask$ eine Nullzeichenfolge (Nulllänge) ist, entspricht der Funktionsaufruf der zweiten Form der Funktion, um nachfolgende übereinstimmende Dateinamen zu finden. In diesem Fall wird ein optionales Attribut ignoriert.

Wenn ein Attribut& angegeben wird, muss es einen standardmäßigen numerischen Attributcode des Betriebssystems verwenden. Dies führt dazu, dass DIR$ zusätzlich zu normalen Dateien auch Dateinamen mit bestimmten Attributen in die Suche einbezieht. „Normale“ Dateien sind solche, die keine versteckten oder Systemdateien sind, noch handelt es sich um ein Verzeichnis oder eine Datenträgerbezeichnung.

Attribut

Beschreibung

Gleichsetzen

Normal

%NORMAL

Versteckt

%VERSTECKT

System

%SYSTEM

Datenträgerbezeichnung

%VLABEL

Verzeichnis

%UNTERVERZEICHNIS

Sie können nach Dateinamen mit mehreren festgelegten Attributen suchen, indem Sie die Attributcodes addieren. Um beispielsweise nach versteckten Dateien und Systemdateien zu suchen, würden Sie diese Codes (2 und 4) addieren, um 6 zu erhalten. Alle anderen Attributcodes (außer der Datenträgerbezeichnung) sind normalerweise inklusive. Wenn Sie beispielsweise sowohl versteckte als auch Systemdateien angeben, gibt DIR$ alle versteckten Dateien, Systemdateien, normalen Dateien und Dateien zurück, die sowohl versteckt als auch Systemdateien sind.

Wenn die Option NUR enthalten ist, werden normale Dateien von der Dateisuche ausgeschlossen. Beispiel: DIR$( mask$ , NUR 16) Es werden nur die Verzeichniseinträge zurückgegeben, die mit mask$ übereinstimmen. Ein weiteres nützliches Suchattribut ist 6, das normale, versteckte und Systemdateien, aber keine Verzeichnisse zurückgibt.

Ein Attribut von 8 gibt die Datenträgerbezeichnung zurück, sofern eine vorhanden ist. In diesem Fall muss mask$ auf den Laufwerksbuchstaben des Ziellaufwerks verweisen und zusätzliche Pfadinformationen werden ignoriert. Darüber hinaus können Sie einen UNC-Namen für ein freigegebenes Laufwerk angeben (vorbehaltlich der Einschränkungen des Betriebssystems) und die Datenträgerbezeichnung abrufen, sofern eine vorhanden ist und Sie über die entsprechenden Zugriffsrechte verfügen. Sie können die Datenträgerbezeichnung für eine „versteckte“ Freigabe unter NT/2000/XP auch erhalten, indem Sie an den Freigabenamen ein Dollarzeichen anhängen.

'Volume für Freigabe \\server\drive0 abrufen

A$ = DIR$("\\server\drive0", 8)

'Volume für versteckte Freigabe D abrufen: (\d$)

A$ = DIR$("\\server\d$", %VLABEL)

Die Funktion DIR$ kann optional den vollständigen Verzeichniseintrag einer entsprechenden UDT-Variablen zuweisen, wenn Sie die TO-Klausel als Parameter einschließen. Der vollständige Verzeichniseintrag enthält 592 Bytes an Daten, entsprechend der folgenden TYPE-Definition. Diese Definition (DIRDATA) ist in PowerBASIC integriert und muss nicht unbedingt in Ihrem Quellcode enthalten sein. Der DirData UDT ist identisch mit der Unicode-Version der Win32_Find_Data-Struktur, die von der Windows-API für diesen Zweck verwendet wird.

TYP DirData

Dateiattribute als DWORD

CreationTime AS QUAD

LastAccessTime AS QUAD

LastWriteTime AS QUAD

FileSizeHigh AS DWORD

FileSizeLow ALS DWORD

Reserviert0 als DWORD

Reserviert1 als DWORD

Dateiname AS WSTRINGZ * 260

Kurzname AS WSTRINGZ * 14

END-TYP

Zu diesem Zweck können Sie eine Variable als DIRDATA deklarieren oder einen anderen benutzerdefinierten Typ mit mindestens 592 Datenbytes verwenden. Die zusätzlichen Daten können für jeden anderen Zweck in Ihrem Programm verwendet werden.

CreationTime-, LastAccessTime- und LastWriteTime-Mitglieder von DIRDATA können einem PowerTime-Objekt zugewiesen werden, um die QUAD-Integer-Werte (FILETIME) für einfache Berechnungen und Konvertierungen zu konvertieren.

LOKALER f AS STRING

LOCAL d ALS DIRDATA

LOCAL t ALS IPOWERTIME

t = KLASSE „PowerTime“

f = DIR$("c:\*.*" TO d)

t.FileTime = d.CreationTime ' t enthält die Dateierstellungszeit in einem lokalisierten Format.

Frühere Versionen von PowerBASIC verwendeten eine ANSI-Version von DirData, die nur 318 Byte groß war. Wenn Sie jedoch die integrierte Form von DirData verwendet haben, sollte Ihr Programm unter dieser Version korrekt ausgeführt werden, ohne dass Änderungen erforderlich sind.

Einschränkungen

PowerBASIC führt den Dateiabgleich sowohl mit den langen (LFN) als auch mit den kurzen (SFN) Dateinamenversionen von Dateinamen durch. Das bedeutet, dass DIR$ auch Dateinamen zurückgibt, die mit der angegebenen Erweiterung beginnen (gemäß dem Standardverhalten des Windows-Betriebssystems).

Beispielsweise stimmt A$ = DIR$("*.htm") mit Dateinamen wie „Index.htm“, „Default.html“, „Homepages.htmb“, „cgilib.htmlpages“ usw. überein. Ebenso stimmen A$ = DIR$(“*.h??) und DIR$(“*.ht*“) mit denselben Dateinamen überein.

DIR$ ist Thread-sicher, sodass DIR$-Vorgänge in einem Thread DIR$-Vorgänge in einem anderen Thread nicht beeinträchtigen. Sie sollten sich jedoch darüber im Klaren sein, dass die Angabe eines neuen mask$-Parameters immer eine völlig neue DIR$-Suchschleife startet.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • CURDIR$
  • DIR$ CLOSE
  • DISPLAY DURCHSUCHEN - Hilfe zum PBXB64-Compiler
  • DISPLAY OPENFILE
  • FILEATTR
  • GETATTR
  • ISFILE
  • PATHNAME$
  • PATHSCAN$ " PBXB64-Compiler-Hilfe
  • SETATTR
  • Hilfe zum PBXB64-Compiler


DIR$ CLOSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DIR$ CLOSE

Erzwingen Sie die Ver&ouml;ffentlichung des FindNext-Handles des Betriebssystems.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIR$ CLOSE

Beschreibung

Erzwingen Sie die Veröffentlichung des FindNext-Handles des Betriebssystems.

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DIR$ CLOSE führt dazu, dass das FindNext-Handle des Betriebssystems geschlossen wird. Jedes Mal, wenn eine neue DIR$()-Sequenz innerhalb eines Threads initiiert wird oder DIR$() eine leere Zeichenfolge zurückgibt, schließt PowerBASIC automatisch das FindNext-Handle, um eine Überbeanspruchung der Systemressourcen zu vermeiden.

Unter ungewöhnlichen Umständen (z. B. bei einem rekursiven Verzeichnisscan mit Löschen oder Umbenennen) kann es jedoch erforderlich sein, das FindNext-Handle mithilfe dieser expliziten Anweisung früher zu schließen, damit ein Verzeichnis entfernt oder umbenannt werden kann.

PBXB64 senkt DIR$ CLOSE auf den eingebetteten Laufzeithelfer bestof_dir_close ab. Der Helfer schliesst das aktive Win32-Find-Handle mit FindClose und setzt den aktuellen DIR$("")-Fortsetzungszustand zurueck. Ein spaeterer Aufruf von DIR$(pattern) startet eine neue Suche.

Einschränkungen

Es ist niemals notwendig, DIR$ CLOSE auszuführen, um einfach ein „System Handle Leak“ zu vermeiden.

Die fokussierte PBXB64-Zertifizierung deckt das explizite Schliessen des Handles und das Zuruecksetzen des Iterationszustands ab. Weitere DIR$-Paritaet fuer Wildcards, ONLY, DIRDATA und Verzeichnis-Sonderfaelle bleibt Teil des breiteren Datei-/Pfad-Backlogs.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • DIR$
  • Hilfe zum PBXB64-Compiler


Direktzugriffsdateien - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Direktzugriffsdateien

Direktzugriffsdateien bestehen aus Datens&auml;tzen, auf die in beliebiger Reihenfolge zugegriffen werden kann. Dies bedeutet, dass die Daten genau so gespeichert werden, wie sie im Speicher erscheinen, wodurch Verarbeitungszeit gespart wird (da keine &Uuml;bersetzung erforderlich ist).

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Direktzugriffsdateien bestehen aus Datensätzen, auf die in beliebiger Reihenfolge zugegriffen werden kann. Dies bedeutet, dass die Daten genau so gespeichert werden, wie sie im Speicher erscheinen, wodurch Verarbeitungszeit gespart wird (da keine Übersetzung erforderlich ist).

Typ:Schlüsselwort |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Zufällige Dateien sind eine bessere Lösung für Datenbankprobleme als sequentielle Dateien, obwohl sie einige Nachteile haben. Zum einen sind Zufallsdateien nicht besonders transportierbar. Im Gegensatz zu sequentiellen Dateien können Sie mit einem Editor keinen Blick in sie werfen oder sie sinnvoll auf dem Bildschirm eingeben. Tatsächlich erfordert das Verschieben einer PowerBASIC-Zufallsdatei auf einen anderen Computer oder eine andere Sprache wahrscheinlich, dass Sie ein Übersetzerprogramm schreiben, um die Zufallsdatei zu lesen und eine Textdatei (sequentielle Datei) auszugeben.

Ein Beispiel für das Problem der Transportfähigkeit liegt ganz in der Nähe. Interpretive BASIC verwendet das nicht standardmäßige Format von Microsoft für Gleitkommawerte und PowerBASIC verwendet IEEE-Standard-Gleitkommakonventionen. Das bedeutet, dass Sie die Gleitkommafelder von Zufallsdateien, die von Interpretive BASIC erstellt wurden, nicht ohne etwas zusätzliche Arbeit mit einem PowerBASIC-Programm lesen können (oder umgekehrt).

Der große Vorteil von Zufallsdateien liegt bereits in ihrem Namen: Jeder Datensatz in der Datei ist jederzeit verfügbar. Beispielsweise kann ein Programm in einer Datenbank mit 23.000 Alumni direkt zu Datensatznummer 11.663 oder 22.709 gehen, ohne einen der anderen Datensätze zu lesen. Diese Fähigkeit macht es zur einzig sinnvollen Wahl für große Dateien und wahrscheinlich zur besseren Wahl für kleine Dateien, insbesondere solche mit relativ konstanten Datensatzlängen.

Direktzugriffsdateien können jedoch Speicherplatz verschwenden, da in jedem Datensatz Platz für das längstmögliche Feld reserviert wird. Beispielsweise zwingt ein 100-Byte-Kommentarfeld dazu, dass jeder Datensatz 100 Byte zusätzlichen Speicherplatz belegt, selbst wenn ihn nur einer von tausend tatsächlich nutzt.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


DISKFREE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DISKFREE

Gibt die Menge des verf&uuml;gbaren Speicherplatzes auf einer Festplatte in Bytes zur&uuml;ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

bytes&& = DISKFREE( drive$ )

Beschreibung

Gibt die Menge des verfügbaren Speicherplatzes auf einer Festplatte in Bytes zurück.

Typ:Funktion |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

drive$ gibt den Laufwerksbuchstaben oder Stammpfad des zu untersuchenden Datentraegers an. PBXB64 senkt diese Funktion auf den eingebetteten Laufzeithelfer bestof_diskfree ab, der die Win32-Datentraegerplatz-API verwendet und fuer einen gueltigen Pfad wie "C:\" die verfuegbaren Bytes zurueckgibt.

Im fokussierten V14.4-Vertrag gibt eine leere Zeichenfolge oder ein ungueltiger Laufwerksstring 0 zurueck.

Einschränkungen

Der registrierte PBXB64-Test deckt das aktuelle Laufwerk und das Fehlerverhalten fuer ungueltige Laufwerke ab. UNC-Pfade, Wechsel- oder Offline-Medien, Zugriff-verweigert-Fehler, Ueberlaufgrenzen und PBWin-ERR-Paritaet bleiben offen.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • DISKSIZE
  • Hilfe zum PBXB64-Compiler


DISKSIZE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DISKSIZE

Gibt den gesamten Speicherplatz auf einer Festplatte in Bytes zur&uuml;ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

bytes&& = DISKSIZE( drive$ )

Beschreibung

Gibt den gesamten Speicherplatz auf einer Festplatte in Bytes zurück.

Typ:Funktion |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

drive$ gibt den Laufwerksbuchstaben oder Stammpfad des zu untersuchenden Datentraegers an. PBXB64 senkt diese Funktion auf den eingebetteten Laufzeithelfer bestof_disksize ab, der die Win32-Datentraegerplatz-API verwendet und fuer einen gueltigen Pfad wie "C:\" die Gesamtgroesse in Bytes zurueckgibt.

Im fokussierten V14.4-Vertrag gibt eine leere Zeichenfolge oder ein ungueltiger Laufwerksstring 0 zurueck.

Einschränkungen

Der registrierte PBXB64-Test deckt das aktuelle Laufwerk und das Fehlerverhalten fuer ungueltige Laufwerke ab. UNC-Pfade, Wechsel- oder Offline-Medien, Zugriff-verweigert-Fehler, Ueberlaufgrenzen und PBWin-ERR-Paritaet bleiben offen.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • DISKFREE
  • Hilfe zum PBXB64-Compiler


DISPLAY DURCHSUCHEN - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DISPLAY DURCHSUCHEN - Hilfe zum PBXB64-Compiler

Zeigt einen Ordnerauswahldialog an, um die Auswahl des Benutzers zur&uuml;ckzugeben.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DISPLAY BROWSE [ hParent ], [ xpos& ], [ ypos& ], title$ , start$ , flags& TO folder$

Beschreibung

Zeigt einen Ordnerauswahldialog an, um die Auswahl des Benutzers zurückzugeben.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ANZEIGEFARBE
  • ANZEIGESCHRIFTART
  • DISPLAY OPENFILE
  • DISPLAY SAVEFILE
  • Hilfe zum PBXB64-Compiler


DISPLAY OPENFILE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DISPLAY OPENFILE

Zeigt ein OpenFile-Auswahldialogfeld an, um Benutzerauswahlm&ouml;glichkeiten anzuzeigen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DISPLAY OPENFILE [hParent], [xpos & ], [ypos & ] , title$ , folder$ , filter$ , _
start$ , defextn$ , flags & TO filevar$ [, countvar& ]
"BASIC" + CHR$(0) + "*.BAS" + CHR$(0)
CHR$("BASIC", 0, "*.BAS", 0)
CHR$("BASIC", 0, "*.BAS;*.INC;*.BAK", 0)

Beschreibung

Zeigt ein OpenFile-Auswahldialogfeld an, um Benutzerauswahlmöglichkeiten anzuzeigen.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das aktuelle Standardverzeichnis wird durch diese Anweisung niemals geändert, selbst wenn der Benutzer das Verzeichnis während der Suche nach Dateien ändert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • DISPLAY DURCHSUCHEN - Hilfe zum PBXB64-Compiler
  • ANZEIGEFARBE
  • ANZEIGESCHRIFTART
  • DISPLAY SAVEFILE
  • Hilfe zum PBXB64-Compiler


DISPLAY SAVEFILE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DISPLAY SAVEFILE

Zeigt ein Dialogfeld zur Auswahl von &#8222;SaveFile&ldquo; an, um die Auswahl des Benutzers zur&uuml;ckzugeben.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DISPLAY SAVEFILE [hParent], [xpos & ], [ypos & ] , title$ , folder$ , filter$ , _
start$ , defext$ , flags & TO filevar$ [, countvar& ]
"BASIC" + CHR$(0) + "*.BAS" + CHR$(0)
CHR$("BASIC", 0, "*.BAS", 0)
CHR$("BASIC", 0, "*.BAS;*.INC;*.BAK", 0)

Beschreibung

Zeigt ein Dialogfeld zur Auswahl von „SaveFile“ an, um die Auswahl des Benutzers zurückzugeben.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das aktuelle Standardverzeichnis wird durch diese Anweisung niemals geändert, selbst wenn der Benutzer das Verzeichnis während der Suche nach Dateien ändert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • DISPLAY DURCHSUCHEN - Hilfe zum PBXB64-Compiler
  • ANZEIGEFARBE
  • ANZEIGESCHRIFTART
  • DISPLAY OPENFILE
  • Hilfe zum PBXB64-Compiler


DLL-Beispiel - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DLL-Beispiel

Ein sehr einfaches Beispiel ist eine DLL mit einer Funktion, die zu jeder langen Ganzzahl, die ihr als Parameter &uuml;bergeben wird, eins hinzuf&uuml;gt:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein sehr einfaches Beispiel ist eine DLL mit einer Funktion, die zu jeder langen Ganzzahl, die ihr als Parameter übergeben wird, eins hinzufügt:

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

FUNCTION AddOne ALIAS „AddOne“ (BYVAL x AS LONG) EXPORT AS LONG

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


DLLMAIN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DLLMAIN

LIBMAIN (oder sein Synonym DLLMAIN) ist eine optionale benutzerdefinierte Funktion, die von Windows jedes Mal aufgerufen wird, wenn a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FUNCTION { LIBMAIN | DLLMAIN } ( _
BYVAL hInstance AS DWORD, _
BYVAL lReason AS LONG, _
BYVAL lReserved AS LONG ) AS LONG

Beschreibung

LIBMAIN (oder sein Synonym DLLMAIN) ist eine optionale benutzerdefinierte Funktion, die von Windows jedes Mal aufgerufen wird, wenn a

Typ:Funktion |Kategorie: Procedures

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Rückgabewert: Wenn LIBMAIN mit %DLL_PROCESS_ATTACH aufgerufen wird, sollte Ihre LIBMAIN-Funktion eine Null (0) zurückgeben, wenn ein Teil Ihres Initialisierungsprozesses fehlschlägt, oder eine Eins (1), wenn keine Fehler aufgetreten sind. Wenn eine Null zurückgegeben wird, bricht Windows ab und entlädt die DLL aus dem Speicher. Wenn LIBMAIN mit einem anderen Wert als %DLL_PROCESS_ATTACH aufgerufen wird, wird der Rückgabewert ignoriert.

Die Funktion LIBMAIN / DLLMAIN stellt die folgenden Parameter bereit:

hInstanz

Das eindeutige Instanzhandle der DLL. Dieses Handle wird von der aufrufenden Anwendung verwendet, um die DLL zu identifizieren. Der Instanz-Handle-Wert wird üblicherweise zum Laden von in der DLL eingebetteten Ressourcen und zum Abrufen des tatsächlichen Dateinamens der DLL (über die API-Funktion GetModuleFilename) verwendet. In diesen Fällen ist es üblich, den hInstance-Wert in eine globale Variable zu kopieren, sodass der Instanz-Handle-Wert an anderer Stelle in der DLL verwendet werden kann.

lGrund

Dieses Flag gibt an, warum der DLL-Einstiegspunkt aufgerufen wird. Es kann einer der folgenden Werte sein (wie in WIN32API.INC definiert):

%DLL_PROCESS_ATTACH

Zeigt an, dass die DLL von einem Prozess geladen wird (eine andere DLL oder EXE lädt die DLL). DLLs können diese Gelegenheit nutzen, um beliebige Instanzen oder globale Daten wie Arrays zu initialisieren. lReserved ist Null, wenn die DLL explizit mit LoadLibrary() geladen wird (Laufzeitverknüpfung), oder ungleich Null, wenn die DLL während der Prozessinitialisierung implizit geladen wird (Laufzeitverknüpfung).

%DLL_PROCESS_DETACH

Zeigt an, dass die DLL sauber entladen oder von der aufrufenden Anwendung getrennt wird. DLLs können diese Gelegenheit nutzen, um alle Ressourcen für alle Threads zu bereinigen, die der DLL zugeordnet und ihr bekannt sind. Dies entspricht funktional der WEP-Funktion in 16-Bit-DLLs. lReserved ist Null, wenn LIBMAIN über die FreeLibrary-API ausgeführt wurde und der DLL-Referenzzähler Null erreicht hat (es werden keine weiteren Instanzen der DLL geladen), oder ungleich Null, wenn LIBMAIN während der Prozessbeendigung ausgeführt wird. Ein %DLL_PROCESS_DETACH generiert kein %DLL_THREAD_DETACH für aktive Threads.

%DLL_THREAD_ATTACH

Zeigt an, dass die DLL von einem neuen Thread in der aufrufenden Anwendung geladen wird. DLLs können diese Gelegenheit nutzen, um jeden Thread Local Storage (TLS) zu initialisieren. Diese Ausführung erfolgt im Kontext des neuen Threads.

%DLL_THREAD_DETACH

Zeigt an, dass der Thread sauber beendet wird. Wenn die DLL threadspezifischen Speicher (Thread Local Storage oder TLS) zugewiesen hat, sollte dieser freigegeben werden. Dies kann auch dann auftreten, wenn kein passender %DLL_THREAD_ATTACH-Aufruf vorhanden ist. Ein %DLL_PROCESS_DETACH generiert kein %DLL_THREAD_DETACH für aktive Threads.

lReserviert

Der Parameter lReserved gibt weitere Aspekte der DLL-Initialisierung und -Bereinigung an. Wenn lReason %DLL_PROCESS_ATTACH ist, ist lReserved Null (0) für explizite (dynamische) Ladevorgänge und ungleich Null für implizite Ladevorgänge. Wenn lReason %DLL_PROCESS_DETACH ist, ist lReserved Null, wenn LIBMAIN mithilfe des FreeLibrary-API-Aufrufs aufgerufen wurde, und ungleich Null, wenn LIBMAIN während der Prozessbeendigung aufgerufen wurde.

Rückgabewert

Wenn LIBMAIN mit %DLL_PROCESS_ATTACH aufgerufen wird, sollte Ihre LIBMAIN-Funktion eine Null (0) zurückgeben, wenn ein Teil Ihres Initialisierungsprozesses fehlschlägt, oder eine Eins (1), wenn keine Fehler aufgetreten sind. Wenn eine Null zurückgegeben wird, bricht Windows ab und entlädt die DLL aus dem Speicher. Wenn LIBMAIN mit einem anderen Wert als %DLL_PROCESS_ATTACH aufgerufen wird, wird der Rückgabewert ignoriert.

Einschränkungen

Beachten Sie, dass Windows nicht garantiert, dass LIBMAIN „ausgewogen“ aufgerufen wird. Beispielsweise folgt auf einen %DLL_PROCESS_ATTACH kein %DLL_THREAD_ATTACH für den primären Thread. Unter bestimmten Bedingungen tritt %DLL_THREAD_DETACH möglicherweise überhaupt nicht auf. Eine weitere Diskussion dieser Windows-Merkmale würde den Rahmen dieser Dokumentation sprengen; Eine hervorragende Informationsquelle finden Sie jedoch in „Win32 Programming“, Rector/Newcomer, ISBN 0-201-63492-9.

An dem Punkt, an dem eine DLL während des Prozessstarts in den Speicher geladen wird, garantiert Windows nur, dass die Systembibliothek KERNEL32.DLL in den Speicher geladen wird. Auf dieser Grundlage müssen API-Aufrufe aus LIBMAIN auf den Bereich der in KERNEL32.DLL vorhandenen API-Funktionen beschränkt werden, mit Ausnahme der API-Funktionen LoadLibrary, LoadLibraryEx und FreeLibrary.

Darüber hinaus darf Code in LIBMAIN keine API-Funktionen in einer anderen DLL aufrufen (z. B. USER32.DLL, SHELL32.DLL, ADVAPU32.DLL, GDI32.DLL usw.), da einige API-Funktionen in diesen DLLs möglicherweise versuchen, andere Bibliotheken über LoadLibrary usw. zu laden. Rufen Sie beispielsweise niemals die MessageBox-API-Funktion innerhalb von LIBMAIN auf und verwenden Sie auch nicht die zugehörige MSGBOX-Funktion oder MSGBOX-Anweisung.

Die Nichtbeachtung dieser Einschränkungen führt zu Zugriffsverletzungen oder allgemeinen Schutzfehlern (GPFs), die typischerweise durch die Ausführung von Code in DLLs verursacht werden, der noch initialisiert werden muss.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • PBLIBMAIN - Hilfe zum PBXB64-Compiler
  • PBMAIN " PBXB64-Compiler-Hilfe
  • THREAD CREATE
  • WINMAIN
  • Hilfe zum PBXB64-Compiler


DO/LOOP-Anweisungen � PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

DO/LOOP-Anweisungen � PBXB64-Compiler-Hilfe

Definieren Sie eine Gruppe von Programmanweisungen, die wiederholt ausgef&#65533;hrt werden, solange eine bestimmte Bedingung erf&#65533;llt ist.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DO [{WHILE | UNTIL} expression ]
[ statements ]
[EXIT LOOP]
[ITERATE LOOP]
LOOP [{WHILE | UNTIL} expression ]

Beschreibung

Definieren Sie eine Gruppe von Programmanweisungen, die wiederholt ausgef�hrt werden, solange eine bestimmte Bedingung erf�llt ist.

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF�GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ausdruck ist ein numerischer Ausdruck, in dem Werte ungleich Null logisch WAHR und Nullwerte logisch FALSCH darstellen. Wenn ein String-Ausdruck verwendet wird (d. h. A$ <> ""), gibt PowerBASIC TRUE zur�ck, wenn die Ergebnisl�nge des String-Ausdrucks gr��er als Null ist.

DO/LOOP-Anweisungen sind �u�erst flexibel. Mit ihnen lassen sich Schleifen f�r nahezu jede erdenkliche Programmiersituation erstellen. Sie erm�glichen die Erstellung von Schleifen mit dem Test auf die Abschlussbedingung am Anfang der Schleife, am Ende der Schleife, an beiden Stellen oder an keiner der oben genannten Stellen.

Eine DO-Anweisung muss immer mit einer passenden LOOP-Anweisung am Ende der Schleife gepaart werden. Wenn nicht jedes DO mit einer LOOP abgeglichen wird, f�hrt dies entweder zu einem Fehler 448 zur Kompilierungszeit (�DO-Schleife erwartet�) oder zu einem Fehler 456 (�LOOP/WEND erwartet�).

Die Schl�sselw�rter WHILE und UNTIL werden verwendet, um Tests zu einem DO/LOOP hinzuzuf�gen. Verwenden Sie WHILE, wenn die Schleife wiederholt werden soll, wenn der Ausdruck TRUE ist, und beendet werden soll, wenn der Ausdruck FALSE ist. UNTIL hat den gegenteiligen Effekt; Das hei�t, die Schleife wird beendet, wenn Ausdruck TRUE ist, und wiederholt, wenn FALSE.

Zum Beispiel:

DO SIE WHILE a = 13

[Anweisungn]

f�hrt die Anweisungen zwischen DO und LOOP aus, solange a 13 ist. Wenn a anfangs nicht 13 ist, werden die Anweisungen in der Schleife nie ausgef�hrt. Umgekehrt:

DO SIE, BIS a = 13

[Anweisungn]

f�hrt die Anweisungen zwischen DO und LOOP aus, solange a nicht 13 ist. Wenn a anf�nglich gleich 13 ist, wird die Schleife nie ausgef�hrt.

An jeder Stelle in einem DO/LOOP k�nnen Sie eine EXIT LOOP- oder ITERATE LOOP-Anweisung einf�gen. EXIT LOOP bewirkt, dass die Schleife beendet wird, sodass die Ausf�hrung nach der abschlie�enden Schleifenanweisung fortgesetzt wird. ITERATE LOOP bewirkt, dass die Schleife bei der abschlie�enden Schleifenanweisung fortgesetzt wird.

Die WHILE/WEND-Anweisungen k�nnen in vielen F�llen verwendet werden, um die gleichen Funktionen wie DO/LOOP auszuf�hren. Zum Beispiel dieser DO/LOOP:

DO SIE, WHILE a < b

[Anweisungn]

hat den gleichen Effekt wie diese WHILE/WEND-Schleife:

WHILE a < b

[Anweisungn]

Achten Sie bei der Verwendung verschachtelter Schleifen darauf, dass innere Schleifen keine Variablen �ndern, die vom Abschlussbedingungstest der �u�eren Schleife verwendet werden. Der folgende Code sollte beispielsweise alle 20 Elemente eines 10 x 2-Arrays (dimensioniertes Array (9,1)) abrufen:

Anzahl1 = 0

DO SIE, WHILE Count1 < 10

FOR Count2 = 0 TO 1

x = arry(Count1,Count2)

Anzahl1 = Anzahl1 + 1

N�CHSTER Count2

Da Count1 innerhalb der inneren Schleife erh�ht wird, die bei jedem Durchgang durch die �u�ere Schleife zweimal ausgef�hrt wird, w�rde dieser Code nicht alle Array-Werte abrufen, sondern nur die Werte f�r arry (0,0), arry (1,1), arry (2,0), arry (3,1) usw. Durch Verschieben der Count1 = Count1 + 1-Anweisung direkt unter die NEXT Count2-Anweisung funktioniert der Code wie vorgesehen.

Wenn eine EXIT LOOP-Anweisung innerhalb verschachtelter Schleifen verwendet wird, verl�sst sie nur die aktuelle Schleife, nicht die gesamte Verschachtelung. In �hnlicher Weise iteriert ein ITERATE innerhalb verschachtelter Schleifen die aktuelle Schleife. Hinweise zum Verlassen verschachtelter Blockstrukturen finden Sie in der EXIT-Anweisung. Mit den logischen PowerBASIC-Operatoren k�nnen mehrere Testbedingungen f�r die Schleifensteuerung erstellt werden. Zum Beispiel:

DO SIE, WHILE x < 10 UND y < 10

[Anweisungn]

wird nur ausgef�hrt, solange sowohl x als auch y kleiner als 10 sind. Ebenso gilt f�r die Schleife:

DO, BIS X > 10 ODER Y > 10

[Anweisungn]

wird ausgef�hrt, bis entweder x oder y (oder beide) gr��er als 10 ist (sind). Weitere Informationen zur Verwendung logischer Operatoren finden Sie in den Themen zu Datentypen und arithmetischen Operatoren.

Obwohl sich der Compiler nicht um solche Dinge k�mmert, ist es beim Schreiben Ihres Quellcodes eine gute Idee, die Anweisungen zwischen DO und LOOP einzur�cken. Das Gleiche gilt f�r FOR/NEXT-Schleifen, WHILE/WEND-Schleifen und mehrzeilige IF-Anweisungen. Durch diese Einr�ckung spiegelt das Erscheinungsbild Ihres Quellcodes die logische Struktur Ihres Programms wider, was zu einer besseren Lesbarkeit f�hrt. Das Einr�cken ist besonders wertvoll, wenn mehrere Schleifen desselben Typs verschachtelt werden, da so leichter erkennbar ist, welcher LOOP zu welchem ​​DO geh�rt.

Hinweise zur Kurzschlussbewertung von PowerBASIC und ihren m�glichen Nebenwirkungen finden Sie auch in der Diskussion zur IF-Anweisung.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' controlflow_do_while
FUNCTION PBMAIN() AS LONG
  LOCAL i AS LONG
  LOCAL s AS LONG
  i = 1
  s = 0
  DO WHILE i <= 5
    s = s + i
    i = i + 1
  LOOP
  IF (s) <> (15) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • #OPTIMIZE
  • EXIT � PBXB64-Compiler-Hilfe
  • FOR EACH/NEXT-Anweisungen
  • FOR/NEXT-Anweisungen ? PBXB64-Compiler-Hilfe
  • ITERATE � PBXB64-Compiler-Hilfe
  • WHILE/WEND-Anweisungen ? PBXB64-Compiler-Hilfe


Doppelwort (???) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Doppelwort (???)

Doppelw&ouml;rter sind vorzeichenlose 32-Bit-Ganzzahlen (vier Bytes) mit einem Bereich von 0 bis 4.294.967.295 (0 bis 2^32-1). Das Typspezifizierzeichen f&uuml;r ein Doppelwort ist: ???.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Doppelwörter sind vorzeichenlose 32-Bit-Ganzzahlen (vier Bytes) mit einem Bereich von 0 bis 4.294.967.295 (0 bis 2^32-1). Das Typspezifizierzeichen für ein Doppelwort ist: ???.

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Doppelwortvariablen werden identifiziert, indem dem Variablennamen drei Fragezeichen folgen (z. B. var??? ) oder indem die DEFDWD-Anweisung verwendet wird, wie in der vorherigen Diskussion von Ganzzahlen beschrieben. Sie können Doppelwortvariablen auch mit dem Schlüsselwort DWORD mit der DIM-Anweisung deklarieren. Zum Beispiel:

Bei Wortwerten und Ganzzahlen haben Doppelwortwerte einen größeren positiven Bereich als Long-Integer und erfordern dennoch nur vier Bytes. Doppelwortwerte sind nützlich, um absolute Speicheradressen anzugeben, die beispielsweise zum Speichern von Zeigerwerten verwendet werden können.

Ein PowerBASIC-Doppelwort entspricht einem UINT32 in C/C++. Im 32-Bit-C/C++-Code entspricht ein UINT auch einer PowerBASIC-Doppelwortvariablen. Beachten Sie, dass 16-Bit-C/C++-Code UINT verwendet, um eine 16-Bit-Word-Variable zu beschreiben.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Druckbefehle - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Druckbefehle

Referenzliste druckbezogener Befehle.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Referenzliste druckbezogener Befehle.

Typ:Konzeptionell |Kategorie: Drucken

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Überblick

Dieses Thema bietet Hintergrundinformationen und praktische Anleitungen. Eine detaillierte Syntax finden Sie auf den entsprechenden Befehlsseiten.

Beschreibung

Diese Uebersichtsseite fasst die Drucker- und Druckausgabeoberflaeche zusammen. Die verlinkten Einzelseiten dokumentieren die getesteten Funktionen; diese Seite beschreibt nur den Navigations- und Vertragsrahmen.

Uebersicht

Verwenden Sie PRINTERCOUNT und PRINTER$, um installierte Drucker und deren Namen oder Ports abzufragen. Fuer echte Druckausgabe folgen Sie den Seiten zu LPRINT ATTACH und XPRINT ATTACH.

Validierungsbeleg

Validierungsbeleg: examples/basic/test_printer_api.pb belegt die aktuelle Druckerabfrage. Druckausgabe selbst bleibt auf die entsprechenden Anhangs- und Druckseiten begrenzt.

Laufzeitvoraussetzungen

Die Beispiele laufen auch ohne installierten Standarddrucker, aber ein echter Drucker liefert mehr Rueckgabedaten. Behandeln Sie einen Null- oder Leerwert als gueltigen Zustand und lesen Sie die konkrete Liste erst dann aus, wenn PRINTERCOUNT groesser als Null ist. Die Druckausgabe selbst gehoert auf die einzelnen LPRINT- und XPRINT-Seiten.

Siehe auch

  • Hilfe zum PBXB64-Compiler


Druckübersicht - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Druckübersicht

&Uuml;bersicht &uuml;ber Druckbefehle einschlie&szlig;lich LPRINT und XPRINT.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Übersicht über Druckbefehle einschließlich LPRINT und XPRINT.

Typ:Konzeptionell |Kategorie: Drucken

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Überblick

Dieses Thema bietet Hintergrundinformationen und praktische Anleitungen. Eine detaillierte Syntax finden Sie auf den entsprechenden Befehlsseiten.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • Hilfe zum PBXB64-Compiler


Dynamic Dialog Tools (DDT) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Dynamic Dialog Tools (DDT)

Willkommen bei den leistungsstarken und verbesserten Dynamic Dialog Tools von PowerBASIC. DDT erm&ouml;glicht einem BASIC-Programmierer die einfache Erstellung einer grafischen Benutzeroberfl&auml;che (GUI) f&uuml;r eine Anwendung mithilfe einfacher BASIC-Anweisungen. W

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Willkommen bei den leistungsstarken und verbesserten Dynamic Dialog Tools von PowerBASIC. DDT ermöglicht einem BASIC-Programmierer die einfache Erstellung einer grafischen Benutzeroberfläche (GUI) für eine Anwendung mithilfe einfacher BASIC-Anweisungen. W

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Programmierer, die mit DDT vertraut sind, werden feststellen, dass PowerBASIC die DDT-Implementierung in dieser Version von PowerBASIC noch weiter erweitert hat, mit erweiterten Funktionen wie Benutzerdatenspeicherung und Beschleunigertabellen.

Dieses Kapitel beschreibt die dynamischen Dialogtools von PowerBASIC und wie Sie auf einfache Weise grafische Benutzeroberflächen mit vollem Funktionsumfang in Ihrem Code erstellen können.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Dynamische Dialogtools - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Dynamische Dialogtools

Die folgenden Funktionen k&ouml;nnen zum Erstellen von GUI-Anwendungsoberfl&auml;chen verwendet werden:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die folgenden Funktionen können zum Erstellen von GUI-Anwendungsoberflächen verwendet werden:

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Hängen Sie eine Tabelle mit Tastaturbeschleunigern an einen DDT-Dialog an.

Definieren Sie einen Dialog-/Control-Callback-Funktionsblock.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


Dynamische Zeichenfolgen (variabler Länge) ($) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Dynamische Zeichenfolgen (variabler Länge) ($)

Dynamische String-Variablen (auch als variable L&auml;nge bezeichnet) k&ouml;nnen eine beliebige Anzahl von Zeichen enthalten. Intern verwendet jede Variable vier Bytes, die eine Handle-Nummer enthalten, die zur Identifizierung verwendet wird

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Dynamische String-Variablen (auch als variable Länge bezeichnet) können eine beliebige Anzahl von Zeichen enthalten. Intern verwendet jede Variable vier Bytes, die eine Handle-Nummer enthalten, die zur Identifizierung verwendet wird

Typ: Datentyp | Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

String-Variablen werden automatisch deklariert, wenn auf den Variablennamen ein oder zwei Dollarzeichen ($) folgen. Sie können dynamische String-Variablen auch mit den Schlüsselwörtern STRING oder WSTRING mit der DIM-Anweisung deklarieren. Zum Beispiel:

PowerBASIC weist Strings mithilfe der Win32-OLE-String-Engine zu. Dadurch können Sie Zeichenfolgen von Ihrem Programm an DLLs oder API-Aufrufe übergeben, die OLE-Zeichenfolgen unterstützen. Die Adresse des Inhalts einer nicht leeren Zeichenfolge kann mit der Funktion STRPTR ermittelt werden. Die Adresse des String-Handles kann mit der VARPTR-Funktion ermittelt werden. Eine leere Zeichenfolge (Null) gibt möglicherweise keinen gültigen STRPTR-Wert zurück. Dynamische Zeichenfolgen werden mit jeder Zuweisungsanweisung im Speicher verschoben: Das heißt, STRPTR gibt eine andere Adresse zurück, wenn der Inhalt der Zeichenfolge geändert wird. Das von VARPTR erhaltene zugehörige String-Handle bleibt jedoch für die Dauer der Lebensdauer (Bereich) der String-Variablen konstant.

LOKALER dynamischer String-Speicher und Handles werden freigegeben, wenn die zugehörige Sub , Function , Method oder Property endet. Nachfolgende Aufrufe einer Routine führen zu neuen Speicherorten sowohl für das Handle als auch für die Zeichenfolgendaten. Die Adresse des Handles eines dynamischen STATIC- oder GLOBAL-Strings bleibt für die Dauer des Moduls konstant. Dynamische Zeichenfolgen und Feldzeichenfolgen können nicht Teil von UDT- (User-Defined Type) oder UNION-Strukturen sein. In C/C++ wird ein dynamischer breiter String ($$) als BSTR-Datentyp bezeichnet.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


EACH - Container-Elemente durchlaufen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

EACH - Container-Elemente durchlaufen

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

FOR EACH item IN collection
NEXT

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Klauselkeyword fuer FOR-EACH-Schleifen ueber implementierte Container-/Array-aehnliche Quellen.

Praktische Verwendung

Verwenden Sie EACH als Schleifen-Klausel in FOR EACH-Formen, um die Iterationsvariable von der Container- oder Array-Quelle zu trennen. Das zugehoerige IN gehoert auf dieselbe Kontrollzeile.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwenden Sie diese Keywords nicht ausserhalb der getesteten FOR EACH-Schreibweise, wenn die Quelle nicht als Iterationsform gemeint ist. Sonst wird der Parser einen anderen Ausdrucksweg erwarten.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Effektive Adressierung - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Effektive Adressierung

Die Notation zur Berechnung der effektiven Adresse von Daten im Speicher kann kompliziert aussehen, ist aber tats&auml;chlich eine sehr klare und pr&auml;zise Notation. Im Bereich der zul&auml;ssigen Notation f&uuml;r den Intel 80x86-Assembler gilt:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Notation zur Berechnung der effektiven Adresse von Daten im Speicher kann kompliziert aussehen, ist aber tatsächlich eine sehr klare und präzise Notation. Im Bereich der zulässigen Notation für den Intel 80x86-Assembler gilt:

Typ:Schlüsselwort |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

! MOV EAX, lpArray ; Adresse in EAX kopieren

! MOV ECX, [EAX] ; Kopieren Sie das erste Element im Array in ECX

! EAX HINZUFÜGEN, 4 ; Erhöhen Sie den Array-Speicherort um 4 Bytes

! MOV ECX, [EAX] ; Kopieren Sie das zweite Element im Array in ECX

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


EFX. - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

EFX.

FEX-Aufzaehlung beenden - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: Allgemeine Referenz

Syntax

EFX.

Beschreibung

FEX-Aufzaehlung beenden - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

EFX. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `EFX.`.

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_efx.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Ein ECHO-Client und -Server, der TCP verwendet - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Ein ECHO-Client und -Server, der TCP verwendet

Die einfachste TCP-Serveranwendung ist ein Echo Server (RFC 862). Es lauscht einfach auf Port 7 und sendet das Datenpaket an den Client zur&uuml;ck, wenn es ein Datenpaket empf&auml;ngt.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die einfachste TCP-Serveranwendung ist ein Echo Server (RFC 862). Es lauscht einfach auf Port 7 und sendet das Datenpaket an den Client zurück, wenn es ein Datenpaket empfängt.

Typ:Schlüsselwort |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Das Schreiben eines TCP-Servers in PowerBASIC ist recht einfach, aber Ihre Anwendung muss ein (GUI-)Fenster oder einen Dialog enthalten, um Benachrichtigungsanfragen von Winsock zu empfangen. Daher ist es notwendig, entweder (1) einen Dialog mit DDT zu erstellen oder (2) die Windows-API zu verwenden, um ein GUI-Fenster für die Anwendung zu erstellen, um diese Benachrichtigungen zu empfangen. Die folgende Funktion registriert eine Fensterklasse und erstellt ein verstecktes Fenster, das von Ihrem Server verwendet werden kann.

FUNCTION MakeWindow() ALS DWORD

LOCAL wce AS WndClassEx

LOCAL szClassName AS ASCIIZ * 80

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Ein einfaches Kommunikationsprogramm - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Ein einfaches Kommunikationsprogramm

Nehmen wir an, Sie m&ouml;chten ein einfaches Kommunikationsprogramm verwenden, um auf das Schwarze Brett eines lokalen Computers zuzugreifen. Sie kennen die Parameter der Karte: Sie hat 14400 Baud, 8 Datenbits, ein Stoppbit und kein p

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Nehmen wir an, Sie möchten ein einfaches Kommunikationsprogramm verwenden, um auf das Schwarze Brett eines lokalen Computers zuzugreifen. Sie kennen die Parameter der Karte: Sie hat 14400 Baud, 8 Datenbits, ein Stoppbit und kein p

Typ:Schlüsselwort |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Sie möchten Daten auf Ihrem Bildschirm anzeigen, Daten eingeben und an das Schwarze Brett senden können. Sie beabsichtigen, ein an COM1 angeschlossenes Modem zu verwenden. Das folgende Kurzprogramm dient als Ausgangspunkt und nutzt die neuen DDT-Funktionen von PowerBASIC zur Erstellung der Benutzeroberfläche:

'----------------------------------------------------------

' Beispiel für serielle Kommunikation für PowerBASIC für Windows

Beschreibung

Ein einfaches Kommunikationsprogramm gehoert zur seriellen Kommunikationsfamilie. Die aktuelle PBXB64-Oberflaeche prueft das Oeffnen, Senden, Lesen, Zeilenlesen, Reset und Schliessen eines Kommunikationshandles; reale Hardware ist nur fuer den erfolgreichen Pfad noetig.

Validierungsbeleg

Validierungsbeleg: tests/pb/test_comm_print_line_input.pb, tests/pb/test_comm_reset.pb, examples/basic/test_comm_open_missing.pb, und examples/basic/test_comm_flow_missing.pb belegen den aktuellen Handle- und Fehlerpfad. Der Beispielpfad ist absichtlich portable und faellt geschlossen, wenn kein gueltiger Port verfuegbar ist.

Laufzeitvoraussetzungen

Serielle Beispiele brauchen ein echtes COM-Geraet oder einen dokumentierten Loopback/Testadapter. Wenn ein realer Port verfuegbar ist, muessen COMM SET-Parameter vor dem Datentransfer gesetzt und das Handle danach mit COMM CLOSE freigegeben werden.


Eine Variable auswerten - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Eine Variable auswerten

Um den Wert der Position anzuzeigen, klicken Sie mit der rechten Maustaste auf die Variable und w&auml;hlen Sie im Kontextmen&uuml; den Eintrag &#8222;Variable auswerten&ldquo;. Da es sich hierbei um ein kontextsensitives Men&uuml; handelt, lautet die Meldung tats&auml;chlich &#8222;Position auswerten&ldquo;.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Um den Wert der Position anzuzeigen, klicken Sie mit der rechten Maustaste auf die Variable und wählen Sie im Kontextmenü den Eintrag „Variable auswerten“. Da es sich hierbei um ein kontextsensitives Menü handelt, lautet die Meldung tatsächlich „Position auswerten“.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

In den nächsten paar Zeilen soll das Wort vom Zeilenanfang entfernt und in SecondString$ eingefügt werden. Um zu überprüfen, ob diese Routine ordnungsgemäß funktioniert, sollten Sie die Werte von FirstString$ und SecondString$ untersuchen, bevor und nachdem die Routine sie ändert. Der Debugger sollte Folgendes anzeigen:

Sein oder Nichtsein; das ist die Frage.

Anhand der Zeichenfolge können Sie erkennen, dass das erste Leerzeichen an Position 3 erscheinen sollte und dass das Programm diese Position korrekt ermittelt hat. Die Variable SecondString$ sollte das zuletzt verarbeitete Wort enthalten und noch keinen Wert haben. Sie können dies überprüfen, indem Sie SecondString$ in das Feld „Variablenname“ eingeben. Wenn Sie dies tun, werden Sie keinen Fehler finden.

Bisher scheint alles normal zu sein. Drücken Sie ESCAPE, um zum Hauptteil des Debuggers zurückzukehren, und drücken Sie dann F8, um das Programm um eine weitere Zeile weiterzuleiten. Da Sie bereits wissen, dass die Position nicht 0 ist, erfahren Sie, was Sie wissen müssen, indem Sie mehrmals F8 drücken und anhalten, wenn die Ausführungsleiste über dem letzten END IF dieser Routine liegt. Zu diesem Zeitpunkt wurden sowohl FirstString$ als auch SecondString$ verarbeitet.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Einen Fehlerhandler schreiben - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Einen Fehlerhandler schreiben

Wenn ein Fehler auftritt und eine Fehlerfalle Ihre Fehlerbehandlungsroutine aufruft, sollte der Code zun&auml;chst feststellen, welcher Fehler aufgetreten ist. Die ERR- und ERRCLEAR-Funktionen von PowerBASIC geben die zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn ein Fehler auftritt und eine Fehlerfalle Ihre Fehlerbehandlungsroutine aufruft, sollte der Code zunächst feststellen, welcher Fehler aufgetreten ist. Die ERR- und ERRCLEAR-Funktionen von PowerBASIC geben die zurück

Typ:Schlüsselwort |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Setzen einer Fehlerfalle

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.


Eingebaute benutzerdefinierte Typen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Eingebaute benutzerdefinierte Typen

Der Compiler stellt eine Reihe integrierter benutzerdefinierter Typen bereit, darunter:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Compiler stellt eine Reihe integrierter benutzerdefinierter Typen bereit, darunter:

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

VariantArgs AS VARIANT

NamedDispID AS VARIANT

Beschreibung

Eingebaute benutzerdefinierte Typen gehoert zur Kategorie General. Diese Seite beschreibt den PBXB64-Dokumentationsstand fuer diesen Eintrag; verwenden Sie die Grenzen und Belege auf dieser Seite statt historischer PBWin-Annahmen.

Praktische Verwendung

Eingebaute benutzerdefinierte Typen gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.


Einrichten einer Fehlerfalle - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Einrichten einer Fehlerfalle

Um eine Fehlerfalle zu aktivieren, verwenden Sie die ON ERROR GOTO-Anweisung an der Stelle, an der Sie die Fehlerfalle innerhalb der Prozedur aktivieren m&ouml;chten. Der Fehlerbehandlungscode muss in dieser Prozedur enthalten sein. Eine Fehlerfalle ist nur aktiviert, wenn

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Um eine Fehlerfalle zu aktivieren, verwenden Sie die ON ERROR GOTO-Anweisung an der Stelle, an der Sie die Fehlerfalle innerhalb der Prozedur aktivieren möchten. Der Fehlerbehandlungscode muss in dieser Prozedur enthalten sein. Eine Fehlerfalle ist nur aktiviert, wenn

Typ:Schlüsselwort |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.


ELSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ELSE

Standardzweig eines IF-Blocks

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ELSE
  [statements]

Beschreibung

Standardzweig eines IF-Blocks

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerELSE Das Schlüsselwort leitet den Zweig ein, der ausgeführt wird, wenn keines der vorangehenden Elemente vorhanden ist IFoderELSEIF Bedingungen sind wahr. Es ist optional und muss schließlich erscheinen ELSEIF Zweige.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 3
    IF x > 5 THEN
        FUNCTION = 1
    ELSE
        FUNCTION = 0
    END IF
END FUNCTION

Siehe auch

  • IF � PBXB64-Compiler-Hilfe
  • ELSEIF
  • THEN
  • SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe
  • GRUNDLEGENDER Kontrollfluss


ELSEIF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ELSEIF

Zus&auml;tzlicher Zweig in einem IF-Block

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ELSEIF condition THEN
  [statements]

Beschreibung

Zusätzlicher Zweig in einem IF-Block

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ELSEIF führt einen zusätzlichen Test ein IF...END IF blockieren. Es muss danach erscheinen IF und vor jedem ELSEoderEND IF. Wenn das Vorhergehende IF und früher ELSEIF Wenn alle Bedingungen falsch waren und diese Bedingung wahr ist, werden die zugehörigen Anweisungen ausgeführt.

Generierter Assembler-Code

ELSEIFsenkt sich auf einen zweiten Bedingungsblock ab, der über den falschen Pfad der ersten Bedingung erreicht wird. Das Backend gibt eine Kaskade gekennzeichneter Blöcke aus, die alle gleichzeitig zusammengeführt werden END IF Punkt:

pb_if_else_PBMAIN_1:
    mov r10, [rbp-32]
    mov rbx, r10
    cmp rbx, 5
    sete r10
    mov rbx, r10
    test rbx, rbx
    jne pb_elseif_then_PBMAIN_3
    jmp pb_elseif_else_PBMAIN_4
pb_elseif_then_PBMAIN_3:
    mov [rbp-24], 2
    jmp pb_if_end_PBMAIN_2
pb_elseif_else_PBMAIN_4:
    mov [rbp-24], 3
    jmp pb_if_end_PBMAIN_2

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 5
    IF x > 5 THEN
        FUNCTION = 1
    ELSEIF x = 5 THEN
        FUNCTION = 2
    ELSE
        FUNCTION = 3
    END IF
END FUNCTION

Siehe auch

  • IF � PBXB64-Compiler-Hilfe
  • ELSE
  • THEN
  • END IF


END IF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

END IF

Schlie&szlig;en Sie einen mehrzeiligen IF-Block

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

END IF

Beschreibung

Schließen Sie einen mehrzeiligen IF-Block

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerEND IF Die Anweisung beendet eine mehrzeilige Operation IF...THEN blockieren. Alle Filialen (IF, ELSEIF, ELSE) konvergieren an diesem Punkt. Im Backend wird es zum Merge-Label, zu dem jeder Zweig springt.

Generierter Assembler-Code

Der Zusammenführungspunkt wird als beschrifteter Block ausgegeben:

pb_if_end_PBMAIN_0:
    mov r10, [rbp-24]
    mov rax, r10
    ; function epilogue

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 5
    IF x > 5 THEN
        FUNCTION = 1
    ELSE
        FUNCTION = 0
    END IF
END FUNCTION

Siehe auch

  • IF � PBXB64-Compiler-Hilfe
  • ELSEIF
  • ELSE
  • GRUNDLEGENDER Kontrollfluss


ENVIRON / ENVIRON$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ENVIRON / ENVIRON$

ENVIRON$ liest die Umgebungstabelle des aktuellen Prozesses. ENVIRON aendert dieselbe prozesslokale Tabelle, indem eine Variable gesetzt oder geloescht wird.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = ENVIRON$({ parameter_string | n })

Beschreibung

ENVIRON$ liest die Umgebungstabelle des aktuellen Prozesses. ENVIRON aendert dieselbe prozesslokale Tabelle, indem eine Variable gesetzt oder geloescht wird.

Typ: Funktion und Anweisung | Kategorie: System & Umgebung

PBXB64-Status: VERFUEGBAR — fokussierte Implementierung, kein Stub

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit einem Zeichenfolgenargument liefert ENVIRON$ den Wert der benannten Umgebungsvariablen aus dem aktuellen Prozess. Wenn der Name nicht vorhanden ist oder keinen Wert hat, gibt PBXB64 eine leere Zeichenfolge zurueck.

Mit einem numerischen Argument behandelt ENVIRON$ den Wert als einsbasierten Index in der aktuellen Umgebungstabelle und liefert den vollstaendigen Eintrag NAME=VALUE. Ein Index ausserhalb des Bereichs liefert eine leere Zeichenfolge.

Die Anweisungsform wertet string_expression als NAME=VALUE aus. PBXB64 ruft den eingebetteten Laufzeithelfer bestof_environ_set auf, der die Win32-API SetEnvironmentVariableA verwendet. Ein nicht leerer Wert setzt oder aktualisiert die prozesslokale Variable. Ein abschliessendes Gleichheitszeichen ohne Wert, zum Beispiel "NAME=", loescht die prozesslokale Variable.

Die geaenderte Umgebung gehoert zum laufenden Programmprozess. Sie schreibt nicht die uebergeordnete Shell, die Systemumgebung oder dauerhaft gespeicherte Benutzerumgebungswerte um. Vererbung an Kindprozesse und Codepage-Randfaelle sind breitere Kompatibilitaetsthemen und muessen separat validiert werden, bevor sie als vollstaendig dokumentiert werden.

Praktische Verwendung

Verwenden Sie ENVIRON$, um Konfiguration zu lesen, die von einem Launcher, Skript, Dienst-Wrapper oder Test-Harness geliefert wurde. Verwenden Sie ENVIRON, wenn ein Programm seine eigene Prozessumgebung anpassen muss, bevor spaeter im selben Prozess Code Umgebungsvariablen liest.

name$ = "PBXB64_MODE"
ENVIRON name$ + "=test"
mode$ = ENVIRON$(name$)
ENVIRON "PBXB64_MODE="
missing$ = ENVIRON$("PBXB64_MODE")

Parameter und Ergebnisse

parameter_string ist der Name der zu lesenden Umgebungsvariablen. n ist ein einsbasierter Index in den Umgebungsblock. string_expression fuer die Anweisung muss ein Gleichheitszeichen und davor einen nicht leeren Variablennamen enthalten. Ungueltiger Zuweisungstext wird vom Laufzeithelfer ignoriert und laesst die Umgebung unveraendert.

Einschraenkungen

PBXB64 verwendet fuer diese fokussierte Oberflaeche derzeit ANSI-Win32-Umgebungs-APIs. Unicode-Normalisierung, doppelte Namen, die sich nur durch Gross-/Kleinschreibung unterscheiden, Umgebungsvererbung an gestartete Kindprozesse und dauerhafte Umgebungsspeicherung gehoeren nicht zur zertifizierten Schliessung dieser Seite.

Einschränkungen

Wie in PowerBASIC arbeitet diese Funktion mit der Umgebung des laufenden Prozesses. Eine Zuweisung mit ENVIRON aendert keine globale Windows-Einstellung und ist nach dem Ende des Programms nicht dauerhaft sichtbar. Programme, die eine dauerhafte Benutzer- oder Systemumgebung aendern muessen, benoetigen eine eigene Win32- oder Registry-basierte Implementierung und eigene Tests.

Validierungsbeleg

Registrierter Test: tests/pb/test_environ_statement.pb ist in tests/validate.toml unter pb_linkrun registriert. Er verwendet einen eindeutigen Wegwerf-Variablennamen, beweist dass das Loeschen einer fehlenden Variablen harmlos ist, beweist ENVIRON name=value, beweist eine Aktualisierung auf einen zweiten Wert und beweist, dass ENVIRON name= die Variable loescht, wie durch ENVIRON$ beobachtet.

Erwartetes Ergebnis: das registrierte Programm schreibt nichts nach stdout und endet mit Exit-Code 0.

Test- und Dokumentationshinweise

Umgebungstests sollten eindeutige Namen verwenden und mit ENVIRON "NAME=" aufraeumen. Vermeiden Sie Tests, die von maschinenspezifischen Variablen wie PATH-Inhalten, installierten IDE-Variablen oder Dienstkonto-Zustand abhaengen, sofern der Test diese Werte nicht ausdruecklich kontrolliert.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Hilfe zum PBXB64-Compiler


EOF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

EOF

Gibt den End-of-File-Status einer ge&ouml;ffneten Datei zur&uuml;ck oder

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = EOF([#] filenum& )

Beschreibung

Gibt den End-of-File-Status einer geöffneten Datei zurück oder

Typ:Funktion |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Verwenden Sie EOF, um beim Lesen der Daten festzustellen, wann das Ende einer Datei erreicht wurde. filenum& ist die Dateinummer, die beim Öffnen der Datei angegeben wurde. EOF gibt -1 (TRUE) zurück, wenn das Ende der angegebenen Datei erreicht wurde oder wenn beim Versuch, das Ende der Datei zu überprüfen, ein Fehler auftritt. Andernfalls gibt EOF 0 (FALSE) zurück.

Wenn filenum& keine gültige, geöffnete Datei ist, tritt ein Laufzeitfehler 53 auf („Datei nicht gefunden“). Wenn filenum& für eine Binärdatei steht, gibt EOF nur dann TRUE zurück, wenn der letzte Dateivorgang ein Lesevorgang war und dieser Vorgang die angeforderte Anzahl von Bytes nicht lesen konnte.

Die EOF-Funktion kann auch mit den Anweisungen COMM LINE und TCP LINE verwendet werden, um zu erkennen, dass eine unvollständige Zeile empfangen wurde. Normalerweise lesen diese Anweisungen Daten, bis ein $CRLF-Zeichenpaar gefunden wird. In diesem Fall gibt EOF 0 (FALSE) zurück. Selbst wenn jedoch kein $CRLF gefunden wurde, werden die Anweisungen beendet, wenn keine weiteren Daten verfügbar sind. In diesem Fall geben sie alle bereits gesammelten Daten zurück und setzen EOF auf -1 (TRUE).

In vielen Fällen wäre es ratsam, EOF nach jeder COMM-LINIE und TCP-LINIE zu testen, um zu überprüfen, ob eine vollständige Zeile empfangen wurde. In manchen Fällen möchten Sie die Anweisung möglicherweise noch einmal oder mehrmals ausführen und dabei die Daten kombinieren, um eine vollständige Textzeile zu erhalten.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • COMM LINE - Hilfe zum PBXB64-Compiler
  • LOC
  • LOF
  • OPEN
  • TCP-ZEILEINGANG
  • Hilfe zum PBXB64-Compiler


ERASE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ERASE

Freigabe aufheben

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ERASE array [()] [, array [()]] ...

Beschreibung

Freigabe aufheben

Typ:Anweisung |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Auch der den einzelnen Elementen zugewiesene Speicher (sofern es sich um dynamische Strings, Objekte, Varianten usw. handelt) wird freigegeben. ERASE gibt den gesamten Speicher für die Arrays LOCAL , STATIC und GLOBAL frei. Nachdem ein Array gelöscht wurde, kann der Versuch, auf das Array zuzugreifen, zu einer allgemeinen Schutzverletzung (GPF) führen. Lokale Arrays werden beim Verlassen der Untergruppe/Funktion/Methode/Eigenschaft, die sie erstellt hat, implizit gelöscht.

Der Name des Arrays, dessen Zuordnung aufgehoben werden soll. Klammern sind optional, werden aber aus Gründen der Klarheit des Quellcodes empfohlen.

Eine Methode, um zu überprüfen, ob ein Array dimensioniert wurde, ohne ein GPF auszulösen, besteht darin, die Funktionen LBOUND und UBOUND wie folgt zu verwenden:

IF UBOUND(array) - LBOUND(array) = -1 THEN

' array() ist nicht zugewiesen

END IF

ERASE kann die Zuordnung eines Arrays aufheben, das als Parameter an eine Prozedur übergeben wurde, jedoch nur, wenn das Array als Referenz (BYREF) übergeben wurde. Um den Inhalt eines Arrays wieder in seinen initialisierten Zustand zu versetzen, verwenden Sie REDIM oder RESET .

Einschränkungen

Absolute Arrays (die von DIM...AT erstellt wurden) werden von ERASE unterschiedlich behandelt. Ein explizites ERASE gibt bei Bedarf die einzelnen Elemente eines absoluten Arrays frei, der gesamte Datenblock bleibt jedoch unverändert, da keine Annahmen über seinen Ursprung getroffen werden können. Es liegt in der Verantwortung des Programmierers, sicherzustellen, dass der vom absoluten Array überlagerte Speicherblock korrekt verarbeitet wird. Bei einem impliziten ERASE (Unter-/Funktions-/Methoden-/Eigenschaftsausgang) eines LOCAL-Absolutarrays wird der interne Array-Deskriptor deaktiviert, es werden jedoch keinerlei Änderungen an den einzelnen Datenelementen oder dem gesamten Block vorgenommen. Mit RESET können Arrays auf Nullen oder leere Strings gesetzt werden, ohne den Datenblock freizugeben.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ARRAYATTR
  • DIM ? PBXB64-Compiler-Hilfe
  • REDIM ? PBXB64-Compiler-Hilfe
  • RESET
  • Hilfe zum PBXB64-Compiler


EREIGNISQUELLE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

EREIGNISQUELLE

Erkl&auml;ren Sie eine

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

EVENT SOURCE InterfaceName

Beschreibung

Erklären Sie eine

Typ:Anweisung |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Bei Objekten ruft ein Clientmodul normalerweise ein Servermodul auf, um bei Bedarf bestimmte Vorgänge auszuführen. In vielen Situationen ist es für einen Server jedoch praktisch und effizient, seinen Client sofort über eine Bedingung oder ein Ereignis zu benachrichtigen, ohne den Client zu zwingen, sich nach dem Status zu erkundigen. Zu gegebener Zeit ruft der Server eine Client-Methode zurück und übergibt Informationen über die Methodenparameter. Dies ist das genaue Gegenteil der normalen Kommunikation, da das Servermodul nun das Clientmodul aufruft. Tatsächlich fungiert der Client als Server zur Verarbeitung dieser Ereignisse. In der Welt der Objekte soll ein Server, der solche „Ereignismethoden“ aufrufen kann, einen „Verbindungspunkt“ bieten. Ein Verbindungspunkt kann mit COM-Objekten oder internen Objekten verwendet werden. Darüber hinaus kann entweder eine direkte Schnittstelle oder die DISPATCH-Schnittstelle verwendet werden. Ereignismethoden können Parameter annehmen, aber möglicherweise kein Ergebnis zurückgeben.

Jede von PowerBASIC erstellte Serverklasse bietet möglicherweise bis zu vier Ereignisschnittstellen. Ein Clientmodul kann eine oder alle dieser Ereignisschnittstellen abonnieren. Wenn es für das Serverobjekt an der Zeit ist, den Client über ein Ereignis zu benachrichtigen, wird die RAISEEVENT-Anweisung verwendet. Für die Dispatch-Schnittstelle wird stattdessen OBJECT RAISEEVENT verwendet. RAISEEVENT darf nur innerhalb einer Klasse erscheinen, die die Event Source-Schnittstelle deklariert.

Der Client muss mit der Anweisung EVENTS FROM eine Verbindung zum Server initiieren und die Verbindung anschließend mit der Anweisung EVENTS END trennen.

Ein Verbindungspunkt kann einer Ereignismethode, mehreren Ereignismethoden oder überhaupt keiner Ereignismethode zugeordnet sein. Immer wenn eine RAISEEVENT-Anweisung oder OBJECT RAISEEVENT-Anweisung ausgeführt wird, werden nacheinander alle an das Quellobjekt angehängten Ereignismethoden aufgerufen. Es gibt keine Garantie für die Reihenfolge der Aufrufe und Sie müssen die Möglichkeit in Betracht ziehen, dass RAISEEVENT mit einem ByRef-Parameter den Wert einer Parametervariablen ändern könnte, bevor eine bestimmte Ereignismethode ausgeführt wird.

Schnittstellenname

Gibt den Schnittstellennamen „Ereignisquelle“ an. Wenn InterfaceName DISPATCH ist, können Sie mit der OBJECT RAISEEVENT-Anweisung darauf verweisen – andernfalls werden reguläre Methodenverweise verwendet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • EREIGNISSE
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • Was ist COM?
  • METHOD/END METHOD-Anweisungen
  • OBJEKT
  • RAISEEVENT
  • What Are Connection Points?
  • Hilfe zum PBXB64-Compiler


EREIGNISSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

EREIGNISSE

Anbringen oder abnehmen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIM oSource AS InterfaceName
DIM oEvent AS EventInterface
LET oSource = NEWCOM CLSID $ClassId
LET oEvent = CLASS "EventClass"
EVENTS FROM oSource CALL oEvent
[ statements ]
EVENTS END oEvent

Beschreibung

Anbringen oder abnehmen

Typ:Anweisung |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Im obigen Quellcodebeispiel ist oEvent eine Objektvariable, die auf ein Event-Handler-Objekt verweist, und oSource ist eine Objektvariable, die auf ein Ereignisquellobjekt verweist, das Ereignisse generiert.

Die EVENTS FROM-Anweisung fügt Ereignishandlercode an eine Ereignisquellenobjektvariable an. Die Objektvariable oEvent muss als unterstützte Ereignisschnittstelle deklariert werden, während „?EventClass“ die Klasse angibt, die den Ereignishandlercode implementiert. Die Objektvariable oSource gibt die Ereignisquelle an. EVENTS END trennt den Ereignishandler von der Ereignisquelle.

Im Allgemeinen „quellet“ ein Serverobjekt Ereignisse und ein Clientobjekt „verarbeitet“ Ereignisse, indem es eine METHODE bereitstellt, die vom Server aufgerufen wird, um eine benutzerdefinierte Benachrichtigung durchzuführen. Bei diesem Event-Handler handelt es sich um Code im Client-Objekt, der manchmal auch als „Event-Senke“ bezeichnet wird (analog zu den elektrotechnischen Begriffen Quelle/Senke).

Ein oder mehrere Clients können Ereignisse von einem Serverobjekt „abonnieren“, indem sie die Anweisung EVENTS FROM ausführen. Das Abonnement wird durch die Ausführung der EVENTS END-Anweisung beendet. Wenn der Server RAISEEVENT oder OBJECT RAISEEVENT ausführt, werden alle Clients aufgerufen, die sich von diesen Ereignissen abgemeldet haben. PowerBASIC-Server unterstützen bis zu 32 gleichzeitige Client-Abonnenten pro Serverobjekt.

Ereignisquellen und Ereignishandler können innerhalb eines einzelnen Moduls oder über COM-Dienste verwendet werden, die vom Windows-Betriebssystem bereitgestellt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CLASS/END CLASS
  • EREIGNISQUELLE
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • Was ist COM?
  • OBJEKT
  • RAISEEVENT
  • What Is An Object Anyway?
  • What Are Connection Points?
  • Hilfe zum PBXB64-Compiler


ERF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ERF

Gibt die Gau&szlig;sche Fehlerfunktion zurueck.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(ERF(1.0) - 0.8427007929) > 0.0002 THEN FUNCTION = 1

Beschreibung

Gibt die Gaußsche Fehlerfunktion zurueck.

Syntax: y = ERF( n )

Semantik

ERF(n) ist die normalisierte Gaußsche Fehlerfunktion. Sie ist ungerade und naehert sich fuer grosse positive bzw. negative Werte 1 bzw. -1.

Datentypen

Normale numerische Typen, Wide-Integer, UNL und UNF werden akzeptiert. Ergebnis: DOUBLE.


ERFC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ERFC

Gibt die komplementaere Fehlerfunktion 1-ERF(n) zurueck.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(ERFC(1.0) - 0.1572992071) > 0.0002 THEN FUNCTION = 1

Beschreibung

Gibt die komplementaere Fehlerfunktion 1-ERF(n) zurueck.

Syntax: y = ERFC( n )

Semantik

ERFC eignet sich fuer Randwahrscheinlichkeiten und Gaußsche Abklingfunktionen. Das Ergebnis ist DOUBLE und folgt bei Extremwerten der Laufzeitapproximation.

Datentypen

Alle normalen numerischen PB-Typen sowie INT/UINT128/256/512, UNL und UNF werden akzeptiert.


ERL$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ERL$

Gib den letzten zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

position$ = ERL$

Beschreibung

Gib den letzten zurück

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Gibt eine Zeichenfolge zurück, die den Namen der letzten (aktuellsten) Beschriftung, Zeilennummer oder Prozedur enthält, die vor dem letzten Laufzeitfehler innerhalb der aktuellen Sub , Function , Method oder Property ausgeführt wurde. Um ein hohes Effizienzniveau aufrechtzuerhalten, ist der zurückgegebene Name auf die ersten 8 Zeichen des tatsächlichen Namens beschränkt.

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.

Siehe auch

  • ERL-Systemvariable
  • ERR-Systemvariable
  • ERROR$ ? PBXB64-Compiler-Hilfe
  • Fehlerübersicht
  • Fehler-Trapping
  • BEI FEHLER ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


ERL-Systemvariable - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ERL-Systemvariable

Gib den letzten zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

nline = ERL

Beschreibung

Gib den letzten zurück

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Gibt die letzte (aktuellste) Zeilennummer zurück, die vor dem letzten Laufzeitfehler innerhalb der aktuellen Sub , Function , Method oder Property aufgetreten ist. Bei ERL handelt es sich bei den Zeilennummern um die traditionell-grundlegende Zeilennummerierung, nicht um die Zeile des physischen Quellcodes.

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.

Siehe auch

  • ERL$
  • ERR-Systemvariable
  • ERROR$ ? PBXB64-Compiler-Hilfe
  • Fehlerübersicht
  • Fehler-Trapping
  • BEI FEHLER ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


ERR-Systemvariable - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ERR-Systemvariable

Gibt den Fehlercode des letzten PowerBASIC-Laufzeitfehlers zur&uuml;ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = ERR
ERR = ErrNum
y = ERRCLEAR
ERRCLEAR

Beschreibung

Gibt den Fehlercode des letzten PowerBASIC-Laufzeitfehlers zurück.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ERR und ERRCLEAR geben den Fehlercode des letzten Laufzeitfehlers in der aktuellen Sub , Function , Method oder Property zurück. Diese Nummer kann nach jedem kritischen Vorgang getestet werden, sodass entsprechender Fehlerbehandlungscode ausgeführt werden kann.

Sie können ERR auch einen Wert zuweisen. Dies ähnelt der Ausführung einer ERROR-Anweisung, mit der Ausnahme, dass keine Verzweigung zu einer Fehler-Trap-Routine generiert wird. Stattdessen spiegeln nachfolgende Tests von ERR und ERRCLEAR ErrNum wider.

ERRCLEAR gibt den Fehlercode des letzten Laufzeitfehlers zurück. Darüber hinaus wird die interne Fehlercodevariable ERR von PowerBASIC auf Null zurückgesetzt, nachdem Sie darauf verwiesen haben. Schließlich emuliert es RESUME FLUSH, sodass keine RESUME-Ausführung erforderlich oder zulässig ist. Dies stellt sicher, dass Sie beim nächsten Test von ERR oder ERRCLEAR garantiert eine Null erhalten, es sei denn, in der Zwischenzeit ist tatsächlich ein neuer Fehler aufgetreten.

ERRCLEAR kann auch als Anweisung verwendet werden, um ERR auf Null zurückzusetzen.

WICHTIG: Lesen Sie sich unbedingt die Fehler und das Fehler-Trapping durch.

Einschränkungen

Gültige Laufzeitfehlerwerte liegen im Bereich von 0 bis 255. Ein Wert von 0 bedeutet, dass kein Fehler vorliegt. Der Versuch, einen Fehlerwert (mit der ERROR-Anweisung) außerhalb dieses Bereichs festzulegen, führt dazu, dass der Wert in einen Laufzeitfehler 5 („Ungültiger Funktionsaufruf“) umgewandelt wird.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • ERROR$ ? PBXB64-Compiler-Hilfe
  • Fehlerübersicht
  • Fehler-Trapping
  • BEI FEHLER ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


Erstellen einer Dynamic Link Library - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Erstellen einer Dynamic Link Library - Hilfe zum PBXB64-Compiler

Eine DLL enth&auml;lt eine oder mehrere exportierte Klassen, Subs oder Funktionen, die von Anwendungen oder anderen DLLs aufgerufen werden k&ouml;nnen. Eine DLL kann auch eine beliebige Anzahl privater Subs oder Funktionen enthalten, die nur aufgerufen werden k&ouml;nnen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine DLL enthält eine oder mehrere exportierte Klassen, Subs oder Funktionen, die von Anwendungen oder anderen DLLs aufgerufen werden können. Eine DLL kann auch eine beliebige Anzahl privater Subs oder Funktionen enthalten, die nur aufgerufen werden können

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Der erste Schritt besteht darin, die Abschnitte Ihrer Anwendung zu identifizieren, die in mehreren Programmen verwendet werden, oder im Fall von Visual Basic, Subs und Funktionen, die Sie schneller ausführen müssen.

Speichern Sie diese Subs und Funktionen als Text und ändern Sie die Dateierweiterung in .BAS. Dies wird zum Quellmodul, das mit PowerBASIC in eine DLL kompiliert wird. Wenn Sie möchten, können Sie die Quelldatei auch von Grund auf neu erstellen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Erstellen einer statischen Linkbibliothek - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Erstellen einer statischen Linkbibliothek - Hilfe zum PBXB64-Compiler

Die Erstellung einer SLL k&ouml;nnte nicht einfacher sein. Alles, was Sie dazu brauchen, ist eine einzige Metaanweisung oben im Quellcode Ihres Moduls:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Erstellung einer SLL könnte nicht einfacher sein. Alles, was Sie dazu brauchen, ist eine einzige Metaanweisung oben im Quellcode Ihres Moduls:

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

#COMPILE SLL "math_helpers.sll"

FUNCTION SllAddSeven(BYVAL n AS LONG) AS LONG
    FUNCTION = n + 7
END FUNCTION

Wenn Ihre Quelldatei ABC.BAS heisst und kein Dateiname angegeben wird, erstellt PBXB64 ABC.SLL. Wenn der Dateiname keine Erweiterung enthaelt, haengt PBXB64 .sll an. Ein Befehlszeilenpfad mit -o hat Vorrang.

Die erzeugte SLL ist ein deterministisches COFF-Archiv mit dem kompilierten Benutzerobjekt sowie unterstuetzten SLL-lokalen Link-Eingaben und Ressourcen. Sie ist kein ausfuehrbares Programm und enthaelt keine Startup- oder Laufzeitobjekte. Der finale EXE- oder DLL-Host linkt diese Teile, wenn er #LINK verwendet.

#COMPILE EXE
#LINK "math_helpers.sll"

DECLARE FUNCTION SllAddSeven(BYVAL n AS LONG) AS LONG

FUNCTION PBMAIN() AS LONG
    FUNCTION = SllAddSeven(35) <> 42
END FUNCTION

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Erstellen eines Dialogs - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Erstellen eines Dialogs

In diesem Beispiel erstellen wir einen einfachen Dialog, der den Benutzer auffordert, seinen Namen einzugeben, und ein Textfeld zur Eingabe sowie die Schaltfl&auml;chen &#8222;OK&ldquo; und &#8222;Abbrechen&ldquo; bereitstellt. Um den Dialog zu erstellen, verwenden wir zun&auml;chst den DI

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In diesem Beispiel erstellen wir einen einfachen Dialog, der den Benutzer auffordert, seinen Namen einzugeben, und ein Textfeld zur Eingabe sowie die Schaltflächen „OK“ und „Abbrechen“ bereitstellt. Um den Dialog zu erstellen, verwenden wir zunächst den DI

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

LOKALER hParent ALS DWORD

DIALOG NEU hParent, Caption$,,, 160, 50, Style&, exStyle& TO hDlg

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Erstellen eines DISPATCH-Objekts - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Erstellen eines DISPATCH-Objekts

DISPATCH-Objekte sind einfach zu erstellen. Deklarieren Sie eine Objektvariable mit einem der Late-Binding-Typnamen (DISPATCH, IDISPATCH, IUNKNOWN, oderIAUTOMATION), dann erstellen Sie das Objekt mit NEWCOM.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DISPATCH-Objekte sind einfach zu erstellen. Deklarieren Sie eine Objektvariable mit einem der Late-Binding-Typnamen (DISPATCH, IDISPATCH, IUNKNOWN, oderIAUTOMATION), dann erstellen Sie das Objekt mit NEWCOM.

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

LOCAL DispVar AS IDISPATCH
DispVar = NEWCOM("Scripting.Dictionary")

NEWCOM akzeptiert eine ProgID-Zeichenfolge, initialisiert COM im aktuellen Thread, erstellt das Objekt und gibt eine zurück IDispatch Schnittstellenzeiger. Benutzen ISOBJECT(DispVar) um zu überprüfen, ob die Erstellung erfolgreich war.

Beschreibung

DISPATCH-Objekte werden erstellt, indem eine Late-Binding-Objektvariable deklariert und mit NEWCOM eine COM-Referenz zugewiesen wird. Diese Seite behandelt den Erzeugungsschritt und nicht den spaeteren Mitgliedszugriff.

Validierungsbeleg

Der aktuelle Hilfebaum dokumentiert denselben Erzeugungspfad in cmd_late_binding.html und cmd_let_statement(with_objects).html. Das zugrundeliegende Null-/Nicht-Null-Verhalten von Objektreferenzen ist in examples/basic/test_object.pb abgedeckt.

Nutzungshinweise

Deklarieren Sie den Empfaenger mit einem Late-Binding-Typ wie DISPATCH oder IDISPATCH und weisen Sie dann mit NEWCOM eine COM-ProgID zu. Die Objektreferenz ist erst nach erfolgreichem Aufruf verwendbar.

Grenzen

Diese Seite behandelt den Erzeugungsschritt fuer Dispatch-Objekte und die Erfolgspruefung. Mitgliedsaufrufe, Eigenschaftszugriffe und Ereignis-Dispatch gehoeren auf die zugehoerigen Seiten LET (with Objects) und OBJECT.


ESCAPE$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ESCAPE$

Maskiert Text fuer web-sicheren Transport.

Kategorie: Allgemeine Referenz

Syntax

escaped$ = ESCAPE$(text$)

Beschreibung

Maskiert Text fuer web-sicheren Transport.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen deterministischen String-Helfer. Kodierungsfunktionen liefern transformierten Text zurueck, waehrend Hash-Funktionen feste, kleingeschriebene Hex-Digests liefern.

Grenzen

Dokumentieren Sie hier nur die getesteten Byte- oder String-Transformationen. Wenn es einen Rueckwaerts-Helfer gibt, pruefen Sie ihn separat, statt Symmetrie aus der Vorwaertsform abzuleiten.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

ESCAPE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

ESCAPE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


EVAL / EVAL$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

EVAL / EVAL$

Wertet einen numerischen Ausdruck aus einer Zeichenkette aus oder liefert Zeichenkettentext ueber EVAL$ zurueck. PBXB64 unterstuetzt Integer-Arithmetik, Vorrangregeln, Klammern, unaere Vorzeichen, Leerraum und einen sicheren Rueckfall bei ungueltigen Ausdruecken.

Kategorie: Allgemeine Referenz

Syntax

n& = EVAL(expression$)
s$ = EVAL$(text$)

Beschreibung

Wertet einen numerischen Ausdruck aus einer Zeichenkette aus oder liefert Zeichenkettentext ueber EVAL$ zurueck. PBXB64 unterstuetzt Integer-Arithmetik, Vorrangregeln, Klammern, unaere Vorzeichen, Leerraum und einen sicheren Rueckfall bei ungueltigen Ausdruecken.

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt das PBXB64-Verhalten, das durch die aktuelle Validierungsmatrix abgedeckt ist. Verwenden Sie die hier gezeigte Syntax fuer Regressionstests; weitergehende PowerBASIC-Formen gelten als separate Kompatibilitaetsarbeit, sofern keine andere Seite sie dokumentiert.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


EXE.Inst-Mitglied - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

EXE.Inst-Mitglied

Gibt Informationen &uuml;ber das ausgef&uuml;hrte Programm zur&uuml;ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

h& = EXE.Inst
f$ = EXE.Extn$
f$ = EXE.Full$
f$ = EXE.Name$
f$ = EXE.Namex$
f$ = EXE.Path$

Beschreibung

Gibt Informationen über das ausgeführte Programm zurück.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit EXE können Sie Informationen über das ausgeführte Programm abrufen, einschließlich des vollständigen Pfads und Dateinamens oder nur eines ausgewählten Teils davon. Wenn sich die Referenz physisch in einer DLL befindet, beschreiben die zurückgegebenen Daten das ausführbare Programm, das sie geladen hat.

EXE.Inst

Dies gibt das Instanzhandle (ein DWord) des Programms zurück, das gerade ausgeführt wird.

EXE.Extn$

Dies gibt die Erweiterung (mit einem führenden Punkt) des Programms zurück, das gerade ausgeführt wird.

EXE.Full$

Dies gibt das vollständige Laufwerk, den Pfad, den Dateinamen und die Erweiterung des Programms zurück, das gerade ausgeführt wird.

EXE.Name$

Dies gibt nur den Dateinamen des Programms zurück, das gerade ausgeführt wird.

EXE.Namex$

Dies gibt den Dateinamen und die Erweiterung des Programms zurück, das gerade ausgeführt wird.

EXE.Pfad$

Dies gibt das vollständige Laufwerk und den Pfad des Programms zurück, das gerade ausgeführt wird.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • COMMAND$
  • PATHNAME$
  • PATHSCAN$ " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


EXP10 - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

EXP10

Gibt 10 hoch dem Argument zurueck.

Kategorie: Allgemeine Referenz

Syntax

y = EXP10( numeric_expression )

Beschreibung

Gibt 10 hoch dem Argument zurueck.

Typ: Funktion | Kategorie: Mathematik und Numerik

PBXB64-Status: VERFUEGBAR

Beschreibung

EXP10 berechnet 10 hoch numeric_expression. Das Ergebnis ist ein Gleitkommawert.

PBXB64 akzeptiert INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL ueber den bestehenden EXP10-Befehl. Wide- und UNL-Werte verwenden den internen typisierten Laufzeitpfad.

Validierung

tests/pb/test_math_wide_unl.pb prueft EXP10 mit Wide-Integer und UNL. Verwenden Sie den Test math_wide_unl aus tests/validate.toml.


EXP2 - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

EXP2

Gibt 2 hoch dem Argument zurueck.

Kategorie: Allgemeine Referenz

Syntax

y = EXP2( numeric_expression )

Beschreibung

Gibt 2 hoch dem Argument zurueck.

Typ: Funktion | Kategorie: Mathematik und Numerik

PBXB64-Status: VERFUEGBAR

Beschreibung

EXP2 berechnet 2 hoch numeric_expression. Das Ergebnis ist ein Gleitkommawert.

PBXB64 akzeptiert INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL ueber den bestehenden EXP2-Befehl. Wide- und UNL-Werte verwenden den internen typisierten Laufzeitpfad.

Validierung

tests/pb/test_math_wide_unl.pb prueft EXP2 mit Wide-Integer und UNL. Verwenden Sie den Test math_wide_unl aus tests/validate.toml.


EXPM1 - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

EXPM1

Gibt exp(n)-1 mit einem stabilen Rechenweg fuer kleine Werte zurueck.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(EXPM1(1.0) - 1.7182818285) > 0.0001 THEN FUNCTION = 1

Beschreibung

Gibt exp(n)-1 mit einem stabilen Rechenweg fuer kleine Werte zurueck.

Syntax: y = EXPM1( n )

Semantik

EXPM1 vermeidet Ausloeschung besser als EXP(n)-1, wenn n nahe null liegt. Das Ergebnis ist DOUBLE und folgt bei Ueberlauf dem Gleitkomma-Verhalten.

Datentypen

Normale numerische Typen, Wide-Integer, UNL und UNF werden ueber denselben Befehl akzeptiert.


EXTRACT$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

EXTRACT$

Extrahieren Sie Zeichen aus einer Zeichenfolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x$ = EXTRACT$([ start ,] MainStr , [ANY] MatchStr )

Beschreibung

Extrahieren Sie Zeichen aus einer Zeichenfolge

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

E XTRACT$ gibt eine Teilzeichenfolge von MainStr zurück, beginnend mit dem ersten Zeichen (oder dem durch start angegebenen Zeichen) und bis zum ersten Vorkommen von MatchStr (aber nicht einschließlich). Wenn MatchStr nicht in MainStr vorhanden ist oder einer der Zeichenfolgenparameter null ist, wird der gesamte MainStr zurückgegeben.

start ist die optionale Startposition, an der mit dem Extrahieren begonnen werden soll. Wenn start nicht angegeben ist, beginnt es an Position 1. Wenn start Null ist oder über die Länge von MainStr hinausgeht, wird eine Nullzeichenfolge zurückgegeben. Wenn start negativ ist, wird die Startposition von rechts nach links gezählt: Wenn -1, beginnt die Suche beim letzten Zeichen; wenn -2, der vorletzte und so weiter.

MainStr ist der Zeichenfolgenausdruck, aus dem extrahiert werden soll. MatchStr ist der Zeichenfolgenausdruck, bis zu dem extrahiert werden soll. Bei EXTRACT$ wird die Groß-/Kleinschreibung beachtet.

Wenn das Schlüsselwort ANY enthalten ist, gibt MatchStr eine Liste einzelner Zeichen an, nach denen einzeln gesucht werden soll. Eine Übereinstimmung mit einem dieser Zeichen führt dazu, dass der Extraktionsvorgang bis zu diesem Zeichen ausgeführt wird.

EXTRACT$ ist besonders nützlich, wenn eine Zeichenfolge analysiert wird, die Argumente für ein Programm enthält, oder wenn mit NULL terminierte oder durch Trennzeichen getrennte Zeichenfolgen manipuliert werden, die von einer in einer anderen Sprache geschriebenen Routine empfangen wurden.

Die Komplementärfunktion zu EXTRACT$ ist REMAIN$ , die den Teil der Zeichenfolge zurückgibt, den EXTRACT$ zurücklässt. Eine ähnliche Funktion wie EXTRACT$ ist PARSE$ , die durch Trennzeichen getrennte Teilzeichenfolgen aus einer Zeichenfolge extrahiert.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CLIP$
  • INSTR ? PBXB64-Compiler-Hilfe
  • JOIN$
  • LEFT$ ? PBXB64-Compiler-Hilfe
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • MID$ ? PBXB64-Compiler-Hilfe
  • PARSE$ " PBXB64-Compiler-Hilfe
  • PARSECOUNT " PBXB64-Compiler-Hilfe
  • REMAIN$
  • REMOVE$
  • RETAIN$
  • RIGHT$ ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • TALLY " PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • UNWRAP$
  • ÃœBERPRÃœFEN " Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


FACT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FACT

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Kategorie: Allgemeine Referenz

Syntax

f = FACT( n )
text = FACT$( n )

Beschreibung

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Semantik

FACT liefert n! fuer eine nichtnegative ganze Zahl als DOUBLE. FACT$ liefert die exakte Dezimaldarstellung ohne Gleitkommarundung.

Datentypen und Grenze

Ganzzahlige Wide- und UN-Werte werden unterstuetzt. Die exakte Implementierung ist bei n <= 100000 ressourcenbegrenzt; ausserhalb dieser Grenze wird fail-closed "0" geliefert. DOUBLE unterliegt seinen normalen Genauigkeits- und Ueberlaufgrenzen.


FALSE - Boolesches FALSE-Literal - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FALSE - Boolesches FALSE-Literal

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

IF flag = FALSE THEN

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

PB-Falschliteral. In PB-kompatiblen booleschen Ausdruecken ist falsch gleich Null.

Praktische Verwendung

Verwenden Sie FALSE nur in der gezeigten Kontrollfluss- oder Ausdrucksposition. Der Test sollte die komplette Umgebungsform enthalten, damit der Scanner und der Parser die Position korrekt erkennen.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Diese Keywords haben nur in ihren erkannten Sprachpositionen die beabsichtigte Bedeutung. Ausserhalb dieser Positionen sollte der Parser nicht stillschweigend eine andere Semantik annehmen.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FASTPROC/END FASTPROC-Anweisungen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FASTPROC/END FASTPROC-Anweisungen

Definieren Sie einen FastProc-Codeabschnitt.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FASTPROC ProcName [([ arguments ])] [THREADSAFE] [AS LONG]
[ statements ...]
END FASTPROC [= ReturnValue ]

Beschreibung

Definieren Sie einen FastProc-Codeabschnitt.

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Rückgabewert: ]

Eine schnelle Prozedur (FASTPROC) ist eine stark vereinfachte Form von SUB oder FUNCTION, die viel schneller ausgeführt wird als ihre voll ausgestatteten Gegenstücke. Es erlaubt maximal zwei numerische LONG-Argumente und kann optional ein LONG-Ergebnis zurückgeben. Für maximale Ausführungsgeschwindigkeit werden die Argumente immer als Registervariablen verarbeitet. Es wird nie ein Stapelrahmen erstellt, daher gibt es weitere Einschränkungen, die weiter unten aufgeführt sind. Der Programmierer kann dann entscheiden, wann es angemessen ist, diese Kompromisse im Austausch für maximale Effizienz zu akzeptieren.

Der gesamte ausführbare Code muss sich in einem Sub-, Function-, Method-, FastProc- oder Property-Block befinden. Sie können eine Prozedur nicht innerhalb einer anderen Prozedur definieren. Ein FASTPROC ist ein unterprogrammartiger Anweisungsblock, der mit der CALL-Anweisung aufgerufen wird. Ein FASTPROC kann auch ohne das Wort CALL aufgerufen werden, das dann impliziert wird. Wenn das CALL-Wort weggelassen wird, müssen auch die Klammern um die Argumentliste weggelassen werden.

ProcName muss eindeutig sein: Keine Variable, Funktion, Sub, Methode, FastProc, Eigenschaft oder Beschriftung dürfen denselben Namen haben.

FADENSICHER

Wenn Sie die Option THREADSAFE einschließen, erstellt PowerBASIC automatisch ein Semaphor, das jeweils nur einem Thread die Ausführung erlaubt. Andere müssen warten, bis der erste Thread die THREADSAFE-Prozedur verlässt, bevor sie beginnen dürfen.

Einschränkungen

Die meisten Einschränkungen eines FASTPROC ergeben sich aus der Tatsache, dass kein Stapelrahmen erstellt wird.

PBXB64 V14 implementiert FASTPROC auf x64 ueber denselben aufrufbaren Prozedurpfad wie SUB/FUNCTION und behaelt dabei den FASTPROC-Kontext fuer EXIT FASTPROC bei. END FASTPROC wird als Abschluss eines FASTPROC-Blocks akzeptiert.

Fokussierte V14-Validierung: tests/pb/test_fastproc_inout_out.pb prueft FASTPROC-Deklaration, implizite Aufrufsyntax und INOUT/OUT-Skalaraenderungen. tests/pb/test_exit_fastproc.pb prueft EXIT FASTPROC und END FASTPROC; tests/pb/test_exit_fastproc_reject.pb und tests/pb/test_exit_fastproc_reject_extra.pb pruefen die gezielten Diagnosen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • DECLARE ? PBXB64-Compiler-Hilfe
  • EXIT � PBXB64-Compiler-Hilfe
  • FUNCNAME$
  • GLOBAL ? PBXB64-Compiler-Hilfe
  • INSTANZ
  • ISMISSING
  • LOCAL � PBXB64-Compiler-Hilfe
  • METHOD/END METHOD-Anweisungen
  • PROPERTY / END PROPERTY
  • STATIC ? PBXB64-Compiler-Hilfe
  • SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe
  • THREAD CREATE
  • THREADID
  • THREADSAFE-Optionsdeskriptor
  • Hilfe zum PBXB64-Compiler


FEF. - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FEF.

SPR-Befehl - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: Allgemeine Referenz

Syntax

FEF.label|$$VAR[|root][|pattern][|flags][|from][|to]

Beschreibung

SPR-Befehl - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

FEF. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `FEF.label|$$VAR[|root][|pattern][|flags][|from][|to]`.

Parameter

# | Name/Form | Bedeutung
P1 | label | erforderlich
P2 | $$VAR | erforderlich
P3 | root | optional
P4 | pattern | optional
P5 | flags | optional
P6 | from | optional
P7 | to | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_fef.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Fehler-Trapping - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Fehler-Trapping

Mit Fehlerfallen k&ouml;nnen Sie Laufzeitfehler abfangen und behandeln, anstatt dass Programme einen schwerwiegenden Fehler kurzerhand abbrechen oder ignorieren, was m&ouml;glicherweise zu Datenverlusten f&uuml;hrt.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit Fehlerfallen können Sie Laufzeitfehler abfangen und behandeln, anstatt dass Programme einen schwerwiegenden Fehler kurzerhand abbrechen oder ignorieren, was möglicherweise zu Datenverlusten führt.

Typ:Schlüsselwort |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Um Fehler abzufangen, müssen Sie drei Schritte ausführen, die in den folgenden Abschnitten beschrieben werden:

Hier ist zum Beispiel ein Code, der ein Array mit den Dateinamen aus einem Verzeichnis füllt. In diesem Abschnitt wird ein vollständiges Fehler-Trapping hinzugefügt, um Laufzeitfehler zu verhindern, wenn der Benutzer ein Verzeichnis auswählt, das keine Dateien enthält, oder ein Laufwerk, das nicht bereit ist.

SUB GetFileNames(File() AS STRING)

DIM CurrentDir AS STRING

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.


Fehler-Trapping-Zusammenfassung - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Fehler-Trapping-Zusammenfassung

Error Trapping ist eine n&uuml;tzliche und leistungsstarke Funktion von PowerBASIC. Viele Programmierer vermeiden das Abfangen von Fehlern aufgrund der erheblichen Strafen, die andere BASIC-Dialekte verh&auml;ngen, wenn das Fehler-Trapping aktiviert ist.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Error Trapping ist eine nützliche und leistungsstarke Funktion von PowerBASIC. Viele Programmierer vermeiden das Abfangen von Fehlern aufgrund der erheblichen Strafen, die andere BASIC-Dialekte verhängen, wenn das Fehler-Trapping aktiviert ist.

Typ:Schlüsselwort |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Schließlich enthält PowerBASIC jetzt die folgende Liste vordefinierter (integrierter) Equates, um die Erstellung ausführlicherer Fehlerbehandlungscodes zu unterstützen. Dazu gehören:

%ERR_ILLEGALFUNCTIONCALL

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.


Fehlerübersicht - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Fehlerübersicht

Im Gegensatz zu den DOS-Versionen von PowerBASIC verfolgen die Windows-Versionen von PowerBASIC eine v&ouml;llig andere Philosophie: den kleinstm&ouml;glichen und schnellstm&ouml;glichen Code zu generieren. Folglich ist die Fehlerbehandlung einfach

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Im Gegensatz zu den DOS-Versionen von PowerBASIC verfolgen die Windows-Versionen von PowerBASIC eine völlig andere Philosophie: den kleinstmöglichen und schnellstmöglichen Code zu generieren. Folglich ist die Fehlerbehandlung einfach

Typ:Schlüsselwort |Kategorie: Fehlerreferenz

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Fehler bei der Kompilierung entstehen, wenn der Compiler beim Kompilieren ein Problem in Ihrem Quellcode nicht lösen kann. Beispiele hierfür sind: Tippfehler; Variablen falsche Werte zuweisen (z. B. „x$ = 5“); und der Versuch, einen Variablennamen zu verwenden, der nicht dimensioniert wurde, als OPTION EXPLICIT (oder #DIM ALL ) aktiviert wurde.

Wenn ein Kompilierzeitfehler erkannt wird, zeigt PowerBASIC ein Meldungsfeld mit dem Fehlercode sowie einer kurzen Beschreibung sowie der Zeilennummer im Code an, in der der Fehler aufgetreten ist. Die fehlerhafte Codezeile wird ebenfalls angezeigt. Wenn Sie die PowerBASIC-IDE verwenden, wird die Einfügemarke in die fehlerhafte Zeile verschoben, sobald der Fehlerdialog geschlossen wurde.

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


FELD - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FELD

Binden Sie eine Feldzeichenfolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FIELD # filenum , nSize AS fieldvar , [FROM] nStart TO nEnd AS fieldvar [, ...]
FIELD DynamicStr , nSize AS fieldvar , [FROM] nStart TO nEnd AS fieldvar [, ...]
FIELD RESET fieldvar [, ...]
FIELD STRING fieldvar [, ...]

Beschreibung

Binden Sie eine Feldzeichenfolge

Typ:Anweisung |Kategorie:Datentypen

PBXB64-Status: VERFUEGBAR fuer fokussierte Random-Datei-Feldpuffer

PBXB64-Zertifizierung: [GETESTET BEGRENZT]

Beschreibung

PBXB64 unterstuetzt die fokussierte FIELD-Oberflaeche fuer Random-Dateien. FIELD #n legt einen eingebetteten Satzpuffer fuer Dateinummer n an und ordnet kommaseparierte String-Variablen festen Bereichen dieses Puffers zu. Ein Feld kann eine sequenzielle Breitenklausel oder einen 1-basierten inklusiven Bereich FROM nStart TO nEnd verwenden. Wird ein kuerzerer String zugewiesen, fuellt PBXB64 den Pufferbereich mit Leerzeichen auf. Ein nacktes PUT #n schreibt den aktuellen Feldpuffer in die Datei, und ein nacktes GET #n liest den aktuellen Satz fuer zugeordnete Feldvariablen in diesen Puffer zurueck.

FIELD RESET loest eine oder mehrere Feldvariablen und setzt jede geloeste Variable auf einen leeren dynamischen String. FIELD STRING loest eine oder mehrere Feldvariablen und behaelt den aktuellen Stringwert jeder Variable bei. Unbekannte FIELD STRING-Ziele werden mit einer gezielten Compile-Zeit-Diagnose abgewiesen.

Nachdem eine Variable durch FIELD RESET oder FIELD STRING geloest wurde, sind spaetere Zuweisungen an diesen String normale dynamische Stringzuweisungen und aendern den Random-Datei-Satzpuffer nicht mehr. Das ist wichtig, wenn ein Programm einen Satz speichert, die FIELD-Variablen trennt, dieselben Variablennamen als Arbeitsstrings weiterverwendet und danach einen weiteren Satz aus dem urspruenglichen Dateipuffer schreibt.

Der fokussierte Regressionstest deckt sequenzielle Felder, explizite FROM ... TO-Bereiche, Diagnosen fuer ungueltige Bereiche, Diagnosen fuer unbekannte FIELD STRING-Ziele, Aktualisierung des Puffers mit nacktem GET #n, Schreiben des Puffers mit nacktem PUT #n, Werterhalt mit FIELD STRING und Leeren mit FIELD RESET ab. Breitere PBWin-Paritaet fuer feste FIELD-Deklarationen, UDT-lastige Satzueberlagerungen und alle historischen Random-Datei-Randfaelle bleibt ein separates Ziel.

Der Satzpuffer gehoert zum Laufzeit-Dateislot, nicht zum Namen der Quellvariable. CLOSE gibt diesen Slotzustand frei, waehrend ein erneutes Oeffnen derselben Dateinummer einen frischen Zuordnungskontext anlegt. Halten Sie das FIELD-Layout im Quelltext nahe bei der passenden OPEN ... FOR RANDOM ... LEN=-Anweisung, damit Feldbreiten und Satzlaenge zusammen geprueft werden koennen. Bei binaeren Saetzen sollten sowohl die Stringwerte als auch die exakten durch PUT #n geschriebenen Bytes geprueft werden, weil Leerzeichenfuellung und eingebettete NUL-Bytes absichtliche Daten sein koennen.

Ungueltige Layouts sollen vor dem eigentlichen Datei-I/O fehlschlagen. Dazu gehoeren ein FROM-Bereich, dessen Ende vor dem Anfang liegt, ein Feld ausserhalb der aktiven Satzlaenge oder eine Detach-Anweisung, die keine FIELD-Variable benennt. Fuer die fokussierte PBXB64-Oberflaeche sind das Quellfehler und keine stillen Aenderungen an beliebigen Strings.

Wenn eine zugeordnete FIELD-Variable gelesen wird, erzeugt PBXB64 den aktuellen Bytebereich aus dem zugehoerigen Puffer als Stringwert fuer diesen Ausdruck. Wird dieselbe Variable zugewiesen, solange sie noch zugeordnet ist, schreibt die Laufzeit die linken Bytes des zugewiesenen Werts in den Bereich und fuellt den Rest mit Leerzeichen auf. So bleibt die Variable bis zu einer ausdruecklichen Detach-Operation mit dem Satzpuffer synchron.

Diese Regeln sind absichtlich byteorientiert; sie fuehren keine Textkodierungsumwandlung aus und interpretieren den Inhalt des Satzpuffers nicht als Zahlen, Datumswerte oder strukturierte Felder.

Bei Verwendung mit einer Datei:

Es wird automatisch ein Dateipuffer mit wahlfreiem Zugriff erstellt, der verwendet werden kann, wenn GET oder PUT ohne Zielvariable verwendet werden. In diesem Fall werden die Dateidaten über diesen Puffer gelesen oder geschrieben, auf den mit einer oder mehreren Feldvariablen zugegriffen wird.

Wenn ein Feld durch einen einzelnen Feldparameter (Größe) definiert wird, stellt er die Länge des Feldes in Zeichen dar, wobei die Startposition durch das vorhergehende Feld innerhalb der Anweisung impliziert wird. Wenn zwei Parameter verwendet werden, stellen sie die Start- ( nStart ) und Endpositionen ( nEnd ) in Zeichen dar, indiziert auf eins.

Wenn einer Feldzeichenfolge ein Zeichenfolgewert zugewiesen wird, der kürzer als die deklarierte Größe ist, wird sie beim Einfügen in den Dateipuffer mit Leerzeichen aufgefüllt. Es besteht keine Anforderung, LSET für die Zuweisung zu verwenden.

FIELD-Zuordnungen sind fuer die aktive geoeffnete Random-Datei und den eingebetteten Puffer dieser Dateinummer vorgesehen.

LOCAL sFirst AS FELD, sSecond AS FELD

OPEN SIE „ABC.TXT“ FOR RANDOM AS #1 LEN=20

FELD #1, 10 AS sFirst, 10 AS sSecond

sFirst = „0123456789“

sSecond = „9876543210“

Put #1 ' erstellt einen Datensatz von: 01234567899876543210

Einschränkungen

Die fokussierte PBXB64-Implementierung unterstuetzt Dateinummer-Feldpuffer mit sequenziellen Breitenklauseln, expliziten FROM nStart TO nEnd-Klauseln, nacktem PUT #n zum Pufferschreiben und nacktem GET #n zum Pufferruecklesen. Dynamische String-Puffer und die exakten PBWin-Einschraenkungen fuer FIELD-Deklarationen bleiben breitere Paritaetsarbeit.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • GET ? PBXB64-Compiler-Hilfe
  • PUT ? PBXB64-Compiler-Hilfe
  • TYP/ENDTYP ? PBXB64-Compiler-Hilfe
  • Benutzerdefinierte Typen (UDTs)
  • Gewerkschaften
  • UNION/END UNION
  • Hilfe zum PBXB64-Compiler


FEP. - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FEP.

SPR-Befehl - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: Allgemeine Referenz

Syntax

FEP.label|$$VAR[|mode][|pattern]

Beschreibung

SPR-Befehl - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

FEP. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `FEP.label|$$VAR[|mode][|pattern]`.

Parameter

# | Name/Form | Bedeutung
P1 | label | erforderlich
P2 | $$VAR | erforderlich
P3 | mode | optional
P4 | pattern | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_fep.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FER. - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FER.

SPR-Befehl - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: Allgemeine Referenz

Syntax

FER.label|$$VAR|registry-path[|flags][|pattern]

Beschreibung

SPR-Befehl - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

FER. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `FER.label|$$VAR|registry-path[|flags][|pattern]`.

Parameter

# | Name/Form | Bedeutung
P1 | label | erforderlich
P2 | $$VAR | erforderlich
P3 | registry-path | erforderlich
P4 | flags | optional
P5 | pattern | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_fer.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FES. - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FES.

SPR-Befehl - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: Allgemeine Referenz

Syntax

FES.label|$$VAR[|flags][|pattern][|machine]

Beschreibung

SPR-Befehl - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

FES. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `FES.label|$$VAR[|flags][|pattern][|machine]`.

Parameter

# | Name/Form | Bedeutung
P1 | label | erforderlich
P2 | $$VAR | erforderlich
P3 | flags | optional
P4 | pattern | optional
P5 | machine | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_fes.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FEV. - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FEV.

SPR-Befehl - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: Allgemeine Referenz

Syntax

FEV.label|$$VAR|source[|pattern]

Beschreibung

SPR-Befehl - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

FEV. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `FEV.label|$$VAR|source[|pattern]`.

Parameter

# | Name/Form | Bedeutung
P1 | label | erforderlich
P2 | $$VAR | erforderlich
P3 | source | erforderlich
P4 | pattern | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_fev.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


File_AppendText - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

File_AppendText

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION File_AppendText(path AS STRING, value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

File_AppendText ist ein normaler, unterstrichener BASIC-Befehl der Familie File. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FileTools source modules: local file and path adapter boundary

MCP-Aequivalent: local filesystem operation

Nebenwirkung: filesystem. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie File sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_AppendText(0)
  FUNCTION = 0
END FUNCTION


File_AppendUtf8 - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

File_AppendUtf8

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION File_AppendUtf8(path AS STRING, value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

File_AppendUtf8 ist ein normaler, unterstrichener BASIC-Befehl der Familie File. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FileTools source modules: local file and path adapter boundary

MCP-Aequivalent: local filesystem operation

Nebenwirkung: filesystem. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie File sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_AppendUtf8(0)
  FUNCTION = 0
END FUNCTION


File_CopyReplace - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

File_CopyReplace

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION File_CopyReplace(path AS STRING, value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

File_CopyReplace ist ein normaler, unterstrichener BASIC-Befehl der Familie File. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FileTools source modules: local file and path adapter boundary

MCP-Aequivalent: local filesystem operation

Nebenwirkung: filesystem. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie File sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_CopyReplace(0)
  FUNCTION = 0
END FUNCTION


File_IsDirectory - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

File_IsDirectory

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION File_IsDirectory(path AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

File_IsDirectory ist ein normaler, unterstrichener BASIC-Befehl der Familie File. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FileTools source modules: local file and path adapter boundary

MCP-Aequivalent: local filesystem operation

Nebenwirkung: filesystem. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie File sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_IsDirectory(0)
  FUNCTION = 0
END FUNCTION


File_MakeDirectory - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

File_MakeDirectory

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION File_MakeDirectory(path AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

File_MakeDirectory ist ein normaler, unterstrichener BASIC-Befehl der Familie File. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FileTools source modules: local file and path adapter boundary

MCP-Aequivalent: local filesystem operation

Nebenwirkung: filesystem. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie File sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_MakeDirectory(0)
  FUNCTION = 0
END FUNCTION


File_MoveReplace - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

File_MoveReplace

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION File_MoveReplace(path AS STRING, value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

File_MoveReplace ist ein normaler, unterstrichener BASIC-Befehl der Familie File. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FileTools source modules: local file and path adapter boundary

MCP-Aequivalent: local filesystem operation

Nebenwirkung: filesystem. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie File sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_MoveReplace(0)
  FUNCTION = 0
END FUNCTION


File_NormalizePath - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

File_NormalizePath

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION File_NormalizePath(path AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

File_NormalizePath ist ein normaler, unterstrichener BASIC-Befehl der Familie File. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Der Befehl loest einen lokalen Pfad mit der Windows-Kanonisierungsroutine auf. Das Ziel wird dabei weder angelegt noch geoeffnet oder geloescht. Eine leere oder nicht aufloesbare Eingabe liefert einen leeren String und setzt den Befehlsfehler.

Quelle und MCP-Abbildung

Quellabbildung: FileTools source modules: local file and path adapter boundary

MCP-Aequivalent: local filesystem operation

Nebenwirkung: filesystem. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie File sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = File_NormalizePath("{}")
  FUNCTION = 0
END FUNCTION


File_ReadBytes - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

File_ReadBytes

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION File_ReadBytes(path AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

File_ReadBytes ist ein normaler, unterstrichener BASIC-Befehl der Familie File. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FileTools source modules: local file and path adapter boundary

MCP-Aequivalent: local filesystem operation

Nebenwirkung: filesystem. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie File sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = File_ReadBytes("{}")
  FUNCTION = 0
END FUNCTION


File_RemoveDirectory - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

File_RemoveDirectory

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION File_RemoveDirectory(path AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

File_RemoveDirectory ist ein normaler, unterstrichener BASIC-Befehl der Familie File. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FileTools source modules: local file and path adapter boundary

MCP-Aequivalent: local filesystem operation

Nebenwirkung: filesystem. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie File sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_RemoveDirectory(0)
  FUNCTION = 0
END FUNCTION


File_TempName - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

File_TempName

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION File_TempName(path AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

File_TempName ist ein normaler, unterstrichener BASIC-Befehl der Familie File. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FileTools source modules: local file and path adapter boundary

MCP-Aequivalent: local filesystem operation

Nebenwirkung: filesystem. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie File sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = File_TempName("{}")
  FUNCTION = 0
END FUNCTION


File_Timestamp - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

File_Timestamp

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION File_Timestamp(value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

File_Timestamp ist ein normaler, unterstrichener BASIC-Befehl der Familie File. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: FileTools source modules: local file and path adapter boundary

MCP-Aequivalent: local filesystem operation

Nebenwirkung: filesystem. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie File sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_Timestamp(0)
  FUNCTION = 0
END FUNCTION


File_WriteBytes - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

File_WriteBytes

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION File_WriteBytes(path AS STRING, value AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: File | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

File_WriteBytes ist ein normaler, unterstrichener BASIC-Befehl der Familie File. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Der Schreibvorgang nutzt eine temporaere Nachbardatei und atomaren Ersatz, sodass ein fehlgeschlagener Schreibvorgang das bisherige Ziel nicht absichtlich kuerzt. Lokale Lese- und Schreibvorgaenge sind auf 64 MiB je Vorgang begrenzt; bei Fehlern liefert der Befehl null.

Quelle und MCP-Abbildung

Quellabbildung: FileTools source modules: local file and path adapter boundary

MCP-Aequivalent: local filesystem operation

Nebenwirkung: filesystem. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie File sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_WriteBytes(0)
  FUNCTION = 0
END FUNCTION


FILEATTR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FILEATTR

Gibt Informationen zu einem zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

lResult& = FILEATTR([#] filenum& , fattr )

Beschreibung

Gibt Informationen zu einem zurück

Typ:Funktion |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

filenum& ist das Handle einer aktuell geöffneten Datei. fattr ist eine Ganzzahl zwischen -3 und 3, die die Art der erforderlichen Informationen gemäß der folgenden Tabelle angibt:

Definition

Der Gerätetyp. Gibt 1 für eine Datei und 2 für ein Gerät zurück. COMM, TCP und UDP werden als Geräte klassifiziert.

Logische Position des ersten Bytes (Basis) einer Festplattendatei. Standardmäßig öffnet PowerBASIC Dateien mit einem standardmäßigen ersten Speicherort von 1, dieser kann jedoch über die BASE=-Klausel der OPEN-Anweisung überschrieben werden. Diese Funktion kann nützlich sein, wenn die Basis nicht bekannt ist oder wenn SEEK-Operationen durchgeführt werden.

Die minimale Datenmenge, die gleichzeitig gelesen oder geschrieben werden kann. Bei RANDOM-Dateien ist es die Datensatzlänge. Bei INPUT-Dateien ist es die Eingabepufferlänge (festgelegt mit LEN= in der OPEN-Anweisung). Für BINARY , OUTPUT und APPEND gibt es keine Pufferung, daher wird immer 1 (1 Byte) zurückgegeben.

Der offene Zustand. TRUE (ungleich Null), wenn offen, FALSE (Null), wenn geschlossen.

Der Dateimodus (der eine Kombination aus Folgendem sein kann):

Ergebnis&

Dateimodus

Output

Zufällig

Anhängen

Serielle Kommunikation (COMM)

Binär

TCP-Winsock

UDP Winsock

(Eine APPEND-Datei gibt beispielsweise 8 + 2 = 10 zurück.)

Das Dateihandle des Betriebssystems für die Datei. Dieses Handle kann mit bestimmten Windows-API-Aufrufdateien verwendet werden, um mit PowerBASIC geöffnete Dateien und mit der OPEN HANDLE-Anweisung zu bearbeiten.

Listet vorhandene Dateinummern auf. Dieser Modus listet vorhandene Dateinummern im Bereich von 1 bis 32767 auf. FILEATTR(1,3) gibt die erste gefundene Dateinummer zurück, FILEATTR(2,3) die zweite usw., bis -1 zurückgegeben wird, um anzuzeigen, dass keine weiteren Dateinummern aktiv sind. Es kann nicht garantiert werden, dass die zurückgegebenen Dateinummern in einer bestimmten Reihenfolge zurückgegeben werden und auch nicht geöffnet sind. Mit FILEATTR(#filenum,0) können Sie ermitteln, ob eine bestimmte Dateinummer geöffnet oder geschlossen ist.

Das Zahlensymbol [#] ist optional, wird aber aus Gründen der Übersichtlichkeit empfohlen.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • COMM OPEN
  • EOF
  • FILENAME$
  • GETATTR
  • LOF
  • OPEN
  • SEEK ? PBXB64-Compiler-Hilfe
  • SETATTR
  • TCP OPEN
  • UDP OPEN
  • Hilfe zum PBXB64-Compiler


FILECOPY - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FILECOPY

Kopieren Sie eine Datei.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FILECOPY sourcefile , destfile

Beschreibung

Kopieren Sie eine Datei.

Typ:Anweisung |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Kopieren Sie die Datei sourcefile in die Datei destfile. Sowohl Quelldatei als auch Zieldatei müssen Dateinamen sein, nicht nur Laufwerke oder Verzeichnisse (obwohl es in Ordnung ist, neben den Dateinamen auch Laufwerks- und Verzeichnisspezifikationen anzugeben). Platzhalter werden nicht unterstützt. Wenn Sie versuchen, eine Datei zu kopieren, die lesegeschützt ist (wodurch der Lesezugriff verhindert wird), tritt der Laufzeitfehler 70 auf („Berechtigung verweigert“).

Wenn die Zieldatei bereits vorhanden ist, wird sie überschrieben. Wenn es nicht möglich ist, die vorhandene Zieldatei zu überschreiben (z. B. weil sie als schreibgeschützt markiert ist oder von einem anderen Programm verwendet wird), ist das Ergebnis ein Laufzeitfehler 70 („Berechtigung verweigert“).

Die Attribute der Quelldatei werden von der Zieldatei geerbt, mit Ausnahme des Archivattributs, das für die Zieldatei immer auf EIN gesetzt ist. Dateiattribute können mit den Anweisungen GETATTR und SETATTR untersucht oder geändert werden.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • FILEATTR
  • GETATTR
  • SETATTR
  • Hilfe zum PBXB64-Compiler


FILENAME$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FILENAME$

Gibt den Dateisystemnamen eines zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

a$ = FILENAME$( filenum& )

Beschreibung

Gibt den Dateisystemnamen eines zurück

Typ:Funktion |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

a$ erhält den Namen der geöffneten Datei, die durch die Dateinummer filenum& identifiziert wird. Diese Funktion ist nicht gültig, wenn eine Datei mit OPEN HANDLE, COMM OPEN, TCP OPEN oder UDP OPEN geöffnet wurde.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • CLOSE
  • FILEATTR
  • FREEFILE
  • GETATTR
  • OPEN
  • SETATTR
  • Hilfe zum PBXB64-Compiler


FILESCAN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FILESCAN

Scannen Sie schnell a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FILESCAN [#] fnum& , RECORDS TO y& [, WIDTH TO x& ]

Beschreibung

Scannen Sie schnell a

Typ:Anweisung |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

FILESCAN weist y& eine Anzahl der Zeilen/Datensätze/Zeichenfolgen zu, und wenn die WIDTH-Klausel angegeben ist, x& die Länge der längsten Zeichenfolge.

Im INPUT-Modus wird davon ausgegangen, dass es sich bei den Daten um Standardtext handelt, dessen Zeilen durch ein CR/LF-Paar ( $CRLF ) begrenzt sind. FILESCAN stoppt das Lesen der Datei, wenn es auf ein EOF-Markierungsbyte (Ende der Datei) ( CHR$ (26) oder $EOF ) stößt. Text, der nach dem letzten CR/LF, aber vor dem EOF steht, gilt als letzter Datensatz der Datei. Verwenden Sie die LINE INPUT#-Anweisung, um eine vollständige Textdatei in ein Array einzulesen.

Im BINARY-Modus wird davon ausgegangen, dass die Datei im gepackten String-Format von PowerBASIC und/oder VB mithilfe von PUT eines gesamten String-Arrays geschrieben wurde. Wenn eine Zeichenfolge kürzer als 65535 Byte ist, folgen die Zeichenfolgedaten auf ein 2 Byte langes WORD. Wenn eine Zeichenfolge gleich oder länger als 65535 Byte ist, folgt auf den 2-Byte-Wert 65535 ein Längen-DWORD-Wert und schließlich die Zeichenfolgendaten.

Verwenden Sie die GET-Anweisung, um eine vollständige Binärdatei in ein Array einzulesen.

Einschränkungen

Wenn FILESCAN auf andere Dateiformate angewendet wird, sind die Ergebnisse undefiniert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • GET ? PBXB64-Compiler-Hilfe
  • GET$
  • GET$$
  • LINE INPUT#
  • PUT ? PBXB64-Compiler-Hilfe
  • PUT$
  • PUT$$
  • Hilfe zum PBXB64-Compiler


FINALLY - TRY-Cleanup-Block ausfuehren - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FINALLY - TRY-Cleanup-Block ausfuehren

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

TRY
  ' work
FINALLY
  ' cleanup
END TRY

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Kontrollkeyword fuer eine Cleanup-Klausel in TRY-Bloecken.

Praktische Verwendung

Verwenden Sie FINALLY nur innerhalb eines passenden TRY/END TRY-Blocks. Die Seite beschreibt die erkannte PBXB64-Schreibweise fuer die Fehler- oder Cleanup-Klausel, die an die umgebende Kontrollstruktur gebunden ist.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Ausserhalb eines TRY-Blocks sollte diese Klausel nicht als gueltige Struktur durchgehen. Fehlende Blockpaare oder falsche Nestung muessen als Fehler sichtbar werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FLUSH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FLUSH

Sp&uuml;len

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FLUSH [[#] filenum& [, [#] filenum& ] ...]

Beschreibung

Spülen

Typ:Anweisung |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

FLUSH stellt sicher, dass alle Daten, die Sie in Festplattendateien geschrieben haben, tatsächlich auf die Festplatte geschrieben wurden. Die CLOSE-Anweisung leert auch die Puffer, FLUSH hat jedoch den Vorteil, dass die Dateien geöffnet bleiben.

Dateinummer&

Die Dateinummer einer OPEN-Datei. Wenn filenum& angegeben ist, werden nur die Daten für diese Datei geleert. Andernfalls werden die Daten aller geöffneten Dateien geleert. Das Zahlensymbol (#) ist optional, wird aber aus Gründen der Übersichtlichkeit empfohlen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CLOSE
  • OPEN
  • Hilfe zum PBXB64-Compiler


Flusskontrolle - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Flusskontrolle

Die folgenden Funktionen k&ouml;nnen zur Verwaltung der Programmausf&uuml;hrung/des Programmablaufs verwendet werden:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die folgenden Funktionen können zur Verwaltung der Programmausführung/des Programmablaufs verwendet werden:

Typ:Schlüsselwort |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Stellen Sie fest, ob zuvor ein Equate definiert wurde.

Definieren Sie Abschnitte des Quellcodes, die kompiliert oder ignoriert werden sollen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FONT END - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FONT END

Zerst&ouml;ren Sie eine Schriftart, wenn sie nicht mehr ben&ouml;tigt wird.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FONT END fonthndl&

Beschreibung

Zerstören Sie eine Schriftart, wenn sie nicht mehr benötigt wird.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn Sie eine Schriftart, die ursprünglich mit FONT NEW erstellt wurde, nicht mehr benötigen, können Sie sie zerstören und den ursprünglich dafür zugewiesenen Speicherplatz zurückfordern.

Wenn die angegebene Schriftart noch von einem CONTROL , einem Graphic Control , einem Graphic Window oder einer XPrint-Seite verwendet wird, wird ein Fehler 5 (Illegal Function Call) generiert. Um diesen Fehler zu vermeiden, können Sie die ursprüngliche Standardschriftart mit CONTROL/GRAPHIC/XPRINT SET FONT unter Verwendung einer Handle-Nummer von Null (0) wiederherstellen.

Wenn Ihr Programm beendet wird, werden alle vorhandenen Schriftarten automatisch von PowerBASIC zerstört.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CONTROL SET FONT
  • SCHRIFTART NEU
  • GRAFIKDRUCK
  • GRAFIK-SET-SCHRIFTART
  • XPRINT PRINT
  • XPRINT SET FONT
  • Hilfe zum PBXB64-Compiler


FOR EACH/NEXT-Anweisungen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FOR EACH/NEXT-Anweisungen

Definieren Sie eine Schleife von Programmanweisungen, die nacheinander jedes Mitglied von a untersuchen und darauf reagieren k&ouml;nnen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FOR EACH VariantVar IN CollectionObjectVar
[ statements ]
NEXT

Beschreibung

Definieren Sie eine Schleife von Programmanweisungen, die nacheinander jedes Mitglied von a untersuchen und darauf reagieren können

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-getestete Teilmenge: PBXB64 zertifiziert derzeit FOR EACH ueber H-Lib-Container der Familien Arr, Lst und Tre. Registrierte Tests decken numerische, String- und UDT-Array/List-Iteration sowie skalare LNTRE-Wertiteration und UDT-LNUTTRE OF Point-Wertiteration ab. Hsh und DTre liegen noch ausserhalb des zertifizierten Umfangs, bis ihre Cursor-/Wert-Methodentabellen vollstaendig sind.

Beschreibung

Mit der Schleife FOR EACH können Sie jedes Mitglied einer Sammlung nacheinander untersuchen, um erforderliche Vorgänge mit diesen Daten durchzuführen. Wenn die Sammlung keine Mitgliedselemente enthält, wird die Schleife übersprungen.

Wenn die Schleife beginnt, wird die erste Mitgliedsvariante in der Sammlung der VariantVar zugewiesen. Anweisungen in der Schleife können auf oder mit diesen Daten reagieren, um alle erforderlichen Funktionen auszuführen. Wenn die NEXT-Anweisung erreicht wird, wird das nächste Mitgliedselement der VariantVar zugewiesen und die Schleife wird wiederholt. Diese Wiederholung wird fortgesetzt, bis keine Mitgliedselemente mehr vorhanden sind.

VariantVar enthält eine Kopie der Variante in der Sammlung. Sie können den Wert von VariantVar ändern, diese Änderungen wirken sich jedoch nicht auf die Mitgliedsvariante in der Sammlung aus.

PBXB64 V14.4 unterstützt FOR EACH/NEXT für native H-Lib-Container der Familien Arr, Lst und Tre. Arr-Schleifen verwenden einsbasierte Indexiteration, Lst-Schleifen verwenden den Listencursor, und Tre-Schleifen laufen über den geordneten Tree-Cursor und weisen jeden gespeicherten Wert der Schleifenvariablen zu. Die getestete Tre-Oberfläche umfasst skalare Werte und LNUTTRE OF benutzerdefinierte TYPE-Werte. PBXB64 prueft zusaetzlich rotierte AVL-Tree-Cursor mit tests/pb/test_tre_cursor_rotated.pb; damit sind LR/RL-Einfuegefolgen abgedeckt, die frueher haengen konnten. Hsh- und DTre-FOR-EACH-Schleifen gehören noch nicht zur zertifizierten Oberfläche, bis ihre Cursor-/Wert-Iteration implementiert und getestet ist.

PBXB64-Beispiel

#COMPILE EXE
#DIM ALL

TYPE Point
    x AS LONG
    y AS LONG
END TYPE

FUNCTION PBMAIN() AS LONG
    LOCAL t AS LNTRE
    LOCAL n AS LONG
    LOCAL sum AS LONG
    LOCAL count AS LONG

    t.New
    t.Set 30, 300
    t.Set 10, 100
    t.Set 20, 200

    FOR EACH n IN t
        sum = sum + n
        count = count + 1
    NEXT n

    IF count <> 3 THEN FUNCTION = 1: EXIT FUNCTION
    IF sum <> 600 THEN FUNCTION = 2: EXIT FUNCTION

    t.Final
    FUNCTION = 0
END FUNCTION

Dieser Tree-FOR-EACH-Pfad wird durch tests/pb/test_for_each_tre.pb abgedeckt; derselbe Test prüft auch UDT-Werte in LNUTTRE OF Point.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • EXIT � PBXB64-Compiler-Hilfe
  • FOR/NEXT-Anweisungen ? PBXB64-Compiler-Hilfe
  • ITERATE � PBXB64-Compiler-Hilfe
  • StackCollection
  • Hilfe zum PBXB64-Compiler


FOR/NEXT-Anweisungen ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FOR/NEXT-Anweisungen ? PBXB64-Compiler-Hilfe

Definieren Sie eine Schleife von Programmanweisungen, deren Ausf?hrung durch einen automatisch inkrementierenden oder dekrementierenden Z?hler gesteuert wird.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FOR Counter = start TO stop [STEP increment ]
[ statements ]
[EXIT FOR]
[ITERATE FOR]
NEXT [ Counter ]

Beschreibung

Definieren Sie eine Schleife von Programmanweisungen, deren Ausf?hrung durch einen automatisch inkrementierenden oder dekrementierenden Z?hler gesteuert wird.

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Counter ist eine numerische Variable, die als Schleifenz?hler dient.

start ist ein numerischer Ausdruck, der den Wert angibt, der urspr?nglich Counter zugewiesen wurde.

stop ist ein numerischer Ausdruck, der den Wert angibt, den Counter erreichen muss, damit die Schleife beendet wird.

Inkrement ist ein optionaler numerischer Ausdruck, der den Betrag definiert, um den Counter bei jeder Schleifenausf?hrung erh?ht wird. Wenn nicht angegeben, betr?gt die Inkrementierung standardm??ig 1.

Beachten Sie, dass Inkrement vom gleichen Datentyp oder im gleichen Bereich wie Counter sein muss. Zum Beispiel:

FOR x?? = 50 BIS 1 STEP -1

schl?gt fehl, da -1 nicht im Bereich einer vorzeichenlosen Word-Variablen liegt.

Wenn eine FOR-Anweisung angetroffen wird, wird start dem Counter zugewiesen und Counter wird getestet, um festzustellen, ob er gr??er als (oder bei negativem Inkrement kleiner als) stop ist. Wenn nicht, werden die Anweisungen innerhalb der FOR/NEXT-Schleife ausgef?hrt, ein Inkrement wird zu Counter hinzugef?gt und Counter wird erneut gegen stop getestet. Die Anweisungen in der Schleife werden wiederholt ausgef?hrt, bis der Test fehlschl?gt. Anschlie?end geht die Kontrolle an die Anweisung ?ber, die unmittelbar auf NEXT folgt.

Wenn Inkrement gleich dem Maximalwert einer Variablenklasse ist (255 f?r ein Byte, 32767 f?r eine Ganzzahl, 65535 f?r ein Wort usw.), generiert der Compiler einen Fehler. Wenn Schritt Null ist, kann eine Endlosschleife erstellt werden.

Achten Sie bei der Verwendung von Gleitkommawerten mit FOR/NEXT darauf, Rundungsfehler beim Mischen von Zahlen unterschiedlicher Genauigkeit zu ber?cksichtigen. Die durchgehende Verwendung von Konstanten oder Variablen desselben Typs hilft, dieses Problem zu l?sen:

FOR n# = 1,0 BIS 1,5 STEP 0,1

x$ = STR$(n#)

WEITER n#

wird 5 Mal ausgef?hrt und gibt Folgendes zur?ck:

1.10000000149012

1.20000000298023

1.30000000447035

1.40000000596046

w?hrend:

FOR n@ = 1,0@ BIS 1,5@ STEP 0,1@

x$ = STR$(n@)

WEITER n@

wird 6 Mal ausgef?hrt und gibt Folgendes zur?ck:

FOR/NEXT-Schleifen laufen am schnellsten, wenn Counter eine Variable mit langer Ganzzahl ist und Start und Inkrement Konstanten mit langer Ganzzahl sind. Der Wert von Counter steht wie jede andere Variable innerhalb der Schleife zur Verf?gung. Es ist ratsam, den Wert von Counter innerhalb der Schleife nicht explizit zu ?ndern. Wenn Sie die Schleife vorzeitig verlassen m?ssen, verwenden Sie eine EXIT FOR-Anweisung. Ber?cksichtigen Sie die Reichweite. Wenn ?Counter? beispielsweise eine Integer-Variable ist, d?rfen Sie f?r stop nicht den Maximalwert f?r eine Integer-Variable verwenden, da Counter am Ende der Schleife au?erhalb des Integer-Bereichs inkrementiert w?rde.

Der Hauptteil der Schleife wird vollst?ndig ?bersprungen, wenn der Anfangswert von Counter gr??er als stop ist (oder, bei einem negativen Inkrement, wenn Counter kleiner als stop ist).

FOR/NEXT-Schleifen k?nnen in anderen FOR/NEXT-Schleifen verschachtelt werden. Stellen Sie sicher, dass Sie eindeutige Z?hlervariablen verwenden. Beachten Sie, dass PowerBASIC den Counter im NEXT-Schl?sselwort einfach als Kommentar zul?sst, der ignoriert wird. Beispielsweise wird Folgendes kompiliert, obwohl die Z?hlervariablen ?gekreuzt? sind:

FOR n = 1 BIS 10

FOR m = 1 BIS 20

WEITER n

N?CHSTER m

Sie k?nnen die Z?hlervariable in der NEXT-Anweisung ganz weglassen. Zum Beispiel:

FOR n = 1 BIS 10

Wenn ein NEXT ohne entsprechendes FOR (oder umgekehrt) auftritt, wird ein Fehler bei der Kompilierung generiert.

Fr?here Versionen von PowerBASIC unterst?tzten eine einzelne NEXT-Anweisung, die mit mehreren verschachtelten FOR/NEXT-Schleifen verwendet wurde, z. B. NEXT c, b, a. Dies wird nicht mehr unterst?tzt und Sie m?ssen Ihren Code aktualisieren, um mehrere NEXT-Anweisungen verwenden zu k?nnen.

In bestimmten Situationen haben fr?here Versionen von PowerBASIC FOR/NEXT-Schleifen so optimiert, dass sie herunterz?hlen statt hochz?hlen, um die Ausf?hrungsgeschwindigkeit zu verbessern. Diese Optimierung k?nnte dazu f?hren, dass die Z?hlervariable einen Wert enth?lt, der nach Abschluss der Schleifenausf?hrung nicht erwartet wurde. Diese Optimierung wurde verbessert, sodass der Wert der Z?hlervariablen nach Abschluss der Schleife immer korrekt ist, auch wenn EXIT FOR verwendet wurde, um eine vorzeitige Beendigung zu erzwingen.

Obwohl sich der Compiler nicht um solche Dinge k?mmert, gilt es als gute Programmierpraxis, die Anweisungen zwischen FOR und NEXT um zwei oder drei Leerzeichen einzur?cken, um die Struktur der Schleife hervorzuheben.

F?r zus?tzliche Leistung verwenden Sie eine REGISTER-Variable f?r die Schleifenz?hlervariable.

Einschr?nkungen

Die Z?hlervariable muss eine einfache numerische Skalarvariable sein, z. B. LOCAL , STATIC , GLOBAL oder REGISTER . Dies tr?gt dazu bei, ein hohes Leistungsniveau f?r eine einfache Schleifenstruktur aufrechtzuerhalten. Variablen, f?r deren Zugriff mehrere Operationen erforderlich sind, sind ausdr?cklich nicht zul?ssig: THREADED , INSTANCE , BYREF-Parameter, POINTER-Ziele und ARRAY .

Praktische Verwendung

FOR/NEXT-Anweisungen gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Beispiel

#COMPILE EXE
#DIM ALL
' controlflow_for_long
FUNCTION PBMAIN() AS LONG
  LOCAL i AS LONG
  LOCAL s AS LONG
  s = 0
  FOR i = 1 TO 5
    s = s + i
  NEXT
  IF (s) <> (15) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • #OPTIMIZE
  • REGISTER
  • DO/LOOP-Anweisungen � PBXB64-Compiler-Hilfe
  • EXIT � PBXB64-Compiler-Hilfe
  • FOR EACH/NEXT-Anweisungen
  • ITERATE � PBXB64-Compiler-Hilfe
  • WHILE/WEND-Anweisungen ? PBXB64-Compiler-Hilfe


FORMAT$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FORMAT$

Zeichenfolge formatieren

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x$ = FORMAT$( num_expression [, [ digits& | fmt$ ]])

Beschreibung

Zeichenfolge formatieren

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-getestete Teilmenge: PBXB64 zertifiziert derzeit value-first Integer-/DOUBLE-Masken, Waehrungs-/Tausender-/Nullfuell-Masken, die String-Masken !, & und Backslash-Festfelder, fuehrendes Plus, nachgestelltes Minus, negative Klammern, wissenschaftliche E+00-Masken und String-Datummasken einschliesslich yyyy-mm-dd, mm/dd/yy und mmmm d, yyyy. Die fokussierten Regressionen sind examples/basic/test_format_function_masks.pb, examples/basic/test_format_sign_masks.pb und examples/basic/test_print_using_date.pb. Numerische Datums-Serials, Zeitfelder, locale-abhaengige Formatierung und vollstaendige PBWin-Picture-Mask-Paritaet bleiben breitere Kompatibilitaetsarbeit.

Beschreibung

FORMAT$ besteht aus folgenden Teilen:

num_expression

Der zu formatierende numerische Ausdruck, die Variable oder der Literalwert. Dieses Argument wird vor Beginn der Formatierung in die volle Genauigkeit (Extended) konvertiert.

Ziffern&

Die maximale Anzahl signifikanter Ziffern im Bereich von 1 bis 18. Wenn nicht angegeben, liefert PowerBASIC einen Standardwert von 7 für Werte mit einfacher Genauigkeit oder 16 für genauere Werte. Diese Form der Funktion ist der Funktion STR$() sehr ähnlich, außer dass sie niemals führende oder nachgestellte Leerzeichen bereitstellt. Achten Sie darauf, dass digits& groß genug ist, um den ganzen Teil einer Zahl zu enthalten, andernfalls muss zur Schätzung die wissenschaftliche Schreibweise verwendet werden. Beispielsweise gibt FORMAT$(123.456, 2) die Zeichenfolge „1.2E+2“ zurück, während FORMAT$(123.456, 5) die Zeichenfolge „123.45“ zurückgibt.

Formatierungszeichen, die bestimmen, wie der numerische Ausdruck formatiert werden soll. Dieser Ausdruck wird als Maske bezeichnet. Auf beiden Seiten des Dezimalpunkts können bis zu 18 Ziffern zur Formatierung stehen. Die Maske darf keine Literalzeichen enthalten, es sei denn, jedem Zeichen ist ein umgekehrter Schrägstrich (\) als Escape-Zeichen vorangestellt oder die Literalzeichen sind in Anführungszeichen gesetzt.

fmt$ kann eine, zwei oder drei Formatierungsmasken enthalten, getrennt durch Semikolon-Zeichen (;):

Eine Maske

Wenn fmt$ nur eine Formatmaske enthält, wird die Maske zum Formatieren aller möglichen Werte von num_expression verwendet. Zum Beispiel:

x$ = FORMAT$(z!, "000.00")

Zwei Masken

Wenn fmt$ zwei Formatmasken enthält, wird die erste Maske für positive Werte (=> 0) und die zweite Maske für negative Werte (< 0) verwendet. Zum Beispiel:

x$ = FORMAT$(-100, „+00000,00;-000“)

Drei Masken

Wenn fmt$ drei Masken enthält, wird die erste Maske für positive Werte (> 0), die zweite Maske für negative Werte (< 0) und die dritte Maske verwendet, wenn num_expression Null (0) ist. Zum Beispiel:

FOR dich! = -0,5! BIS 0,5! STEP 0,5!

x$ = FORMAT$(y!, "+.0;-.0; .0")

NÄCHSTES!

Ziffernplatzhalter in einer Maske müssen nicht zusammenhängend sein. Dadurch können Sie eine einzelne Zahl in mehrere angezeigte Teile formatieren. Zum Beispiel:

A$ = FORMAT$(123456, "00\:00\:00") ' 12:34:56

Die folgende Tabelle zeigt die Zeichen, die Sie zum Erstellen der benutzerdefinierten Formatzeichenfolgen (Masken) verwenden können, sowie die Definition jedes Formatierungszeichens:

Charakter

Definition

Leere Zeichenfolge

[Null-String] Es findet keine Formatierung statt. Die Zahl wird in die erweiterte Genauigkeit konvertiert und ähnlich wie STR$ formatiert, jedoch ohne das führende Leerzeichen, das STR$ für nichtnegative Zahlen anwendet.

A$=FORMAT$(0.2) ' .200000002980232

A$=FORMAT$(0.2!, "") ' .200000002980232

A$=FORMAT$(0.2#) ' .2

A$=FORMAT$(0.2#, "") ' .2

[Null] Ziffernplatzhalter. PowerBASIC fügt an dieser Stelle eine Ziffer oder eine 0 ein.

Wenn es in num_expression eine Ziffer an der Position gibt, an der die 0 in der Formatzeichenfolge erscheint, geben Sie diese Ziffer zurück. Andernfalls geben Sie „0“ zurück. Wenn die zu formatierende Zahl weniger Ziffern hat, als der Formatausdruck Nullen (auf beiden Seiten des Dezimalpunkts) enthält, werden führende oder nachgestellte Nullen hinzugefügt. Wenn die Zahl mehr Ziffern rechts vom Dezimalpunkt hat, als Nullen rechts vom Dezimalpunkt im Formatausdruck vorhanden sind, wird die Zahl auf so viele Dezimalstellen gerundet, wie Nullen in der Maske vorhanden sind.

Wenn die Zahl mehr Ziffern links vom Dezimalpunkt hat, als Nullen links vom Dezimalpunkt im Formatausdruck vorhanden sind, werden die zusätzlichen Ziffern ohne Kürzung angezeigt. Wenn der numerische Wert negativ ist, wird das Negationszeichen als Dezimalziffer behandelt. Daher ist bei der Anzeige negativer Werte mit diesem Platzhalterstil Vorsicht geboten. In solchen Fällen wird die Verwendung mehrerer Masken empfohlen.

' Numerisch aufgefüllt mit führenden Nullen

A$ = FORMAT$(999%, "00000000") ' 00000999

[Zahlensymbol] Ziffernplatzhalter. Wenn für diese Position eine Ziffer vorhanden ist, ersetzt PowerBASIC diesen Platzhalter durch eine Ziffer, nichts oder ein vom Benutzer angegebenes Zeichen.

Im Gegensatz zum 0-stelligen Platzhalter führt PowerBASIC entweder Folgendes aus, wenn der numerische Wert weniger Ziffern aufweist, als #-Zeichen auf beiden Seiten des Dezimalplatzhalters vorhanden sind:

a) Lassen Sie diese Zeichenposition in der endgültigen formatierten Zeichenfolge weg. oder

Ersetzen Sie ein vom Benutzer angegebenes Ersatzzeichen, sofern eines definiert wurde (weitere Informationen finden Sie unter dem Sternchen (*)). Um führende Leerzeichen anzugeben, stellen Sie der Maske „*“ (Sternchen und ein Leerzeichen) voran.

Zum Beispiel:

' Keine führenden Leerzeichen und nachgestellten Leerzeichen

A$ = FORMAT$(0.75!, "####.###") ' 0.75

' Bis zu 3 führende Leerzeichen vor der Dezimalstelle

A$ = FORMAT$(0.75!, "* ##.###") ' 0.75

' Verwenden von Sternchen zum Auffüllen von Zeichen

A$ = FORMAT$(0.75!, "*=##.###") ' ===0.75=

FORMAT$ kann auch eine Zeichenfolge zurückgeben, die größer ist als die Anzahl der Zeichen in der Maske:

A$ = FORMAT$(999999.9, "#.#") ' 999999.9

[Punkt] Dezimalplatzhalter. Bestimmt die Position des Dezimalpunkts in der resultierenden formatierten Zeichenfolge.

Wenn links vom Dezimalpunkt ein beliebiges numerisches Feld angegeben wird, ergibt sich immer mindestens eine Ziffer, auch wenn nur eine Null. Die Null gilt nicht als „führende“ Null, wenn sie die einzige Ziffer links von der Dezimalstelle ist. Das Platzieren von mehr als einem Punktzeichen in der fmt$-Zeichenfolge führt zu undefinierten Ergebnissen.

[Prozent] Prozent-Platzhalter. PowerBASIC multipliziert num_expression mit 100 und fügt am Ende ein Prozentzeichen hinzu. Zum Beispiel:

x$ = FORMAT$(1 / 5!, "0,0%") ' 20,0%

[Komma] Tausendertrennzeichen. Wird verwendet, um Tausender von Hundertern innerhalb einer Zahl zu trennen, die vier oder mehr Stellen links vom Dezimalpunkt hat. Um als Formatzeichen erkannt zu werden, muss das Komma direkt nach einem Ziffern-Platzhalterzeichen platziert werden (siehe auch Einschränkungen unten).

A$ = FORMAT$(1234567@, "#,") ' 1.234.567

A$ = FORMAT$(12345@, "#,.00") ' 12.345,00

A$ = FORMAT$(12345@, "#.00,") ' 12.345,00

A$ = FORMAT$(1212,46, "$00.000,00") ' $01.212,46

A$ = FORMAT$(1000%, """#""#,") ' #1.000

A$ = FORMAT$(1234567@, "0,") ' 1.234.567

[Sternchen] Ziffernplatzhalter und Füllzeichen. Weist PowerBASIC an, an dieser Position eine Ziffer oder ein Zeichen „x“ einzufügen. Wenn sich in num_expression an der Position, an der das * in der Formatzeichenfolge erscheint, eine Ziffer befindet, wird diese Ziffer verwendet. andernfalls wird das Zeichen „x“ verwendet (wobei „x“ für das von Ihnen gewählte Zeichen steht). Der * x-Bezeichner fungiert als zweistellige (#) Felder.

A$ = FORMAT$(9999.9@,"$**####,.00")' $**9.999,90

A$ = FORMAT$(0@,"$*=###0,.00#") ' $=====0.00=

A$ = FORMAT$(0@,"$* ####0,.00") ' $ 0,00

E- e- E+ e+

[e] Wissenschaftliches Format. PowerBASIC verwendet in der formatierten Ausgabe die wissenschaftliche Notation. Verwenden Sie E- oder e-, um ein Minuszeichen vor negative Exponenten zu setzen. Verwenden Sie E+ oder e+, um ein Minuszeichen vor negativen Exponenten und ein Pluszeichen vor nichtnegativen Exponenten zu platzieren.

Um als Formatfolge erkannt zu werden, muss das E-, e-, E+ oder e+ zwischen zwei Ziffern-Platzhalterzeichen stehen. Zum Beispiel:

A$ = FORMAT$( 99.999, "0.0E-##") ' 1.0E2

A$ = FORMAT$(-99.999, "0.0E-##") ' -1.0E2

A$ = FORMAT$( 99.999, "0.0E+##") ' 1.0E+2

A$ = FORMAT$(-99.999, "0.0E+##") ' -1.0E+2

A$ = FORMAT$(0.1!, "0.0e+##") ' 1.0e-1

[doppelte Anführungszeichen] Zeichenfolge in Anführungszeichen. PowerBASIC behandelt alle Zeichen bis zum nächsten Anführungszeichen unverändert, ohne sie als Ziffernplatzhalter oder Formatzeichen zu interpretieren. Siehe auch Backslash. Zum Beispiel:

A$ = FORMAT$(12, $DQ+"##"+$DQ+"##") ' ##12

A$ = FORMAT$(5.55, """XYZ=""#.##\#") ' XYZ=5.55#

A$ = FORMAT$(25, """x=""#") ' x=25

A$ = FORMAT$(999, """Total ""#") ' Total 999

A$ = FORMAT$(5, $DQ+"x="+$DQ+"#") ' x=5

[Backslash] Escapezeichen-Präfix. PowerBASIC behandelt das Zeichen „x“, das unmittelbar auf den Backslash (\) folgt, als Literalzeichen und nicht als Ziffernplatzhalter oder Formatierungszeichen. Viele Zeichen in einer Maske haben eine besondere Bedeutung und können nur dann als Literalzeichen verwendet werden, wenn ihnen ein Backslash vorangestellt ist.

Der Backslash selbst wird nicht kopiert. Um einen Backslash anzuzeigen, verwenden Sie zwei Backslashes (\\). Um ein wörtliches doppeltes Anführungszeichen anzuzeigen, verwenden Sie zwei doppelte Anführungszeichen.

Um die Maskenzeichenfolge für gängige numerische Formate zu vereinfachen, lässt FORMAT$ zu, dass das Dollarsymbol, die linken und rechten Klammersymbole, die Plus- und Minuszeichen und das Leerzeichen („$()+-“) aus der Maskenzeichenfolge in die formatierte Ausgabezeichenfolge übernommen werden, ohne dass ein Escape-Präfixzeichen (\) erforderlich ist.

A$ = FORMAT$(23, "(* 0\%)") ' ( 23%)

A$ = FORMAT$(99999, "#\#") ' 99999#

A$ = FORMAT$(5, "\"+$DQ+$DQ+"x="+$DQ+ _

"#\"+$DQ) ' "x=5"

A$ = FORMAT$(5, "\""""x=""#\""") ' "x=5"

A$ = FORMAT$(1000%, """#####,"") ' "#####,"

Einschränkungen

Sie können in num_expression keinen Zeichenfolgenausdruck oder keine Zeichenfolgenvariable übergeben. Platzieren Sie nicht mehr als einen Dezimalpunkt in der Maske.

FORMAT$ kann die maximal mögliche Anzahl von Ziffern zurückgeben (bis zu 4932 für erweiterte Genauigkeit); Die resultierenden Ziffern sind jedoch über die tatsächliche Genauigkeit von num_expression hinaus bedeutungslos. Folglich kann der Wert von num_expression formatierte Zeichenfolgen erzeugen, die breiter als die Länge von fmt$ sind, zum Beispiel:

A$ = FORMAT$(3e30!, "#,###") ' gibt 41 Zeichen zurück

Gegebenenfalls wird das Runden nach dem „Banker-Rundungsprinzip“ durchgeführt: Wenn die abzurundende Nachkommastelle genau fünf ist und keine nachgestellten Ziffern enthält, wird die Zahl auf die nächste gerade Zahl gerundet. Dies liefert im Durchschnitt bessere Ergebnisse und entspricht dem IEEE-Standard. Zum Beispiel:

A$ = FORMAT$(0.5##, "0") ' 0

A$ = FORMAT$(1.5##, "0") ' 2

A$ = FORMAT$(2.5##, "0") ' 2

A$ = FORMAT$(2.51##, "0") ' 3

Semikolons als Maskentrennzeichen sollten nicht für andere Zwecke in Maskenzeichenfolgen verwendet werden, es sei denn, ihnen wird ein Escape-Zeichensymbol (\) vorangestellt.

FORMAT$ erzeugt bei Verwendung mit einigen Formatierungszeichen wie dem Tausendertrennzeichen (Komma) möglicherweise keine „rechtsbündige“ formatierte Zeichenfolge. Die einfache Lösung besteht darin, eine separate Begründung mit der RSET-Anweisung oder der RSET$-Funktion anzuwenden. Zum Beispiel:

A$ = SPACE$(12)

RSET A$ = FORMAT$(1,"#,###.00") ' 1.00

RSET A$ = FORMAT$(1000, "#,.00") ' 1.000,00

RSET A$ = FORMAT$(1000000,"#,###.00")' 1.000.000,00

B$ = RSET$(FORMAT$(1e6, "#,"),10) ' " 1.000.000"

Eine weitere Erweiterung wäre die Kombination zu einer MACRO-Funktion, zum Beispiel:

MACRO mMoney1(d,l) = "$"+RSET$(FORMAT$(d,"#,"),l-1)

MACRO mMoney2(d,l) = RSET$(FORMAT$(d,"$#,"),l)

' Code hier

A$ = mMoney1(1000,10) ' "$ 1.000"

B$ = mMoney2(1000,10) ' " $1.000"

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • BIN$
  • GRAFIKDRUCK
  • GUID$
  • HEX$
  • OCT$
  • REPEAT$ - Hilfe zum PBXB64-Compiler
  • SPACE$ - Hilfe zum PBXB64-Compiler
  • STR$ ? PBXB64-Compiler-Hilfe
  • STRING$ - Hilfe zum PBXB64-Compiler
  • USING$
  • VAL ? PBXB64-Compiler-Hilfe
  • XPRINT PRINT
  • Hilfe zum PBXB64-Compiler


FRAC ? Realer Bruchteil ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FRAC ? Realer Bruchteil ? PBXB64-Compiler-Hilfe

Gibt den Bruchteil einer Gleitkommazahl oder eines Ausdrucks zur?ck. Die V8.1 Implementierung ist ein echtes SSE2 x - floor(x) Sequenz (kein Stub).

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

h = FRAC( float_expression )

Beschreibung

Gibt den Bruchteil einer Gleitkommazahl oder eines Ausdrucks zur?ck. Die V8.1 Implementierung ist ein echtes SSE2 x - floor(x) Sequenz (kein Stub).

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status: VERF?GBAR ? echte Umsetzung

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

FRAC gibt die Zahl nach dem Dezimalpunkt zur?ck. Das Ergebnis hat das gleiche Vorzeichen wie die Eingabe. Zum Beispiel, FRAC(3.7) kehrt zur?ck 0.7, UndFRAC(-3.7) kehrt zur?ck -0.7.

Die Umsetzung sinkt auf subsd + roundsd toward -inf auf x64 (SSE4.1 roundpd wenn verf?gbar, andernfalls ein Vergleichs- und Subtraktions-Fallback).

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

PRINT FRAC(3.7)         '  0.7
PRINT FRAC(-3.7)        ' -0.7
PRINT FRAC(10.0)        '  0

Siehe auch

  • CEIL
  • FIX ? PBXB64-Compiler-Hilfe
  • INT ? PBXB64-Compiler-Hilfe
  • ROUND ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


FREEFILE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FREEFILE

Gibt die n&auml;chste verf&uuml;gbare PowerBASIC-Dateinummer zur&uuml;ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x% = FREEFILE

Beschreibung

Gibt die nächste verfügbare PowerBASIC-Dateinummer zurück.

Typ: Funktion | Kategorie: Datei-E/A

PBXB64-Status: VERFÜGBAR

PBXB64-Zertifizierung: [IMPLEMENTIERT: Laufzeit-Allokation für #1..#16]

Beschreibung

FREEFILE gibt die nächste verfügbare Dateinummer aus der internen PBXB64-Dateinummerntabelle zurück.

PBXB64 verwaltet derzeit Dateinummern von 1 bis 16. Jeder Aufruf reserviert den zurückgegebenen Slot, daher geben aufeinanderfolgende Aufrufe verschiedene unbenutzte Nummern zurück, auch bevor die Dateien geöffnet werden. Wird eine Datei geschlossen, wird ihre Nummer wieder frei. Ist kein Slot frei, gibt FREEFILE 0 zurück.

Einschränkungen

  • Es werden nur Dateinummern 1..16 verwaltet.
  • Variable Dateinummer-Ausdrücke werden für die getestete Oberfläche OPEN ... AS #f und CLOSE #f unterstützt.

Praktische Verwendung

FREEFILE gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Siehe auch

  • COMM OPEN
  • FILEATTR
  • FILENAME$
  • OPEN
  • TCP OPEN
  • UDP OPEN
  • Hilfe zum PBXB64-Compiler


FUNCNAME$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FUNCNAME$

Gibt den Namen der aktuellen abgesenkten Funktion zur&uuml;ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

f$ = FUNCNAME$

Beschreibung

Gibt den Namen der aktuellen abgesenkten Funktion zurück.

Typ:Funktion |Kategorie: Procedures

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 implementiert einen fokussierten aktuellen Funktionsnamen. FUNCNAME$ gibt den abgesenkten Funktionsnamen zurueck, in dem es erscheint.

PBWin-Paritaet fuer ALIAS-abhaengige Namensausgabe sowie METHOD/PROPERTY-Namen bleibt offen, bis sie implementiert und getestet ist.

Der zurueckgegebene Text ist das Frontend-Funktionssymbol, das der aktuelle PBXB64-Absenkungspfad verwendet. Fuer normale Funktionen ist dies der Quell-Funktionsname, wie ihn die registrierte Testoberflaeche belegt.

Damit eignet sich FUNCNAME$ fuer einfache Trace-Zeilen, Assertions und Fehlermeldungen, die den aktiven Funktionsnamen benoetigen. Es ist noch kein vollstaendiger PBWin-Debugger-Identitaetsdienst.

Wenn ein spaeterer Abschnitt aliasbewusste Exportnamen, METHOD/PROPERTY-Bloecke oder Klassenelementnamen hinzufuegt, brauchen diese Formen eigene positive und negative Tests, bevor diese Seite breitere Paritaet behaupten darf.

Das Beispiel unten verwendet deshalb nur eine normale Funktion und prueft genau die aktuell garantierte Rueckgabe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • #TOOLS
  • CALLSTK$
  • CALLSTKCOUNT
  • FILENAME$
  • FUNCTION/END FUNCTION-Anweisungen
  • METHOD/END METHOD-Anweisungen
  • PROFIL
  • PROPERTY / END PROPERTY
  • SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe
  • TRACE
  • Hilfe zum PBXB64-Compiler


FUNCTION/END FUNCTION-Anweisungen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

FUNCTION/END FUNCTION-Anweisungen

Definieren Sie einen Funktionsblock.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FUNCTION ProcName [ALIAS " AliasName "] [( arguments )] < Descriptors > AS Type
[ statements ]
[{ FuncName | FUNCTION} = ReturnValue ]
END FUNCTION
CALLBACK FUNCTION ProcName [AS LONG]...
THREAD FUNCTION ProcName (BYVAL var AS LONG) AS LONG...

Beschreibung

Definieren Sie einen Funktionsblock.

Typ:Funktion |Kategorie: Procedures

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Rückgabewert: ] END FUNCTION CALLBACK FUNCTION ProcName [AS LONG]... THREAD FUNCTION ProcName (BYVAL var AS LONG) AS LONG...

Der gesamte ausführbare Code muss sich in einem Sub-, Function-, Method-, Property- oder FastProc-Block befinden. Funktionen dürfen nicht verschachtelt sein. Das heißt, Sie können keinen Codeblock (Sub, Funktion, Methode, Eigenschaft) innerhalb eines anderen Codeblocks definieren.

In früheren Versionen von PowerBASIC mussten Sie eine explizite DECLARE-Anweisung erstellen, wenn Sie eine SUB- oder FUNCTION-Anweisung ausführen wollten, die nicht physisch vor dem Verweis darauf stand. Diese zusätzliche Arbeit ist nicht mehr erforderlich, da PowerBASIC alle Weiterleitungsverweise auf interne Prozeduren automatisch auflöst.

DECLARE-Anweisungen für eine aus einer DLL importierte Unterfunktion/Funktion müssen weiterhin vor jedem Verweis auf die Prozedur stehen.

Funktionsname

Der Name der Funktion. Anstelle der [AS-Typ]-Klausel kann ein Typbezeichner angehängt werden (genau wie ein gewöhnlicher Variablenname), um den Datentyp des Rückgabewerts der Funktion anzugeben. FuncName muss eindeutig sein: Keine andere Variable, Funktion, Sub, Methode, Eigenschaft oder Bezeichnung kann ihn gemeinsam nutzen. Siehe auch ALIAS unten.

Zukünftige Versionen von PowerBASIC unterstützen keine Typspezifizierersymbole für den Funktionsrückgabetyp. Geben Sie daher den Rückgabedatentyp mit einer expliziten AS-Typklausel in allen DECLARE- und FUNCTION-Definitionen an, um zukünftige Kompatibilität sicherzustellen.

Zeichenfolgenliteral, das einen alternativen Namen für die Funktion angibt, bei dem die Groß-/Kleinschreibung beachtet wird. Dadurch können Sie eine Funktion unter einem anderen eindeutigen Namen exportieren. Dies kann nützlich sein, wenn Sie einen langen Namen abkürzen, einen aussagekräftigeren Namen angeben möchten oder wenn der exportierte Name Zeichen enthalten muss, die in PowerBASIC unzulässig sind. AliasName ist der tatsächliche Name der Routine, wie er in der Exporttabelle erscheint, und FuncName ist der Titel, den Sie in PowerBASIC verwenden können. Zum Beispiel:

FUNCTION ShortName ALIAS „LongFuncName“() EXPORT STATIC AS LONG

Die ALIAS-Klausel ist beim Exportieren von Prozeduren sehr wichtig. Das Weglassen der ALIAS-Klausel oder die falsche Großschreibung des Aliasnamens sind häufige Ursachen für „Missing Export“-Fehler. Weitere Informationen finden Sie im Thema DECLARE.

Deskriptoren

EXPORT

Dieser Deskriptor identifiziert eine Unter- oder Funktion, auf die zwischen Dynamic Link Libraries (DLLs) zugegriffen werden kann, und/oder die ausführbare Hauptdatei, die sie verknüpft. Wenn eine Prozedur nicht mit EXPORT markiert ist, wird sie vor diesen anderen Modulen ausgeblendet. Das EXPORT-Attribut kann zu einer an anderer Stelle definierten Unter-/Funktion hinzugefügt werden, indem EXPORT in einer DECLARE-Anweisung angegeben wird. EXPORT kann sogar zu einer Unterfunktion/Funktion in einer SLL mit einer DECLARE im Hostmodul hinzugefügt werden.

COMMON

Eine GEMEINSAME Unter-/Funktion ist eine Funktion, auf die von und zwischen verknüpften Einheitenmodulen (Host oder SLL) verwiesen werden kann. Wenn Sie eine gemeinsame Sub- oder Funktion DEKLARIEREN, die in diesem Modul nicht vorhanden ist, wird davon ausgegangen, dass sie in einem separaten verknüpften Modul (Host oder SLL) gefunden wird.

PRIVAT

Eine private Unter-/Funktionsfunktion ist eine Funktion, auf die nur innerhalb des aktuellen PowerBASIC-Programms oder der aktuellen PowerBASIC-Bibliothek zugegriffen werden kann. Auch wenn nichts angegeben ist, ist dies der Standardbetriebsmodus.

FADENSICHER

Mit der THREADSAFE-Option richtet PowerBASIC automatisch eine Semaphore ein, die es jeweils nur einem Thread ermöglicht, die Sub/Funktion auszuführen. Andere Aufrufer müssen warten, bis der erste Thread die THREADSAFE-Prozedur verlässt, bevor sie beginnen dürfen.

Dieser Deskriptor gibt an, dass alle nicht deklarierten Variablen in einer Funktion LOCAL sind. Dies ist die Standardbedingung, wenn weder LOCAL noch STATIC angegeben ist.

Lokale Variablen und Array-Variablen werden automatisch freigegeben, wenn die Prozedur beendet wird. LOKALE Skalarvariablen (außer dynamische Zeichenfolgen) werden auf dem Stapel gespeichert und sind nur innerhalb der Funktion sichtbar.

STATIC

Dieser Deskriptor gibt an, dass alle nicht deklarierten Variablen in einer Funktion STATIC sind. Statische Variablen behalten ihren Wert, solange das Programm läuft. Sie sind nur innerhalb der Funktion sichtbar.

Gibt an, dass die deklarierte Prozedur die alte BASIC/Pascal-Aufrufkonvention verwendet. Parameter werden von links nach rechts auf dem Stapel abgelegt und die aufgerufene Prozedur ist für deren Entfernung verantwortlich. BDECL sollte nur verwendet werden, wenn dies zur Anpassung an externe Module erforderlich ist.

Gibt an, dass die deklarierte Prozedur die C-Aufrufkonvention verwendet. Parameter werden von rechts nach links auf den Stapel verschoben und der aufrufende Code ist für deren Entfernung verantwortlich. CDECL sollte nur verwendet werden, wenn dies zur Anpassung an externe Module erforderlich ist.

Dies ist die Standardkonvention und sollte nach Möglichkeit verwendet werden. SDECL (und sein Synonym STDCALL) spezifiziert die „Standard Calling Convention“ für Windows. Parameter werden von rechts nach links auf den Stapel verschoben und die aufgerufene Prozedur ist für deren Entfernung verantwortlich.

RÜCKRUF

Gibt an, dass es sich um eine Rückruffunktion handelt, die nur zum Empfangen von Nachrichten vom Betriebssystem verwendet wird. Es darf niemals direkt aus Ihrem Code aufgerufen werden. Details zu der an den Rückruf gesendeten Nachricht werden mithilfe der CB-Gruppe von PowerBASIC-Funktionen abgerufen. Rückruffunktionen enthalten möglicherweise keine Parameter und geben immer ein Long-Integer-Ergebnis zurück. Zum Beispiel:

CALLBACK-FUNCTION DlgProc SO LANG

' Rückrufcode steht hier

ENDFUNKTION

Rückruffunktionen verfügen über die einzigartige Fähigkeit, bei Bedarf für bestimmte Windows-Nachrichten optional zwei unterschiedliche Werte zurückzugeben. Dadurch können sie als Funktionsergebnis den Wert Null (0) zurückgeben und gleichzeitig angeben, dass die Nachricht verarbeitet wurde. Weitere Einzelheiten finden Sie im Abschnitt „CALLBACK RETURN VALUE“ (unten) und auf der Seite „CALLBACKS“.

FADEN

Gibt an, dass es sich um eine Thread-Funktion handelt, bei der es sich um den Punkt handelt, an dem die Ausführung eines neuen Threads beginnt. Es darf niemals direkt aus Ihrem Code aufgerufen werden. Thread-Funktionen müssen als Wert genau einen langen Ganzzahl- oder Doppelwort-Parameter annehmen (BYVAL) und müssen entweder ein langes Ganzzahl- oder Doppelwort-Ergebnis zurückgeben. Zum Beispiel:

THREAD-FUNCTION MyThreadFunction(BYVAL x AS LONG) AS LONG

' Thread-Code steht hier

ENDFUNKTION

Die THREAD CREATE-Anweisung erstellt eine neue Thread-Funktion und beginnt mit deren Ausführung.

Übergabe von Parametern

arguments

Eine optionale, durch Kommas getrennte Folge formaler Parameter. Die in der Argumentliste verwendeten Parameter dienen nur zur Definition der Funktion; Sie haben keine Beziehung zu anderen Variablen im aufrufenden Code mit demselben Namen.

Normalerweise übergibt PowerBASIC Parameter entweder per Referenz (BYREF) oder per Wert (BYVAL) an eine Funktion. Wenn Sie die Parameter nicht ändern müssen (was in vielen Fällen der Fall ist), können Sie Ihre Aufrufe beschleunigen, indem Sie die Parameter mit dem Schlüsselwort BYVAL als Wert übergeben. Sie können klarstellen, dass ein Parameter als Referenz übergeben wird, indem Sie das optionale Schlüsselwort BYREF verwenden.

Der Typ des Parameters wird entweder durch Anhängen eines Typspezifizierzeichens an den Namen oder durch Verwendung einer AS-Klausel angegeben. Zum Beispiel:

FUNCTION Test&(A AS INTEGER) 'von Referenz übergebene Ganzzahl

FUNCTION Test&(A%) 'von Ref übergebene Ganzzahl

FUNCTION Test&(BYREF A%) 'von Ref übergebene Ganzzahl

FUNCTION Test&(BYVAL A%) 'vom Wert übergebene Ganzzahl

Parameterbeschränkungen

PowerBASIC-Compiler haben ein Limit von 32 Parametern pro FUNCTION. Um mehr als 32 Parameter an eine FUNCTION zu übergeben, erstellen Sie einen benutzerdefinierten Typ (UDT) und übergeben Sie den UDT stattdessen als Referenz (BYREF).

Zeichenfolgen fester Länge, NULL-terminierte Zeichenfolgen und benutzerdefinierte Typen/Unions können auch als BYVAL- oder OPTIONAL-Parameter übergeben werden. Vermeiden Sie die Übergabe großer Elemente BYVAL, da dies furchtbar ineffizient ist und es eine maximale Größenbeschränkung von 64 KB für eine bestimmte Parameterliste gibt.

PowerBASIC-Funktionen können kein Array oder eine Variant-Variable als Funktionsrückgabewert zurückgeben. Übergeben Sie diese Variablentypen stattdessen als BYREF-Parameter. Zum Beispiel:

lResult& = ProcessData(TheArray&(), iSize%)

[Anweisungn]

FUNCTION ProcessData(lArr() AS LONG, iSize%) AS LONG

REDIM lArr(iSize%) SO LONG

lArr(iSize%) = 1&

FUNCTION = -1&

ENDFUNKTION

Zeigerparameter

Wenn eine Funktionsdefinition entweder einen BYREF-Parameter oder einen Zeigervariablenparameter angibt, kann der aufrufende Code stattdessen frei ein BYVAL DWORD oder einen Zeiger übergeben. Zeigervariablenparameter müssen immer als BYVAL-Parameter deklariert werden.

' Ganzzahliger Zeiger (als Wert übergeben)

FUNKTIONSTEST (BYVAL A AS INTEGER PTR) SO LONG

@A = 56

ENDFUNKTION

Weitere Informationen zur Parameterübergabe BYVAL/BYREF/BYCOPY finden Sie im Thema CALL-Anweisung.

Optionale Parameter

PowerBASIC unterstützt zwei Syntaxformate für optionale Parameter: die klassische Syntax für optionale Parameter mit Klammern „[..]“ und die neue Syntax mit dem Schlüsselwort OPTIONAL (oder OPT). Wir besprechen jeden einzelnen der Reihe nach.

Mit OPTIONAL/OPT

FUNCTION-Anweisungen können einen oder mehrere Parameter als optional angeben, indem dem Parameter entweder das Schlüsselwort OPTIONAL oder OPT vorangestellt wird. Optionale Parameter sind nur mit den Aufrufkonventionen CDECL oder SDECL zulässig, nicht mit BDECL.

Wenn ein Parameter als optional deklariert wird, sind alle nachfolgenden Parameter in der Deklaration ebenfalls optional, unabhängig davon, ob sie eine explizite OPTIONAL- oder OPT-Direktive angeben oder nicht. Die folgenden zwei Zeilen sind äquivalent, wobei sowohl der zweite als auch der dritte Parameter optional sind:

FUNCTION sABC(a&, OPTIONAL BYVAL b&, OPTIONAL BYVAL c&) AS LONG

FUNCTION sABC(a&, OPT BYVAL b&, BYVAL c&) AS LONG

VARIANT-Variablen eignen sich besonders gut zur Verwendung als optionaler Parameter. Wenn der aufrufende Code einen optionalen VARIANT-Parameter (BYVAL oder BYREF) weglässt, ersetzen PowerBASIC (und die meisten anderen Compiler) eine Variante vom Typ VT_ERROR, die einen Fehlerwert von %DISP_E_PARAMNOTFOUND (&H80020004) enthält. In diesem Fall können Sie diesen Wert direkt prüfen oder mit der Funktion ISMISSING() ermitteln, ob der Parameter physisch übergeben wurde oder nicht.

Wenn optionale Parameter (außer VARIANT) im aufrufenden Code weggelassen werden, wird der Stapelbereich, der normalerweise für diese Parameter reserviert ist, mit Nullen gefüllt. Damit können Sie testen, ob ein optionaler Parameter übergeben wurde oder nicht:

Wenn der Parameter als BYVAL-Parameter definiert ist, hat er den Wert Null. Für TYPE- oder UNION-Variablen, die BYVAL übergeben werden, übergibt der Compiler eine Zeichenfolge binärer Nullen der Länge SIZEOF (Type_or_union_var).

Wenn der Parameter als BYREF-Parameter definiert ist, ist VARPTR (Varname) gleich Null; Wenn dies zutrifft, führt jeder Versuch, Var_name in Ihrem Code zu verwenden, zu Fehler Nr. 9 (Nullzeiger). Wenn dieser Fehler nicht mithilfe der Fehlererkennung erkannt wird, kann dies zu einer allgemeinen Schutzverletzung oder einer Speicherbeschädigung führen. Sie sollten zunächst die Funktion ISMISSING() verwenden, um festzustellen, ob der Zugriff auf den Parameter sicher ist.

Da die aufgerufene Funktion, SUB, FASTPROC, METHOD oder PROPERTY zum Zeitpunkt des Aufrufs nicht weiß, wie viele Parameter übergeben werden, sollten Sie die Anzahl der Parameter als einen der erforderlichen Parameter in der Liste übergeben.

AS-Typ

Funktionsblöcke sind sehr ähnlich wie Subs aufgebaut (siehe SUB/END SUB-Anweisung). Allerdings unterscheiden sich Funktionen von Subs darin, dass sie immer ein Ergebnis zurückgeben und daher in Zuweisungen und Ausdrücken verwendet werden können. Daher gibt es zwei Möglichkeiten, den Rückgabetyp einer Funktion anzugeben:

Sie können den Datentyp angeben, den eine Funktion an den aufrufenden Code zurückgibt. Wenn Sie keinen Typ angeben, geht PowerBASIC davon aus, dass die Funktion den durch eine DEFtype-Anweisung angegebenen Datentyp zurückgibt. Wenn jedoch kein DEFtype- oder AS-Typ angegeben wurde, wird ein Fehler bei der Kompilierung generiert.

Daher gibt es zwei Möglichkeiten, den Rückgabetyp einer Funktion anzugeben:

Beispielsweise sind die folgenden Anweisungn äquivalent:

FUNCTION eineFunktion?()

FUNCTION aFunction() ALS BYTE

Während die meisten FUNCTION-Aufrufkonventionen in der Branche ziemlich genau definiert sind, gibt es einige Ausnahmen. Bei Funktionen, die einen Quad-Integer-Wert zurückgeben, geben einige Programmiersprachen (einschließlich PowerBASIC) den Quad-Wert in der FPU zurück, während andere ihn in EDX:EAX zurückgeben. PowerBASIC erkennt automatisch die von importierten Funktionen verwendete Methode und passt sich entsprechend an. Diese Funktion gibt es jedoch nicht bei anderen Compilern. Daher empfehlen wir Ihnen, QUAD FUNCTIONS nicht zu EXPORTIEREN, es sei denn, auf sie wird nur von PowerBASIC-Programmen zugegriffen. Eine einfache äquivalente Funktionalität wäre die Rückgabe des quad-ganzzahligen Werts an den Aufrufer in einem BYREF QUAD-Parameter.

Zuweisen eines Rückgabewerts

Sie können den Rückgabewert der Funktion angeben, indem Sie den Wert explizit festlegen, indem Sie entweder dem Schlüsselwort FUNCTION einen Wert zuweisen oder dem Funktionsnamen einen Wert zuweisen. Beispielsweise sind die beiden Zeilen im folgenden Funktionsblock äquivalent:

FUNCTION AddData() AS LONG

[Anweisungn]

AddData = 123& ' Dem Funktionsnamen einen Wert zuweisen

FUNCTION = 123& ' Der Funktion einen Wert zuweisen

ENDFUNKTION

Standardrückgabewert

Wenn der Code innerhalb der Funktion nicht explizit einen Rückgabewert festlegt, ist der Standardrückgabewert Null, wenn die Funktion einen numerischen Datentyp zurückgibt, oder eine leere Zeichenfolge, wenn die Funktion eine Zeichenfolge zurückgibt. Zum Beispiel:

FUNCTION AddData() AS LONG

[Anweisungn]

IF-Bedingung THEN

EXIT FUNCTION ' Keine Zuweisung, gibt 0 zurück&

FUNCTION = -1& ' Ein expliziter Rückgabewert

END IF

ENDFUNKTION

PowerBASIC-Funktionen können kein Array als Funktionsrückgabewert zurückgeben. Übergeben Sie stattdessen das Array als Parameter. Zum Beispiel:

lResult& = CheckTheData(InTheArray&())

[Anweisungn]

FUNCTION CheckTheData(lArr() AS LONG) AS LONG

[Anweisungn]

ENDFUNKTION

CALLBACK-Rückgabewert

Rückruffunktionen geben immer ein Long-Integer-Ergebnis zurück. Der Hauptzweck dieses Rückgabewerts besteht darin, der PowerBASIC DDT-Engine und dem Windows-Betriebssystem mitzuteilen, ob Ihre Rückruffunktion diese bestimmte Nachricht verarbeitet hat. Wenn Sie den Wert TRUE (ein beliebiger Wert ungleich Null) zurückgeben, bestätigen Sie, dass die Nachricht verarbeitet wurde und keine weitere Bearbeitung erforderlich ist. Wenn Sie den Wert FALSE (Null) zurückgeben, verwaltet die PowerBASIC DDT-Engine die Nachricht für Sie und verwendet dabei die Standardnachrichtenverfahren in Windows. Wenn Sie in der Funktion keinen Rückgabewert angeben, wählt PowerBASIC für Sie den Wert FALSE (Null).

Der Begriff „eine Nachricht verarbeiten“ kann viele Bedeutungen haben. Wenn es sich um eine einfache Benachrichtigung über eine Änderung des Fokus oder Stils handelt, die keine Auswirkung auf Ihr Programm hat, können Sie entscheiden, sie als verarbeitet zu betrachten, aber nichts unternehmen. In anderen Fällen kann Ihre Reaktion recht komplex und kompliziert sein. Als Programmierer ist es Ihre Entscheidung. Unabhängig von Ihrer Reaktion sollten Sie jedoch davon ausgehen, dass eine Nachricht „verarbeitet“ wird (einen wahren Wert zurückgibt), wenn keine weitere Verarbeitung der Nachricht (durch DDT oder Windows) erforderlich ist.

In einigen Fällen, insbesondere beim Umgang mit allgemeinen Steuerelementen und benutzerdefinierten Steuerelementen, müssen Sie möglicherweise einen zweiten Ergebniswert über einen speziellen Windows-Datenbereich namens DWL_MSGRESULT zurückgeben. Wenn Sie eine Rückruffunktion abschließen, kopiert PowerBASIC automatisch alle Rückgabewerte ungleich Null in DWL_MSGRESULT, sofern Sie dies noch nicht getan haben. Daher ist es im Allgemeinen sicher, diese Anforderung in Ihrem Code zu ignorieren.

In den meisten Fällen geben Sie beim Verarbeiten einer Nachricht einen generischen Wert für TRUE zurück, z. B.: FUNCTION = 1. Einige Nachrichten erfordern jedoch, dass Sie einen speziellen Wert für TRUE zurückgeben, z. B. ein grafisches Pinselhandle. Solange der Wert ungleich Null ist, können Sie ihn auf normale Weise zurückgeben (mit FUNCTION = n ), da jeder Wert ungleich Null automatisch impliziert, dass die Nachricht verarbeitet wurde.

Allerdings gibt es einige einzigartige Nachrichten, die möglicherweise eine besondere Behandlung erfordern. Zum Glück sind sie selten, aber einige verstoßen einfach gegen alle oben aufgeführten Regeln. Beispielsweise könnten Sie eine Antwort finden, die ein Null-Ergebnis erfordert, selbst wenn Sie die Nachricht verarbeitet haben. Möglicherweise finden Sie einen anderen, der einen anderen Rückgabewert als DWL_MSGRESULT erfordert. Für diese ganz speziellen Fälle können Sie einfach zwei Rückgabewerte angeben:

FUNCTION = 1, BrushHandle&

In dieser Form gibt der erste numerische Ausdruck den Wert an, der von der Callback-Funktion zurückgegeben werden soll. Der zweite numerische Ausdruck gibt den Wert an, der DWL_MSGRESULT zugewiesen werden soll. Wenn Sie diese doppelte Parameterzuweisung verwenden, sind die Ergebnisse absolut. PowerBASIC geht unabhängig von den angegebenen Werten davon aus, dass Sie die Nachricht verarbeitet haben. PowerBASIC macht keine weiteren Annahmen zu diesen Werten. Eine doppelte Parameterfunktionszuweisung ist nur in einer Callback-Funktion zulässig.

Frühere Versionen von PowerBASIC boten keine Doppelparameterform der Funktionsrückgabe. Dies verursachte einige Schwierigkeiten bei einigen Windows-Meldungen, die einen speziellen Rückgabewert von Null erforderten. Wenn Sie mit der Einzelparameterform einen Wert von Null (0) zurückgeben, bedeutet dies, dass die Nachricht vom Callback überhaupt nicht verarbeitet wurde. Dieses Problem wird durch die Doppelparameterform vollständig umgangen.

Variablen innerhalb von Funktionen

LOKALE Variablen werden innerhalb des Prozedurstapelrahmens erstellt. Wenn eine LOCAL-Variable den verfügbaren Stapelspeicherplatz überschreitet, muss möglicherweise stattdessen eine STATIC- oder GLOBAL-Variable verwendet werden. Beispielsweise kann das Erstellen einer LOCAL-Zeichenfolge mit Nul-Terminierung oder einer LOCAL-Zeichenfolge mit fester Länge, die sehr groß ist (z. B. fast 1 MB), eine allgemeine Schutzverletzung (GPF) auslösen, da sie möglicherweise den Stapelrahmen überläuft.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DECLARE ? PBXB64-Compiler-Hilfe
  • EXIT � PBXB64-Compiler-Hilfe
  • FASTPROC/END FASTPROC-Anweisungen
  • FUNCNAME$
  • GLOBAL ? PBXB64-Compiler-Hilfe
  • INSTANZ
  • ISMISSING
  • LOCAL � PBXB64-Compiler-Hilfe
  • METHOD/END METHOD-Anweisungen
  • PROPERTY / END PROPERTY
  • STATIC ? PBXB64-Compiler-Hilfe
  • SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe
  • THREAD CREATE
  • THREADID
  • Hilfe zum PBXB64-Compiler


Funktionsweise von Fehlerfallen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Funktionsweise von Fehlerfallen

In PowerBASIC sind Fehlercodes &ndash; die von den Funktionen ERR oder ERRCLEAR zur&uuml;ckgegeben werden &ndash; und Fehler-Traps lokal f&uuml;r jede Sub , Function , Method oder Property . Eine Fehlerfalle f&auml;ngt nur Fehler ab, die darin auftreten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In PowerBASIC sind Fehlercodes – die von den Funktionen ERR oder ERRCLEAR zurückgegeben werden – und Fehler-Traps lokal für jede Sub , Function , Method oder Property . Eine Fehlerfalle fängt nur Fehler ab, die darin auftreten

Typ:Schlüsselwort |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PowerBASIC verwendet die folgenden Schritte, um zu bestimmen, was zu tun ist, wenn ein Laufzeitfehler auftritt:

Bedenken Sie Folgendes:

ON ERROR GOTO ErrorTrap

Fehlerpfad-Prüfung

Fehlerbehandlungsseiten sollen den normalen Pfad und den Fehlerpfad zeigen. Ein vollständiges Beispiel löst absichtlich einen bekannten Fehler aus, prüft den dokumentierten Fehlerwert, stellt wieder her oder beendet sauber und zeigt, dass spätere Anweisungen in der erwarteten Reihenfolge laufen.

Zustandsregeln

Dokumentieren Sie, welche Variablen, Handler oder Systemwerte durch die Operation geändert werden. Vermeiden Sie Beispiele, die einen Fehler durch ungeprüftes Weiterlaufen verdecken.

Migrationshinweise

Beim Portieren älteren PB-Codes sind Annahmen zu Zeilennummern, Handler-Gültigkeit, verschachtelten Prozeduren und Windows-API-Fehlern neu zu prüfen.


GAMMA - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GAMMA

Gibt die Gammafunktion Gamma(n) zurueck und erweitert die Fakultaet auf reelle Argumente.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(GAMMA(5.0) - 24.0) > 0.001 THEN FUNCTION = 1

Beschreibung

Gibt die Gammafunktion Gamma(n) zurueck und erweitert die Fakultaet auf reelle Argumente.

Syntax: y = GAMMA( n )

Semantik

Fuer positive ganze Zahlen ist GAMMA(n) gleich (n-1)!. Pole bei null und negativen ganzen Zahlen sowie Ueberlauf folgen dem Gleitkomma-Verhalten. Ergebnis: DOUBLE.

Datentypen

Normale numerische Typen und Wide-, UNL- und UNF-Werte werden akzeptiert.


Ganzzahlen (%) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Ganzzahlen (%)

F&uuml;r PowerBASIC ist eine Ganzzahl eine Zahl ohne Dezimalpunkt (was Mathematiker ganze Zahlen nennen w&uuml;rden) mit einem Bereich von -32.768 bis +32.767 (-2^15 bis 2^15 - 1). Diese Werte ergeben sich aus dem zugrunde liegenden Wert

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Für PowerBASIC ist eine Ganzzahl eine Zahl ohne Dezimalpunkt (was Mathematiker ganze Zahlen nennen würden) mit einem Bereich von -32.768 bis +32.767 (-2^15 bis 2^15 - 1). Diese Werte ergeben sich aus dem zugrunde liegenden Wert

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Ganzzahlen werden identifiziert, indem dem Variablennamen ein Prozentzeichen folgt (z. B. var%) oder die DEFINT-Anweisung verwendet wird. Wenn Sie beispielsweise diese Deklaration in Ihrem Programmcode verwenden:

dann sind alle Variablen, die dieser Deklaration folgen und mit dem Buchstaben I, J oder K beginnen, standardmäßig eine Ganzzahl. Sie können eine Integer-Variable auch mit dem Schlüsselwort INTEGER mit der DIM-Anweisung deklarieren. Zum Beispiel:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


GCD - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GCD

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Kategorie: Allgemeine Referenz

Syntax

g = GCD( a, b )
text = GCD$( a, b )

Beschreibung

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Semantik

GCD liefert den groessten gemeinsamen Teiler als DOUBLE. Vorzeichen werden ignoriert, Null ist erlaubt. GCD$ berechnet mit exakter Dezimalarithmetik und liefert das kanonische Dezimalergebnis als String.

Datentypen

Normale Integer- und Gleitkommawerte werden akzeptiert. INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und ganzzahlige UNF-Werte werden ueber die Dezimal-Wide-Helfer verarbeitet. Die GCD$-Form liefert immer einen String.


GET$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GET$

Lesen Sie eine

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GET$ [#] filenum& , Count& , StrgVar

Beschreibung

Lesen Sie eine

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GET$ liest Count& Zeichen aus der Dateinummer filenum& und weist sie StrgVar zu. GET$ und PUT$ bieten eine Low-Level-Alternative zu sequentiellen und wahlfreien Dateiverarbeitungstechniken, die es Ihnen ermöglichen, Dateien byteweise zu verarbeiten.

Die Datei filenum& muss im Binärmodus geöffnet worden sein. Das Lesen von Zeichen beginnt an der aktuellen Dateizeigerposition, die mit der SEEK-Anweisung festgelegt werden kann. Wenn die Datei zum ersten Mal geöffnet wird, befindet sich der Zeiger am Anfang der Datei (standardmäßig Position 1, sofern nicht BASE=0 in der OPEN-Anweisung angegeben wurde). Nach GET$ wird die Position des Dateizeigers automatisch auf die Position vorgerückt, die unmittelbar auf die gelesenen Daten folgt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • EOF
  • GET ? PBXB64-Compiler-Hilfe
  • GET$$
  • INPUT ? PBXB64-Compiler-Hilfe
  • LINE INPUT#
  • LOF
  • OPEN
  • PRINT# ? PBXB64-Compiler-Hilfe
  • PUT ? PBXB64-Compiler-Hilfe
  • PUT$
  • PUT$$
  • SEEK ? PBXB64-Compiler-Hilfe
  • WRITE# ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


GET$$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GET$$

Liest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GET$$ [#] Filenum& , Count& , StrgVar

Beschreibung

Liest

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GET$$ liest Count& WIDE-Zeichen aus der Dateinummer filenum& und weist sie StrgVar zu. GET$$ und PUT$$ bieten eine Low-Level-Alternative zu sequentiellen und wahlfreien Dateiverarbeitungstechniken, die es Ihnen ermöglichen, Dateien zeichenweise zu verarbeiten.

PBXB64 verifiziert dies mit examples/basic/test_get_put_wide_string.pb. Der Test liest WIDE-Daten, die sowohl aus einer WSTRING-Quelle als auch aus einer ANSI-STRING-Quelle geschrieben wurden, und prueft den zurueckgegebenen WSTRING mit ASCW-Codeunit-Assertions.

Die Datei filenum& muss im Binärmodus geöffnet worden sein. Das Lesen von Zeichen beginnt an der aktuellen Dateizeigerposition, die mit der SEEK-Anweisung festgelegt werden kann. Wenn die Datei zum ersten Mal geöffnet wird, befindet sich der Zeiger am Anfang der Datei (standardmäßig Position 1, sofern nicht BASE=0 in der OPEN-Anweisung angegeben wurde). Nach GET$$ wird die Position des Dateizeigers automatisch auf die Position vorgerückt, die unmittelbar auf die gelesenen Daten folgt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Datei-Themen sollen den benoetigten Oeffnungsmodus, die Arbeit auf Datensaetzen oder Bytes, die erforderliche Uebereinstimmung von Handles und Bereichen mit vorherigen Operationen sowie Cleanup- oder Entsperrschritte nennen. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • EOF
  • GET ? PBXB64-Compiler-Hilfe
  • GET$
  • INPUT ? PBXB64-Compiler-Hilfe
  • LINE INPUT#
  • LOF
  • OPEN
  • PRINT# ? PBXB64-Compiler-Hilfe
  • PUT ? PBXB64-Compiler-Hilfe
  • PUT$
  • PUT$$
  • SEEK ? PBXB64-Compiler-Hilfe
  • WRITE# ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


GETATTR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GETATTR

Gibt die Dateisystemattribute einer Festplattendatei oder eines Verzeichnisses zur&uuml;ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x& = GETATTR( filespec$ )

Beschreibung

Gibt die Dateisystemattribute einer Festplattendatei oder eines Verzeichnisses zurück.

Typ:Funktion |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

filespec$ gibt einen Dateinamen oder ein Verzeichnis an (optional einschließlich eines Laufwerksbuchstabens und eines Verzeichnispfads). Der in x& zurückgegebene Attributcode ist ein Standard-Betriebssystemattributcode oder eine Kombination mehrerer Codes, die miteinander verknüpft sind:

Attribut

Beschreibung

Gleichsetzen

Normal*

%NORMAL

Schreibgeschützt

%READONLY

Versteckt

%VERSTECKT

System

%SYSTEM

Datenträgerbezeichnung

%VLABEL

Verzeichnis

%UNTERVERZEICHNIS

Archiviert

%ARCHIV

Normal*

(Synonym von %NORMAL)

* Einige Betriebssysteme geben für normale Dateien möglicherweise entweder 0 oder 128 zurück.

Wenn GETATTR ein Attribut von 0 (oder 128) zurückgibt, ist filespec$ eine reguläre Datei: nicht schreibgeschützt, nicht versteckt, nicht systemisch und nicht archiviert.

Auf einigen Dateisystemen werden möglicherweise zusätzliche Dateiattribute unterstützt. Eine vollständige Liste finden Sie in den %FILE_ATTRIBUTE-Gleichungen in Ihrer WinNT.inc-Datei.

Wenn Sie ein einzelnes Attribut testen möchten, verwenden Sie den bitweisen AND-Operator, um alle anderen möglicherweise festgelegten Attribute zu entfernen. Siehe das Beispiel unten.

GETATTR kann auch verwendet werden, um die Existenz einer Datei oder eines Verzeichnisses zu überprüfen, wobei die Tatsache ausgenutzt wird, dass ERR gesetzt wird, wenn die Datei/das Verzeichnis nicht existiert. Siehe das Beispiel unten.

PBXB64 senkt GETATTR(path$) auf den eingebetteten Helfer bestof_getattr ab. Dieser ruft die Win32-API GetFileAttributesA auf und gibt die Attribut-Bitmaske zurueck.

Einschränkungen

Wenn filespec$ nicht gefunden werden kann, tritt ein Laufzeitfehler 53 („Datei nicht gefunden“) auf. Sie können die Attribute des Stammverzeichnisses (d. h. „C:\“) nicht abrufen. Windows verhindert diesen speziellen Vorgang und löst einen Fehler 53 aus.

Das aktuell fokussierte PBXB64-Verhalten gibt fuer einen fehlenden Pfad 0 zurueck, statt einen PBWin-kompatiblen Laufzeitfehler 53 auszugeben. Verzeichnis-, Wurzelpfad-, Unicode- und kombinierte Attributfaelle bleiben breitere Datei-/Pfad-Arbeit.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIR$
  • FILEATTR
  • ISFILE
  • PATHSCAN$ " PBXB64-Compiler-Hilfe
  • SETATTR
  • Hilfe zum PBXB64-Compiler


Gewerkschaften - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Gewerkschaften

Wenn Sie jemals in Pascal oder C programmiert haben, ist Ihnen m&ouml;glicherweise das Konzept einer Union bekannt. Eine Union &auml;hnelt in mancher Hinsicht einem benutzerdefinierten Typ. Beide verf&uuml;gen &uuml;ber Datenfelder, die aus beliebigen o bestehen k&ouml;nnen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn Sie jemals in Pascal oder C programmiert haben, ist Ihnen möglicherweise das Konzept einer Union bekannt. Eine Union ähnelt in mancher Hinsicht einem benutzerdefinierten Typ. Beide verfügen über Datenfelder, die aus beliebigen o bestehen können

Typ:Struktur |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Obwohl das Konzept abstrakt erscheinen mag, bieten Unions eine Möglichkeit, Daten frei von einem Format in ein anderes zu konvertieren, indem die Daten einfach als ein Datenformat in die Union geschrieben und in einem anderen Datenformat zurückgelesen werden. Durch die Kombination der Vielseitigkeit eines UDT mit der Flexibilität einer Union kann diese Funktionalität erheblich erweitert werden, beispielsweise durch die Aufteilung von Daten in ihre Bestandteile.

Die folgende Definition würde beispielsweise eine Union namens WordFld und eine WordFld-Variable namens MyVar erstellen:


Gibt es noch andere wichtige "Buzz-Words"? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Gibt es noch andere wichtige "Buzz-Words"?

Siehe auch

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Siehe auch

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Was ist überhaupt ein Objekt?

Aus welchen Teilen besteht ein Objekt?

Wie sieht eine Klasse aus?

Was ist eine Basisklasse?

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Gleitkomma mit doppelter Genauigkeit (#) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Gleitkomma mit doppelter Genauigkeit (#)

Gleitkommazahlen mit doppelter Genauigkeit sind im Vergleich zu Zahlen mit einfacher Genauigkeit das, was lange Ganzzahlen im Vergleich zu Ganzzahlen sind. Sie beanspruchen doppelt so viel Speicherplatz (8 Byte gegen&uuml;ber 4 Byte), haben aber eine gr&ouml;&szlig;ere Reichweite

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Gleitkommazahlen mit doppelter Genauigkeit sind im Vergleich zu Zahlen mit einfacher Genauigkeit das, was lange Ganzzahlen im Vergleich zu Ganzzahlen sind. Sie beanspruchen doppelt so viel Speicherplatz (8 Byte gegenüber 4 Byte), haben aber eine größere Reichweite

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Variablen mit doppelter Genauigkeit werden identifiziert, indem dem Variablennamen ein Zahlensymbol folgt (d. h. var# ) oder indem die DEFDBL-Anweisung verwendet wird, wie in der vorherigen Diskussion von Ganzzahlen beschrieben. Sie können Variablen mit doppelter Genauigkeit auch mithilfe des Schlüsselworts DOUBLE mit der DIM-Anweisung deklarieren. Zum Beispiel:

C/C++, Delphi und Visual Basic bieten alle einen doppelten Datentyp, der mit der PowerBASIC-Variable mit doppelter Genauigkeit identisch ist.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Gleitkomma mit einfacher Genauigkeit (!) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Gleitkomma mit einfacher Genauigkeit (!)

Gleitkommazahlen mit einfacher Genauigkeit (oder einfacher: Gleitkommazahlen mit einfacher Genauigkeit) sind m&ouml;glicherweise der vielseitigste numerische Typ, der von PowerBASIC unterst&uuml;tzt wird. Werte mit einfacher Genauigkeit k&ouml;nnen Dezimalstellen enthalten und ein haben

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Gleitkommazahlen mit einfacher Genauigkeit (oder einfacher: Gleitkommazahlen mit einfacher Genauigkeit) sind möglicherweise der vielseitigste numerische Typ, der von PowerBASIC unterstützt wird. Werte mit einfacher Genauigkeit können Dezimalstellen enthalten und ein haben

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Variablen mit einfacher Genauigkeit werden identifiziert, indem dem Variablennamen ein Ausrufezeichen folgt (z. B. var! ) oder indem die DEFSNG-Anweisung verwendet wird, wie in der vorherigen Diskussion von Integralen beschrieben. Sie können Variablen mit einfacher Genauigkeit auch mithilfe des Schlüsselworts SINGLE mit der DIM-Anweisung deklarieren. Zum Beispiel:

Während Zahlen mit einfacher Genauigkeit sowohl enorme als auch mikroskopische Werte darstellen können, ist ihre Genauigkeit auf sechs Stellen beschränkt. Mit anderen Worten: Die einfache Genauigkeit funktioniert gut mit Zahlen wie 451,21 $ und 6.411,92 $, aber 671.421,22 $ können nicht genau dargestellt werden, weil sie zu viele Ziffern enthalten. Weder 234,56789 noch 0,00123456789. Eine Darstellung mit einfacher Genauigkeit kommt der sechsstelligen Zahl so nahe wie möglich: 671.421 $ oder 234,568 oder 0,00123457. Abhängig von Ihrer Anwendung kann diese Abrundung ein geringfügiger oder lähmender Mangel sein. Wie die meisten modernen Compiler verwendet PowerBASIC den IEEE-Standard für die gesamte Gleitkomma-Arithmetik.

C/C++, Delphi und Visual Basic bieten alle einen einzigen Datentyp, der mit der PowerBASIC-Variable mit einfacher Genauigkeit identisch ist.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Gleitkomma mit erweiterter Genauigkeit (##) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Gleitkomma mit erweiterter Genauigkeit (##)

Gleitkommazahlen mit erweiterter Genauigkeit sind die Berechnungsgrundlage in PowerBASIC. Das Typspezifizierzeichen f&uuml;r einen Gleitkommawert mit erweiterter Genauigkeit ist: ##. In PowerBASIC sind alle Gleitkommazahlen ca

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Gleitkommazahlen mit erweiterter Genauigkeit sind die Berechnungsgrundlage in PowerBASIC. Das Typspezifizierzeichen für einen Gleitkommawert mit erweiterter Genauigkeit ist: ##. In PowerBASIC sind alle Gleitkommazahlen ca

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Variablen mit erweiterter Genauigkeit erfordern jeweils 10 Byte Speicherplatz. Sie haben einen Bereich von etwa +/- 3,4*10^-4932 bis 1,2*10^4932 und bieten eine Genauigkeit von 18 Stellen. Alle 18 Ziffern können mit dem erweiterten STR$-Format (z. B. STR$( var## ,18)) „angezeigt“ werden.

Variablen mit erweiterter Genauigkeit werden identifiziert, indem zwei Zahlensymbole nach einem Variablennamen hinzugefügt werden (d. h. var## ) oder indem die DEFEXT-Anweisung verwendet wird. Sie können Variablen mit erweiterter Genauigkeit auch mithilfe der Schlüsselwörter EXT oder EXTENDED mit der DIM-Anweisung deklarieren. Zum Beispiel:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


GLOBALALLOC / GLOBALFREE-Familie - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GLOBALALLOC / GLOBALFREE-Familie

Funktionsformen fuer Windows-Global-Memory-Operationen: Allokieren, Groesse, Sperren, Entsperren, Flags und Freigeben.

Kategorie: Allgemeine Referenz

Syntax

h& = GLOBALALLOC(bytes)
p& = GLOBALLOCK(h&)
GLOBALUNLOCK h&
GLOBALFREE h&

Beschreibung

Funktionsformen fuer Windows-Global-Memory-Operationen: Allokieren, Groesse, Sperren, Entsperren, Flags und Freigeben.

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt das PBXB64-Verhalten, das durch die aktuelle Validierungsmatrix abgedeckt ist. Verwenden Sie die hier gezeigte Syntax fuer Regressionstests; weitergehende PowerBASIC-Formen gelten als separate Kompatibilitaetsarbeit, sofern keine andere Seite sie dokumentiert.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

GLOBALALLOC(bytes) erzeugt einen verschiebbaren, mit Null initialisierten Windows-Global-Memory-Block. GLOBALLOCK liefert dessen Zeiger, GLOBALHANDLE liefert das urspruengliche Handle und GLOBALSIZE die allokierte Groesse. GLOBALUNLOCK liefert bei der letzten erfolgreichen Entsperrung 0 und bei Fehler -1; GLOBALFREE liefert bei Erfolg 0 und bei Fehler -1.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GLOBALFLAGS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GLOBALFLAGS

Liefert Statusflags fuer ein Global-Memory-Handle.

Kategorie: Allgemeine Referenz

Syntax

flags& = GLOBALFLAGS(hMem&)

Beschreibung

Liefert Statusflags fuer ein Global-Memory-Handle.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Diese Seiten kapseln den Windows-Global-Memory-Handle-Lebenszyklus: Handle erzeugen oder oeffnen, nur bei Bedarf sperren, nach der Nutzung entsperren, Flags oder Groesse bei Bedarf pruefen und das Handle erst freigeben, wenn keine Sperren mehr bestehen. Das Handle ist der Besitzer des Blocks; der zurueckgegebene Zeiger ist nur eine temporaere Sicht.

Verwendung im Programm

Diese Seiten kapseln den Windows-Global-Memory-Handle-Lebenszyklus: Handle erzeugen oder oeffnen, nur bei Bedarf sperren, nach der Nutzung entsperren, Flags oder Groesse bei Bedarf pruefen und das Handle erst freigeben, wenn keine Sperren mehr bestehen. Das Handle ist der Besitzer des Blocks; der zurueckgegebene Zeiger ist nur eine temporaere Sicht.

Fehlerfaelle

Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Behandeln Sie den Rueckgabewert nach dem Entsperren oder Freigeben nicht weiter als gueltig, und pruefen Sie Fehlerwerte vor dem Dereferenzieren. Der Sperrzaehler gehoert zum Vertrag; gehen Sie nicht von einem verdeckten Unlock aus.

Speicherfluss

Verwenden Sie die GLOBAL-Familie in der Reihenfolge erzeugen/oeffnen, nur bei Bedarf fuer einen Rohzeiger sperren, Groesse oder Flags bei Bedarf pruefen und dann in umgekehrter Reihenfolge entsperren und freigeben. Das Beispiel sollte einen vollstaendigen Lebenszyklus zeigen und nicht nur einen isolierten Einzelaufruf.

Fehlerhinweise

Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Verwenden Sie den Zeiger nach dem Entsperren oder Freigeben nicht weiter und pruefen Sie den Rueckgabewert vor dem Dereferenzieren.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Behandeln Sie den Rueckgabewert nach dem Entsperren oder Freigeben nicht weiter als gueltig, und pruefen Sie Fehlerwerte vor dem Dereferenzieren. Der Sperrzaehler gehoert zum Vertrag; gehen Sie nicht von einem verdeckten Unlock aus.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GLOBALFREE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GLOBALFREE

Gibt ein mit GLOBALALLOC erzeugtes Global-Memory-Handle frei.

Kategorie: Allgemeine Referenz

Syntax

ok& = GLOBALFREE(hMem&)

Beschreibung

Gibt ein mit GLOBALALLOC erzeugtes Global-Memory-Handle frei.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Diese Seiten kapseln den Windows-Global-Memory-Handle-Lebenszyklus: Handle erzeugen oder oeffnen, nur bei Bedarf sperren, nach der Nutzung entsperren, Flags oder Groesse bei Bedarf pruefen und das Handle erst freigeben, wenn keine Sperren mehr bestehen. Das Handle ist der Besitzer des Blocks; der zurueckgegebene Zeiger ist nur eine temporaere Sicht.

Verwendung im Programm

Diese Seiten kapseln den Windows-Global-Memory-Handle-Lebenszyklus: Handle erzeugen oder oeffnen, nur bei Bedarf sperren, nach der Nutzung entsperren, Flags oder Groesse bei Bedarf pruefen und das Handle erst freigeben, wenn keine Sperren mehr bestehen. Das Handle ist der Besitzer des Blocks; der zurueckgegebene Zeiger ist nur eine temporaere Sicht.

Fehlerfaelle

Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Behandeln Sie den Rueckgabewert nach dem Entsperren oder Freigeben nicht weiter als gueltig, und pruefen Sie Fehlerwerte vor dem Dereferenzieren. Der Sperrzaehler gehoert zum Vertrag; gehen Sie nicht von einem verdeckten Unlock aus.

Speicherfluss

Verwenden Sie die GLOBAL-Familie in der Reihenfolge erzeugen/oeffnen, nur bei Bedarf fuer einen Rohzeiger sperren, Groesse oder Flags bei Bedarf pruefen und dann in umgekehrter Reihenfolge entsperren und freigeben. Das Beispiel sollte einen vollstaendigen Lebenszyklus zeigen und nicht nur einen isolierten Einzelaufruf.

Fehlerhinweise

Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Verwenden Sie den Zeiger nach dem Entsperren oder Freigeben nicht weiter und pruefen Sie den Rueckgabewert vor dem Dereferenzieren.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Behandeln Sie den Rueckgabewert nach dem Entsperren oder Freigeben nicht weiter als gueltig, und pruefen Sie Fehlerwerte vor dem Dereferenzieren. Der Sperrzaehler gehoert zum Vertrag; gehen Sie nicht von einem verdeckten Unlock aus.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GLOBALLOCK - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GLOBALLOCK

Sperrt einen Global-Memory-Block und liefert einen Adresszeiger.

Kategorie: Allgemeine Referenz

Syntax

ptr& = GLOBALLOCK(hMem&)

Beschreibung

Sperrt einen Global-Memory-Block und liefert einen Adresszeiger.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Diese Seiten kapseln den Windows-Global-Memory-Handle-Lebenszyklus: Handle erzeugen oder oeffnen, nur bei Bedarf sperren, nach der Nutzung entsperren, Flags oder Groesse bei Bedarf pruefen und das Handle erst freigeben, wenn keine Sperren mehr bestehen. Das Handle ist der Besitzer des Blocks; der zurueckgegebene Zeiger ist nur eine temporaere Sicht.

Verwendung im Programm

Diese Seiten kapseln den Windows-Global-Memory-Handle-Lebenszyklus: Handle erzeugen oder oeffnen, nur bei Bedarf sperren, nach der Nutzung entsperren, Flags oder Groesse bei Bedarf pruefen und das Handle erst freigeben, wenn keine Sperren mehr bestehen. Das Handle ist der Besitzer des Blocks; der zurueckgegebene Zeiger ist nur eine temporaere Sicht.

Fehlerfaelle

Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Behandeln Sie den Rueckgabewert nach dem Entsperren oder Freigeben nicht weiter als gueltig, und pruefen Sie Fehlerwerte vor dem Dereferenzieren. Der Sperrzaehler gehoert zum Vertrag; gehen Sie nicht von einem verdeckten Unlock aus.

Speicherfluss

Verwenden Sie die GLOBAL-Familie in der Reihenfolge erzeugen/oeffnen, nur bei Bedarf fuer einen Rohzeiger sperren, Groesse oder Flags bei Bedarf pruefen und dann in umgekehrter Reihenfolge entsperren und freigeben. Das Beispiel sollte einen vollstaendigen Lebenszyklus zeigen und nicht nur einen isolierten Einzelaufruf.

Fehlerhinweise

Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Verwenden Sie den Zeiger nach dem Entsperren oder Freigeben nicht weiter und pruefen Sie den Rueckgabewert vor dem Dereferenzieren.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Behandeln Sie den Rueckgabewert nach dem Entsperren oder Freigeben nicht weiter als gueltig, und pruefen Sie Fehlerwerte vor dem Dereferenzieren. Der Sperrzaehler gehoert zum Vertrag; gehen Sie nicht von einem verdeckten Unlock aus.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GLOBALMEM ALLOC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GLOBALMEM ALLOC

Weisen Sie einen Block des globalen Speichers zu oder geben Sie ihn frei

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GLOBALMEM ALLOC count TO vHndl
GLOBALMEM FREE mHndl TO vHndl
GLOBALMEM LOCK mHndl TO vPtr
GLOBALMEM SIZE mHndl TO vSize
GLOBALMEM UNLOCK mHndl TO vLocked
GLOBALMEM HANDLE mHndl TO vHandle
GLOBALMEM FLAGS mHndl TO vFlags

Beschreibung

Weisen Sie einen Block des globalen Speichers zu oder geben Sie ihn frei

Typ:Anweisung |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GLOBALMEM reserviert einen Block des globalen Systemspeichers der angeforderten Größe. Dieser wird immer als „beweglicher“ Speicher zugewiesen, sodass er mit allen Funktionen von Windows verwendet werden kann. Es liegt in der Verantwortung des Programmierers, den zugewiesenen Speicherblock freizugeben, wenn er nicht mehr benötigt wird.

Es gibt sieben allgemeine Formen der GLOBALMEM-Anweisung:

GLOBALMEM ALLOC

Es wird ein verschiebbarer Speicherblock mit der durch count angegebenen Größe in Bytes zugewiesen. Diesem Speicherobjekt wird ein eindeutiges Handle zugewiesen (zur späteren Identifizierung). Dieses Handle wird der durch vHndl angegebenen LONG- oder DWORD-Variablen zugewiesen. Wenn die angeforderte Zuweisung aus irgendeinem Grund fehlschlägt, wird vHndl stattdessen der Wert Null (0) zugewiesen.

GLOBALMEM KOSTENLOS

Ein Speicherblock wird freigegeben und zur Wiederverwendung freigegeben. Der mHndl-Parameter ist eine Variable oder ein Ausdruck, der als Handle ausgewertet wird, das von GLOBALMEM ALLOC zurückgegeben wurde, als der Speicherblock erstellt wurde. Wenn die Freigabeoperation erfolgreich war, wird die Ergebnisvariable vHndl auf Null (0) gesetzt, um anzuzeigen, dass das ursprüngliche Handle nicht mehr gültig ist. Wenn der Vorgang aus irgendeinem Grund fehlschlägt, wird der Wert des mHndl-Parameters vHndl zugewiesen. Es kann sinnvoll sein, für den Parameter und das Ergebnis dieselbe Variable zu verwenden, da diese dann automatisch auf Null gelöscht wird, wenn der Speicherblock freigegeben wird.

GLOBALMEM-SCHLOSS

Der bewegliche Speicherblock, auf den mHndl verweist, ist an einem bestimmten Speicherort gesperrt. Der durch vPtr angegebenen Variablen wird ein Zeiger auf diesen Ort zugewiesen. Sie können den Speicherblock nur lesen oder schreiben, während er gesperrt ist, und Sie verwenden den aktuellen Zeiger auf seinen Speicherort.

GLOBALME GRÖSSE

Die Größe des von mHndl referenzierten Speicherblocks wird abgerufen und der durch vSize angegebenen LONG- oder DWORD-Variablen zugewiesen. Der mHndl-Parameter ist das ursprünglich von GLOBALMEM ALLOC zurückgegebene Handle.

GLOBALMEM ENTSPERREN

Der bewegliche Speicherblock, auf den mHndl verweist, wird entsperrt und der vorherige Speicherzeiger wird ungültig. Bleibt der Speicherblock gesperrt (vielleicht weil er mehr als einmal gesperrt war), wird der Ergebnisvariablen vLocked der Wert TRUE (ungleich Null) zugewiesen. Wenn der Speicherblock nun entsperrt ist oder der Parameter mHndl ungültig war, wird vLocked stattdessen der Wert FALSE (0) zugewiesen.

GLOBALMEM HANDLE

Der Handle-Wert von mHndl wird an vHandle zurueckgegeben. In PBXB64 entspricht dies der aktuellen Handle-Darstellung der eingebetteten Laufzeit.

GLOBALMEM FLAGS

Status-Flags fuer das Speicherobjekt werden an vFlags zurueckgegeben. PBXB64 gibt die von Windows gemeldeten Global-Memory-Flags zurueck.

PBXB64-Implementierung: Alle sieben Formen oben verlangen nach TO eine deklarierte ganzzahlige Skalavariante. Der Lebenszyklus ist durch test_globalmem_lifecycle abgedeckt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • SPEICHERKOPIE " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


GLOBALSIZE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GLOBALSIZE

Liefert die Groesse eines Global-Memory-Blocks.

Kategorie: Allgemeine Referenz

Syntax

size& = GLOBALSIZE(hMem&)

Beschreibung

Liefert die Groesse eines Global-Memory-Blocks.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Diese Seiten kapseln den Windows-Global-Memory-Handle-Lebenszyklus: Handle erzeugen oder oeffnen, nur bei Bedarf sperren, nach der Nutzung entsperren, Flags oder Groesse bei Bedarf pruefen und das Handle erst freigeben, wenn keine Sperren mehr bestehen. Das Handle ist der Besitzer des Blocks; der zurueckgegebene Zeiger ist nur eine temporaere Sicht.

Verwendung im Programm

Diese Seiten kapseln den Windows-Global-Memory-Handle-Lebenszyklus: Handle erzeugen oder oeffnen, nur bei Bedarf sperren, nach der Nutzung entsperren, Flags oder Groesse bei Bedarf pruefen und das Handle erst freigeben, wenn keine Sperren mehr bestehen. Das Handle ist der Besitzer des Blocks; der zurueckgegebene Zeiger ist nur eine temporaere Sicht.

Fehlerfaelle

Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Behandeln Sie den Rueckgabewert nach dem Entsperren oder Freigeben nicht weiter als gueltig, und pruefen Sie Fehlerwerte vor dem Dereferenzieren. Der Sperrzaehler gehoert zum Vertrag; gehen Sie nicht von einem verdeckten Unlock aus.

Speicherfluss

Verwenden Sie die GLOBAL-Familie in der Reihenfolge erzeugen/oeffnen, nur bei Bedarf fuer einen Rohzeiger sperren, Groesse oder Flags bei Bedarf pruefen und dann in umgekehrter Reihenfolge entsperren und freigeben. Das Beispiel sollte einen vollstaendigen Lebenszyklus zeigen und nicht nur einen isolierten Einzelaufruf.

Fehlerhinweise

Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Verwenden Sie den Zeiger nach dem Entsperren oder Freigeben nicht weiter und pruefen Sie den Rueckgabewert vor dem Dereferenzieren.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Behandeln Sie den Rueckgabewert nach dem Entsperren oder Freigeben nicht weiter als gueltig, und pruefen Sie Fehlerwerte vor dem Dereferenzieren. Der Sperrzaehler gehoert zum Vertrag; gehen Sie nicht von einem verdeckten Unlock aus.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GLOBALUNLOCK - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GLOBALUNLOCK

Entsperrt einen zuvor gesperrten Global-Memory-Block.

Kategorie: Allgemeine Referenz

Syntax

ok& = GLOBALUNLOCK(hMem&)

Beschreibung

Entsperrt einen zuvor gesperrten Global-Memory-Block.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Diese Seiten kapseln den Windows-Global-Memory-Handle-Lebenszyklus: Handle erzeugen oder oeffnen, nur bei Bedarf sperren, nach der Nutzung entsperren, Flags oder Groesse bei Bedarf pruefen und das Handle erst freigeben, wenn keine Sperren mehr bestehen. Das Handle ist der Besitzer des Blocks; der zurueckgegebene Zeiger ist nur eine temporaere Sicht.

Verwendung im Programm

Diese Seiten kapseln den Windows-Global-Memory-Handle-Lebenszyklus: Handle erzeugen oder oeffnen, nur bei Bedarf sperren, nach der Nutzung entsperren, Flags oder Groesse bei Bedarf pruefen und das Handle erst freigeben, wenn keine Sperren mehr bestehen. Das Handle ist der Besitzer des Blocks; der zurueckgegebene Zeiger ist nur eine temporaere Sicht.

Fehlerfaelle

Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Behandeln Sie den Rueckgabewert nach dem Entsperren oder Freigeben nicht weiter als gueltig, und pruefen Sie Fehlerwerte vor dem Dereferenzieren. Der Sperrzaehler gehoert zum Vertrag; gehen Sie nicht von einem verdeckten Unlock aus.

Speicherfluss

Verwenden Sie die GLOBAL-Familie in der Reihenfolge erzeugen/oeffnen, nur bei Bedarf fuer einen Rohzeiger sperren, Groesse oder Flags bei Bedarf pruefen und dann in umgekehrter Reihenfolge entsperren und freigeben. Das Beispiel sollte einen vollstaendigen Lebenszyklus zeigen und nicht nur einen isolierten Einzelaufruf.

Fehlerhinweise

Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Verwenden Sie den Zeiger nach dem Entsperren oder Freigeben nicht weiter und pruefen Sie den Rueckgabewert vor dem Dereferenzieren.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. Ein gesperrter Block gibt eine Adresse frei, aber kein Besitzobjekt. Behandeln Sie den Rueckgabewert nach dem Entsperren oder Freigeben nicht weiter als gueltig, und pruefen Sie Fehlerwerte vor dem Dereferenzieren. Der Sperrzaehler gehoert zum Vertrag; gehen Sie nicht von einem verdeckten Unlock aus.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GOTO - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GOTO

&Uuml;bertragen Sie die Programmausf&uuml;hrung auf die durch a gekennzeichnete Anweisung

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GOTO { label | linenumber }
GOTO DWORD dwpointer

Beschreibung

Übertragen Sie die Programmausführung auf die durch a gekennzeichnete Anweisung

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GOTO bewirkt, dass der Programmfluss bedingungslos zu dem durch label oder linenumber identifizierten Code springt. Die Bezeichnung oder Zeilennummer muss lokal für die Sub , Function , Method oder Property sein, in der sich die GOTO-Anweisung befindet. GOTO unterscheidet sich von GOSUB und anderen ähnlichen Steueranweisungen darin, dass das Programm nach der Ausführung eines GOTO keine Erinnerung daran behält, wo es sich vor der Ausführung des Sprungs befand.

Beschriftungen und Zeilennummern sind privat. Sie können eine Beschriftung nicht außerhalb der aktuellen Prozedur GOTO aufrufen.

GOTO DWORD bewirkt, dass die Ausführung bedingungslos zur in dwpointer gespeicherten Adresse springt. dwpointer muss ein Doppelwort, eine lange Ganzzahl oder eine Zeigervariable sein, die die Adresse einer Beschriftung enthält, die lokal für die Prozedur ist, in der sich die GOTO DWORD-Anweisung befindet.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • CALL
  • CALL DWORD
  • DO/LOOP-Anweisungen � PBXB64-Compiler-Hilfe
  • EXIT � PBXB64-Compiler-Hilfe
  • FOR/NEXT-Anweisungen ? PBXB64-Compiler-Hilfe
  • FUNCTION/END FUNCTION-Anweisungen
  • GOSUB � PBXB64-Compiler-Hilfe
  • IF/END IF
  • METHOD/END METHOD-Anweisungen
  • PROPERTY / END PROPERTY
  • RETURN
  • SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe
  • SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe
  • WHILE/WEND-Anweisungen ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


GRAFIK (SCROLLTEXT) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK (SCROLLTEXT)

Ruft den Status der Grafik ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET SCROLLTEXT To ScrollVar&
ScrollVar& = GRAPHIC(SCROLLTEXT)

Beschreibung

Ruft den Status der Grafik ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC GET SCROLLTEXT ruft den Status des ScrollText-Modus ab und weist ihn der durch ScrollVar& angegebenen Variablen zu. Wenn der ScrollText-Modus aktiviert ist, wird der Wert true (ungleich Null) zugewiesen. Wenn es deaktiviert ist, wird stattdessen der Wert false (Null) zugewiesen. Der zurückgegebene Wert spiegelt den Status des Grafikziels wider, das derzeit an den Grafikstream angehängt ist.

Mit dem ScrollText-Modus können Sie steuern, wie PowerBASIC Text auf einem Grafikziel druckt, wenn es das Ende einer Seite erreicht. Da ein Grafikziel auf Ganzseitenbasis arbeitet, wird standardmäßig Text ignoriert, der über das Ende der Seite hinaus gedruckt wird. Dies kann programmgesteuert mit GRAPHIC SET SCROLLTEXT geändert werden.

Wenn der ScrollText-Modus aktiviert ist, wird das Scrollen einer Seite nur durch GRAFIKDRUCK ausgelöst. Wenn sich der POS (letzter referenzierter Punkt) in der unteren Zeile des Grafikziels befindet und eine GRAPHIC PRINT-Anweisung den POS von der Seite verschiebt, wird der gesamte Inhalt des Grafikziels um eine Zeile gescrollt und unten wird eine neue leere Zeile geöffnet.

PBXB64-Umsetzungshinweise

GRAFIK(SCROLLTEXT) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(SCROLLTEXT) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(COL)
  • GRAPHIC SET SCROLLTEXT
  • Hilfe zum PBXB64-Compiler


GRAFIK (STRETCHMODE) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK (STRETCHMODE)

Ruft den Standard-Bitmap-Streckmodus f&uuml;r das angeh&auml;ngte Objekt ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET STRETCHMODE TO ModeVar&
ModeVar& = GRAPHIC(STRETCHMODE)

Beschreibung

Ruft den Standard-Bitmap-Streckmodus für das angehängte Objekt ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In PowerBASIC gibt es mehrere Vorgänge, die das Strecken oder Komprimieren von Bildern auf Bitmaps umfassen, insbesondere GRAPHIC STRETCH . Da einzelne Pixel hinzugefügt oder entfernt werden müssen, besteht eine gute Chance, dass sich die Bildqualität verschlechtert. Wenn Sie jedoch die Art des Bildes durch die Definition eines StretchMode beschreiben, können Sie das Erscheinungsbild erheblich verbessern.

Der Standard-StretchMode wird für jeden DC individuell verwaltet. Sie können den Standardmodus mit dieser Anweisung abrufen oder mit GRAPHIC GET STRETCHMODE festlegen. Natürlich können Sie den Standard-StretchMode auch überschreiben, wenn Sie eine der betroffenen Anweisungen ausführen.

Die 4 Stretch-Modus-Equates sind in PowerBASIC vordefiniert.

Gleichsetzen

Beschreibung

%BLACKONWHITE

Dies ist der standardmäßige Streckungsmodus von Windows und eignet sich am besten für monochrome Bitmaps oder solche mit Farbblöcken. Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Schwarze Pixel bleiben auf Kosten weißer Pixel erhalten.

%WHITEONBLACK

Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Es behält weiße Pixel auf Kosten schwarzer Pixel bei.

%COLORONCOLOR

Löscht gelöschte Pixelzeilen, ohne zu versuchen, ihre Informationen beizubehalten.

%HALBTON

Dies bietet höchste Qualität für komplexe Farbbitmaps. Die durchschnittliche Farbe des Zielpixelblocks bleibt ungefähr die gleiche wie die des Quellpixelblocks.

PBXB64-Umsetzungshinweise

GRAFIK (STRETCHMODUS) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK (STRETCHMODUS) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHES BITMAP-LADEN
  • GRAFISCHE KOPIE
  • GRAFISCHES RENDER
  • GRAPHIC SET STRETCHMODE
  • GRAPHIC STRETCH
  • Hilfe zum PBXB64-Compiler


GRAFIK (ÜBERLAPPUNG) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK (ÜBERLAPPUNG)

Ruft den Status der Grafik ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET OVERLAP To OverlapVar&
OverlapVar& = GRAPHIC(OVERLAP)

Beschreibung

Ruft den Status der Grafik ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC GET OVERLAP ruft den Status des Überlappungsmodus ab und weist ihn der durch OverlapVar& angegebenen Variablen zu. Wenn der Überlappungsmodus aktiviert ist, wird der Wert wahr (ungleich Null) zugewiesen. Wenn es deaktiviert ist, wird stattdessen der Wert false (Null) zugewiesen. Der zurückgegebene Wert spiegelt den Status des Grafikziels wider, das derzeit an den Grafikstream angehängt ist.

Mit dem Überlappungsmodus steuern Sie, wie PowerBASIC Grafikoperationen behandelt, deren Definition eine RECT-Struktur beinhaltet. Windows-Grafikkonventionen betrachten die unteren und rechten Koordinaten eines RECT als exklusiv. Mit anderen Worten: Die Pixel am unteren und rechten Rand liegen unmittelbar außerhalb des Rechtecks. Sie werden nicht gezeichnet, sondern ignoriert. Zum Beispiel:

GRAFIKBOX (0,0) - (50,50)

In diesem Fall wird ein Kästchen von 0,0 bis 49,49 gezeichnet. Die letzten Pixel am unteren und rechten Rand werden einfach nicht gezeichnet. Wenn jedoch der Überlappungsmodus mit GRAPHIC SET OVERLAP aktiviert ist, wird das Feld von 0,0 bis 50,50 gezeichnet.

Der Überlappungsmodus wirkt sich auf Zeichenvorgänge mit GRAFISCHER MAßSTAB, GRAFISCHER KASTEN, GRAFISCHER ELLIPSE, GRAFISCHER LINIE, GRAFISCHER POLYLINIE usw. aus.

PBXB64-Umsetzungshinweise

GRAFIK (ÜBERLAPPUNG) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK (ÜBERLAPPUNG) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIKSATZ-ÜBERLAPPUNG
  • Hilfe zum PBXB64-Compiler


GRAFIK GET BITS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK GET BITS

Rufen Sie eine Kopie einer Bitmap ab und speichern Sie sie als ger&auml;teunabh&auml;ngige Bitmap in einem

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET BITS TO bitvar$

Beschreibung

Rufen Sie eine Kopie einer Bitmap ab und speichern Sie sie als geräteunabhängige Bitmap in einem

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Anweisung ruft eine Kopie der gesamten Bitmap für das ausgewählte Grafikziel ab und weist sie der durch bitvar$ angegebenen dynamischen Zeichenfolgenvariablen zu. Dadurch können Sie sehr schnell viele Änderungen an der Bitmap vornehmen, insbesondere Vorgänge, die möglicherweise nicht direkt vom GRAPHIC-Code unterstützt werden. Beispielsweise könnten Sie alle roten Pixel in einer Bitmap in blaue ändern. Sobald Ihre Vorgänge abgeschlossen sind, wird die Bitmap mit GRAPHIC SET BITS ersetzt.

Die Bitvar$-Zeichenfolge enthält eine Reihe von Vier-Byte-Werten, von denen jeder eine lange Ganzzahl darstellt. Sie können die Vier-Byte-String-Abschnitte mit der CVL-Funktion in numerische Werte konvertieren und mit MKL$ einen numerischen Wert in eine Vier-Byte-String konvertieren. Der erste Vier-Byte-Wert gibt die Breite der Bitmap in Pixel an, der zweite Wert gibt die Höhe an. Darauf folgt ein Vier-Byte-Wert für jedes Pixel in der Bitmap, der die Farbe dieses Pixels darstellt. Eine 20 x 20 Bitmap hätte also 400 Pixel und erfordert 1600 Bytes (400 * 4), plus 4 Bytes für die Breite und 4 Bytes für die Höhe, also insgesamt 1608 Bytes.

Der erste Vier-Byte-Pixelwert in der Zeichenfolge stellt die obere linke Ecke des Bildes dar, der zweite stellt das zweite Pixel der ersten Zeile dar und so weiter. Nach dem letzten Pixel der ersten Zeile folgt das erste Pixel der zweiten Zeile usw.

Wenn die Ausführungsgeschwindigkeit am wichtigsten ist, lässt sich die Zeichenfolge wahrscheinlich am effizientesten mit Zeigervariablen manipulieren.

Einige Windows-API-Funktionen, insbesondere solche, die auf geräteunabhängige Bitmaps (DIB) verweisen, erfordern, dass Farben in umgekehrter Reihenfolge der normalen RGB-Reihenfolge angegeben werden (Blau-Grün-Rot statt Rot-Grün-Blau). Um die Leistung zu maximieren, verwendet GRAPHIC GET BITS auch das BGR-Format. Sie können die Funktion BGR() verwenden, um einen RGB-Wert in sein BGR-Äquivalent zu übersetzen.

PBXB64-Umsetzungshinweise

GRAFIK ERHALTEN BITS gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK ERHALTEN BITS ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • Built In RGB Color Equates
  • BGR
  • CVBYT
  • GRAFIK-SET-BITS
  • MKBYT$
  • RGB
  • Hilfe zum PBXB64-Compiler


GRAFIK SPEICHERN - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK SPEICHERN - Hilfe zum PBXB64-Compiler

Speichern Sie ein Bild in einer Bitmap-Datei (.BMP).

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SAVE BmpName$

Beschreibung

Speichern Sie ein Bild in einer Bitmap-Datei (.BMP).

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das ausgewählte Grafikziel (eine grafische Bitmap, ein Steuerelement oder ein Fenster usw.) wird unter dem durch BmpName$ angegebenen Dateinamen in einer Festplattendatei gespeichert. Die Bitmap wird immer in einem 24-Bit-Format mit einer einzigen Ebene gespeichert, um die maximale (Echtfarben-)Auflösung zu ermöglichen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFIK SPEICHERN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK SPEICHERN ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • STEUERUNG GRAFIK HINZUFÜGEN
  • GRAFISCHER ANHANG
  • GRAFISCHES BITMAP-LADEN
  • GRAFISCHE BITMAP NEU
  • Hilfe zum PBXB64-Compiler


GRAFIK(INSTAT) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK(INSTAT)

Bestimmt, ob ein Tastaturzeichen bereit ist.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC INSTAT TO NumericVar
InstatVar& = GRAPHIC(INSTAT)

Beschreibung

Bestimmt, ob ein Tastaturzeichen bereit ist.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Integralvariable empfängt den Tastaturpufferstatus für das ausgewählte Grafikziel. Der zugewiesene Wert ist TRUE (ungleich Null), wenn ein Tastaturzeichen zum Abrufen bereit ist, oder FALSE (Null), wenn nicht.

GRAPHIC INSTAT entfernt das Zeichen nicht aus dem Puffer, sodass eine wiederholte Ausführung weiterhin TRUE zurückgibt, bis das Zeichen mit GRAPHIC INKEY$ , GRAPHIC INPUT usw. gelesen wird.

PBXB64-Umsetzungshinweise

GRAFIK(INSTAT) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(INSTAT) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC$(INKEY$)
  • GRAFISCHE INPUT
  • GRAFISCHE INPUT FLUSH
  • GRAFISCHE ZEILENEINGABE
  • GRAPHIC$(WAITKEY$)
  • Hilfe zum PBXB64-Compiler


GRAFIK(LINIEN) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK(LINIEN)

Ruft die Anzahl ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET LINES TO linecount&
linecount& = GRAPHIC(LINES)

Beschreibung

Ruft die Anzahl ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC GET LINES ruft die Anzahl der Textzeilen ab, die unter Berücksichtigung der aktuell ausgewählten Schriftart auf das Grafikziel passen. Dieser Wert wird linecount& zugewiesen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFIK(LINIEN) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(LINIEN) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAPHIC(COL)
  • GRAPHIC(Chr.Size.X)
  • GRAFIKDRUCK
  • GRAFIK-SET-SCHRIFTART
  • GRAPHIC(TEXT.SIZE.X...)
  • Hilfe zum PBXB64-Compiler


GRAFIK(PIXEL...) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK(PIXEL...)

Rufen Sie die Farbe ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET PIXEL [STEP] ( x! , y! ) To PixelVar&
PixelVar& = GRAPHIC(PIXEL [STEP], x! , y! )

Beschreibung

Rufen Sie die Farbe ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Koordinatenpunkte x! , y! werden in Seiteneinheiten angegeben.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFIK(PIXEL...) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(PIXEL...) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAFIKFARBE
  • GRAFISCHE MAßSTAB
  • GRAFIK-SET-PIXEL
  • Hilfe zum PBXB64-Compiler


GRAFIK(POS.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK(POS.X)

Rufen Sie den POS (letzter referenzierter Punkt) anhand einer Grafik ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET POS To XVar! , YVar!
XVar! = GRAPHIC(POS.X)
YVar! = GRAPHIC(POS.Y)

Beschreibung

Rufen Sie den POS (letzter referenzierter Punkt) anhand einer Grafik ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Koordinatenpunkte XVar! , YVar! werden in denselben Begriffen (Pixeln oder Dialogeinheiten) wie der übergeordnete Dialog (oder Weltkoordinaten, wenn diese mit GRAPHIC SCALE ausgewählt wurden) angegeben.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFIK(POS.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(POS.X) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAPHIC(COL)
  • GRAFISCHE MAßSTAB
  • GRAPHIC SET POS
  • Hilfe zum PBXB64-Compiler


GRAFIK-SET-ANSICHT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK-SET-ANSICHT

&Auml;ndert die Position des Ansichtsfensters auf a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET VIEW XPos , YPos

Beschreibung

Ändert die Position des Ansichtsfensters auf a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Verschiebt die Position des Ansichtsfensters an die neue Position auf einem virtuellen Grafikziel. Die Position wird in Seiteneinheiten angegeben. Wenn kein Grafikziel angehängt oder kein virtuelles Fenster erstellt wurde, wird keine Operation ausgeführt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFISCHE SET-ANSICHT gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE SET-ANSICHT ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(View.X)
  • GRAPHIC SET AUTOSIZE
  • GRAPHIC SET VIRTUAL
  • Hilfe zum PBXB64-Compiler


GRAFIK-SET-BESCHRIFTUNG - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK-SET-BESCHRIFTUNG

&Auml;ndern Sie die Beschriftung auf a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET CAPTION CaptionExpr$

Beschreibung

Ändern Sie die Beschriftung auf a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn das ausgewählte Grafikziel über eine Titelleiste verfügt, wird die Beschriftung in den Inhalt des Zeichenfolgenausdrucks geändert.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

Bildunterschrift für das Grafikset gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

Bildunterschrift für das Grafikset ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIKFENSTER - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


GRAFIK-SET-BITS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK-SET-BITS

Ersetzen Sie eine Kopie einer Bitmap, die als ger&auml;teunabh&auml;ngige Bitmap abgerufen wurde.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET BITS bitexpr$

Beschreibung

Ersetzen Sie eine Kopie einer Bitmap, die als geräteunabhängige Bitmap abgerufen wurde.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Anweisung ersetzt eine Bitmap, die ursprünglich mit der GRAPHIC GET BITS-Anweisung abgerufen wurde. Die Bitmap wird dem ausgewählten Grafikziel aus dem durch bitexpr$ angegebenen Zeichenfolgenausdruck zugewiesen. Dadurch können Sie sehr schnell viele Änderungen an der Bitmap vornehmen, insbesondere Vorgänge, die möglicherweise nicht direkt von PowerBASIC unterstützt werden. Eine typische Verwendung könnte beispielsweise darin bestehen, alle roten Pixel in einer Bitmap in blaue zu ändern.

Die Zeichenfolge bitexpr$ enthält eine Reihe von Vier-Byte-Werten, von denen jeder eine lange Ganzzahl darstellt. Sie können die Vier-Byte-String-Abschnitte mit der CVL-Funktion in numerische Werte konvertieren und mit MKL$ einen numerischen Wert in eine Vier-Byte-String konvertieren. Der erste Vier-Byte-Wert gibt die Breite der Bitmap in Pixel an, der zweite Wert gibt die Höhe an. Darauf folgt ein Vier-Byte-Wert für jedes Pixel in der Bitmap, der die Farbe dieses Pixels darstellt. Eine 20 x 20 Bitmap hätte also 400 Pixel und erfordert 1600 Bytes (400 * 4), plus 4 Bytes für die Breite und 4 Bytes für die Höhe, also insgesamt 1608 Bytes.

Der erste Vier-Byte-Pixelwert in der Zeichenfolge stellt die obere linke Ecke des Bildes dar, der zweite stellt das zweite Pixel der ersten Zeile dar und so weiter. Nach dem letzten Pixel der ersten Zeile folgt das erste Pixel der zweiten Zeile usw.

Wenn die Ausführungsgeschwindigkeit am wichtigsten ist, lässt sich die Zeichenfolge wahrscheinlich am effizientesten mit Zeigervariablen manipulieren.

Einige Windows-API-Funktionen, insbesondere solche, die auf geräteunabhängige Bitmaps (DIB) verweisen, erfordern, dass Farben in umgekehrter Reihenfolge der normalen RGB-Reihenfolge angegeben werden (Blau-Grün-Rot statt Rot-Grün-Blau). Um die Leistung zu maximieren, verwendet GRAPHIC SET BITS auch das BGR-Format. Sie können die BGR-Funktion verwenden, um einen RGB-Wert in sein BGR-Äquivalent zu übersetzen.

PBXB64-Umsetzungshinweise

GRAFIK-SET-BITS gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK-SET-BITS ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • Built In RGB Color Equates
  • BGR
  • CVBYT
  • GRAFIK GET BITS
  • MKBYT$
  • RGB
  • Hilfe zum PBXB64-Compiler


GRAFIK-SET-CLIP - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK-SET-CLIP

Legt R&auml;nder um die Au&szlig;enkanten der Grafik fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET CLIP LeftMargin! , TopMargin! , RightMargin! , BottomMargin!

Beschreibung

Legt Ränder um die Außenkanten der Grafik fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Anweisung legt Ränder auf einer oder allen Seiten des Grafikziels fest. Alle nachfolgenden GRAFIK-Operationen werden an diesen Grenzen „beschnitten“, sodass in diesen geschützten Bereichen kein zusätzlicher Text oder Grafiken angezeigt werden. Die Ränder werden jedoch nicht gelöscht, sodass alles, was bereits in diesen Bereichen geschrieben wurde, unverändert bleibt.

Jeder der 4 Parameter wird in den aktuell gültigen PAGE UNITS angegeben. Da diese Anweisung jedoch den für Sie verfügbaren Zielraum ändert, werden die Seiteneinheiten sofort auf Pixel gesetzt. Die obere linke Ecke des Clip-Bereichs wird nun als Punkt (0,0) angesprochen, während die rechte und untere Grenze um die Größe der Ränder reduziert werden. Wenn Sie für diesen überarbeiteten Clipbereich lieber skalierte Seiteneinheiten verwenden möchten, müssen Sie eine neue GRAFIKSKALIERUNG ausführen.

GRAPHIC SET CLIP ist besonders nützlich für die Anzeige von Text, wo das Einschließen von „Leerzeichen“ das Erscheinungsbild deutlich verbessert.

Sie können einen Clip-Bereich deaktivieren, indem Sie GRAPHIC SET CLIP 0,0,0,0 ausführen.

PBXB64-Umsetzungshinweise

GRAFIK-SET-CLIP gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK-SET-CLIP ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(Clip.X)
  • GRAFISCHE MAßSTAB
  • Hilfe zum PBXB64-Compiler


GRAFIK-SET-FOKUS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK-SET-FOKUS

Bringen Sie das Auserw&auml;hlte mit

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET FOCUS

Beschreibung

Bringen Sie das Auserwählte mit

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Zunächst muss mit GRAPHIC ATTACH ein Grafikfenster ausgewählt werden. Die GRAPHIC SET FOCUS-Anweisung bringt das Grafikfenster in den Vordergrund und lenkt den Fokus darauf. Dies ist besonders nützlich, wenn ein anderes Fenster das Grafikfenster überlappen könnte.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFIK SET FOKUS gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK SET FOKUS ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAFIKFENSTER - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


GRAFIK-SET-MIX - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK-SET-MIX

Legen Sie den Farbmischungsmodus f&uuml;r die ausgew&auml;hlten fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET MIX mode&

Beschreibung

Legen Sie den Farbmischungsmodus für die ausgewählten fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Es stehen 16 Mischmodi zur Verfügung, mit denen Sie die Zeichenfarbe mit der Farbe mischen können, die bereits am Zeichenort vorhanden ist. Die Mix-Modus-Equates sind in PowerBASIC vordefiniert.

%mix_Blackness

Pixel ist immer 0 (schwarz).

%mix_NotMergeSrc

Pixel ist die Umkehrung der MergeSrc-Farbe.

%mix_MaskNotSrc

Pixel ist eine Kombination der Farben, die sowohl dem Pixel als auch der Umkehrung der Quelle gemeinsam sind.

%mix_NotCopySrc

Pixel ist die Umkehrung der Stiftfarbe.

%mix_MaskSrcNot

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch der Umkehrung des Pixels gemeinsam sind.

%mix_Not

Pixel ist die Umkehrung der Pixelfarbe.

%mix_XorSrc

Pixel ist eine Kombination der Farben in der Quelle und im Pixel, jedoch nicht in beiden.

%mix_NotMaskSrc

Pixel ist die Umkehrung der MaskSrc-Farbe.

%mix_MaskSrc

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch dem Pixel gemeinsam sind.

%mix_NotXorSrc

Pixel ist die Umkehrung der XorSrc-Farbe.

%mix_Nop

Pixel bleibt unverändert.

%mix_MergeNotSrc

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%mix_CopySrc

Pixel ist die Quellfarbe (Standard).

%mix_MergeSrcNot

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%mix_MergeSrc

Pixel ist eine Kombination aus der Quellfarbe und der Pixelfarbe.

%mix_Whiteness

Pixel ist immer 1 (weiß).

PBXB64-Umsetzungshinweise

GRAFISCHER SET-MIX gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHER SET-MIX ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAPHIC(MIX)
  • Hilfe zum PBXB64-Compiler


GRAFIK-SET-PIXEL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK-SET-PIXEL

Zeichne eine Single

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET PIXEL [STEP] ( x! , y! ) [, rgbColor& ]

Beschreibung

Zeichne eine Single

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Koordinatenpunkt wird in Seiteneinheiten angegeben. Wenn die STEP-Option enthalten ist, wird das x! und du! Koordinaten beziehen sich auf den letzten referenzierten Punkt (POS).

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFIK-SET-PIXEL gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK-SET-PIXEL ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • Built In RGB Color Equates
  • GRAFIKFARBE
  • GRAFIK(PIXEL...)
  • GRAFIK-SET-BITS
  • Hilfe zum PBXB64-Compiler


GRAFIK-SET-SCHRIFTART - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK-SET-SCHRIFTART

W&auml;hlen Sie eine Schriftart zur Verwendung in der Grafik aus

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET FONT fonthndl&

Beschreibung

Wählen Sie eine Schriftart zur Verwendung in der Grafik aus

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die durch fonthndl& angegebene Schriftart wird für die Verwendung durch alle folgenden Anweisungen GRAPHIC PRINT , GRAPHIC INPUT und GRAPHIC LINE INPUT ausgewählt. Dies ist die effizienteste Möglichkeit, Schriftarten und deren allgemeines Erscheinungsbild (Größe, Stil usw.) zu ändern. Wenn Sie für „fonthndl&“ den Wert Null angeben, wird die Schriftart wieder auf die ursprüngliche, von PowerBASIC gewählte Standardschriftart zurückgesetzt.

Sie können nahezu beliebig viele Schriftarten und Attribute vordefinieren, indem Sie für jede Schriftart FONT NEW-Anweisungen ausführen. Dadurch sind sie sofort einsatzbereit, wenn sie mit GRAPHIC SET FONT ausgewählt werden.

Wenn keine bestimmte Schriftart ausgewählt ist, ist die Standardschriftart MS Sans Serif, 8 Punkt, ohne Stilattribute.

Einschränkungen

GRAPHIC SET FONT ersetzt GRAPHIC FONT. Beachten Sie, dass die GRAPHIC FONT-Anweisung nicht mehr unterstützt wird. Aktualisieren Sie daher Ihren Code, um die neue Syntax zu verwenden.

PBXB64-Umsetzungshinweise

GRAFIK-SET-SCHRIFTART gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK-SET-SCHRIFTART ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • SCHRIFTART NEU
  • GRAFISCHER ANHANG
  • GRAPHIC(COL)
  • GRAPHIC(Cell.Size.X)
  • GRAPHIC(Chr.Size.X)
  • GRAFISCHE INPUT
  • GRAFISCHE ZEILENEINGABE
  • GRAFIKDRUCK
  • GRAPHIC(TEXT.SIZE.X...)
  • Hilfe zum PBXB64-Compiler


GRAFIK-SPLIT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIK-SPLIT

Teilt eine Zeichenfolge zur Anzeige in einer Grafik in zwei Teile

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SPLIT [WORD] MainStr , Part1Len To Part1Var , Part2Var

Beschreibung

Teilt eine Zeichenfolge zur Anzeige in einer Grafik in zwei Teile

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Im Allgemeinen können Sie mit GRAPHIC SPLIT bestimmen, wie viel Text in eine Zeile (oder einen Zeilenabschnitt) passt, damit Sie das Ende nicht überschreiben. Dies ist bei Schriftarten mit variabler Breite von entscheidender Bedeutung. Da diese Textzeichen unterschiedlich breit sind, können Sie sich nicht auf eine einfache Zeichenzählung verlassen.

GRAPHIC SPLIT trennt den MainStr-String-Ausdruck in zwei Teile, die dann den beiden durch Part1Var und Part2Var angegebenen String-Variablen zugewiesen werden. Der numerische Ausdruck Part1Len gibt die maximale Breite des Druckfelds unter Verwendung von Seiteneinheiten (Pixel, Dialogeinheiten, skalierte Einheiten) an. Nach Abschluss des GRAPHIC SPLIT enthält die Part1Var diejenigen Zeichen, die sicher im Druckfeld angezeigt werden können. Die Part2Var enthält die restlichen Zeichen, die möglicherweise in den folgenden Zeilen angezeigt werden.

Da dieser Vorgang einen „Zeilenumbruch“ erzeugt, der im Originaltext nicht vorgesehen ist, müssen Sie möglicherweise die Ergebnisse ändern, um das beste Erscheinungsbild zu erzielen. Beispielsweise ist es normalerweise am besten, alle führenden Leerzeichen aus Part2Var zu entfernen, bevor es gedruckt wird.

Wenn die WORD-Option enthalten ist, garantiert PowerBASIC, dass Part1Var nicht mit einem Teilwort endet. Dies erfordert möglicherweise, dass Part1Len auf einen kleineren Wert angepasst wird. In diesem Fall würden Part2Var diese Zeichen zum Ausgleich zugewiesen.

PBXB64-Umsetzungshinweise

GRAFISCHE SPLIT gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE SPLIT ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(COL)
  • GRAFIKDRUCK
  • GRAPHIC SET SCROLLTEXT
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • SPLIT
  • Hilfe zum PBXB64-Compiler


GRAFIKDRUCK - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIKDRUCK

Geben Sie Text an die ausgew&auml;hlte Stelle aus

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC PRINT [EXPRLIST] [POS( n )] [SPC( n )] [TAB( n )] [,] [;]...

Beschreibung

Geben Sie Text an die ausgewählte Stelle aus

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Bevor grafische Vorgänge ausgeführt werden, sollten Sie sicherstellen, dass ein Grafikziel ausgewählt wurde, entweder standardmäßig oder mit GRAPHIC ATTACH . Die Textfarbe und die Texthintergrundfarbe werden mit GRAPHIC COLOR eingestellt. Text, der über die Grenzen des Grafikziels hinausgeht, wird abgeschnitten. Mit GRAPHIC TEXT SIZE kann die Größe des zu druckenden Textes vorab bestimmt und mit GRAPHIC SPLIT feldgerecht formatiert werden. Das Zeichnen beginnt am letzten Punkt, auf den durch eine andere GRAPHIC-Prozedur verwiesen wird, oder an dem durch GRAPHIC SET POS angegebenen Punkt. Die obere linke Ecke des Textes wird am POS positioniert.

GRAPHIC PRINT besteht aus den folgenden Teilen, die in beliebiger Reihenfolge und Menge in einer einzigen Anweisung vorkommen können:

EXPRLISTE

Numerische und/oder Zeichenfolgenausdrücke, die in das Grafikziel geschrieben werden sollen. Ein Semikolon kann als Trennzeichen zwischen mehreren Ausdrücken in derselben Anweisung verwendet werden. Nach Abschluss wird der POS an den linken Rand der nächsten Zeile verschoben.

POS(n)

Eine optionale Funktion, die verwendet wird, um den POS auf die horizontale Seiteneinheit (Pixel, Dialogeinheit, skalierte Einheit usw.) festzulegen, die durch das numerische Argument angegeben wird. Mehrere Verwendungen der POS-Funktion sind in einer einzigen Anweisung zulässig. Die vertikale Position des POS wird nie verändert.

SPC( n )

Eine optionale Funktion zum Einfügen von n Leerzeichen in die gedruckte Ausgabe. Die mehrfache Verwendung von SPC in einer einzigen Anweisung ist zulässig. Werte von n kleiner als 1 werden ignoriert.

TAB( n )

Eine optionale Funktion, die verwendet wird, um mit der Tabulatortaste zur n-ten Spalte zu wechseln, bevor der nächste Ausdruck gedruckt wird. Die mehrfache Verwendung von TAB in einer einzigen Anweisung ist zulässig. Da TAB auf Spalten und nicht auf Pixel verweist, kann es bei Verwendung mit einer Schriftart mit variabler Breite zu unvorhersehbaren Ergebnissen führen. Es wird am besten mit einer Schriftart mit fester Breite verwendet.

Sonderzeichen, die die Position des nächsten gedruckten Textelements bestimmen. Ein Semikolon (;) bedeutet, dass das nächste Textelement sofort gedruckt wird; Ein Komma (,) bedeutet, dass das nächste Textelement am Anfang der nächsten Druckzone gedruckt wird. Druckzonen beginnen alle 14 Spalten.

Wenn das letzte Argument ein Semikolon oder Komma ist, wird die Position an der aktuellen Position beibehalten und nicht standardmäßig an den Anfang der nächsten Zeile verschoben. Zum Beispiel:

GRAFIKDRUCK „Hallo“;

GRAFIKDRUCK „Welt!“;

...erzeugt das zusammenhängende Ergebnis „Hallo Welt!“

Wenn Sie alle Argumente weglassen, verschiebt GRAPHIC PRINT die Position einfach an den linken Rand der nächsten Zeile. Steuercodes wie Wagenrücklauf, Zeilenvorschub und Rücktaste werden nicht interpretiert. Sie werden als Symbole in der aktuell ausgewählten Schriftart angezeigt.

USING$ ist eine separate Funktion, die in die ExprList aufgenommen werden kann. Weitere Informationen finden Sie in der Funktion USING$().

Es ist nicht möglich, einen benutzerdefinierten Typ (UDT), eine Variante, eine Objektvariable oder ein ganzes Array zu drucken. Einzelne Elementwerte müssen mit der entsprechenden Funktion extrahiert werden, bevor sie angezeigt werden können.

PBXB64-Umsetzungshinweise

GRAFIKDRUCK gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIKDRUCK ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAPHIC(COL)
  • GRAPHIC(Chr.Size.X)
  • GRAFIK-SET-SCHRIFTART
  • GRAFIK(POS.X)
  • GRAPHIC SET POS
  • GRAPHIC SET SCROLLTEXT
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • GRAFIK-SPLIT
  • GRAPHIC(TEXT.SIZE.X...)
  • USING$
  • Hilfe zum PBXB64-Compiler


Grafiken - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Grafiken

Diese Version von PowerBASIC bietet ein hervorragendes Grafikpaket f&uuml;r fast jeden Programmierbedarf. Es ist schnell. Es ist vollst&auml;ndig. Und es k&uuml;mmert sich automatisch um all diese komplizierten Windows-Details f&uuml;r Sie!

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Version von PowerBASIC bietet ein hervorragendes Grafikpaket für fast jeden Programmierbedarf. Es ist schnell. Es ist vollständig. Und es kümmert sich automatisch um all diese komplizierten Windows-Details für Sie!

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Erstens ist es gut zu wissen, dass Grafiken in PowerBASIC persistent sind. Erstelle es einmal... und vergiss es. Sie müssen sich nie wieder Gedanken über ein Neuzeichnen machen, wenn Ihr Fenster minimiert oder vorübergehend abgedeckt ist. PowerBASIC kümmert sich um alles. Automatisch!

Wie wäre es also mit einem kurzen Überblick? Was können Sie tun? Wie wäre es zunächst mit einem ausgefallenen Text? Jede Schriftart. Jede Größe. Jede Farbe. Deutlich. Kursiv. Unterstreichen und Durchstreichen. Mischen Sie beliebige Kombinationen von Schriftarten in einem einzigen Fenster. Drucken Sie fast alles, fast überall. Fügen Sie dann Bitmaps hinzu. Dehnen Sie sie oder verdichten Sie sie. Kopieren Sie sie oder ändern Sie sie. Kreise, Ovale, Linien und Kästchen. Dicke Linien, dünne Linien, Ellipsen, abgerundete Rechtecke. Ausgefüllte Formulare oder leer. Farben hin oder her. Sie erstellen ein benutzerdefiniertes Skalierungssystem – sogar mit gebrochenen Gleitkommakoordinaten!

Also, fangen wir an. Sie sollten wissen, dass fast jeder grafische Funktionsname mit dem Wort GRAPHIC beginnt. Sie finden sie alle zusammen in der Hilfedatei oder im Buch.

Schritt eins: Sie benötigen eine Leinwand. Ein Ort, um diese Kunstwerke zu schaffen. Erstellen Sie also ein GRAFIKFENSTER. Oder zwei. Oder zehn. Sie sind sofort sichtbar und geben Ihnen schnelles Feedback.

Beschreibung

Grafiken ist eine Uebersichtsseite fuer verwandte GUI- und Grafikbefehle. Sie fasst die Familie zusammen und verweist auf die konkreten Befehlsseiten, auf denen die getestete Syntax und das Laufzeitverhalten dokumentiert sind.

Uebersicht und Einstieg

Grafiken ist eine Uebersichtsseite fuer verwandte GUI- und Grafikbefehle. Verwenden Sie diese Seite als Orientierung, waehrend die konkrete Syntax und die getesteten Details auf den einzelnen Befehlsseiten dokumentiert sind.

Typischer Aufbau

Ein vollstaendiges GUI- oder Grafikprogramm erzeugt zuerst Dialog, Grafikfenster oder Druckkontext, fuegt danach Controls oder Zeichenoperationen hinzu, fragt Zustand ab und gibt Ressourcen am Ende geordnet frei. Diese Reihenfolge macht Fehler bei Handles, IDs und Koordinatensystemen leichter nachvollziehbar.

Verlinkte Befehlsgruppen

  • DIALOG NEW und verwandte DIALOG-Befehle fuer Fenster und Dialogzustand.
  • CONTROL ADD und verwandte CONTROL-Befehle fuer Steuerelemente.
  • GRAPHIC WINDOW und verwandte GRAPHIC-Befehle fuer Zeichenausgabe.
  • XPRINT ATTACH und verwandte XPRINT-Befehle fuer Druckausgabe.


GRAFIKFARBE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIKFARBE

Legt die Vordergrund- und Hintergrundfarbe fest.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC COLOR foreground& [, background& ]

Beschreibung

Legt die Vordergrund- und Hintergrundfarbe fest.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn einer der Parameter -1 ist, wird die Standard-Vorder-/Hintergrundfarbe verwendet. Wenn der Hintergrundparameter -2 ist, wird der Hintergrund nicht gemalt, sodass der dahinter liegende Inhalt sichtbar wird. Wenn einer der Parameter -3 ist, wird die vorhandene Farbe nicht geändert. Andernfalls wird die angegebene RGB-Farbe verwendet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFISCHE FARBE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE FARBE ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • Built In RGB Color Equates
  • GRAFISCHER ANHANG
  • GRAFIKDRUCK
  • GRAFIK-SET-SCHRIFTART
  • Hilfe zum PBXB64-Compiler


GRAFIKFELD - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIKFELD

Zeichnen Sie im ausgew&auml;hlten Bereich ein Feld mit quadratischen oder abgerundeten Ecken

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC BOX ( x1! , y1! ) - ( x2! , y2! ) [, [ corner& ] [ , [ rgbColor& ] [ ,
[ fillcolor& ] [ , [ fillstyle& ]]]]]

Beschreibung

Zeichnen Sie im ausgewählten Bereich ein Feld mit quadratischen oder abgerundeten Ecken

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Koordinaten werden in Seiteneinheiten angegeben. Die Linienbreite kann mit GRAPHIC WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit GRAPHIC STYLE festgelegt werden. Aufgrund der Art einer Box verwendet GRAPHIC BOX weder den letzten referenzierten Punkt (POS) noch aktualisiert er ihn. Windows-Grafikkonventionen betrachten die unteren und rechten Koordinaten einer BOX als exklusiv. Die Pixel am unteren und rechten Rand werden nicht gezeichnet, es sei denn, der Überlappungsmodus ist aktiviert. Weitere Informationen finden Sie unter GRAFIKSATZ-ÜBERLAPPUNG.

x1! , y1!

Die obere linke Ecke der Box.

x2! , y2!

Die untere rechte Ecke der Box.

Ecke&

Der Prozentsatz der Rundheit der Ecken im Bereich von 0 bis 100. Ein Wert von Null erzeugt quadratische Ecken, während 100 einen Kreis/ein Oval erzeugt. Für ein angenehmes, rundes Erscheinungsbild ist ein Wert von 20 am gebräuchlichsten. Wenn Corner& weggelassen wird, ist der Standardwert 0, wodurch ein Rechteck mit quadratischen Ecken erstellt wird.

rgbColor&

Optionale RGB-Farbe des Boxrandes. Wenn es weggelassen wird (oder -1), wird als Kantenfarbe standardmäßig die aktuelle Vordergrundfarbe für das ausgewählte Grafikziel verwendet.

Füllfarbe&

Optionale RGB-Farbe des Boxinneren. Wenn fillcolor& weggelassen wird (oder -2), wird das Innere der Box nicht ausgefüllt, sodass der Hintergrund durchscheinen kann. Wenn fillcolor& -1 ist, wird der Innenraum mit der gleichen Farbe wie der Rand bemalt. Andernfalls gibt fillcolor& die zu verwendende RGB-Farbe an.

Füllstil&

Optionaler Füllstil (Muster), der verwendet werden soll. Wenn fillstyle& weggelassen wird, ist der Standardfüllstil „solid“ (0). Wenn ein Schraffurmuster ausgewählt wird (1 bis 6), wird die Vordergrundfarbe durch die Füllfarbe& angegeben, während der Hintergrund durch die Standardhintergrundfarbe angegeben wird. Der optionale Füllstil& kann sein:

Fest (Standard)

Horizontale Linien

Vertikale Linien

Nach oben gerichtete diagonale Linien

Abwärts gerichtete diagonale Linien

Gekreuzte Linien

Diagonal gekreuzte Linien

PBXB64-Umsetzungshinweise

GRAFIKBOX gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIKBOX ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • Built In RGB Color Equates
  • GRAFISCHER ANHANG
  • GRAFIKFARBE
  • GRAFISCHE ZEILE
  • GRAFIKSATZ-ÜBERLAPPUNG
  • GRAFISCHER STIL
  • GRAFISCHE BREITE
  • Hilfe zum PBXB64-Compiler


GRAFIKFENSTER - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIKFENSTER - Hilfe zum PBXB64-Compiler

Erstellt ein neues eigenst&auml;ndiges Grafikfenster.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC WINDOW NEW Caption$ , x& , y& , n Width& , n Height& [, hFont ] TO hWinVar [,HIDE|NORMALIZE]
GRAPHIC WINDOW TEXT Caption$ , x& , y& , n Rows& , n Columns& [, hFont ] TO hWinVar [,HIDE|NORMALIZE]

Beschreibung

Erstellt ein neues eigenständiges Grafikfenster.

Die klassische direkte GRAPHIC WINDOW-Form wird als NEW akzeptiert, wenn kein Erzeugungsschluesselwort angegeben ist, und die TEXT-Form bestimmt die Groessse des Clientbereichs aus Zeilen und Spalten mit der Anfangsschriftart.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Grafikfenster ist ein eigenständiges Fenster, das zur Anzeige fast aller Arten von Text und Grafiken verwendet wird. Nachdem mit dieser Anweisung ein Grafikfenster erstellt wurde, wird es normalerweise mit GRAPHIC ATTACH als ausgewähltes Grafikziel ausgewählt. Wenn zum Zeitpunkt der Erstellung jedoch kein ausgewähltes Grafikziel vorhanden ist, wird das neue Grafikfenster automatisch angehängt und ausgewählt. Anschließend können Sie Texte, Linien, Kreise und andere Formen mit verschiedenen Anweisungen zeichnen.

Mit GRAFIKFENSTER END kann das ausgewählte Grafikfenster jederzeit geschlossen und zerstört werden. Andernfalls wird das Fenster bei Programmende automatisch zerstört.

Alle grafischen Anzeigen von PowerBASIC sind dauerhaft – sie werden automatisch für Sie neu gezeichnet, nachdem sie minimiert oder vorübergehend von anderen Fenstern verdeckt werden.

Die Option TEXT wird verwendet, um ein Fenster zu erstellen, das stärker auf die Anzeige von Text ausgerichtet ist. Die Größe des Fensters wird in Zeilen und Spalten (und nicht in Pixeln) angegeben, basierend auf der Größe der Anfangsschriftart – der Standardschriftart (MS Sans Serif, 8 Punkt) oder der optionalen Anfangsschriftart, die durch den Parameter „Font“ angegeben wird. Die Darstellungsmöglichkeiten von Grafiken werden dadurch nicht eingeschränkt, da alle sehr grafischen Funktionen weiterhin zur Verfügung stehen. Es macht es einfach einfacher, ein Fenster in der gewünschten Größe zu erstellen. Diese Option eignet sich am besten für Schriftarten, die für jedes Zeichen eine feste Breite haben (Courier, Lucida usw.).

Der Parameter Caption$ enthält den Text, der in der Titel- oder Titelleiste des Grafikfensters angezeigt werden soll. Wenn caption$ leer ist (Länge Null), wird das Fenster ohne Titelleiste angezeigt, sodass das Erscheinungsbild anders ist und das Fenster nicht vom Benutzer gezogen werden kann.

Die Parameter x& und y& geben die Position des Fensters in Pixel relativ zur oberen linken Ecke des Desktops an.

Der Parameter nWidth& gibt die Breite des Client-Bereichs des Fensters an, ohne den Rahmen. Die Breite wird in Pixel angegeben.

Der Parameter nHeight& gibt die Höhe des Client-Bereichs des Fensters an, ohne den Rahmen. Die Höhe wird in Pixel angegeben.

Der Parameter hFont gibt das Handle der anfänglichen Schriftart an, die im GRAFIKFENSTER verwendet werden soll. Wenn dieser optionale Parameter enthalten ist, handelt es sich um das Handle einer mit FONT NEW erstellten Schriftart. Dieser Parameter ist besonders wichtig, wenn Sie die Option TEXT verwenden, da die Größe des Fensters auf der Größe der ursprünglichen Schriftart basiert. Falls nicht enthalten, wird die Standardschriftart (MS Sans Serif, 8 Punkt) für Sie ausgewählt.

Die Long-/DWord-Variable hWinVar erhält das Handle des neu erstellten Fensters. Konnte das Fenster nicht erstellt werden, wird hWinVar der Wert Null (0) zugewiesen.

Die Optionswörter HIDE oder NORMALIZE bestimmen, ob das Fenster sofort sichtbar gemacht wird. Möglicherweise möchten Sie das Fenster zunächst ausblenden, damit Sie zunächst weitere Änderungen daran vornehmen können, beispielsweise mit der GRAPHIC WINDOW STABILIZE-Anweisung. Wenn weder HIDE noch NORMALIZE ausgewählt ist, wird es standardmäßig sofort angezeigt.

Ein neu erstelltes GRAFIKFENSTER erhält automatisch den Fokus. Das heißt, Tastatureingaben werden an das Grafikfenster weitergeleitet, bis es geschlossen wird oder Sie ein anderes Fokusziel auswählen.

Pruefnachweis: test_graphic_window_state.pb prueft GRAPHIC WINDOW HIDE / MINIMIZE / NORMALIZE / STABILIZE / NONSTABLE auf einem echten Grafikfenster. test_graphic_window_create_form.pb prueft die NEW- und TEXT-Erzeugungsformen, einschliesslich verborgenem Start und font-gebundener TEXT-Groessenberechnung.

PBXB64-Umsetzungshinweise

GRAFISCHES FENSTER gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHES FENSTER ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • STEUERUNG GRAFIK HINZUFÜGEN
  • GRAFISCHER ANHANG
  • GRAPHIC(COL)
  • GRAFIKFARBE
  • GRAPHIC DETACH - Hilfe zum PBXB64-Compiler
  • GRAPHIC SET AUTOSIZE
  • GRAFIK-SET-BESCHRIFTUNG
  • GRAPHIC SET CLIENT
  • GRAFIK-SET-CLIP
  • GRAFIKSATZ BEHOBEN
  • GRAFIK-SET-SCHRIFTART
  • GRAPHIC SET LOC
  • GRAFIKSATZ-ÜBERLAPPUNG
  • GRAPHIC SET SCROLLTEXT
  • GRAFIKSATZGRÖSSE
  • GRAPHIC SET STRETCHMODE
  • GRAPHIC SET VIRTUAL
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • GRAPHIC WINDOW CLICK
  • GRAFIKFENSTERENDE
  • GRAFIKFENSTER AUSblenden
  • GRAFIKFENSTER MINIMIEREN
  • GRAFIKFENSTER NICHT STABIL
  • GRAFIKFENSTER NORMALISIEREN
  • GRAFIKFENSTER STABILISIEREN
  • TXT Pseudo Object
  • Hilfe zum PBXB64-Compiler


GRAFIKFENSTER AUSblenden - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIKFENSTER AUSblenden

Machen Sie ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC WINDOW HIDE [ hWin ]

Beschreibung

Machen Sie ein

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das durch das Handle hWin identifizierte GRAFIKFENSTER wird unsichtbar gemacht. Wenn hWin weggelassen wird oder gleich Null (0) ist, wird das aktuell angehängte Grafikfenster unsichtbar gemacht.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFISCHES FENSTER VERDECKEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHES FENSTER VERDECKEN ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIKFENSTERENDE
  • GRAFIKFENSTER MINIMIEREN
  • GRAFIKFENSTER NICHT STABIL
  • GRAFIKFENSTER NORMALISIEREN
  • GRAFIKFENSTER STABILISIEREN
  • Hilfe zum PBXB64-Compiler


GRAFIKFENSTER MINIMIEREN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIKFENSTER MINIMIEREN

Minimieren Sie a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC WINDOW MINIMIZE [ hWin ]

Beschreibung

Minimieren Sie a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das durch das Handle hWin identifizierte GRAFIKFENSTER wird minimiert. Wenn hWin weggelassen wird oder gleich Null (0) ist, wird das aktuell angehängte Grafikfenster minimiert. Mit GRAPHIC WINDOW NORMALIZE können Sie das Grafikfenster wieder in den Normalzustand versetzen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFIKFENSTER MINIMIEREN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIKFENSTER MINIMIEREN ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIKFENSTER AUSblenden
  • GRAFIKFENSTER NICHT STABIL
  • GRAFIKFENSTER NORMALISIEREN
  • GRAFIKFENSTER STABILISIEREN
  • Hilfe zum PBXB64-Compiler


GRAFIKFENSTER NICHT STABIL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIKFENSTER NICHT STABIL

Machen Sie ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC WINDOW NONSTABLE [ hWin ]

Beschreibung

Machen Sie ein

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das durch das Handle hWin identifizierte GRAFIKFENSTER wird instabil gemacht, d. h. es kann vom Benutzer geschlossen werden. Wenn ein Systemmenü vorhanden ist, sind die Schließoption und das Schließfeld aktiviert. Die Schließen-Taste ALT-F4 ist ebenfalls aktiviert. Dies ist der Standardbetriebsmodus.

Wenn hWin weggelassen wird oder gleich Null (0) ist, wird das aktuell angehängte Grafikfenster instabil.

PBXB64-Umsetzungshinweise

GRAFIKFENSTER NICHT STABIL gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIKFENSTER NICHT STABIL ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIKFENSTER AUSblenden
  • GRAFIKFENSTER MINIMIEREN
  • GRAFIKFENSTER NORMALISIEREN
  • GRAFIKFENSTER STABILISIEREN
  • Hilfe zum PBXB64-Compiler


GRAFIKFENSTER NORMALISIEREN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIKFENSTER NORMALISIEREN

Machen Sie ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC WINDOW NORMALIZE [ hWin ]

Beschreibung

Machen Sie ein

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das durch den Handle hWin identifizierte GRAFIKFENSTER wird sichtbar gemacht. Wenn hWin weggelassen wird oder gleich Null (0) ist, wird das aktuell angehängte Grafikfenster sichtbar gemacht.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFIKFENSTER NORMALISIEREN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIKFENSTER NORMALISIEREN ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIKFENSTER AUSblenden
  • GRAFIKFENSTER MINIMIEREN
  • GRAFIKFENSTER NICHT STABIL
  • GRAFIKFENSTER STABILISIEREN
  • Hilfe zum PBXB64-Compiler


GRAFIKFENSTER STABILISIEREN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIKFENSTER STABILISIEREN

Machen Sie ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC WINDOW STABILIZE [ hWin ]

Beschreibung

Machen Sie ein

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das durch das Handle hWin identifizierte GRAFIKFENSTER ist stabilisiert, d. h. es kann vom Benutzer nicht geschlossen werden. Wenn ein Systemmenü vorhanden ist, sind die Schließoption und das Schließfeld ausgegraut. Die Schließen-Taste ALT-F4 ist deaktiviert. Dadurch können Sie sicher sein, dass Ihre Vorgänge im Grafikfenster abgeschlossen werden können. Wenn ein Grafikfenster stabilisiert ist, kann es nur durch GRAPHIC WINDOW END oder Programmbeendigung geschlossen werden.

PBXB64-Umsetzungshinweise

GRAFISCHES FENSTER STABILISIEREN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHES FENSTER STABILISIEREN ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIKFENSTERENDE
  • GRAFIKFENSTER AUSblenden
  • GRAFIKFENSTER MINIMIEREN
  • GRAFIKFENSTER NICHT STABIL
  • GRAFIKFENSTER NORMALISIEREN
  • Hilfe zum PBXB64-Compiler


GRAFIKFENSTERENDE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIKFENSTERENDE

Schlie&szlig;en und zerst&ouml;ren Sie a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC WINDOW END [ hWin ]

Beschreibung

Schließen und zerstören Sie a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das durch das Handle hWin identifizierte GRAFIKFENSTER wird geschlossen und zerstört. Wenn hWin weggelassen wird oder gleich Null (0) ist, wird das aktuell angehängte Grafikfenster zerstört.

Mit GRAPHIC WINDOW END kann ein Grafikfenster jederzeit geschlossen und zerstört werden. Andernfalls wird das Fenster bei Programmende automatisch zerstört.

PBXB64-Umsetzungshinweise

GRAFISCHES FENSTERENDE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHES FENSTERENDE ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC DETACH - Hilfe zum PBXB64-Compiler
  • GRAFIKFENSTER - Hilfe zum PBXB64-Compiler
  • GRAFIKFENSTER AUSblenden
  • Hilfe zum PBXB64-Compiler


GRAFIKSATZ BEHOBEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIKSATZ BEHOBEN

Stellt eine Grafik wieder her

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET FIXED

Beschreibung

Stellt eine Grafik wieder her

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das angehängte Grafikziel (Steuerelement oder Fenster) wird auf den standardmäßigen FIXED-Modus zurückgesetzt. Der Zeichenbereich wird auf die physikalische Größe des Anzeigebereichs eingestellt, die nicht verändert wird.

Bei der Ausführung wird davon ausgegangen, dass das Grafiksubsystem auf den AUTOSIZE- oder VIRTUAL-Modus eingestellt ist. Wenn nicht, wird keine Operation ausgeführt. Eine neue Bitmap der Clientbereichsgröße wird erstellt. Die ursprüngliche Bitmap wird Pixel für Pixel in der vorhandenen Größe kopiert. Jeder erweiterte Bereich wird mit der aktuellen Hintergrundfarbe gefüllt. Ihr Programm greift auf normale Weise darauf zurück, um eine Bitmap in der neuen Größe zu erstellen.

Wenn ein Clip-Bereich zum Erstellen von Rändern eingerichtet wurde, wird dieser zurückgesetzt. Wenn skalierte Koordinaten festgelegt wurden, werden diese ebenfalls zurückgesetzt, da keine der beiden für die geänderte Größe angemessen wäre. Sie können diese Attribute mit GRAPHIC SCALE oder GRAPHIC SET CLIP wieder aktivieren, basierend auf der neuen Größe des Zeichenbereichs. Die Größe der Zeichenfläche können Sie mit GRAPHIC GET CANVAS oder GRAPHIC GET CLIENT ermitteln.

Validation evidence: Verifiziert durch tests/pb/test_graphic_mode_states.pb in der pb_linkrun-Lane. Die Regression prueft das Zuruecksetzen der festen Groesse, der Canvas-Groesse und des Viewports an einem echten Grafikfenster.

PBXB64-Umsetzungshinweise

GRAFIKSATZ BEHOBEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIKSATZ BEHOBEN ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(CANVAS.X)
  • GRAPHIC(Client.X)
  • GRAFISCHE MAßSTAB
  • GRAPHIC SET AUTOSIZE
  • GRAPHIC SET VIRTUAL
  • Hilfe zum PBXB64-Compiler


GRAFIKSATZ-ÜBERLAPPUNG - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIKSATZ-ÜBERLAPPUNG

Aktiviert oder deaktiviert den Grafik&uuml;berlappungsmodus.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET OVERLAP [ NumrExpr& ]

Beschreibung

Aktiviert oder deaktiviert den Grafiküberlappungsmodus.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC SET OVERLAP aktiviert oder deaktiviert den Überlappungsmodus für das Grafikziel, das derzeit an den Grafikstream angehängt ist. Es hat keine Auswirkung auf andere Grafikziele. Wenn NumrExpr& wahr ist (ungleich Null), ist der Überlappungsmodus aktiviert. Bei „false“ (Null) ist der Überlappungsmodus deaktiviert. Wenn NumrExpr& fehlt, ist der Überlappungsmodus standardmäßig aktiviert.

Mit dem Überlappungsmodus steuern Sie, wie PowerBASIC Grafikoperationen behandelt, deren Definition eine RECT-Struktur beinhaltet. Windows-Grafikkonventionen betrachten die unteren und rechten Koordinaten eines RECT als exklusiv. Mit anderen Worten: Die Pixel am unteren und rechten Rand liegen unmittelbar außerhalb des Rechtecks. Sie werden nicht gezeichnet, sondern ignoriert. Zum Beispiel:

GRAFIKBOX (0,0) - (50,50)

In diesem Fall wird ein Kästchen von 0,0 bis 49,49 gezeichnet. Die letzten Pixel am unteren und rechten Rand werden einfach nicht gezeichnet. Wenn jedoch der Überlappungsmodus mit GRAPHIC SET OVERLAP aktiviert ist, wird das Feld von 0,0 bis 50,50 gezeichnet.

Der Überlappungsmodus wirkt sich auf Zeichenvorgänge mit GRAFISCHER MAßSTAB, GRAFISCHER KASTEN, GRAFISCHER ELLIPSE, GRAFISCHER LINIE, GRAFISCHER POLYLINIE usw. aus.

PBXB64-Umsetzungshinweise

GRAFIKSATZ-ÜBERLAPPUNG gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIKSATZ-ÜBERLAPPUNG ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIK (ÜBERLAPPUNG)
  • Hilfe zum PBXB64-Compiler


GRAFIKSATZGRÖSSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFIKSATZGRÖSSE

&Auml;ndern Sie die Gesamtgr&ouml;&szlig;e einer Grafik

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET SIZE nWide& , nHigh&

Beschreibung

Ändern Sie die Gesamtgröße einer Grafik

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Gesamtgröße kann je nach Art der verwendeten Rahmen größer als die Clientgröße sein. Der Client-Bereich ist der Teil innerhalb der Ränder, während die Gesamtgröße die Ränder umfasst. Ein grafisches Ziel mit Rand hat normalerweise eine größere Gesamtgröße als eines ohne Rand.

Ab dieser Version von PowerBASIC kann die Größe von GRAFIKSTEUERN mit CONTROL SET CLIENT, GRAPHIC SET CLIENT, CONTROL SET SIZE und GRAPHIC SET SIZE geändert werden.

Die ursprüngliche Bitmap wird Pixel für Pixel in das neu verkleinerte Steuerelement kopiert. Jeder erweiterte Bereich wird mit der aktuellen Hintergrundfarbe gefüllt. Ihr Programm greift auf normale Weise darauf zurück, um eine Bitmap in der neuen Größe zu erstellen.

Wenn ein Clip-Bereich zum Erstellen von Rändern eingerichtet wurde, wird dieser zurückgesetzt. Wenn skalierte Koordinaten festgelegt wurden, werden diese ebenfalls zurückgesetzt, da keine der beiden für die geänderte Größe angemessen wäre. Sie können diese Attribute mit GRAPHIC SCALE oder GRAPHIC SET CLIP wieder aktivieren, basierend auf der neuen Größe des Zeichenbereichs.

nWide& , nHigh&

Integrale numerische Ausdrücke, die die gewünschte Größe der Gesamtfläche angeben. Breite und Höhe werden in Pixeln oder Dialogeinheiten angegeben, je nachdem, welches System bei der Erstellung verwendet wurde.

PBXB64-Umsetzungshinweise

GRAFIK-SET-GRÖSSE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK-SET-GRÖSSE ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • CONTROL SET CLIENT
  • STEUERUNGSSATZGRÖSSE
  • GRAPHIC(SIZE.X)
  • GRAPHIC SET CLIENT
  • Hilfe zum PBXB64-Compiler


Grafische Befehle - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Grafische Befehle

Zur Darstellung von Grafiken k&ouml;nnen verwendet werden:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Zur Darstellung von Grafiken können verwendet werden:

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Fügen Sie einem Dialogfeld ein (nicht größenveränderndes) Bildsteuerelement hinzu.

Fügen Sie einem Dialogfeld ein Steuerelement für gestreckte Bilder hinzu.

Beschreibung

Grafische Befehle ist eine Uebersichtsseite fuer verwandte GUI- und Grafikbefehle. Sie fasst die Familie zusammen und verweist auf die konkreten Befehlsseiten, auf denen die getestete Syntax und das Laufzeitverhalten dokumentiert sind.

Uebersicht und Einstieg

Grafische Befehle ist eine Uebersichtsseite fuer verwandte GUI- und Grafikbefehle. Verwenden Sie diese Seite als Orientierung, waehrend die konkrete Syntax und die getesteten Details auf den einzelnen Befehlsseiten dokumentiert sind.

Typischer Aufbau

Ein vollstaendiges GUI- oder Grafikprogramm erzeugt zuerst Dialog, Grafikfenster oder Druckkontext, fuegt danach Controls oder Zeichenoperationen hinzu, fragt Zustand ab und gibt Ressourcen am Ende geordnet frei. Diese Reihenfolge macht Fehler bei Handles, IDs und Koordinatensystemen leichter nachvollziehbar.

Verlinkte Befehlsgruppen

  • DIALOG NEW und verwandte DIALOG-Befehle fuer Fenster und Dialogzustand.
  • CONTROL ADD und verwandte CONTROL-Befehle fuer Steuerelemente.
  • GRAPHIC WINDOW und verwandte GRAPHIC-Befehle fuer Zeichenausgabe.
  • XPRINT ATTACH und verwandte XPRINT-Befehle fuer Druckausgabe.


GRAFISCHE BILDLISTE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHE BILDLISTE

Zeigt ein Bild von einem an

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC IMAGELIST ( x! , y! ), hLst , index& , overlay& , style&

Beschreibung

Zeigt ein Bild von einem an

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eines der in einer IMAGELIST gespeicherten Bilder wird im ausgewählten Grafiksteuerelement, Bitmap oder Fenster angezeigt. Die Parameter x!,y! Definieren Sie die obere linke Ecke der Position des Bildes. hLst ist das Handle der IMAGELIST und index& ist der Selektor des anzuzeigenden Bildes (1=erstes, 2=zweite usw.). Wenn overlay& ungleich Null ist, gibt es ein Overlay-Bild an, das dem angezeigten Bild aus der Bildliste hinzugefügt werden soll. Der Parameter style& kann eines der folgenden Stilbits sein:

%ILD_NORMAL

Zeichnet das Bild mit der Hintergrundfarbe der Bildliste. Wenn die Hintergrundfarbe den Standardwert %CLR_NONE hat (definiert in der Datei Commctrl.inc), wird das Bild transparent gezeichnet.

%ILD_TRANSPARENT

Zeichnet das Bild transparent, wenn eine Maske vorhanden ist.

%ILD_MASK

Zeichnet die Maske.

%ILD_BLEND25

Wenn eine Maske vorhanden ist, wird das Bild mit einer Mischung von 25 % mit der Systemhervorhebungsfarbe gezeichnet.

%ILD_BLEND50

Wenn eine Maske vorhanden ist, wird das Bild zu 50 % mit der Hervorhebungsfarbe des Systems gemischt gezeichnet.

PBXB64-Umsetzungshinweise

GRAFISCHE BILDLISTE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE BILDLISTE ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAFISCHE KOPIE
  • GRAFISCHES RENDER
  • GRAPHIC STRETCH
  • IMAGELIST BITMAP HINZUFÜGEN
  • Hilfe zum PBXB64-Compiler


GRAFISCHE BITMAP NEU - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHE BITMAP NEU

Erstellen Sie eine neue Speicherbitmap.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC BITMAP NEW nWidth& , nHeight& TO hBmp???

Beschreibung

Erstellen Sie eine neue Speicherbitmap.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC BITMAP NEW erstellt eine neue Speicherbitmap, die wie ein GRAFIKFENSTER manipuliert und gezeichnet werden kann, nur dass sie nicht sichtbar ist. Die Parameter nWidth& und nHeight& geben die Breite und Höhe der Bitmap in Pixel an. Wenn die Bitmap-Erstellung erfolgreich ist, wird das Bitmap-Handle der Variablen hBmp??? zugewiesen. . Wenn nicht erfolgreich, hBmp??? wird auf Null gesetzt. Wenn Sie diese Speicherbitmap nicht mehr verwenden möchten, müssen Sie sie mit GRAPHIC BITMAP END löschen.

PBXB64-Umsetzungshinweise

GRAFISCHE BITMAP NEU gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE BITMAP NEU ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAFISCHES BITMAP-END
  • GRAFISCHES BITMAP-LADEN
  • GRAFISCHE BILDLISTE
  • Hilfe zum PBXB64-Compiler


GRAFISCHE BREITE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHE BREITE

Legen Sie die Linienbreite fest, die von verschiedenen Grafiken verwendet werden soll

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC WIDTH linewidth&

Beschreibung

Legen Sie die Linienbreite fest, die von verschiedenen Grafiken verwendet werden soll

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn die Linienbreite auf einen Wert größer als 1 (Standard) eingestellt ist, wird der Linienstil immer als 0 (durchgezogen) interpretiert.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFISCHE BREITE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE BREITE ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC ARC
  • GRAFIKFELD
  • GRAFISCHE ELLIPSE - Hilfe zum PBXB64-Compiler
  • GRAFISCHE ZEILE
  • GRAPHIC PIE - Hilfe zum PBXB64-Compiler
  • GRAFISCHER STIL
  • Hilfe zum PBXB64-Compiler


GRAFISCHE ELLIPSE - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHE ELLIPSE - Hilfe zum PBXB64-Compiler

Zeichnen Sie im ausgew&auml;hlten Bereich eine Ellipse oder einen Kreis

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC ELLIPSE ( x1! , y1! ) - ( x2! , y2! ) [ , [ rgbColor& ] [ ,[ fillcolor& ] [ , [ fillstyle& ]]]]

Beschreibung

Zeichnen Sie im ausgewählten Bereich eine Ellipse oder einen Kreis

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Koordinaten werden in Seiteneinheiten angegeben. Die Linienbreite kann mit GRAPHIC WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit GRAPHIC STYLE festgelegt werden. Aufgrund der Natur einer Ellipse, die keinen offensichtlichen Anfang oder Ende hat, verwendet GRAPHIC ELLIPSE weder den letzten referenzierten Punkt (POS) noch aktualisiert er ihn.

Das Koordinatenpaar definiert ein unsichtbares Begrenzungsrechteck, das die zu zeichnende Ellipse umschließt. Es gibt sowohl die Größe als auch die Proportionen der Ellipse an. Die Windows-Grafikkonventionen betrachten die unteren und rechten Koordinaten als exklusiv. Die Pixel am unteren und rechten Rand werden ignoriert, es sei denn, der Überlappungsmodus ist aktiviert. Weitere Informationen finden Sie unter GRAFIKSATZ-ÜBERLAPPUNG.

x1! , y1!

Die obere linke Ecke des umgrenzenden Rechtecks.

x2! , y2!

Die untere rechte Ecke des umgrenzenden Rechtecks.

rgbColor&

Optionale RGB-Farbe der Ellipsenkante. Wenn es weggelassen wird (oder -1), wird als Kantenfarbe standardmäßig die aktuelle Vordergrundfarbe für das ausgewählte Grafikfenster verwendet.

Füllfarbe&

Optionale RGB-Farbe des Ellipsen-Innenraums. Wenn fillcolor& weggelassen wird (oder -2), wird das Innere der Ellipse nicht ausgefüllt, sodass der Hintergrund durchscheinen kann. Wenn fillcolor& -1 ist, wird der Innenraum mit der gleichen Farbe wie der Rand bemalt. Andernfalls gibt fillcolor& die zu verwendende RGB-Farbe an.

Füllstil&

Optionaler Füllstil (Muster), der verwendet werden soll. Wenn fillstyle& weggelassen wird, ist der Standardfüllstil „solid“ (0). Wenn ein Schraffurmuster ausgewählt wird (1 bis 6), wird die Vordergrundfarbe durch fillcolor& festgelegt, während der Hintergrund durch die Standardhintergrundfarbe für das ausgewählte Grafikfenster festgelegt wird. Der optionale Füllstil& kann sein:

Fest (Standard)

Horizontale Linien

Vertikale Linien

Nach oben gerichtete diagonale Linien

Abwärts gerichtete diagonale Linien

Gekreuzte Linien

Diagonal gekreuzte Linien

PBXB64-Umsetzungshinweise

GRAFISCHE ELLIPSE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE ELLIPSE ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • Built In RGB Color Equates
  • GRAPHIC ARC
  • GRAFISCHER ANHANG
  • GRAFIKFARBE
  • GRAFISCHE ZEILE
  • GRAPHIC PIE - Hilfe zum PBXB64-Compiler
  • GRAFIKSATZ-ÜBERLAPPUNG
  • GRAFISCHER STIL
  • GRAFISCHE BREITE
  • Hilfe zum PBXB64-Compiler


GRAFISCHE INPUT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHE INPUT

Liest Daten von der Tastatur aus einem

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC INPUT [ prompt ,] varlist
prompt

Beschreibung

Liest Daten von der Tastatur aus einem

Typ:Anweisung |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAFISCHE INPUT zeigt die Eingabeaufforderung im aktiven Grafikziel an, wartet auf eine Zeile von Tastatureingaben, verteilt kommagetrennte Werte auf die aufgeführten Variablen und weist jeden Wert nach dem Typ der Zielvariablen zu. Numerische Ziele akzeptieren numerischen Text; Zeichenfolgenziele erhalten den rohen Feldinhalt. Fehlende Restwerte werden mit Null oder einer leeren Zeichenfolge belegt.

Verwenden Sie GRAPHIC LINE INPUT, wenn Sie nur ein einzelnes Zeichenfolgen-Ergebnis ohne Kommatrennung benoetigen.

PBXB64-Umsetzungshinweise

GRAFISCHE INPUT gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE INPUT ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC$(INKEY$)
  • GRAFISCHE INPUT FLUSH
  • GRAFIK(INSTAT)
  • GRAFISCHE ZEILENEINGABE
  • GRAPHIC$(WAITKEY$)
  • Hilfe zum PBXB64-Compiler


GRAFISCHE INPUT FLUSH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHE INPUT FLUSH

Entfernen Sie alle gepufferten Tastaturdaten.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC INPUT FLUSH

Beschreibung

Entfernen Sie alle gepufferten Tastaturdaten.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

GRAFISCHER EINGANG FLUSH gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Ziel, Zustand und die aktuelle Ausfuehrungsreihenfolge.

PBXB64-Umsetzungshinweise

GRAFISCHER EINGANG FLUSH gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHER EINGANG FLUSH ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC$(INKEY$)
  • GRAFISCHE INPUT
  • GRAFIK(INSTAT)
  • GRAFISCHE ZEILENEINGABE
  • GRAPHIC$(WAITKEY$)
  • Hilfe zum PBXB64-Compiler


GRAFISCHE KOPIE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHE KOPIE

Kopieren Sie eine Bitmap

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC COPY hbmpSource??? , id& [, style& ]
GRAPHIC COPY hbmpSource??? , id& TO ( x! , y! ) [, style& ]
GRAPHIC COPY hbmpSource??? , id& , ( x1! , y1! )-( x2! , y2! ) TO ( x! , y! ) [, style% ]

Beschreibung

Kopieren Sie eine Bitmap

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Sie können eine vollständige Bitmap oder einen Teil davon in das ausgewählte Grafikziel kopieren. Der Ausdruck hbmpSource??? Gibt das Handle der Quelle GRAPHIC BITMAP , des GRAPHIC WINDOW oder des Dialogfelds an, das ein GRAPHIC CONTROL enthält. Der Ausdruck id& ist die eindeutige Steuerelement-ID im Bereich von 1 bis 65535, wie mit der CONTROL ADD GRAPHIC-Anweisung zugewiesen. id& muss für ein GRAFIKFENSTER oder eine GRAFIK-BITMAP 0 sein. Das Ziel des Kopiervorgangs ist das durch GRAPHIC ATTACH ausgewählte Fenster. Sie müssen darauf achten, dass Ihre Parameter für die angegebene Bitmap gültig sind, sonst sind die Ergebnisse der Operation undefiniert.

Die erste Form der GRAPHIC COPY-Anweisung kopiert die vollständige Bitmap und positioniert sie an (0,0), der oberen linken Ecke des Ziels.

Die zweite Form von GRAPHIC COPY kopiert ebenfalls die vollständige Bitmap, positioniert sie jedoch an der durch den Parameter ( x! , y! ) angegebenen Stelle.

Die dritte Form kopiert einen Teil der Bitmap, der durch x1,y1 als obere linke Ecke und x2,y2 als untere rechte Ecke angegeben wird. Es wird an dem durch den Parameter (x,y) angegebenen Punkt positioniert. Sie müssen darauf achten, dass Ihre Parameter für die angegebenen Bitmaps gültig sind, sonst sind die Ergebnisse der Operation undefiniert.

Wenn der Parameter „style“ enthalten ist, handelt es sich um einen der Werte in der folgenden Tabelle. Wenn nicht enthalten, wird ein Standardwert von %mix_CopySrc angenommen. Es stehen 8 Mischmodi zur Verfügung, mit denen Sie Zeichnungsfarben mit den Farben mischen können, die am Zeichnungsort bereits vorhanden sind. Die Mischmodus-Entsprechungen sind in PowerBASIC vordefiniert.

%mix_Blackness

Pixel ist immer 0 (schwarz).

%mix_NotMergeSrc

Pixel ist die Umkehrung der MergeSrc-Farbe.

%mix_MaskNotSrc

Pixel ist eine Kombination der Farben, die sowohl dem Pixel als auch der Umkehrung der Quelle gemeinsam sind.

%mix_NotCopySrc

Pixel ist die Umkehrung der Stiftfarbe.

%mix_MaskSrcNot

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch der Umkehrung des Pixels gemeinsam sind.

%mix_Not

Pixel ist die Umkehrung der Pixelfarbe.

%mix_XorSrc

Pixel ist eine Kombination der Farben in der Quelle und im Pixel, jedoch nicht in beiden.

%mix_NotMaskSrc

Pixel ist die Umkehrung der MaskSrc-Farbe.

%mix_MaskSrc

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch dem Pixel gemeinsam sind.

%mix_NotXorSrc

Pixel ist die Umkehrung der XorSrc-Farbe.

%mix_Nop

Pixel bleibt unverändert.

%mix_MergeNotSrc

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%mix_CopySrc

Pixel ist die Quellfarbe (Standard).

%mix_MergeSrcNot

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%mix_MergeSrc

Pixel ist eine Kombination aus der Quellfarbe und der Pixelfarbe.

%mix_Whiteness

Pixel ist immer 1 (weiß).

PBXB64-Umsetzungshinweise

GRAFISCHE KOPIE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE KOPIE ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIK (STRETCHMODE)
  • GRAFISCHES RENDER
  • GRAPHIC SET STRETCHMODE
  • GRAPHIC STRETCH
  • Hilfe zum PBXB64-Compiler


GRAFISCHE MAßSTAB - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHE MAßSTAB

Definieren Sie ein benutzerdefiniertes Koordinatensystem f&uuml;r

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SCALE ( x1! , y1! ) - ( x2! , y2! )
GRAPHIC SCALE PIXELS

Beschreibung

Definieren Sie ein benutzerdefiniertes Koordinatensystem für

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das Grafikziel muss zunächst mit GRAPHIC ATTACH ausgewählt werden. Mit GRAPHIC SCALE können Sie Ihr eigenes Weltkoordinatensystem für nachfolgende GRAPHIC-Anweisungen definieren. Die benutzerdefinierten Koordinaten bleiben beim grafischen Ziel, bis GRAPHIC SCALE wiederholt wird oder das Ziel gelöscht wird. Weltkoordinaten können Gleitkommawerte sein, mit der einzigen Anforderung, dass x1! ungleich x2! und y1! ungleich y2!. Wenn einer von beiden gleich ist, wird die Anweisung ignoriert.

Wenn x2! ist größer als x1! , Koordinaten werden größer, wenn sie sich nach rechts bewegen. Andernfalls werden sie größer, wenn sie sich nach links bewegen.

Wenn y2! ist größer als y1! , Koordinaten werden größer, wenn sie sich nach unten bewegen. Andernfalls werden sie mit zunehmender Höhe größer.

Standardmäßig ist die Position x2!/y2! wird auf das erste Pixel übertragen, das außerhalb des Clientbereichs liegt und daher nicht gezeichnet wird. Wenn jedoch der OVERLAP MODE durch GRAPHIC SET OVERLAP aktiviert ist, ist x2!/y2! wird auf das letzte Pixel im Clientbereich übersetzt und gezeichnet.

GRAPHIC SCALE PIXELS setzt das Koordinatensystem auf Pixelkoordinaten oder setzt es zurück. Dies kann besonders nützlich sein, wenn die Originalkoordinaten in Dialogeinheiten vorliegen, da dies eine höhere Auflösung für andere Grafikfunktionen bietet.

Hinweis: GRAPHIC SCALE funktioniert nicht mit negativen numerischen Werten – alle numerischen Argumente müssen positiv sein.

PBXB64-Umsetzungshinweise

GRAFISCHE MAßSTAB gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE MAßSTAB ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAPHIC(COL)
  • GRAPHIC(Cell.Size.X)
  • GRAPHIC GET SCALE
  • GRAFIKSATZ-ÜBERLAPPUNG
  • Hilfe zum PBXB64-Compiler


GRAFISCHE POLYLINIE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHE POLYLINIE

Zeichnen Sie eine Reihe verbundener Liniensegmente.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC POLYLINE points [, rgbColor& ]

Beschreibung

Zeichnen Sie eine Reihe verbundener Liniensegmente.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Koordinaten werden in Seiteneinheiten angegeben. Die Linienbreite kann mit GRAPHIC WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit GRAPHIC STYLE festgelegt werden. GRAPHIC POLYLINE verwendet oder aktualisiert den letzten referenzierten Punkt ( POS ) weder.

Die Grafikkonventionen von Windows betrachten die endgültigen X- und Y-Koordinaten als exklusiv. Daher wird das letzte Pixel standardmäßig nicht gezeichnet, es sei denn, der Überlappungsmodus ist aktiviert. Weitere Informationen finden Sie unter GRAFIKSATZ-ÜBERLAPPUNG.

Punkte

Benutzerdefinierter Typ, der die Anzahl der Scheitelpunkte und deren Position definiert. Es müssen mindestens zwei und nicht mehr als 1024 Scheitelpunkte vorhanden sein. Das erste Element ist eine lange Ganzzahl-Punktzahl, direkt gefolgt von der entsprechenden Anzahl von Gleitkommazahlen mit einfacher Genauigkeit, um die tatsächlichen Koordinaten anzugeben. Gleitkommakoordinaten sind erforderlich, da sie mit SCALE als Weltkoordinaten verwendet werden können. Sie können einen Typ mit einer Skalarliste wie folgt verwenden:

TYP PolyPoints

als lang zählen

x1 als Single

y1 als Single

x2 als Single

y2 als Single

x3 als Single

y3 als Single

END-TYP

Oder Sie können ein Array mithilfe von Punkttypen erstellen, etwa so:

TYP PolyPoint

x als Single

y als Single

END-TYP

TYP PolyArray

als lang zählen

xy(1 TO 3) als PolyPoint

END-TYP

rgbColor&

Optionale RGB-Farbe der Polylinie. Wenn es weggelassen wird (oder -1), wird als Farbe standardmäßig die aktuelle Vordergrundfarbe verwendet.

PBXB64-Umsetzungshinweise

GRAFISCHE POLYLINIE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE POLYLINIE ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • Built In RGB Color Equates
  • GRAPHIC ARC
  • GRAFISCHER ANHANG
  • GRAFIKFELD
  • GRAFIKFARBE
  • GRAFISCHE ELLIPSE - Hilfe zum PBXB64-Compiler
  • GRAFISCHE ZEILE
  • GRAFISCHES POLYGON
  • GRAFIKSATZ-ÜBERLAPPUNG
  • GRAFISCHER STIL
  • GRAFISCHE BREITE
  • Hilfe zum PBXB64-Compiler


GRAFISCHE ZEILE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHE ZEILE

Zeichnen Sie eine Linie auf dem ausgew&auml;hlten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC LINE [STEP] [( x1! , y1! )] - [STEP] ( x2! , y2! )[, rgbColor& ]

Beschreibung

Zeichnen Sie eine Linie auf dem ausgewählten

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Linie wird vom ersten Punkt bis zum zweiten Punkt gezeichnet, jedoch nicht einschließlich. Koordinatenpunkte werden in Seiteneinheiten angegeben. Die Linienbreite kann mit GRAPHIC WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit GRAPHIC STYLE festgelegt werden.

Die Grafikkonventionen von Windows betrachten die endgültigen x2- und y2-Koordinaten als exklusiv. Daher wird das letzte Pixel standardmäßig nicht gezeichnet, es sei denn, der Überlappungsmodus ist aktiviert. Weitere Informationen finden Sie unter GRAFIKSATZ-ÜBERLAPPUNG.

x1! , y1!

Optionale Werte, die den Startpunkt der Linie definieren. Wenn dieser optionale erste Punkt weggelassen wird, beginnt die Zeile am letzten referenzierten Punkt (POS) in einer vorhergehenden GRAPHIC-Anweisung. Wenn die erste STEP-Option enthalten ist, ist das x1! und y1! Die Startkoordinaten beziehen sich auf den letzten Referenzpunkt (POS).

x2! , y2!

Der Endpunkt der Linie. Wenn die zweite STEP-Option enthalten ist, ist das x2! und y2! Endkoordinaten sind relativ zu den Startkoordinaten.

rgbColor&

Optionaler RGB-Farbwert für die Linie. Wenn rgbColor& weggelassen wird (oder -1), wird als Linienfarbe standardmäßig die aktuelle Vordergrundfarbe verwendet.

PBXB64-Umsetzungshinweise

GRAFISCHE LINIE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE LINIE ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC ARC
  • GRAFISCHER ANHANG
  • GRAFIKFELD
  • GRAFIKFARBE
  • GRAFISCHE ELLIPSE - Hilfe zum PBXB64-Compiler
  • GRAPHIC PIE - Hilfe zum PBXB64-Compiler
  • GRAFIKSATZ-ÜBERLAPPUNG
  • GRAFISCHER STIL
  • GRAFISCHE BREITE
  • Hilfe zum PBXB64-Compiler


GRAFISCHE ZEILENEINGABE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHE ZEILENEINGABE

Lesen Sie innerhalb von a eine ganze Zeile von der Tastatur

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC LINE INPUT [" prompt "] string_variable

Beschreibung

Lesen Sie innerhalb von a eine ganze Zeile von der Tastatur

Typ:Anweisung |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC LINE INPUT zeigt die optionale Eingabeaufforderung im Grafikfenster oder Control an und wartet auf Benutzereingaben. Tastenanschläge werden akzeptiert, bis Sie die EINGABETASTE drücken. Anschließend wird die gesamte eingegebene Zeichenfolge der Zeichenfolgenvariable zugewiesen. Die Eingabe ist auf 255 Zeichen begrenzt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFISCHE ZEILENEINGABE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE ZEILENEINGABE ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC$(INKEY$)
  • GRAFISCHE INPUT
  • GRAFISCHE INPUT FLUSH
  • GRAFIK(INSTAT)
  • GRAPHIC$(WAITKEY$)
  • Hilfe zum PBXB64-Compiler


GRAFISCHER ANHANG - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHER ANHANG

W&auml;hlen Sie das Grafikziel aus (

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC ATTACH hWin , id [, REDRAW]

Beschreibung

Wählen Sie das Grafikziel aus (

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Anweisung wählt ein grafisches Ziel. Alle weiteren Grafikoperationen werden an dieses Ziel geleitet, bis eine weitere GRAPHIC ATTACH- oder GRAPHIC DETACH-Anweisung ausgeführt wird oder das Grafikziel gelöscht wird. Alle grafischen Anzeigen von PowerBASIC sind dauerhaft – sie werden automatisch neu gezeichnet, auch wenn sie minimiert oder vorübergehend von einem anderen Fenster verdeckt werden.

Standardmäßig werden alle Grafikoperationen sofort nach der Ausführung einer Grafikanweisung angezeigt. In vielen Fällen ist dies eine gute Wahl, da die Anzeige immer auf dem neuesten Stand ist. Da jedoch die Komplexität grafischer Vorgänge zunimmt, bietet dieser kontinuierliche Aktualisierungsprozess nicht die beste Leistung. In der Regel ist es besser, die unten beschriebene REDRAW-Option zu verwenden, da sie im Allgemeinen zu einer erheblichen Verbesserung der Gesamtleistung führt.

An ein bestimmtes Grafikziel kann jeweils nur ein Thread angehängt sein. Der Versuch, mehr als eine anzuhängen, führt zum Fehler „Illegal Function Call Error 5“.

Handle des GRAPHIC WINDOW , DIALOG oder BITMAP, das mit GRAPHIC-Anweisungen verwendet werden soll.

Die Steuerelement-ID, wenn das Ziel ein GRAPHIC CONTROL ist, oder Null, wenn das Ziel ein GRAPHIC WINDOW oder eine GRAPHIC BITMAP ist.

NEU ZEICHNEN

Diese Option kann die Ausführungsgeschwindigkeit von Grafikanweisungen erheblich verbessern, da wiederholte Aktualisierungen der Anzeige entfallen. Wenn diese Option enthalten ist, werden alle Zeichnungsanweisungen gepuffert, bis eine GRAPHIC REDRAW-Anweisung ausgeführt wird oder das Betriebssystem beschließt, das Zielfenster zu aktualisieren. Ohne REDRAW werden alle grafischen Anweisungen (Linie, Box, Druck usw.) sofort ausgeführt. In den meisten Fällen ist es jedoch besser, die Anzeige zu verschieben, bis eine Reihe von Anweisungen ausgeführt wurden.

Die Option REDRAW verzögert zwar die Aktualisierung der Anzeige, garantiert jedoch nicht, dass keine Zwischenaktualisierungen durchgeführt werden. Es kann vorkommen, dass das Betriebssystem oder andere Faktoren eingreifen. Wenn die Aktualisierung bis zum Abschluss unterdrückt werden muss, sollten Sie Ihre Grafik unsichtbar mit einer GRAFIK-BITMAP erstellen und sie dann mit GRAFIKKOPIE anzeigen.

PBXB64-Umsetzungshinweise

GRAFISCHE ANHÄNGE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE ANHÄNGE ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Beispiel

' Draw a blue gradient fill.

Siehe auch

  • STEUERUNG GRAFIK HINZUFÜGEN
  • GRAFISCHES BITMAP-LADEN
  • GRAFISCHE BITMAP NEU
  • GRAPHIC DETACH - Hilfe zum PBXB64-Compiler
  • GRAFIKFENSTER - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


GRAFISCHER STIL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHER STIL

Legen Sie den Linienstil fest, der von verschiedenen Grafiken verwendet werden soll

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC STYLE linestyle&

Beschreibung

Legen Sie den Linienstil fest, der von verschiedenen Grafiken verwendet werden soll

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das Grafikziel muss zunächst mit GRAPHIC ATTACH ausgewählt werden. Aufgrund von Einschränkungen in der Windows-Grafikgeräteschnittstelle (GDI) werden Stile nur angewendet, wenn die Linienbreite auf 1 (Standardeinstellung) eingestellt ist. Wenn die Linienstärke größer als 1 ist, wird der Stil als 0, durchgezogen, interpretiert.

Verfügbare Linienstile sind:

Fest (Standard)

DashDot

DashDotDot

PBXB64-Umsetzungshinweise

GRAFISCHER STIL gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHER STIL ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC ARC
  • GRAFISCHER ANHANG
  • GRAFIKFELD
  • GRAFISCHE ELLIPSE - Hilfe zum PBXB64-Compiler
  • GRAFISCHE ZEILE
  • GRAPHIC PIE - Hilfe zum PBXB64-Compiler
  • GRAFISCHE BREITE
  • Hilfe zum PBXB64-Compiler


GRAFISCHES BITMAP-END - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHES BITMAP-END

Schlie&szlig;en Sie die ausgew&auml;hlte Grafik-Bitmap.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC BITMAP END

Beschreibung

Schließen Sie die ausgewählte Grafik-Bitmap.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Sie müssen jede Speicherbitmap (die mit GRAPHIC BITMAP LOAD oder GRAPHIC BITMAP NEW erstellt wurde) schließen, wenn Sie sie nicht mehr für grafische Operationen verwenden möchten. Um eine Bitmap zu schließen, wählen Sie sie mit der GRAPHIC ATTACH-Anweisung aus und führen Sie dann GRAPHIC BITMAP END aus.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFISCHES BITMAP-END gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHES BITMAP-END ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAFISCHES BITMAP-LADEN
  • GRAFISCHE BITMAP NEU
  • Hilfe zum PBXB64-Compiler


GRAFISCHES BITMAP-LADEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHES BITMAP-LADEN

Erstellen Sie eine Speicherbitmap und laden Sie ein Bild hinein.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC BITMAP LOAD BmpName$ , nWidth& , nHeight& [, stretch& ] TO hBmp???

Beschreibung

Erstellen Sie eine Speicherbitmap und laden Sie ein Bild hinein.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC BITMAP LOAD erstellt eine neue Speicherbitmap und lädt ein Bitmapbild aus einer Ressource oder einer Festplattendatei. Dieses Bitmap funktioniert genau wie ein GRAFIKFENSTER, außer dass es nicht sichtbar ist. Der Parameter BmpName$ gibt den Namen des zu ladenden Bildes an. Wenn BmpName$ einen Punkt enthält, wird davon ausgegangen, dass es sich um den Namen einer Festplattendatei handelt. Andernfalls wird versucht, die Datei von einer Ressource zu laden. Wenn sie nicht gefunden wird, wird davon ausgegangen, dass es sich um eine Festplattendatei handelt.

Die Parameter nWidth& und nHeight& geben die Breite und Höhe der Bitmap in Pixel an. Wenn einer der Größenparameter Null (0) ist, wird die Bitmap in ihrer natürlichen Größe geladen. Wenn einer der Größenparameter von der natürlichen Größe abweicht, wird die Bitmap auf die gewünschte Größe gestreckt oder komprimiert.

Wenn die Bitmap-Erstellung erfolgreich ist, wird das Bitmap-Handle der Variablen hbmp??? zugewiesen. . Wenn nicht erfolgreich, hbmp??? wird auf Null gesetzt. Wenn Sie diese Speicherbitmap nicht mehr verwenden möchten, müssen Sie sie mit GRAPHIC BITMAP END löschen.

Wenn der Parameter stretch& enthalten ist, handelt es sich um einen der Werte in der folgenden Tabelle. Wenn nicht enthalten oder der Wert Null (0) ist, bleibt der Streckungsmodus unverändert. Eine geeignete Auswahl des Streckungsmodus kann die Qualität von Bitmaps, deren Größe geändert wird, erheblich verbessern. Die Streckmodus-Equates sind in PowerBASIC vordefiniert.

Die 4 Dehnungsmodi sind:

%BLACKONWHITE

Dies ist der standardmäßige Streckungsmodus von Windows und eignet sich am besten für monochrome Bitmaps oder solche mit Farbblöcken. Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Schwarze Pixel bleiben auf Kosten weißer Pixel erhalten.

%WHITEONBLACK

Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Es behält weiße Pixel auf Kosten schwarzer Pixel bei.

%COLORONCOLOR

Löscht gelöschte Pixelzeilen, ohne zu versuchen, ihre Informationen beizubehalten.

%HALBTON

Dies bietet höchste Qualität für komplexe Farbbitmaps. Die durchschnittliche Farbe des Zielpixelblocks bleibt ungefähr die gleiche wie die des Quellpixelblocks.

Der folgende Code ruft die natürliche Größe eines Bildes in einer Bitmap-Datei in Pixel ab:

nFile& = FREEFILE

OPEN Sie „myimage.bmp“ FOR BINARY AS nFile&

GET #nFile&, 19, nWidth&

GET #nFile&, 23, nHeight&

SCHLIEßEN nDatei&

PBXB64-Umsetzungshinweise

GRAFISCHES BITMAP-LADEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHES BITMAP-LADEN ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHES BITMAP-END
  • GRAFISCHE BITMAP NEU
  • GRAFIK (STRETCHMODE)
  • GRAFISCHE BILDLISTE
  • GRAFISCHES RENDER
  • GRAPHIC SET STRETCHMODE
  • GRAPHIC STRETCH
  • Hilfe zum PBXB64-Compiler


GRAFISCHES NEUZEICHNEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHES NEUZEICHNEN

Aktualisieren Sie gepufferte grafische Anweisungen und zeichnen Sie sie auf die ausgew&auml;hlten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC REDRAW

Beschreibung

Aktualisieren Sie gepufferte grafische Anweisungen und zeichnen Sie sie auf die ausgewählten

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Anweisung ist nur erforderlich, wenn GRAPHIC ATTACH mit der Option REDRAW für schnellere, gepufferte Zeichenvorgänge ausgewählt wurde. Andernfalls wird keine Operation ausgeführt.

Alle grafischen Anzeigen von PowerBASIC sind dauerhaft – sie werden automatisch für Sie neu gezeichnet, nachdem sie minimiert oder vorübergehend von anderen Fenstern verdeckt werden.

Bei intensiven Zeichenvorgängen ist es vorzuziehen, die Anzeige zu verzögern, bis eine Reihe von Anweisungen ausgeführt wurden, indem die REDRAW-Option mit der GRAPHIC ATTACH-Anweisung und der GRAPHIC REDRAW-Anweisung verwendet wird. Dies kann die Gesamtleistung erheblich verbessern.

PBXB64-Umsetzungshinweise

GRAFISCHES NEUZEICHNEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHES NEUZEICHNEN ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • Hilfe zum PBXB64-Compiler


GRAFISCHES POLYGON - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHES POLYGON

Zeichnen Sie ein Polygon im ausgew&auml;hlten Bereich

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC POLYGON points [,[ rgbColor& ] [, [ fillcolor& ] [,[ fillstyle& ] [, fillmode& ]]]]

Beschreibung

Zeichnen Sie ein Polygon im ausgewählten Bereich

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Koordinaten werden in Seiteneinheiten angegeben. Die Linienbreite kann mit GRAPHIC WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit GRAPHIC STYLE festgelegt werden. GRAPHIC POLYGON verwendet oder aktualisiert den letzten referenzierten Punkt ( POS ) weder.

Punkte

Benutzerdefinierter Typ, der die Anzahl der Scheitelpunkte und deren Position definiert. Es müssen mindestens zwei und nicht mehr als 1024 Scheitelpunkte vorhanden sein. Das erste Element ist eine lange Ganzzahl-Punktzahl, direkt gefolgt von der entsprechenden Anzahl von Gleitkommazahlen mit einfacher Genauigkeit, um die tatsächlichen Koordinaten anzugeben. Gleitkommakoordinaten sind erforderlich, da sie mit SCALE als Weltkoordinaten verwendet werden können. Sie können einen Typ mit einer Skalarliste wie folgt verwenden:

TYP PolyPoints

als lang zählen

x1 als Single

y1 als Single

x2 als Single

y2 als Single

x3 als Single

y3 als Single

END-TYP

Oder Sie können ein Array mithilfe von Punkttypen erstellen, etwa so:

TYP PolyPoint

x als Single

y als Single

END-TYP

TYP PolyArray

als lang zählen

xy(1 TO 3) als PolyPoint

END-TYP

rgbColor&

Optionale RGB-Farbe der Polygonkante. Wenn es weggelassen wird (oder -1), wird als Kantenfarbe standardmäßig die aktuelle Vordergrundfarbe verwendet.

Füllfarbe&

Optionale RGB-Farbe des Polygoninneren. Wenn fillcolor& weggelassen wird (oder -2), wird das Innere der Ellipse nicht ausgefüllt, sodass der Hintergrund durchscheinen kann. Wenn fillcolor& -1 ist, wird der Innenraum mit der gleichen Farbe wie der Rand bemalt. Andernfalls gibt fillcolor& die zu verwendende RGB-Farbe an.

Füllstil&

Optionaler Füllstil (Muster), der verwendet werden soll. Wenn fillstyle& weggelassen wird, ist der Standardfüllstil „solid“ (0). Wenn ein Schraffurmuster ausgewählt wird (1 bis 6), wird die Vordergrundfarbe durch die Füllfarbe& angegeben, während der Hintergrund durch die Standardhintergrundfarbe angegeben wird. Der optionale Füllstil& kann sein:

Fest (Standard)

Horizontale Linien

Vertikale Linien

Nach oben gerichtete diagonale Linien

Abwärts gerichtete diagonale Linien

Gekreuzte Linien

Diagonal gekreuzte Linien

Füllmodus&

Fehlt fillmode& (oder Null), wird der Wickelmodus ausgewählt. Dadurch wird jeder Bereich mit einem Wicklungswert ungleich Null gefüllt. Wenn fillmode& ungleich Null ist, wird der alternative Modus ausgewählt. Dadurch wird der Bereich zwischen ungeraden und geraden Polygonseiten auf jeder Scanlinie ausgefüllt. Das heißt, es füllt den Bereich zwischen der ersten Seite und der zweiten Seite, zwischen der dritten Seite und der vierten Seite usw. aus.

PBXB64-Umsetzungshinweise

GRAFISCHES POLYGON gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHES POLYGON ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • Built In RGB Color Equates
  • GRAPHIC ARC
  • GRAFISCHER ANHANG
  • GRAFIKFELD
  • GRAFIKFARBE
  • GRAFISCHE ELLIPSE - Hilfe zum PBXB64-Compiler
  • GRAFISCHE ZEILE
  • GRAFISCHE POLYLINIE
  • GRAFIKSATZ-ÜBERLAPPUNG
  • GRAFISCHER STIL
  • GRAFISCHE BREITE
  • Hilfe zum PBXB64-Compiler


GRAFISCHES RENDER - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAFISCHES RENDER

Rendern Sie ein Bild auf der ausgew&auml;hlten Seite

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC RENDER [BITMAP | ICON] ImgName , ( x1! , y1! )-( x2! , y2! )

Beschreibung

Rendern Sie ein Bild auf der ausgewählten Seite

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Rendert ein Bild (Bitmap oder Symbol), das von einer Ressource oder einer Festplattendatei geladen wird, auf dem ausgewählten Grafikziel. Das optionale Director-Wort gibt an, ob es sich bei der Quelle um eine Bitmap oder ein Symbol handelt. Wenn nicht angegeben, ist Bitmap die Standardeinstellung.

Der Parameter ImgName gibt den Namen des Bildes an. Wenn ImgName eine numerische Ressourcen-ID ist, kann sie als numerischer Ausdruck oder als Zeichenfolgenäquivalent mit einem führenden Nummernzeichen (z. B. „#10023“) angegeben werden. Andernfalls wird die String-Ressourcen-ID oder der Dateiname als String-Ausdruck angegeben. Wenn der Zeichenfolgenname einen Punkt enthält, handelt es sich vermutlich um den Namen einer Festplattendatei. Andernfalls wird versucht, es als Ressource zu laden; Wenn sie nicht gefunden wird, handelt es sich vermutlich um eine Festplattendatei.

Die Parameter x1! , y1! Definieren Sie die obere linke Ecke des Zielrechtecks, während x2! , y2! Definieren Sie die untere rechte Ecke dieses Rechtecks. Wenn das Zielrechteck größer oder kleiner als das Original ist, wird das Bild auf die gewünschte Größe gestreckt oder gestaucht.

Der folgende Code ruft die natürliche Größe eines Bildes in einer Bitmap-Datei in Pixel ab:

nFile& = FREEFILE

OPEN Sie „myimage.bmp“ FOR BINARY AS nFile&

GET #nFile&, 19, nWidth&

GET #nFile&, 23, nHeight&

SCHLIEßEN nDatei&

PBXB64-Umsetzungshinweise

GRAFISCHES Rendering gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHES Rendering ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHE KOPIE
  • GRAFIK (STRETCHMODE)
  • GRAFISCHE BILDLISTE
  • GRAPHIC SET STRETCHMODE
  • GRAPHIC STRETCH
  • Hilfe zum PBXB64-Compiler


GRAPHIC ARC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC ARC

Zeichnen Sie einen Bogen im ausgew&auml;hlten Bereich

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC ARC ( x1! , y1! ) - ( x2! , y2! ), arcStart! , arcEnd! [, rgbColor& ]

Beschreibung

Zeichnen Sie einen Bogen im ausgewählten Bereich

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Bogen ist ein Abschnitt eines Kreises oder einer Ellipse. Um einen bestimmten Bogen anzugeben, definieren Sie zunächst den vollständigen Kreis oder die Ellipse, zu der er gehört, und geben dann die Punkte auf der Ellipse an, an denen der Bogen beginnt und endet.

Der Vollkreis oder die Ellipse wird durch sein umschließendes Rechteck definiert, das als das kleinste Rechteck definiert ist, das um den Kreis oder die Ellipse herum gezeichnet werden kann. Wenn der Kreis beispielsweise an der Position (400.400) zentriert ist und einen Radius von 100 Pixeln hat, ist die obere linke Ecke ( x1! , y1! ) des umschließenden Rechtecks ​​(300.300) und die untere rechte Ecke ( x2! , y2! ) ist (500.500). Der Startpunkt und der Endpunkt des Bogens werden durch ihren Winkel angegeben, der im Bogenmaß angegeben werden muss. Ein vollständiger Kreis oder eine vollständige Ellipse hat ein Bogenmaß von 2*pi. Auf einem 12-Stunden-Zifferblatt beziehen sich die Werte 0 und 2*pi beide auf die Position 3 Uhr, während sich der Wert 1*pi auf die Position 9 Uhr bezieht. Andere Positionen werden durch einen Bogenmaßwert relativ zu diesen angegeben. In PowerBASIC werden Bögen immer gegen den Uhrzeigersinn vom Startpunkt zum Endpunkt gezeichnet.

Vor allen grafischen Operationen muss zunächst das Grafikziel mit GRAPHIC ATTACH ausgewählt werden. Die Koordinaten werden in denselben Begriffen (Pixel oder Dialogeinheiten) wie der übergeordnete Dialog angegeben (oder Weltkoordinaten, wenn diese mit GRAPHIC SCALE ausgewählt wurden). Die Linienbreite kann mit GRAPHIC WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit GRAPHIC STYLE festgelegt werden. Aufgrund der Art eines Bogens verwendet GRAPHIC ARC weder GRAPHIC POS (letzter referenzierter Punkt) noch aktualisiert es es.

x1! , y1!

Die obere linke Ecke des umschließenden Rechtecks des Vollkreises oder der Ellipse.

x2! , y2!

Die untere rechte Ecke des Begrenzungsrechtecks des Vollkreises oder der Ellipse.

ArcStart!

Der Anfangswinkel des Bogens im Bogenmaß von 0 bis 2*pi.

ArcEnd!

Der Endwinkel des Bogens im Bogenmaß von 0 bis 2*pi im Bogenmaß. Beachten Sie, dass Bögen von arcStart aus immer gegen den Uhrzeigersinn gezeichnet werden! zu arcEnd! . Im Vergleich zu einem 12-Stunden-Zifferblatt liegt 0 oder 2*pi im Bogenmaß bei 3 Uhr und 1*pi im Bogenmaß bei 9 Uhr.

rgbColor&

Optionale RGB-Farbe für den Bogen. Wenn es weggelassen wird (oder -1), wird die aktuelle Vordergrundfarbe für das Grafikfenster verwendet.

PBXB64-Umsetzungshinweise

GRAFISCHER BOGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHER BOGEN ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • Built In RGB Color Equates
  • GRAFISCHER ANHANG
  • GRAFIKFARBE
  • GRAFISCHE ELLIPSE - Hilfe zum PBXB64-Compiler
  • GRAPHIC PIE - Hilfe zum PBXB64-Compiler
  • GRAFIKSATZ-ÜBERLAPPUNG
  • GRAFISCHER STIL
  • GRAFISCHE BREITE
  • Hilfe zum PBXB64-Compiler


GRAPHIC CLEAR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC CLEAR

L&ouml;schen Sie die gesamte Auswahl

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC CLEAR [ rgbColor& [, fillstyle& ]]

Beschreibung

Löschen Sie die gesamte Auswahl

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das Grafikziel muss zunächst mit GRAPHIC ATTACH ausgewählt werden. Der letzte referenzierte Punkt (POS) wird auf die obere linke Ecke des Grafikfensters (0,0) gesetzt.

rgbColor&

Optionaler RGB-Wert, der die Füllfarbe darstellt. Wenn rgbColor& weggelassen wird (oder -1), wird das Grafikziel auf die Standardhintergrundfarbe für das ausgewählte Grafikziel zurückgesetzt.

Füllstil&

Optionaler Füllstil (Muster), der verwendet werden soll. Wenn fillstyle& weggelassen wird, ist der Standardfüllstil „solid“ (0). Wenn ein Schraffurmuster ausgewählt wird (1 bis 6), wird die Vordergrundfarbe durch rgbC olor& festgelegt, während der Hintergrund durch die Standardhintergrundfarbe für das ausgewählte Grafikfenster festgelegt wird. Der optionale Füllstil& kann sein:

Fest (Standard)

Horizontale Linien

Vertikale Linien

Nach oben gerichtete diagonale Linien

Abwärts gerichtete diagonale Linien

Gekreuzte Linien

Diagonal gekreuzte Linien

PBXB64-Umsetzungshinweise

GRAFIK KLAR gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK KLAR ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • Built In RGB Color Equates
  • GRAFISCHER ANHANG
  • GRAFIKFARBE
  • Hilfe zum PBXB64-Compiler


GRAPHIC DETACH - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC DETACH - Hilfe zum PBXB64-Compiler

L&ouml;st eine Grafik ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC DETACH

Beschreibung

Löst eine Grafik ab

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Obwohl das Grafikziel vom Grafikstream getrennt ist, wird es weder gelöscht noch in irgendeiner Weise verändert. Bis ein anderes Grafikziel angehängt wird, werden alle ausgeführten GRAPHIC-Anweisungen ignoriert. Wenn keine Grafik angehängt ist, führt diese Anweisung keine Operation aus.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFISCHES ABNEHMEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHES ABNEHMEN ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAFISCHES BITMAP-LADEN
  • GRAFISCHE BITMAP NEU
  • GRAFIKFENSTER - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


GRAPHIC GET SCALE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC GET SCALE

Rufen Sie den Strom ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET SCALE TO x1! , y1! , x2! , y2!

Beschreibung

Rufen Sie den Strom ab

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit GRAPHIC SCALE können Sie Ihr eigenes Weltkoordinatensystem für nachfolgende GRAPHIC-Anweisungen definieren. Weltkoordinaten können Gleitkommawerte sein, mit der einzigen Anforderung, dass x1! ungleich x2! und y1! ungleich y2!.

GRAPHIC GET SCALE ruft die Koordinatengrenzen ab, bei denen es sich entweder um benutzerdefinierte Weltkoordinaten (wenn ein GRAPHIC SCALE ausgeführt wurde) oder um Standardpixelkoordinaten handeln kann. Dadurch können Sie einen vorherigen Koordinatensatz speichern und wiederherstellen. Diese Anweisung wird automatisch angepasst, um das Abrufen von Skalierungsfaktoren für Dialogeinheiten zu ermöglichen.

PBXB64-Umsetzungshinweise

GRAFIK ERHALTEN MAßSTAB gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK ERHALTEN MAßSTAB ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHE MAßSTAB
  • Hilfe zum PBXB64-Compiler


GRAPHIC PAINT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC PAINT

F&uuml;llen Sie einen Bereich mit einem Volumenk&ouml;rper

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC PAINT [BORDER | REPLACE] [STEP] ( x! , y! ) [, [ rgbFill& ] [, [ rgbBorder& ] [, [ fillstyle& ]]]]

Beschreibung

Füllen Sie einen Bereich mit einem Volumenkörper

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Koordinatenpunkte werden in Seiteneinheiten angegeben.

x! , y!

Der Punkt, an dem das Füllen beginnt. Wenn die STEP-Option enthalten ist, sind die X- und Y-Koordinaten relativ zum letzten referenzierten Punkt (POS) im ausgewählten Grafikziel.

rgbFill&

Optionaler RGB-Farbwert für den Füllbereich. Wenn rgbFill& weggelassen wird (oder -1), wird die Standard-Vordergrundfarbe verwendet.

rgbBorder&

Optionale RGB-Grundfarbe des Füllbereichs. Wenn die Option REPLACE gewählt wird, wird das Füllen nach außen in alle Richtungen fortgesetzt, bis eine andere Farbe als rgbBorder& gefunden wird. Wenn die Option BORDER (oder keine Option) enthalten ist, wird das Füllen nach außen fortgesetzt, bis die Farbe rgbBorder& gefunden wird. Wenn rgbBorder& nicht angegeben ist, wird davon ausgegangen, dass es mit dem Parameter rgbFill& übereinstimmt.

Füllstil&

Optionaler zu verwendender Füllstil (Muster). Wenn fillstyle& weggelassen wird, ist der Standardfüllstil „solid“ (0). Wenn ein Schraffurmuster ausgewählt wird (1 bis 6), wird die Vordergrundfarbe durch rgbFill& angegeben, während der Hintergrund durch die Standardhintergrundfarbe für das ausgewählte Grafikziel angegeben wird. Der optionale Füllstil& kann sein:

Fest (Standard)

Horizontale Linien

Vertikale Linien

Nach oben gerichtete diagonale Linien

Abwärts gerichtete diagonale Linien

Gekreuzte Linien

Diagonal gekreuzte Linien

PBXB64-Umsetzungshinweise

GRAFISCHE FARBE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE FARBE ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • Built In RGB Color Equates
  • GRAPHIC ARC
  • GRAFISCHER ANHANG
  • GRAFIKFELD
  • GRAFIKFARBE
  • GRAFISCHE ELLIPSE - Hilfe zum PBXB64-Compiler
  • GRAFISCHE ZEILE
  • GRAPHIC PIE - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


GRAPHIC PIE - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC PIE - Hilfe zum PBXB64-Compiler

Zeichnen Sie einen Kreisabschnitt auf die ausgew&auml;hlte Fl&auml;che

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC PIE ( x1! , y1! ) - ( x2! , y2! ), arcStart! , arcEnd! [, [ rgbColor& ] [ , [fillcolor& ] [ , [ fillstyle& ]]]]

Beschreibung

Zeichnen Sie einen Kreisabschnitt auf die ausgewählte Fläche

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Kreisabschnitt ist ein Bogen, bei dem von jedem Endpunkt eine Linie zum Mittelpunkt des Kreises oder der Ellipse gezogen wird. Um einen Kreisabschnitt festzulegen, definieren Sie zunächst den vollständigen Kreis oder die Ellipse, zu der er gehört, und geben dann die Punkte auf der Ellipse an, an denen der Bogen beginnt und endet.

Der Vollkreis oder die Ellipse wird durch sein Begrenzungsrechteck definiert, das das kleinste Rechteck ist, das um den Kreis oder die Ellipse gezeichnet werden kann. Wenn der Kreis beispielsweise an der Position (400.400) zentriert ist und einen Radius von 100 Pixeln hat, ist die obere linke Ecke (x1,y1) des Begrenzungsrechtecks ​​(300.300) und die untere rechte Ecke (x2,y2) ist (500.500).

Der Startpunkt und der Endpunkt des Bogens werden durch ihren Winkel angegeben, der im Bogenmaß angegeben werden muss. Ein vollständiger Kreis oder eine vollständige Ellipse hat ein Bogenmaß von 2*pi. Auf einem 12-Stunden-Zifferblatt beziehen sich die Werte 0 und 2*pi beide auf die Position 3 Uhr, während sich der Wert 1*pi auf die Position 9 Uhr bezieht. Andere Positionen werden durch einen Bogenmaßwert relativ zu diesen angegeben. In PowerBASIC werden Bögen immer gegen den Uhrzeigersinn vom Startpunkt zum Endpunkt gezeichnet.

Vor allen grafischen Operationen muss zunächst das Grafikziel mit GRAPHIC ATTACH ausgewählt werden. Die Koordinaten werden in denselben Begriffen (Pixel oder Dialogeinheiten) wie der übergeordnete Dialog angegeben (oder Weltkoordinaten, wenn diese mit GRAPHIC SCALE ausgewählt wurden). Die Linienbreite kann mit GRAPHIC WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit GRAPHIC STYLE festgelegt werden. Aufgrund der Art eines Kreisabschnitts verwendet GRAPHIC PIE weder grafisches POS (letzter Punkt, auf den verwiesen wird) noch aktualisiert es es.

x1! , y1!

Die obere linke Ecke des umschließenden Rechtecks des Vollkreises oder der Ellipse.

x2! , y2!

Die untere rechte Ecke des Begrenzungsrechtecks des Vollkreises oder der Ellipse.

ArcStart!

Der Anfangswinkel des Bogens im Bogenmaß von 0 bis 2*pi.

ArcEnd!

Der Endwinkel des Bogens im Bogenmaß von 0 bis 2*pi im Bogenmaß. Beachten Sie, dass Bögen von arcStart aus immer gegen den Uhrzeigersinn gezeichnet werden! zu arcEnd! . Im Vergleich zu einem 12-Stunden-Zifferblatt liegt 0 oder 2*pi im Bogenmaß bei 3 Uhr und 1*pi im Bogenmaß bei 9 Uhr.

rgbColor&

Optionale RGB-Farbe der Kreisabschnittskante. Wenn es weggelassen wird (oder -1), wird als Kantenfarbe standardmäßig die aktuelle Vordergrundfarbe verwendet.

Füllfarbe&

Optionale RGB-Farbe des Inneren des Tortenabschnitts. Wenn fillcolor& weggelassen wird (oder -2), wird das Innere des Kreisabschnitts nicht ausgefüllt, sodass der Hintergrund durchscheinen kann. Wenn fillcolor& -1 ist, wird der Innenraum mit der gleichen Farbe wie der Rand bemalt. Andernfalls gibt fillcolor& die zu verwendende RGB-Farbe an.

Füllstil&

Optionaler Füllstil (Muster), der verwendet werden soll. Wenn fillstyle& weggelassen wird, ist der Standardfüllstil „solid“ (0). Wenn ein Schraffurmuster ausgewählt wird (1 bis 6), wird die Vordergrundfarbe durch die Füllfarbe& angegeben, während der Hintergrund durch die Standardhintergrundfarbe angegeben wird. Der optionale Füllstil& kann sein:

Fest (Standard)

Horizontale Linien

Vertikale Linien

Nach oben gerichtete diagonale Linien

Abwärts gerichtete diagonale Linien

Gekreuzte Linien

Diagonal gekreuzte Linien

PBXB64-Umsetzungshinweise

GRAFISCHER TORTEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHER TORTEN ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • Built In RGB Color Equates
  • GRAPHIC ARC
  • GRAFISCHER ANHANG
  • GRAFIKFELD
  • GRAFIKFARBE
  • GRAFISCHE ELLIPSE - Hilfe zum PBXB64-Compiler
  • GRAFISCHE ZEILE
  • GRAFIKSATZ-ÜBERLAPPUNG
  • GRAFISCHER STIL
  • GRAFISCHE BREITE
  • Hilfe zum PBXB64-Compiler


GRAPHIC SET AUTOSIZE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC SET AUTOSIZE

Vergr&ouml;&szlig;ert die virtuelle Zeichenfl&auml;che eines angeh&auml;ngten Grafikziels.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET AUTOSIZE nWidth , nHeight [,USERSIZE]

Beschreibung

Vergrößert die virtuelle Zeichenfläche eines angehängten Grafikziels.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Im AUTOSIZE-Modus kann das angehängte Grafikziel (Steuerelement oder Fenster) den Inhalt eines virtuellen Fensters anzeigen, das größer oder kleiner sein kann. Der gesamte Inhalt des virtuellen Fensters wird immer auf dem Bildschirm angezeigt, sodass das Bild entsprechend gestreckt oder gestaucht wird. Die physikalische Größe des Anzeigebereichs wird nicht verändert. Wenn das Grafikziel eine Bitmap ist, wird keine Operation ausgeführt, da kein Anzeigebereich vorhanden ist.

Diese Anweisung kann verwendet werden, um ein Ziel in den AUTOSIZE-Modus zu ändern oder um die Größen und die UserSize-Option eines vorhandenen AUTOSIZE-Ziels zu ändern.

Bei der Ausführung wird eine neue virtuelle Bitmap mit der angegebenen Höhe und Breite erstellt. nWidth und nHeight werden immer in Pixeln oder Dialogeinheiten angegeben, abhängig von der ursprünglichen Fenstererstellung. Die neue virtuelle Bitmap wird sofort mit der ursprünglichen Bitmap gefüllt, jedoch entsprechend gestreckt oder komprimiert. Dies geschieht, um Blitzeffekte zu vermeiden, die manchmal bei einem kurzen Farbwechsel auftreten. Ihr Programm kann nun wie gewohnt auf die neue Bitmap zeichnen, um eine Bitmap der neuen Größe zu erhalten.

Wenn ein Clip-Bereich zum Erstellen von Rändern eingerichtet wurde, wird dieser zurückgesetzt. Wenn skalierte Koordinaten festgelegt wurden, werden diese ebenfalls zurückgesetzt, da keine der beiden für die geänderte Größe angemessen wäre. Sie können diese Attribute mit GRAPHIC SCALE oder GRAPHIC SET CLIP wieder aktivieren, basierend auf der neuen Größe des Zeichenbereichs. Die Größe der virtuellen Zeichenfläche können Sie jederzeit mit GRAPHIC GET CANVAS abrufen.

Der AUTOSIZE-Modus ist dem VIRTUAL-Modus ziemlich ähnlich. Beide erstellen ein virtuelles Fenster, das das Ziel Ihrer Zeichen- und Textdruckvorgänge ist. Der Unterschied liegt in der Art und Weise, wie sie angezeigt werden. VIRTUAL zeigt ein Ansichtsfenster an, das kleiner als das virtuelle Fenster ist und an verschiedene Positionen verschoben werden kann. Dadurch kann der Benutzer jeweils einen ausgewählten Abschnitt anzeigen. AUTOSIZE zeigt jederzeit das gesamte virtuelle Fenster an, indem es es je nach Bedarf dehnt oder komprimiert.

Die Option USERSIZE wird aus Kompatibilitaetsgruenden akzeptiert, aber der aktuelle Laufzeitpfad vergroessert nur die Hintergrund-Zeichenflaeche und streckt den vorhandenen Inhalt auf die neue Groesse. Separate Rahmen-UI wird vom Compiler-Laufzeitpfad nicht erzeugt.

Pruefnachweis: Geprueft durch tests/pb/test_graphic_set_autosize.pb in der pb_linkrun-Lane. Die Regression belegt Canvas-Groesse und gestreckte Pixelposition in einem echten Grafikfenster.

PBXB64-Umsetzungshinweise

GRAFIK AUTOGRÖSSE EINSTELLEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK AUTOGRÖSSE EINSTELLEN ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(CANVAS.X)
  • GRAFISCHE MAßSTAB
  • GRAFIK-SET-CLIP
  • GRAFIKSATZ BEHOBEN
  • GRAPHIC SET VIRTUAL
  • Hilfe zum PBXB64-Compiler


GRAPHIC SET CLIENT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC SET CLIENT

&Auml;ndern Sie die Gr&ouml;&szlig;e von a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET CLIENT nWide& , nHigh&

Beschreibung

Ändern Sie die Größe von a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Abhängig von der Art der verwendeten Rahmen kann die Clientgröße kleiner als die Gesamtgröße sein. Der Client-Bereich ist der Teil innerhalb der Ränder, der je nach Stil und Ex-Stil bei der Erstellung variiert. Die Gesamtgröße umfasst die Ränder. Ein grafisches Ziel mit Rand hat normalerweise eine größere Gesamtgröße als eines ohne Rand.

Ab dieser Version von PowerBASIC kann die Größe von GRAFIKSTEUERN mit CONTROL SET CLIENT, GRAPHIC SET CLIENT, CONTROL SET SIZE und GRAPHIC SET SIZE geändert werden.

Die ursprüngliche Bitmap wird Pixel für Pixel in das neu verkleinerte Grafiksteuerelement oder Fenster kopiert. Jeder erweiterte Bereich wird mit der aktuellen Hintergrundfarbe gefüllt. Ihr Programm greift auf normale Weise darauf zurück, um eine Bitmap in der neuen Größe zu erstellen.

Wenn ein Clip-Bereich zum Erstellen von Rändern eingerichtet wurde, wird dieser zurückgesetzt. Wenn skalierte Koordinaten festgelegt wurden, werden diese ebenfalls zurückgesetzt, da keine der beiden für die geänderte Größe angemessen wäre. Sie können diese Attribute mit GRAPHIC SCALE oder GRAPHIC SET CLIP wieder aktivieren, basierend auf der neuen Größe des Zeichenbereichs.

PBXB64-Umsetzungshinweise

GRAFIK-SET-CLIENT gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK-SET-CLIENT ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • CONTROL GET CLIENT
  • CONTROL GET SIZE
  • CONTROL SET CLIENT
  • STEUERUNGSSATZGRÖSSE
  • GRAPHIC(CANVAS.X)
  • GRAPHIC(Client.X)
  • GRAPHIC(SIZE.X)
  • GRAFIK-SET-CLIP
  • GRAFIKSATZGRÖSSE
  • Hilfe zum PBXB64-Compiler


GRAPHIC SET LOC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC SET LOC

&Auml;ndern Sie den Speicherort der ausgew&auml;hlten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET LOC x& , y&

Beschreibung

Ändern Sie den Speicherort der ausgewählten

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Anweisung ändert die Position des ausgewählten Grafikfensters. Wenn kein Grafikziel ausgewählt ist oder es sich nicht um ein Grafikfenster handelt, wird keine Aktion ausgeführt. Die Position wird immer in Pixel relativ zur oberen linken Ecke des Bildschirms angegeben.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFIK SET LOC gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK SET LOC ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAPHIC(LOC.X)
  • GRAPHIC(PPI.X)
  • Hilfe zum PBXB64-Compiler


GRAPHIC SET POS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC SET POS

Legen Sie den letzten referenzierten Punkt (POS) f&uuml;r die ausgew&auml;hlte fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET POS [STEP] ( x! , y! )

Beschreibung

Legen Sie den letzten referenzierten Punkt (POS) für die ausgewählte fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Koordinatenpunkt wird in Seiteneinheiten angegeben. Wenn die STEP-Option enthalten ist, wird das x! und du! Die Koordinaten beziehen sich auf den letzten Referenzpunkt (POS).

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFIK SET POS gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK SET POS ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAPHIC(COL)
  • GRAFIK(POS.X)
  • GRAFISCHE MAßSTAB
  • Hilfe zum PBXB64-Compiler


GRAPHIC SET SCROLLTEXT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC SET SCROLLTEXT

Aktiviert oder deaktiviert den grafischen ScrollText-Modus.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET SCROLLTEXT [ NumrExpr& ]

Beschreibung

Aktiviert oder deaktiviert den grafischen ScrollText-Modus.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC SET SCROLLTEXT aktiviert oder deaktiviert den Bildlaufmodus für das Grafikziel, das derzeit an den Grafikstream angehängt ist. Es hat keine Auswirkung auf andere Grafikziele. Wenn NumrExpr& wahr ist (ungleich Null), ist der ScrollText-Modus aktiviert. Bei „false“ (Null) ist der Modus deaktiviert. Wenn NumrExpr& fehlt, ist standardmäßig der ScrollText-Modus aktiviert.

Mit dem ScrollText-Modus können Sie steuern, wie PowerBASIC Text auf einem Grafikziel druckt, wenn es das Ende einer Seite erreicht. Da ein Grafikziel auf Ganzseitenbasis arbeitet, wird standardmäßig Text ignoriert, der über das Ende der Seite hinaus gedruckt wird.

Wenn der ScrollText-Modus aktiviert ist, wird das Scrollen einer Seite nur durch GRAFIKDRUCK ausgelöst. Wenn sich der POS (letzter referenzierter Punkt) in der unteren Zeile des Grafikziels befindet und eine GRAPHIC PRINT-Anweisung den POS von der Seite verschiebt, wird der gesamte Inhalt des Grafikziels um eine Zeile gescrollt und unten wird eine neue leere Zeile geöffnet.

PBXB64-Umsetzungshinweise

GRAFIK SET SCROLLTEXT gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK SET SCROLLTEXT ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIK (SCROLLTEXT)
  • GRAPHIC SET AUTOSIZE
  • GRAPHIC SET VIRTUAL
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • Hilfe zum PBXB64-Compiler


GRAPHIC SET STRETCHMODE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC SET STRETCHMODE

Legt den Standard-Bitmap-Streckmodus f&uuml;r die aktuelle fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET STRETCHMODE ModeExpr

Beschreibung

Legt den Standard-Bitmap-Streckmodus für die aktuelle fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In PowerBASIC gibt es mehrere Vorgänge, die das Strecken oder Komprimieren von Bildern auf Bitmaps umfassen, insbesondere GRAPHIC STRETCH . Da einzelne Pixel hinzugefügt oder entfernt werden müssen, besteht eine gute Chance, dass sich die Bildqualität verschlechtert. Wenn Sie jedoch die Art des Bildes durch die Definition eines StretchMode beschreiben, können Sie das Erscheinungsbild erheblich verbessern.

Der Standard-StretchMode wird für jeden DC individuell verwaltet. Sie können den Standardmodus mit dieser Anweisung festlegen oder ihn mit GRAPHIC GET STRETCHMODE abrufen. Natürlich können Sie den Standard-StretchMode auch überschreiben, wenn Sie eine der betroffenen Anweisungen ausführen.

Die 4 Stretch-Modus-Equates sind in PowerBASIC vordefiniert.

Gleichsetzen

Beschreibung

%BLACKONWHITE

Dies ist der standardmäßige Streckungsmodus von Windows und eignet sich am besten für monochrome Bitmaps oder solche mit Farbblöcken. Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Schwarze Pixel bleiben auf Kosten weißer Pixel erhalten.

%WHITEONBLACK

Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Es behält weiße Pixel auf Kosten schwarzer Pixel bei.

%COLORONCOLOR

Löscht gelöschte Pixelzeilen, ohne zu versuchen, ihre Informationen beizubehalten.

%HALBTON

Dies bietet höchste Qualität für komplexe Farbbitmaps. Die durchschnittliche Farbe des Zielpixelblocks bleibt ungefähr die gleiche wie die des Quellpixelblocks.

PBXB64-Umsetzungshinweise

GRAFIK SET STRETCHMODE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK SET STRETCHMODE ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHES BITMAP-LADEN
  • GRAFISCHE KOPIE
  • GRAFIK (STRETCHMODE)
  • GRAFISCHES RENDER
  • GRAPHIC STRETCH
  • Hilfe zum PBXB64-Compiler


GRAPHIC SET VIRTUAL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC SET VIRTUAL

Vergr&ouml;&szlig;ert die virtuelle Zeichenfl&auml;che eines angeh&auml;ngten Grafikziels.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET VIRTUAL nWidth& , nHeight& [,USERSIZE]

Beschreibung

Vergrößert die virtuelle Zeichenfläche eines angehängten Grafikziels.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Im VIRTUAL-Modus kann das angehängte Grafikziel (Steuerelement oder Fenster) den Inhalt eines größeren virtuellen Fensters anzeigen. Die physikalische Größe des Anzeigebereichs wird nicht verändert. Stattdessen fungiert der Anzeigebereich als kleineres Ansichtsfenster, das um das größere virtuelle Fenster verschoben werden kann, um jeweils einen Abschnitt anzuzeigen. Die physikalische Größe des Anzeigebereichs wird nicht verändert. Wenn das Grafikziel eine Bitmap ist, wird keine Operation ausgeführt, da kein Anzeigebereich vorhanden wäre.

Diese Anweisung kann verwendet werden, um ein Ziel in den VIRTUAL-Modus zu ändern oder um die Größen und die UserSize-Option eines vorhandenen VIRTUAL-Ziels zu ändern.

Bei der Ausführung wird eine neue virtuelle Bitmap mit der angegebenen Höhe und Breite erstellt. nWidth& und nHeight& werden je nach ursprünglicher Fenstererstellung immer in Pixeln oder Dialogeinheiten angegeben. Die ursprüngliche Bitmap wird Pixel für Pixel in der vorhandenen Größe kopiert. Jeder erweiterte Bereich wird mit der aktuellen Hintergrundfarbe gefüllt. Ihr Programm greift auf normale Weise darauf zurück, um eine Bitmap in der neuen Größe zu erstellen. Es werden Bildlaufleisten hinzugefügt, damit der Benutzer das Ansichtsfenster in den gewünschten Abschnitt verschieben kann. Die Größe des Ansichtsfensters wird nicht geändert.

Das grafische Ansichtsfenster wird zunächst in der oberen linken Ecke des virtuellen Fensters platziert. Wenn ein Clip-Bereich zum Erstellen von Rändern eingerichtet wurde, wird dieser zurückgesetzt. Wenn skalierte Koordinaten festgelegt wurden, werden diese ebenfalls zurückgesetzt, da keine der beiden für die geänderte Größe angemessen wäre. Sie können diese Attribute mit GRAPHIC SCALE oder GRAPHIC SET CLIP wieder aktivieren, basierend auf der neuen Größe des Zeichenbereichs. Die Größe der virtuellen Zeichenfläche können Sie jederzeit mit GRAPHIC GET CANVAS abrufen.

Das grafische Ansichtsfenster kann durch Klicken auf die Bildlaufleisten oder durch Bewegen des Mausrads verschoben werden, um die vertikale Position zu ändern. Durch Drücken der Steuertaste zusammen mit dem Mausrad wird die horizontale Position geändert. Darüber hinaus können zu diesem Zweck auch die Cursor-Bewegungstasten (Links, Rechts, Auf, Ab, Bild-auf, Bild-ab, Pos1, Ende) verwendet werden. Der VIRTUAL-Modus ist dem AUTOSIZE-Modus ziemlich ähnlich. Beide erstellen ein virtuelles Fenster, das das Ziel Ihrer Zeichen- und Textdruckvorgänge ist. Der Unterschied liegt in der Art und Weise, wie sie angezeigt werden.

VIRTUAL zeigt ein Ansichtsfenster an, das kleiner als das virtuelle Fenster ist und an verschiedene Positionen verschoben werden kann. Dadurch kann der Benutzer jeweils einen ausgewählten Abschnitt anzeigen. AUTOSIZE zeigt jederzeit das gesamte virtuelle Fenster an, indem es es je nach Bedarf dehnt oder komprimiert.

Die Option USERSIZE wird aus Kompatibilitaetsgruenden akzeptiert, aber der aktuelle Laufzeitpfad vergroessert nur die Hintergrund-Zeichenflaeche und setzt das Ansichtsfenster zurück; separate Rahmen- oder Scrollleisten-UI wird nicht eingeblendet.

Im Allgemeinen ist es nicht ratsam, den ScrollText-Modus in einem virtuellen Grafikfenster zu aktivieren, da die Anzeige für den Benutzer verwirrend sein kann.

Pruefnachweis: Geprueft durch tests/pb/test_graphic_set_virtual.pb in der pb_linkrun-Lane. Die Regression belegt Canvas-Groesse, Pixel-Erhalt und View-Reset in einem echten Grafikfenster.

PBXB64-Umsetzungshinweise

VIRTUELLES GRAFIKSET gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

VIRTUELLES GRAFIKSET ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(CANVAS.X)
  • GRAPHIC(View.X)
  • GRAPHIC SET AUTOSIZE
  • GRAFIKSATZ BEHOBEN
  • GRAFIK-SET-ANSICHT
  • Hilfe zum PBXB64-Compiler


GRAPHIC SET WORDWRAP - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC SET WORDWRAP

Aktiviert oder deaktiviert den grafischen Zeilenumbruchmodus.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET WORDWRAP [ NumrExpr& ]

Beschreibung

Aktiviert oder deaktiviert den grafischen Zeilenumbruchmodus.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC SET WORDWRAP aktiviert oder deaktiviert den WordWrap-Modus für das Grafikziel, das derzeit an den Grafikstream angehängt ist. Es hat keine Auswirkung auf andere Grafikziele. Wenn NumrExpr& wahr ist (ungleich Null), ist der WordWrap-Modus aktiviert. Bei „false“ (Null) ist der Wrap-Modus deaktiviert. Wenn NumrExpr& fehlt, ist der WordWrap-Modus standardmäßig aktiviert.

Mit dem WordWrap-Modus können Sie steuern, wie PowerBASIC Text auf einem Grafikziel druckt, wenn dieser das Ende einer Zeile erreicht. Da ein Grafikziel auf Ganzseitenbasis arbeitet, wird standardmäßig Text ignoriert, der über das Zeilenende hinaus gedruckt wird.

Wenn der WordWrap-Modus aktiviert ist, wirkt er sich nur auf GRAFIKDRUCK-Vorgänge aus. Wenn GRAPHIC PRINT versucht, ein Wort über das Ende einer Zeile hinaus anzuzeigen, wird das gesamte Wort automatisch in die erste Spalte der nächsten Zeile umgebrochen.

PBXB64-Umsetzungshinweise

GRAFIK-SET WORDWRAP gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK-SET WORDWRAP ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(COL)
  • GRAPHIC(WORDWRAP)
  • GRAPHIC SET WRAP
  • GRAFIK-SPLIT
  • Hilfe zum PBXB64-Compiler


GRAPHIC SET WRAP - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC SET WRAP

Aktiviert oder deaktiviert den Grafikumbruchmodus.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC SET WRAP [ NumrExpr& ]

Beschreibung

Aktiviert oder deaktiviert den Grafikumbruchmodus.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC SET WRAP aktiviert oder deaktiviert den Wrap-Modus für das Grafikziel, das derzeit an den Grafikstream angehängt ist. Es hat keine Auswirkung auf andere Grafikziele. Wenn NumrExpr& wahr ist (ungleich Null), ist der Wrap-Modus aktiviert. Bei „false“ (Null) ist der Wrap-Modus deaktiviert. Wenn NumrExpr& fehlt, ist der Wrap-Modus standardmäßig aktiviert.

Mit dem Wrap-Modus können Sie steuern, wie PowerBASIC Text auf einem Grafikziel druckt, wenn dieser das Ende einer Zeile erreicht. Da ein Grafikziel auf Ganzseitenbasis arbeitet, wird standardmäßig Text ignoriert, der über das Zeilenende hinaus gedruckt wird.

Wenn der Wrap-Modus aktiviert ist, wirkt er sich nur auf GRAFIKDRUCK-Vorgänge aus. Wenn GRAPHIC PRINT versucht, ein Zeichen über das Ende einer Zeile hinaus anzuzeigen, wird es automatisch in die erste Spalte der nächsten Zeile umgebrochen.

PBXB64-Umsetzungshinweise

GRAFIK-SET-WICKEL gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK-SET-WICKEL ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(COL)
  • GRAPHIC(WRAP)
  • GRAFIKDRUCK
  • GRAPHIC SET SCROLLTEXT
  • GRAPHIC SET WORDWRAP
  • GRAFIK-SPLIT
  • Hilfe zum PBXB64-Compiler


GRAPHIC STRETCH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC STRETCH

Kopieren Sie eine Bitmap und &auml;ndern Sie ihre Gr&ouml;&szlig;e in die ausgew&auml;hlte Datei

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC STRETCH hBmp , ID , ( x1 , y1 )-( x2 , y2 ) TO ( x3 , y3 )-( x4 , y4 ) [, Mix , Stretch ]
GRAPHIC STRETCH PAGE hBmp , ID [, Mix , Stretch ]

Beschreibung

Kopieren Sie eine Bitmap und ändern Sie ihre Größe in die ausgewählte Datei

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Sie können eine vollständige Bitmap oder einen Teil davon auf das ausgewählte Grafikziel kopieren und dabei die Größe vergrößern oder verkleinern. Die Handle-Variable hBmp gibt das Handle der Quellbitmap, des Quellsteuerelements oder des Quellfensters an. Die Parameter-ID ist die mit CONTROL ADD GRAPHIC zugewiesene Steuerungskennung (1 bis 65535). Die ID muss für ein GRAFIKWINDOW oder eine Bitmap Null (0) sein. Das Ziel der Streckoperation ist immer das angehängte Grafikziel. Die Größe der Bitmap wird automatisch an die Zielparameter angepasst. Sie müssen darauf achten, dass Ihre Parameter für die angegebene Bitmap gültig sind, sonst ist das Ergebnis der Operation undefiniert.

Die zweite Form, GRAPHIC STRETCH PAGE, ist eine Verknüpfung zum Kopieren einer vollständigen Bitmap in den Clip- oder Clientbereich des ausgewählten Grafikziels. Das Bild wird automatisch gestreckt oder gestaucht, um es an das Ziel anzupassen.

Wenn der Parameter „Mix“ enthalten ist, handelt es sich um einen der Werte in der folgenden Tabelle. Wenn nicht enthalten oder der Wert Null (0) ist, wird ein Standardwert von %mix_CopySrc angenommen. Es stehen 16 Mischmodi zur Verfügung, mit denen Sie Zeichenfarben mit den Farben mischen können, die bereits am Zeichenort vorhanden sind. Die Mix-Modus-Equates sind in PowerBASIC vordefiniert.

%mix_Blackness

Pixel ist immer 0 (schwarz).

%mix_NotMergeSrc

Pixel ist die Umkehrung der MergeSrc-Farbe.

%mix_MaskNotSrc

Pixel ist eine Kombination der Farben, die sowohl dem Pixel als auch der Umkehrung der Quelle gemeinsam sind.

%mix_NotCopySrc

Pixel ist die Umkehrung der Stiftfarbe.

%mix_MaskSrcNot

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch der Umkehrung des Pixels gemeinsam sind.

%mix_Not

Pixel ist die Umkehrung der Pixelfarbe.

%mix_XorSrc

Pixel ist eine Kombination der Farben in der Quelle und im Pixel, jedoch nicht in beiden.

%mix_NotMaskSrc

Pixel ist die Umkehrung der MaskSrc-Farbe.

%mix_MaskSrc

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch dem Pixel gemeinsam sind.

%mix_NotXorSrc

Pixel ist die Umkehrung der XorSrc-Farbe.

%mix_Nop

Pixel bleibt unverändert.

%mix_MergeNotSrc

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%mix_CopySrc

Pixel ist die Quellfarbe (Standard).

%mix_MergeSrcNot

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%mix_MergeSrc

Pixel ist eine Kombination aus der Quellfarbe und der Pixelfarbe.

%mix_Whiteness

Pixel ist immer 1 (weiß).

Dehnen

Wenn der Parameter stretch& enthalten ist, handelt es sich um einen der Werte in der folgenden Tabelle. Wenn nicht enthalten oder der Wert Null (0) ist, bleibt der Streckungsmodus unverändert. Eine geeignete Auswahl des Streckungsmodus kann die Qualität von Bitmaps, deren Größe geändert wird, erheblich verbessern. Die Streckmodus-Equates sind in PowerBASIC vordefiniert.

Gleichsetzen

Beschreibung

%BLACKONWHITE

Dies ist der standardmäßige Streckungsmodus von Windows und eignet sich am besten für monochrome Bitmaps oder solche mit Farbblöcken. Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Schwarze Pixel bleiben auf Kosten weißer Pixel erhalten.

%WHITEONBLACK

Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Es behält weiße Pixel auf Kosten schwarzer Pixel bei.

%COLORONCOLOR

Löscht gelöschte Pixelzeilen, ohne zu versuchen, ihre Informationen beizubehalten.

%HALBTON

Dies bietet höchste Qualität für komplexe Farbbitmaps. Die durchschnittliche Farbe des Zielpixelblocks bleibt ungefähr die gleiche wie die des Quellpixelblocks.

PBXB64-Umsetzungshinweise

GRAFISCHER STRETCH gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHER STRETCH ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHE KOPIE
  • GRAFISCHE BILDLISTE
  • GRAFISCHES RENDER
  • GRAPHIC SET STRETCHMODE
  • Hilfe zum PBXB64-Compiler


GRAPHIC WINDOW CLICK - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC WINDOW CLICK

Liest den naechsten ausstehenden Klick des ausgewaehlten Grafikfensters und gibt Klickart und Position zurueck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC WINDOW CLICK [ hwin& ] TO click& , x! , y!

Beschreibung

Liest den naechsten ausstehenden Klick des ausgewaehlten Grafikfensters und gibt Klickart und Position zurueck.

Typ: Anweisung | Kategorie: Benutzeroberflaeche, Grafik und DDT

PBXB64-Status: VERFUEGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC WINDOW CLICK prueft das ausgewaehlte GRAPHIC WINDOW auf den zuletzt seit der vorherigen Abfrage registrierten Klick. Ein Einzelklick liefert 1 in click&, ein Doppelklick liefert 2, und ohne ausstehenden Klick erhalten alle drei Ergebnisvariablen den Wert 0.

Die Ergebnisse x! und y! erhalten die gespeicherte Mausposition des ausstehenden Klicks. Nach dem Lesen von y! wird der Klickdatensatz geloescht.

Wird der optionale Handle weggelassen, wird das aktuelle GRAPHIC ATTACH-Ziel verwendet.

Validierungsnachweis

Positiv: tests/pb/test_graphic_window_click.pb ist in tests/validate.toml registriert und beweist die Klickausgabe, die Koordinatenuebernahme und das einmalige Leeren des Zustands.

Negativ: tests/pb/test_graphic_window_click_reject.pb ist in tests/validate.toml registriert und beweist, dass die fehlerhafte Form ohne TO die gezielte Diagnose bekommt.

PBXB64-Umsetzungshinweise

GRAPHIC WINDOW CLICK gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAPHIC WINDOW CLICK ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIKFENSTER - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


GRAPHIC$(CAPTION) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC$(CAPTION)

Ruft die Beschriftung von a ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET CAPTION To CaptionVar$
CaptionVar$ = GRAPHIC$(CAPTION)

Beschreibung

Ruft die Beschriftung von a ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC GET CAPTION ruft den Text (falls vorhanden) ab, der derzeit als Beschriftung des ausgewählten Grafikziels angezeigt wird. Dieser Bereich wird auch „Titelleiste“ genannt. Ein Grafikfenster ist die einzige Form eines Grafikziels, die eine Beschriftung haben kann, daher geben andere Formen eine Null-Zeichenfolge (Null-Länge) zurück.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFIK$(CAPTION) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK$(CAPTION) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIK-SET-BESCHRIFTUNG
  • GRAFIKFENSTER - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


GRAPHIC$(INKEY$) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC$(INKEY$)

Liest ein Tastaturzeichen, sofern eines bereit ist.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC INKEY$ TO InkeyVar$
InkeyVar$ = GRAPHIC$(INKEY$)

Beschreibung

Liest ein Tastaturzeichen, sofern eines bereit ist.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC INKEY$ gibt eine Zeichenfolge mit 0, 1 oder 2 Zeichen zurück, die den Status des Tastaturpuffers für das ausgewählte Grafikziel widerspiegelt. Eine Nullzeichenfolge (LEN=0) bedeutet, dass der Puffer leer ist – keine Taste gedrückt.

Eine Zeichenfolgenlänge von eins bedeutet, dass eine ASCII-Taste gedrückt wurde und die Zeichenfolge das ASCII-Zeichen enthält. Ein ASCII-Wert zwischen 1 und 31 gibt einen Steuercode an.

Eine Zeichenfolgenlänge von zwei bedeutet, dass eine erweiterte Taste gedrückt wurde. In diesem Fall hat das erste Zeichen in der Zeichenfolge den ASCII-Wert Null und das zweite ist der erweiterte Tastaturcode.

PBXB64-Umsetzungshinweise

GRAFIK$(INKEY$) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK$(INKEY$) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHE INPUT
  • GRAFISCHE INPUT FLUSH
  • GRAFIK(INSTAT)
  • GRAFISCHE ZEILENEINGABE
  • GRAPHIC$(WAITKEY$)
  • Hilfe zum PBXB64-Compiler


GRAPHIC$(WAITKEY$) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC$(WAITKEY$)

Liest ein Tastaturzeichen oder eine erweiterte Taste und wartet, bis eines bereit ist.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC WAITKEY$ [To WaitVar$ ]
GRAPHIC WAITKEY$ ([ KeyMask$ ] [, TimeOut& ]) [TO WaitVar$ ]
Function Form:
WaitVar$ = GRAPHIC$(WAITKEY$)
WaitVar$ = GRAPHIC$(WAITKEY$, [ KeyMask$ ] [, TimeOutVal& ])

Beschreibung

Liest ein Tastaturzeichen oder eine erweiterte Taste und wartet, bis eines bereit ist.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Liest ein Zeichen oder eine erweiterte Taste von der Tastatur, ohne dass etwas auf dem Bildschirm angezeigt wird. Wenn keine Daten verfügbar sind, wartet GRAPHIC WAITKEY$ auf das Eintreten eines Ereignisses. Es ist GRAPHIC INKEY$ sehr ähnlich, außer dass es darauf wartet, dass eine Eingabe verfügbar ist. Während des Wartens werden Zeitscheiben an das Betriebssystem freigegeben, um die CPU-Last zu reduzieren.

Es gibt eine Zeichenfolge aus einem oder zwei Zeichen zurück, wenn eine Taste gedrückt wurde. Wenn die TO-Klausel weggelassen wird, wird das Tastaturzeichen verworfen.

Wenn der optionale KeyMask$-Ausdruck enthalten ist, wird nur ein begrenzter Satz von Schlüsseln erkannt. KeyMask$ kann eine beliebige Anzahl von Untermasken enthalten, eine für jeden zu beobachtenden Schlüssel. Beispielsweise erkennt GRAPHIC WAITKEY$("YyNn") Groß- und Kleinbuchstaben Y oder N (für Ja/Nein-Antworten), während alle anderen Tasten ignoriert werden. Wenn KeyMask$ weggelassen wird oder eine Zeichenfolge mit der Länge Null ergibt, wird jedes Schlüsselereignis erkannt.

Wenn der optionale TimeOutVal&-Ausdruck enthalten ist, gibt er die maximale Anzahl an Millisekunden an, die auf einen Schlüssel gewartet werden soll. GRAPHIC WAITKEY$(5000) wartet maximal 5 Sekunden. Der angegebene TimeOut-Zeitraum ist nur ein ungefährer Wert, daher sollten Sie sich nicht auf die Präzision verlassen. Wenn der TimeOut-Zeitraum überschritten wird, wird eine Zeichenfolge der Länge Null zurückgegeben. Wenn der Parameter TimeOutVal& weggelassen wird oder den Wert Null (0) ergibt, wird unendlich lange gewartet. Der maximal zulässige TimeOut beträgt eine Stunde.

Eine Zeichenfolgenlänge von eins ( LEN (i$) = 1) bedeutet, dass eine Standardzeichentaste gedrückt wurde. Die Ergebniszeichenfolge enthält das Zeichen. Ein ASC()-Wert zwischen 1 und 31 gibt einen Steuercode an.

Eine Zeichenfolgenlänge von zwei (LEN(i$) = 2) bedeutet, dass eine erweiterte Taste gedrückt wurde. In diesem Fall hat das erste Zeichen in der Ergebniszeichenfolge einen ASC()-Wert von Null (0) und das zweite ist der erweiterte Tastatur-Scancode. Wenn Sie beispielsweise die Taste F1 drücken, wird CHR$ (0, 59) zurückgegeben.

PBXB64-Umsetzungshinweise

GRAFIK$(WAITKEY$) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK$(WAITKEY$) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC$(INKEY$)
  • GRAFISCHE INPUT
  • GRAFISCHE INPUT FLUSH
  • GRAFIK(INSTAT)
  • GRAFISCHE ZEILENEINGABE
  • Hilfe zum PBXB64-Compiler


GRAPHIC(CANVAS.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(CANVAS.X)

Ruft die beschreibbare Gr&ouml;&szlig;e der angeh&auml;ngten Grafik ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET CANVAS TO WidthVar! , HeightVar!
WidthVar! = GRAPHIC(CANVAS.X)
HeightVar! = GRAPHIC(CANVAS.Y)

Beschreibung

Ruft die beschreibbare Größe der angehängten Grafik ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC GET CANVAS ruft die Größe des Zeichenpuffers für das angehängte Grafikfenster, Steuerelement oder die Bitmap ab. Die Größe wird in Seiteneinheiten angegeben, sodass skalierte Werte zurückgegeben werden könnten, wenn sie mit GRAPHIC SCALE angewendet würden. Wenn das Grafikfenster oder Steuerelement FIXED ist (Standardeinstellung), entspricht die zurückgegebene Größe der CLIENT-Größe (mit Ausnahme des Skalierungsfaktors). Die CANVAS-Größe umfasst keine Beschriftung, keinen Rahmen, keine Bildlaufleisten usw. Wenn kein Grafikziel mit GRAPHIC ATTACH angehängt wurde, werden die Werte 0,0 zurückgegeben.

PBXB64-Umsetzungshinweise

GRAFIK(CANVAS.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(CANVAS.X) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(Client.X)
  • GRAPHIC(Clip.X)
  • GRAPHIC(SIZE.X)
  • GRAPHIC GET SCALE
  • GRAFISCHE MAßSTAB
  • Hilfe zum PBXB64-Compiler


GRAPHIC(Cell.Size.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(Cell.Size.X)

Rufen Sie den Charakter ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC CELL SIZE TO WidthVar! , HeightVar!
WidthVar! = GRAPHIC ( Cell.Size.X)
HeightVar! = GRAPHIC(Cell.Size.Y)

Beschreibung

Rufen Sie den Charakter ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC CELL SIZE ruft die Größe einer Zeichenzelle für die aktuelle Schriftart im angehängten Grafikziel ab. Die zurückgegebene Zeichengröße wird in PAGE UNITS angegeben und ermöglicht Ihnen die Berechnung der Anzahl der Textzeilen, die in einen bestimmten Raum passen. Der Höhenwert ist die Größe des angezeigten Zeichens, einschließlich des externen Zeilenabstands (falls vorhanden) für diese bestimmte Schriftart.

Wenn es sich bei der Schriftart um eine Schriftart mit fester Breite wie Courier New oder Lucida Console handelt, sind die zurückgegebenen Größen angesichts der für einige skalierte Einheiten erforderlichen gebrochenen Rundungsnäherungen so genau wie möglich. Wenn die Schriftart proportional ist, wie Arial oder Times New Roman, entspricht die Breite der durchschnittlichen Größe der gesamten Schriftart.

Der externe Zeilenabstand ist der vertikale Abstand vom unteren Rand eines Zeichens zum oberen Rand des darunter liegenden Zeichens. Dieser Wert wird durch die verwendete Schriftart angegeben. Der Wert kann je nach Schriftart und Punktgröße zwischen Null und einem größeren Wert variieren. Um die genaue Höhe von Zeichen ohne externen Zeilenabstand abzurufen, verwenden Sie GRAPHIC CHR SIZE .

PBXB64-Umsetzungshinweise

GRAFIK(Zellengröße.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(Zellengröße.X) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(COL)
  • GRAPHIC(Chr.Size.X)
  • GRAFIK-SET-SCHRIFTART
  • GRAPHIC(TEXT.SIZE.X...)
  • Hilfe zum PBXB64-Compiler


GRAPHIC(Chr.Size.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(Chr.Size.X)

Rufen Sie die Zeichengr&ouml;&szlig;e der Grafik ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC CHR SIZE To WidthVar!, HeightVar!
WidthVar! = GRAPHIC(Chr.Size.X)
HeightVar! = GRAPHIC(Chr.Size.Y)

Beschreibung

Rufen Sie die Zeichengröße der Grafik ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC CHR SIZE ruft die Größe eines Zeichens für die aktuelle Schriftart auf dem angehängten Grafikziel ab. Die zurückgegebene Zeichengröße wird in Seiteneinheiten angegeben. Der Höhenwert ist die tatsächliche Größe des angezeigten Zeichens, ohne externen Zeilenabstand (falls vorhanden) für diese bestimmte Schriftart.

Wenn es sich bei der Schriftart um eine Schriftart mit fester Breite wie Courier New oder Lucida Console handelt, sind die zurückgegebenen Größen angesichts der für einige skalierte Einheiten erforderlichen gebrochenen Rundungsnäherungen so genau wie möglich. Wenn die Schriftart proportional ist, wie Arial oder Times New Roman, entspricht die Breite der durchschnittlichen Größe der gesamten Schriftart.

Der externe Zeilenabstand ist der vertikale Abstand vom unteren Rand eines Zeichens zum oberen Rand des darunter liegenden Zeichens. Dieser Wert wird durch die verwendete Schriftart angegeben. Der Wert kann je nach Schriftart und Punktgröße zwischen Null und einem größeren Wert variieren. Um die gesamte Zeilenhöhe einschließlich des externen Zeilenabstands abzurufen, verwenden Sie stattdessen GRAPHIC CELL SIZE.

PBXB64-Umsetzungshinweise

GRAFIK (Chr.Größe.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK (Chr.Größe.X) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAPHIC(COL)
  • GRAPHIC(Cell.Size.X)
  • GRAFIK-SET-SCHRIFTART
  • GRAFIKDRUCK
  • GRAPHIC(TEXT.SIZE.X...)
  • Hilfe zum PBXB64-Compiler


GRAPHIC(Client.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(Client.X)

Rufen Sie die Clientgr&ouml;&szlig;e der ausgew&auml;hlten ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET CLIENT To WidthVar! , HeightVar!
WidthVar! = GRAPHIC(Client.X)
HeightVar ! = GRAPHIC(Client.Y)

Beschreibung

Rufen Sie die Clientgröße der ausgewählten ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC GET CLIENT ruft die physische Größe des Clientbereichs (sichtbarer Teil) des angehängten Grafikfensters oder Steuerelements ab. Die Größe wird in Pixeln oder Dialogeinheiten angegeben, je nachdem, wie sie erstellt wurde. Die zurückgegebenen Größen werden durch die Operationen GRAPHIC SCALE , VIRTUAL oder AUTOSIZE nicht verändert oder beeinflusst, da sie die physische Größe des sichtbaren Bereichs in den für seine Erstellung verwendeten Begriffen zurückgeben. Der Clientbereich enthält keine Beschriftung, keinen Rahmen, keine Bildlaufleisten usw. Wenn GRAPHIC GET CLIENT mit einer Bitmap verwendet wird, wird 0,0 zurückgegeben. Normalerweise verwenden Sie GRAPHIC GET CANVAS mit einer Bitmap oder um die Größe des Bereichs zu ermitteln, der gezeichnet werden kann. Wenn mit GRAPHIC ATTACH kein Grafikziel angehängt wurde, werden die Werte 0,0 zurückgegeben.

PBXB64-Umsetzungshinweise

GRAFIK(Client.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(Client.X) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAPHIC(CANVAS.X)
  • GRAPHIC(Clip.X)
  • GRAPHIC(SIZE.X)
  • GRAPHIC SET CLIENT
  • Hilfe zum PBXB64-Compiler


GRAPHIC(Clip.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(Clip.X)

Ruft die Gr&ouml;&szlig;e ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET CLIP TO WidthVar! , HeightVar!
WidthVar! = GRAPHIC(Clip.X)
HeightVar! = GRAPHIC(Clip.Y)

Beschreibung

Ruft die Größe ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Clipbereich eines Grafikziels ist der Bereich, in dem GRAFIKoperationen angezeigt werden können. Das heißt, der Clip-Bereich ist der Teil des Client-Bereichs, der nicht durch GRAPHIC SET CLIP geschützt (abgeschnitten) wird.

GRAPHIC GET CLIP ruft die Größe des Clipbereichs ab und weist diese Werte den durch „WidthVar!“ angegebenen Variablen zu. und HeightVar! . Die Größe wird in PAGE UNITS angegeben. Wenn kein grafisches Ziel ausgewählt ist, werden die Werte 0,0 zurückgegeben.

PBXB64-Umsetzungshinweise

GRAFIK(Clip.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(Clip.X) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(CANVAS.X)
  • GRAPHIC(Client.X)
  • GRAFIK-SET-CLIP
  • Hilfe zum PBXB64-Compiler


GRAPHIC(COL) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(COL)

Legt den n&auml;chsten fest oder ruft ihn ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC CELL = RowValue& , ColValue&
GRAPHIC CELL TO RowVar& , ColVar&
GRAPHIC COL TO ColVar&
GRAPHIC ROW TO RowVar&
ColVar& = GRAPHIC(COL)
RowVar& = GRAPHIC(ROW)

Beschreibung

Legt den nächsten fest oder ruft ihn ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC CELL wird verwendet, um die Druckposition basierend auf der Zeilen- und Spaltenposition einer Textzelle festzulegen oder abzurufen. Das ist die Position der Zeilenspalte, an der der nächste gedruckte Text angezeigt wird. Diese Operationen sind GRAPHIC GET POS und GRAPHIC SET POS sehr ähnlich, mit der Ausnahme, dass die Position in Textzeilen und -spalten und nicht in Seiteneinheiten angegeben wird. Die aktuelle Grafikposition wird in eine Zeilen- und Spaltennummer übersetzt, basierend auf der Standardzeichengröße in einer Schriftart mit fester Breite oder der durchschnittlichen Zeichengröße für eine Schriftart mit variabler Breite.

RowValue& gibt die horizontale Bildschirmzeile (beginnend bei 1) an, in der der Cursor positioniert werden soll. ColValue& gibt die vertikale Bildschirmspalte (beginnend bei 1) an, an der der Cursor positioniert werden soll. Da die Zeilen- und Spaltennummern bei eins (1) beginnen, wird die obere linke Ecke des Fensters als Zelle 1,1 betrachtet.

Die erste Form von GRAPHIC CELL verschiebt die Druckposition in die gewünschte Zeile und Spalte. Wenn ein angegebener Wert Null (0) ist, wird dieser Parameter ignoriert und diese Position wird nicht geändert.

Die zweite Form von GRAPHIC CELL ruft die aktuelle Druckposition ab und weist die Werte den durch RowVar& und ColVar& angegebenen Variablen zu. Jeder Punkt, der in eine Textzeichenzelle fällt, wird als diese Zeilen-/Spaltenposition gemeldet. Wenn sich die Grafikposition nicht in der oberen linken Ecke des Textzeichens befindet, erhalten Sie möglicherweise ungenaue oder unerwartete Ergebnisse. Dies kann auftreten, wenn Sie einen anderen Grafikvorgang als GRAFIKDRUCK ausführen, der den „Last Point Referenced“ an einer Position in der Mitte der Zelle belässt.

Mit den übrigen Formularen können Sie nur einen einzelnen Wert (entweder Zeile oder Spalte) abrufen und werden sowohl in Anweisungs- als auch in Funktionsform unterstützt.

PBXB64-Umsetzungshinweise

GRAFIK(COL) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(COL) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(Cell.Size.X)
  • GRAFIK(POS.X)
  • GRAFIK-SET-SCHRIFTART
  • GRAPHIC SET POS
  • GRAPHIC SET SCROLLTEXT
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • GRAFIK-SPLIT
  • Hilfe zum PBXB64-Compiler


GRAPHIC(DC) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(DC)

Rufen Sie das Handle des DC (Ger&auml;tekontext) f&uuml;r das ausgew&auml;hlte ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET DC TO hDC???
Function Form:
DCVar??? = GRAPHIC(DC)

Beschreibung

Rufen Sie das Handle des DC (Gerätekontext) für das ausgewählte ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das DC-Handle kann mit verschiedenen Windows-API-Funktionen verwendet werden, um spezielle Grafikoperationen im Grafikziel auszuführen. Wenn aktuell kein Grafikfenster ausgewählt ist, wird Null zurückgegeben.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFIK(DC) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(DC) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • Hilfe zum PBXB64-Compiler


GRAPHIC(LOC.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(LOC.X)

Ruft den Standort ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET LOC TO x& , y&
F unction Form:
x& = GRAPHIC(LOC.X)
y& = GRAPHIC(LOC.Y)

Beschreibung

Ruft den Standort ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Anweisung ruft den Speicherort des ausgewählten Grafikfensters ab. Wenn kein Grafikobjekt ausgewählt ist oder es sich nicht um ein Grafikfenster handelt, wird 0,0 zurückgegeben. Die Position wird in Pixel relativ zur oberen linken Ecke des Bildschirms angegeben.

PBXB64-Umsetzungshinweise

GRAFIK(LOC.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(LOC.X) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAPHIC(PPI.X)
  • GRAPHIC SET LOC
  • Hilfe zum PBXB64-Compiler


GRAPHIC(MIX) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(MIX)

Rufen Sie den Farbmischungsmodus f&uuml;r das ausgew&auml;hlte ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET MIX TO mixmode&
mixmode& = GRAPHIC(MIX)

Beschreibung

Rufen Sie den Farbmischungsmodus für das ausgewählte ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Es stehen 16 Mischmodi zur Verfügung, mit denen Sie die Zeichenfarbe mit der Farbe mischen können, die bereits am Zeichenort vorhanden ist.

%mix_Blackness

Pixel ist immer 0 (schwarz).

%mix_NotMergeSrc

Pixel ist die Umkehrung der MergeSrc-Farbe.

%mix_MaskNotSrc

Pixel ist eine Kombination der Farben, die sowohl dem Pixel als auch der Umkehrung der Quelle gemeinsam sind.

%mix_NotCopySrc

Pixel ist die Umkehrung der Stiftfarbe.

%mix_MaskSrcNot

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch der Umkehrung des Pixels gemeinsam sind.

%mix_Not

Pixel ist die Umkehrung der Pixelfarbe.

%mix_XorSrc

Pixel ist eine Kombination der Farben in der Quelle und im Pixel, jedoch nicht in beiden.

%mix_NotMaskSrc

Pixel ist die Umkehrung der MaskSrc-Farbe.

%mix_MaskSrc

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch dem Pixel gemeinsam sind.

%mix_NotXorSrc

Pixel ist die Umkehrung der XorSrc-Farbe.

%mix_Nop

Pixel bleibt unverändert.

%mix_MergeNotSrc

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%mix_CopySrc

Pixel ist die Quellfarbe (Standard).

%mix_MergeSrcNot

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%mix_MergeSrc

Pixel ist eine Kombination aus der Quellfarbe und der Pixelfarbe.

%mix_Whiteness

Pixel ist immer 1 (weiß).

PBXB64-Umsetzungshinweise

GRAFIK(MIX) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(MIX) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIK-SET-MIX
  • Hilfe zum PBXB64-Compiler


GRAPHIC(PPI.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(PPI.X)

Rufen Sie die Aufl&ouml;sung des Anzeigeger&auml;ts in Punkten pro Zoll ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET PPI TO XVar& , YVar&
XVar& = GRAPHIC(PPI.X)
YVar& = GRAPHIC(PPI.Y)

Beschreibung

Rufen Sie die Auflösung des Anzeigegeräts in Punkten pro Zoll ab.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Auflösung wird immer in Pixel angegeben. Diese Anweisung ist besonders nützlich, wenn Sie Elemente wie Lineale und Diagramme auf eine repräsentative physische Größe zeichnen möchten. Es gibt 25,4 Millimeter pro Zoll, also dividieren Sie einfach durch 25,4, um von Pixel pro Zoll in Pixel pro Millimeter umzurechnen.

„Repräsentative physische Größe“ bedeutet, dass das tatsächliche Bild einer bestimmten physischen Größe nahe kommen kann, jedoch von Faktoren wie der Windows-Standard-PPI-Einstellung, dem DPI-zu-PPI-Verhältnis des Treibers und sogar der Einstellung des Monitors abhängt. Mithilfe der Ergebnisse von GRAPHIC GET PPI können Sie ein repräsentatives Grafikbild erstellen, das gespeichert und später im beabsichtigten Maßstab auf präziseren Geräten ausgegeben werden kann, beispielsweise auf einem Windows-Drucker mit höherer Auflösung.

PBXB64-Umsetzungshinweise

GRAFIK(PPI.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(PPI.X) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFISCHER ANHANG
  • GRAFISCHE MAßSTAB
  • Hilfe zum PBXB64-Compiler


GRAPHIC(SIZE.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(SIZE.X)

Ruft die Gesamtgr&ouml;&szlig;e der ausgew&auml;hlten Grafik ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET SIZE To WidthVar& , HeightVar&
WidthVar& = GRAPHIC(SIZE.X)
HeightVar& = GRAPHIC(SIZE.Y)

Beschreibung

Ruft die Gesamtgröße der ausgewählten Grafik ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC GET SIZE ruft die gesamte physische Größe des ausgewählten Grafikfensters oder Steuerelements ab. Die Größe wird in Pixeln oder Dialogeinheiten angegeben, je nachdem, wie sie erstellt wurde. Die Größe umfasst immer etwaige Beschriftungen, Rahmen, Bildlaufleisten usw. Wenn kein grafisches Ziel angehängt ist, werden die Werte 0,0 zurückgegeben.

PBXB64-Umsetzungshinweise

GRAFIK(GRÖSSE.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(GRÖSSE.X) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(CANVAS.X)
  • GRAPHIC(Client.X)
  • GRAPHIC(Clip.X)
  • GRAFIK(LINIEN)
  • GRAFIKSATZGRÖSSE
  • Hilfe zum PBXB64-Compiler


GRAPHIC(TEXT.SIZE.X...) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(TEXT.SIZE.X...)

Berechnen Sie die Gr&ouml;&szlig;e des Textes

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC TEXT SIZE txt$ TO WidthVar! , HeightVar!
Function Form:
WidthVar! = GRAPHIC(TEXT.SIZE.X, txt$ )
HeightVar! = GRAPHIC(TEXT.SIZE.Y, txt$ )

Beschreibung

Berechnen Sie die Größe des Textes

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Anweisung berechnet die Gesamtgröße des gedruckten Textes basierend auf der aktuellen Schriftart für das Grafikziel. Die zurückgegebenen Größen werden in Seiteneinheiten angegeben.

Dies ermöglicht Ihnen eine einfache Berechnung der passenden Druckposition, insbesondere bei Verwendung einer Proportionalschrift.

PBXB64-Umsetzungshinweise

GRAFIK(TEXT.GRÖSSE.X...) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(TEXT.GRÖSSE.X...) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • SCHRIFTART NEU
  • GRAPHIC(COL)
  • GRAPHIC(Cell.Size.X)
  • GRAPHIC(Chr.Size.X)
  • GRAFIKDRUCK
  • GRAFIK-SET-SCHRIFTART
  • GRAFISCHE MAßSTAB
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • GRAFIK-SPLIT
  • Hilfe zum PBXB64-Compiler


GRAPHIC(View.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(View.X)

Ruft die Position des ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET VIEW To WidthVar! , HeightVar!
WidthVar! = GRAPHIC(View.X)
HeightVar! = GRAPHIC(View.Y)

Beschreibung

Ruft die Position des ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ruft die Position des Ansichtsfensters auf einem virtuellen Grafikziel ab. Die Größe wird in Seiteneinheiten angegeben. Wenn kein grafisches Ziel ausgewählt oder kein virtuelles Fenster erstellt wurde, werden die Werte 0,0 zurückgegeben.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

PBXB64-Umsetzungshinweise

GRAFIK(Ansicht.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK(Ansicht.X) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAFIK-SET-ANSICHT
  • GRAPHIC SET VIRTUAL
  • Hilfe zum PBXB64-Compiler


GRAPHIC(WORDWRAP) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(WORDWRAP)

Ruft den Status der Grafik ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET WORDWRAP TO WrapVar&
WrapVar& = GRAPHIC(WORDWRAP)

Beschreibung

Ruft den Status der Grafik ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC GET WORDWRAP ruft den Status des Zeilenumbruchmodus ab und weist ihn der durch WrapVar& angegebenen Variablen zu. Wenn der WordWrap-Modus aktiviert ist, wird der Wert true (ungleich Null) zugewiesen. Wenn es deaktiviert ist, wird stattdessen der Wert false (Null) zugewiesen. Der zurückgegebene Wert spiegelt den Status des Grafikziels wider, das derzeit an den Grafikstream angehängt ist.

Mit dem WordWrap-Modus können Sie steuern, wie PowerBASIC Text auf einem Grafikziel druckt, wenn dieser das Ende einer Zeile erreicht. Da ein Grafikziel auf Ganzseitenbasis arbeitet, wird standardmäßig Text ignoriert, der über das Zeilenende hinaus gedruckt wird. Dies kann programmgesteuert mit GRAPHIC SET WORDWRAP geändert werden.

Wenn der WordWrap-Modus aktiviert ist, wirkt er sich nur auf GRAFIKDRUCK-Vorgänge aus. Wenn GRAPHIC PRINT versucht, ein Wort über das Ende einer Zeile hinaus anzuzeigen, wird das gesamte Wort automatisch in die erste Spalte der nächsten Zeile umgebrochen.

PBXB64-Umsetzungshinweise

GRAFIK (WORDWRAP) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK (WORDWRAP) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(COL)
  • GRAPHIC(WRAP)
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • GRAFIK-SPLIT
  • Hilfe zum PBXB64-Compiler


GRAPHIC(WRAP) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC(WRAP)

Ruft den Status der Grafik ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC GET WRAP TO WrapVar&
WrapVar& = GRAPHIC(WRAP)

Beschreibung

Ruft den Status der Grafik ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GRAPHIC GET WRAP ruft den Status des Wrap-Modus ab und weist ihn der durch WrapVar& angegebenen Variablen zu. Wenn der Wrap-Modus aktiviert ist, wird der Wert true (ungleich Null) zugewiesen. Wenn es deaktiviert ist, wird stattdessen der Wert false (Null) zugewiesen. Der zurückgegebene Wert spiegelt den Status des Grafikziels wider, das derzeit an den Grafikstream angehängt ist.

Mit dem Wrap-Modus können Sie steuern, wie PowerBASIC Text auf einem Grafikziel druckt, wenn dieser das Ende einer Zeile erreicht. Da ein Grafikziel auf Ganzseitenbasis arbeitet, wird standardmäßig Text ignoriert, der über das Zeilenende hinaus gedruckt wird. Dies kann programmgesteuert mit GRAPHIC SET WRAP geändert werden.

Wenn der Wrap-Modus aktiviert ist, wirkt er sich nur auf GRAFIKDRUCK-Vorgänge aus. Wenn GRAPHIC PRINT versucht, ein Zeichen über das Ende einer Zeile hinaus anzuzeigen, wird es automatisch in die erste Spalte der nächsten Zeile umgebrochen.

PBXB64-Umsetzungshinweise

GRAFIK (WRAP) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFIK (WRAP) ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • GRAPHIC(COL)
  • GRAPHIC(WORDWRAP)
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • GRAFIK-SPLIT
  • Hilfe zum PBXB64-Compiler


GRAPHIC-Codegruppe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GRAPHIC-Codegruppe

Die Grafik

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

GRAPHIC DirectorWord [ params ]
GRAPHIC DirectorWord [ params ] TO ReturnVariable(s)
ReturnVariable = GRAPHIC ( DirectorWord [,params])
ReturnVariable$ = GRAPHIC$ ( DirectorWord [,params])

Beschreibung

Die Grafik

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Einige der Funktionen der GRAPHIC-Gruppe waren in früheren Versionen von PowerBASIC verfügbar, wurden jedoch jetzt erweitert. Einige grafische Prozeduren (nämlich solche, die einen einzelnen Wert zurückgeben) können in zwei Formen verwendet werden: als Anweisung mit einer TO-Klausel oder als Funktion, die als Begriff in einem Ausdruck verwendet werden kann:

GRAFIK GET LINES TO LineCountVar&

LineCountVar& = GRAPHIC(LINES)

Die beiden obigen Beispiele sind funktional identisch. Die Wahl hängt einfach von Ihren persönlichen Vorlieben ab. Wenn Sie die zweite Form verwenden (als Funktion, die einen Wert zurückgibt), kann es sich um einen Begriff in jedem beliebigen Ausdruck beliebiger Komplexität handeln. Wenn ein Funktionsformular verfügbar ist, wird es mit dem Präfix „Funktionsformular“ gekennzeichnet.

Einige Grafikprozeduren geben zwei oder mehr Werte zurück. Da es nicht möglich ist, mehrere Begriffe gleichzeitig in einen gültigen Ausdruck einzufügen, steht die Funktionsoption für sie nicht zur Verfügung.

GRAFISCHES ZIEL

Der Begriff GRAFISCHES TARGET bezieht sich auf eine grafische Bitmap, ein grafisches Steuerelement oder ein grafisches Fenster. Sie können sich ein grafisches Ziel als die Leinwand Ihres Malers vorstellen, auf der Sie eine beliebige Menge an Text und Grafiken anzeigen. Es können viele Grafikziele gleichzeitig vorhanden sein, aber jeweils nur eines ist an den Grafikstream angehängt. Das angehängte Grafikziel ist dasjenige, auf das der Grafikcode einwirkt.

Grafische Bitmap

Hierbei handelt es sich um ein nicht sichtbares Ziel, das normalerweise als Arbeitsbereich zum Erstellen eines Bildes vor der Anzeige verwendet wird. Sie können mit GRAPHIC BITMAP NEW eine neue, leere Bitmap erstellen oder mit GRAPHIC BITMAP LOAD eine aus einer Ressource oder Festplattendatei laden. An diesem Punkt kann anderer Grafikcode verwendet werden, um darauf zu reagieren.

Grafische Steuerung

Dies ist ein statisches Steuerelement/Fenster, das mit CONTROL ADD GRAPHIC in einem DDT-Dialog platziert wird. Sobald Sie dieses Steuerelement anhängen, können Sie alle Formen von Text und Grafiken darauf anzeigen.

Grafikfenster

Dabei handelt es sich um ein eigenständiges Fenster, das an einer beliebigen Stelle auf dem Desktop platziert werden kann. Es wird mit GRAPHIC WINDOW erstellt und kann sogar als grafisches Konsolenfenster verwendet werden. Sobald Sie dieses Fenster anhängen, können Sie darin alle Arten von Text und Grafiken anzeigen.

GRAFIKSTREAM

Der Graphic Stream ist die Verbindung zwischen Grafikcode und einem Grafikziel. Der Grafikstream wird erstellt, wenn Sie ein bestimmtes Ziel mit GRAPHIC ATTACH anhängen. Von diesem Moment an wirkt der gesamte Grafikcode auf das ausgewählte Ziel. Dies wird so lange fortgesetzt, bis Sie ein neues Grafikziel auswählen. In diesem Fall wird der Grafikstream zum ersten Ziel deaktiviert und ein neuer Grafikstream zum neuen Ziel erstellt.

Sie können den Grafikstream so oft auf verschiedene Grafikziele umleiten, wie es für die Logik Ihres Programms erforderlich ist.

SEITENEINHEITEN

SEITENEINHEITEN werden verwendet, um die Größe eines grafischen Elements zu messen oder eine bestimmte Position auf einem grafischen Ziel zu definieren. Sie können Seiteneinheiten als Pixel, Dialogeinheiten oder skalierte Einheiten Ihrer Wahl definieren.

Zunächst erbt jedes Grafikziel die Seiteneinheitsgröße von seinem übergeordneten Ziel: Pixel oder Dialogeinheiten. Sie können dies mit GRAPHIC SCALE in skalierte Weltkoordinaten Ihrer Wahl ändern. Sie können von Dialogeinheiten oder skalierten Einheiten zurück zu Pixeln (der genauesten Form) zurückkehren, indem Sie GRAPHIC SCALE PIXELS ausführen.

Standardmäßig wird die obere linke Ecke eines Grafikziels als X-, Y-Position 0,0 betrachtet und nach rechts oder unten größer. Die X-Achse ist horizontal, während die Y-Achse vertikal ist. Immer wenn eine X-, Y-Position angegeben wird, wird zuerst der X-Wert angegeben. Sowohl die Grenzen als auch die Achsenrichtung können mit GRAPHIC SCALE geändert werden.

GRAFISCHE POSITION (POS)

Jedes Mal, wenn Sie Text oder Grafiken zeichnen, wird dieser an der aktuellen Grafikposition (POS) für dieses Ziel angezeigt. Nach Abschluss wird der POS auf den letzten referenzierten Punkt aktualisiert. Sie können einen relativen Abstand vom POS zeichnen (mithilfe einer STEP-Option) oder mit GRAPHIC SET POS eine völlig neue Position festlegen.

Die meisten PowerBASIC-Funktionen geben Grafik- und Pixelpositionen in Seiteneinheiten als X,Y an (zuerst der horizontale Term, dann der vertikale Term). Dies gilt sowohl für Grafiken als auch für Texte. Wenn Sie Text mit GRAFIKDRUCK zeichnen, definiert POS die Position der oberen linken Ecke des ersten Zeichens.

TEXTZELLE (ZEILEN-/Spaltenposition)

Um die Programmierung zu vereinfachen, geben einige Prozeduren die Textposition nach Zeile und Spalte an. In diesem Fall wird die Position in Textzellen gemessen, also dem von einem Zeichen eingenommenen Platz. Dies funktioniert gut mit Schriftarten mit fester Breite, was empfohlen wird. Wenn eine Schriftart mit variabler Breite gewählt wird, muss PowerBASIC für diese Berechnungen die durchschnittliche Zeichengröße verwenden, was zu ungenauen Ergebnissen führen kann.

Aus Gründen der Kompatibilität mit den meisten aktuellen und früheren Versionen von BASIC (einschließlich PowerBASIC) benennt Code, der auf Textzeilen und -spalten verweist, zuerst den vertikalen Begriff (Zeilen, Spalten). Zeilen und Spalten werden immer von eins aufwärts nummeriert.

PBXB64-Umsetzungshinweise

GRAFISCHE Codegruppe gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

GRAFISCHE Codegruppe ist ein GRAPHIC-Befehl fuer ein Grafikziel. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende ausgewaehltes Grafikobjekt bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Zielauswahl

GRAPHIC-Seiten sollen immer sagen, welches Ziel gerade aktiv ist: ein Grafikfenster, ein Bitmap oder ein anderes ausgewähltes Ziel. Das Beispiel sollte die Auswahl mit GRAPHIC ATTACH herstellen, eine Zeichnung ausführen und zeigen, dass alle Folgeaufrufe auf genau diesem Ziel arbeiten.

Koordinatensystem und Zustand

Geben Sie an, welche Einheiten gelten und wie sich der Ursprung verhält. Wenn eine Seite mit Pixeln, client area oder gespeicherten Zeichenzuständen arbeitet, muss das Beispiel die Wirkung mit einem Ruecklese-Aufruf wie GRAPHIC GET PIXEL, GRAPHIC GET SCALE oder einer vergleichbaren Pruefung sichtbar machen.

Siehe auch

  • Grafische Befehle
  • Grafiken
  • Hilfe zum PBXB64-Compiler


GUID$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GUID$

Gibt einen 16-Byte (128-Bit) Globally Unique Identifier zur&uuml;ck (

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

id$ = GUID$[()]
id$ = GUID$(guidtext$)

Beschreibung

Gibt einen 16-Byte (128-Bit) Globally Unique Identifier zurück (

Typ:Funktion |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die GUID$-Funktion ohne Parameter (oder einen Null-String-Parameter mit der Länge Null) gibt eine neue, eindeutige 16-Byte-String-GUID (Globally Unique Identifier) zurück. Diese GUID kann als neue Klassenkennung oder Schnittstellenkennung oder für einen anderen Zweck verwendet werden, bei dem eine eindeutige Kennung erforderlich sein kann, beispielsweise für einen einmaligen Verschlüsselungsschlüssel.

Wenn guidtext$ angegeben ist, untersucht GUID$ eine Textzeichenfolge, konvertiert die erste menschenlesbare GUID im Standardformat, die es findet, und gibt eine 16-Byte-Binärzeichenfolge zurück. Diese 16-Byte-Zeichenfolge enthält die interne GUID-Darstellung als 128-Bit-Datenelement.

Um gültig zu sein, muss die GUID-Zeichenfolge in guidtext$ string genau 32 hexadezimale Ziffern enthalten, optional durch Leerzeichen oder Bindestriche getrennt, die jedoch insgesamt in geschweifte Klammern eingeschlossen sein müssen. Beispiel: „{01234567-89AB-CDEF-FEDC-BA9876543210}“.

Die GUID$-Funktion ist die logische Ergänzung zur GUIDTXT$-Funktion.

Die Rückgabezeichenfolge kann einer dynamischen Zeichenfolge oder einer Zeichenfolge fester Länge von mindestens 16 Bytes oder (typischerweise) einer GUID-Variablen zugewiesen werden. Weitere Informationen zum Erstellen von GUID-Variablen finden Sie unter DIM.

Einschränkungen

Wenn Fehler auftreten, gibt GUID$ anstelle der 16-Byte-GUID-Zeichenfolge eine Nullzeichenfolge (Nulllänge) zurück. GUID$ kann auch in String-Equate-Zuweisungen verwendet werden, sofern eine explizite, für Menschen lesbare GUIDTXT$-Argumentzeichenfolge zugewiesen wird. Zum Beispiel:

$AppGuid = GUID$("{01234567-89AB-CDEF-FEDC-BA9876543210}")

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • CLSID$
  • GUIDTXT$
  • Wie werden GUIDs verwendet?
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • Was ist COM?
  • LET-Anweisung (mit Objekten)
  • OBJEKT
  • ZIEL
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


GUIDTXT$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

GUIDTXT$

Gibt einen f&uuml;r Menschen lesbaren 38-Byte-Globally Unique Identifier zur&uuml;ck (

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

id$ = GUIDTXT$( guid16$ )

Beschreibung

Gibt einen für Menschen lesbaren 38-Byte-Globally Unique Identifier zurück (

Typ:Funktion |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die GUIDTXT$-Funktion verwendet einen Zeichenfolgenparameter guid16$, der genau 16 Byte lang sein muss (und eine 128-Bit-GUID-Zeichenfolge darstellt) und gibt eine 38-Byte-GUID-Textzeichenfolge zurück. guid16$ ist normalerweise eine GUID-Variable, kann aber auch eine dynamische Zeichenfolge oder eine Zeichenfolge fester Länge usw. sein.

Die GUIDTXT$-Funktion ist die logische Ergänzung zur GUID$-Funktion.

Einschränkungen

Wenn Fehler auftreten, gibt GUIDTXT$ anstelle der 38-Byte-GUID-Textzeichenfolge eine Nullzeichenfolge (Nulllänge) zurück.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • CLSID$
  • GUID$
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • LET-Anweisung (mit Objekten)
  • OBJEKT
  • ZIEL
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


HEADER GET COUNT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

HEADER GET COUNT

Bearbeiten Sie ein HEADER-Steuerelement, um Daten festzulegen/abzurufen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

HEADER SEND hWin , ID& , Msg& , wParam& , lParam& [TO ResultVar& ]

Beschreibung

Bearbeiten Sie ein HEADER-Steuerelement, um Daten festzulegen/abzurufen.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die HEADER-Anweisung wird zur Kommunikation mit einem HEADER-Steuerelement verwendet, um verschiedene Datentypen festzulegen oder abzurufen. Während Sie ein benutzerdefiniertes Header-Steuerelement für Ihre eigenen Zwecke erstellen können, besteht die häufigste Verwendung darin, mit dem HEADER-Steuerelement zu kommunizieren, das in jedes LISTVIEW-Steuerelement eingebettet ist.

Um mit einem LISTVIEW HEADER zu kommunizieren, verwenden Sie LISTVIEW GET HEADERID, um die Werte für die Parameter hWin und ID& abzurufen. Andernfalls würden diese Parameter wie bei jedem anderen Steuerelement zugewiesen.

HEADER GET COUNT hWin , ID& TO CountVar&

Ruft die Anzahl der Elemente in einem Header-Steuerelement ab. Wenn die Operation erfolgreich war, wird der Zählwert der durch CountVar& angegebenen Variablen zugewiesen. Wenn die Operation fehlschlägt, wird CountVar& stattdessen der Wert -1 zugewiesen.

HEADER GET ITEM hWin , ID& , Index& , ItemPtr [TO ResultVar& ]

Ruft eine HD_Item-Struktur ab, die ein Element in einem Header-Steuerelement beschreibt. Index& definiert das abzurufende Element (1=erstes, 2=zweite usw.). ItemPtr ist die Adresse einer zu füllenden HD_Item-Struktur. Wenn der Vorgang erfolgreich ist, wird der durch ResultVar& angegebenen Variablen true zugewiesen. Wenn dies fehlschlägt, wird stattdessen false zugewiesen.

HEADER SEND hWin , ID& , Msg& , wParam& , lParam& [TO ResultVar& ]

Eine durch Msg& angegebene Fensternachricht wird zusammen mit nachrichtenabhängigen Parametern (falls vorhanden) an das HEADER-Steuerelement gesendet. Wenn ein Ergebnis zurückgegeben wird, wird es der durch ResultVar& angegebenen Variablen zugewiesen.

HEADER SET ITEM hWin , ID& , Index& , ItemPtr [TO ResultVar& ]

Legt die Attribute des angegebenen Elements in einem Header-Steuerelement fest. Index& definiert das festzulegende Element (1=erstes, 2=zweite usw.). ItemPtr ist die Adresse einer HD_Item-Struktur, die die Attribute definiert. Wenn der Vorgang erfolgreich ist, wird der durch ResultVar& angegebenen Variablen true zugewiesen. Wenn dies fehlschlägt, wird stattdessen false zugewiesen.

CONTROL SET HEADER hDlg , id& , item& , Text$ [TO ResultVar&]

Legt den angezeigten Text für ein Header-Steuerelement fest. Artikelnummern sind einsbasiert. Wenn das Ziel-Header-Steuerelement noch kein Element an dieser Position hat, fügt PBXB64 es ein. Wenn TO angegeben wird, erhält die Ergebnisvariable 1 für Erfolg und 0 für Fehler.

PBXB64-Implementierungshinweise

PBXB64 implementiert HEADER GET COUNT, HEADER GET ITEM, HEADER SEND und HEADER SET ITEM mit eingebetteten Common-Control-Laufzeithilfsprogrammen. GET ITEM und SET ITEM übergeben den HDITEM-Zeiger des Aufrufers direkt an das Header-Steuerelement. Diese Formulare werden von test_header_forms.pb abgedeckt, einschließlich eines Textpuffer-Roundtrips durch den Aufruferspeicher.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • LISTVIEW DELETE COLUMN
  • Hilfe zum PBXB64-Compiler


HEADERBUILD$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

HEADERBUILD$

Build a single HTTP header line.

Kategorie: Allgemeine Referenz

Syntax

result$ = HEADERBUILD$(key$, value$)

Beschreibung

Build a single HTTP header line.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_headerbuild.html, damit Benutzer HEADERBUILD$ direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Build a single HTTP header line.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

HEADERBUILD$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HEADERBUILD$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


HERMITE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

HERMITE

Kategorie: Orthogonale Polynome | Status: V22 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = HERMITE( degree, x )

Beschreibung

Kategorie: Orthogonale Polynome | Status: V22 verifiziert

Semantik

Liefert das Hermite-Polynom der Physiker H_degree(x) als DOUBLE. Die Rekursion beginnt mit H0=1 und H1=2x.

Operanden und Grenzen

Der Grad muss eine nichtnegative Ganzzahl bis 100000 sein. Normale Numerik, feste Wide-Integer, UNL und UNF verwenden den numerischen DOUBLE-Weg. Eine beliebig genaue Ausgabe wird nicht behauptet.


HEX$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

HEX$

Konvertieren Sie einen ganzzahligen Wert in eine hexadezimale Zeichenfolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = HEX$( IntVal [, Digits [, LeadSpaces [, TrailSpaces ]]])

Beschreibung

Konvertieren Sie einen ganzzahligen Wert in eine hexadezimale Zeichenfolge

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

IntVal is a numeric expression in the range of a 64-bit Quad Integer (-9223372036854775808 to +9223372036854775807). Any fractional part of the value is rounded. The result string is always formatted as an integral number using all the significant digits in IntVal . It is never expressed in scientific notation.

Wenn Digits 0 ist (oder nicht angegeben ist), werden dem numerischen Feld keine führenden Zeichen hinzugefügt. Wenn Digits eine positive Zahl größer als 0 ist, werden der Ergebniszeichenfolge führende Nullen vorangestellt, um die gewünschte Länge zu erreichen. Wenn Digits eine negative Zahl ist, werden führende Leerzeichen hinzugefügt, um die absolute Länge zu erreichen. Die Ziffern können im Bereich von -16 bis +16 liegen.

LeadSpaces specifies additional leading spaces to be prepended, regardless of the length of the numeric portion of the string.

TrailSpaces specifies additional trailing spaces to be appended to the end of the string.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

HEX$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HEX$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.

Siehe auch

  • BIN$
  • DEC$
  • FORMAT$
  • OCT$
  • STR$ ? PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • USING$
  • VAL ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


HI - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

HI

Extrahieren Sie den signifikantesten (h&ouml;herwertigen) Teil eines Integrals

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result = HI( DataType , value )

Beschreibung

Extrahieren Sie den signifikantesten (höherwertigen) Teil eines Integrals

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der von HI zurueckgegebene Wert ist ohne Vorzeichen, wenn DataType BYTE, WORD, DWORD oder PTR ist, und mit Vorzeichen, wenn DataType INTEGER oder LONG ist. value darf bis zur doppelten Groesse des angegebenen Datentyps reichen. Fuer PTR gibt PBXB64 das hohe DWORD des 64-Bit-Werts zurueck.

b = HI(BYTE, n)

w = HI(WORD, n)

dw = HI(PTR, p)

Einschränkungen

PBXB64 unterstuetzt sowohl die moderne Syntax HI(DataType, value) als auch die alten Hilfsnamen HIBYT, HIINT und HIWRD. Das fokussierte Regressionsbeispiel ist examples/basic/test_hi_lo_mak_typed.pb.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • LO
  • MAK
  • Hilfe zum PBXB64-Compiler


Hinzufügen von Steuerelementen zum Dialogfeld - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Hinzufügen von Steuerelementen zum Dialogfeld - Hilfe zum PBXB64-Compiler

Sobald der Dialog erstellt wurde, k&ouml;nnen wir ihm Steuerelemente hinzuf&uuml;gen. F&uuml;r unser Beispiel f&uuml;gen wir ein Textfeld hinzu, in das der Benutzer seinen Namen eingeben kann, und f&uuml;gen au&szlig;erdem zwei BUTTON-Steuerelemente (&#8222;OK&ldquo; und &#8222;Abbrechen&ldquo;) hinzu:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Sobald der Dialog erstellt wurde, können wir ihm Steuerelemente hinzufügen. Für unser Beispiel fügen wir ein Textfeld hinzu, in das der Benutzer seinen Namen eingeben kann, und fügen außerdem zwei BUTTON-Steuerelemente („OK“ und „Abbrechen“) hinzu:

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

STEUERUNG TEXTBOX, HDLG, IdText hinzufügen

, "", 14, 21, 134, 12, Style&, exStyle&

CONTROL ADD BUTTON, hDlg, 1, „&OK“, 44, 38, 40, 14, %BS_DEFAULT oder %WS_TABSTOP CALL Ok

CONTROL ADD BUTTON, hDlg, 2, „&Cancel“, 90, 38, 40, 14 CALL Cancel

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Historisches Thema nicht verfuegbar - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Historisches Thema nicht verfuegbar

Dieser Link stammt aus historischer PowerBASIC-Dokumentation. Er ist keine verifizierte PBXB64-Funktionsseite und wird daher nicht als Implementierungsbehauptung ausgeliefert.

Kategorie: Allgemeine Referenz

Beschreibung

Dieser Link stammt aus historischer PowerBASIC-Dokumentation. Er ist keine verifizierte PBXB64-Funktionsseite und wird daher nicht als Implementierungsbehauptung ausgeliefert.

Verwenden Sie Befehlsindex und Sprachreferenzen, um Funktionen mit aktuellem PBXB64-Vertrag und Testbelegen zu finden.

Zurueck zum Befehlsindex


HMACSHA256$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

HMACSHA256$

Berechnet einen HMAC-SHA-256-Digest aus Schluessel und Nachricht.

Kategorie: Allgemeine Referenz

Syntax

digest$ = HMACSHA256$(key$, message$)

Beschreibung

Berechnet einen HMAC-SHA-256-Digest aus Schluessel und Nachricht.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen deterministischen String-Helfer. Kodierungsfunktionen liefern transformierten Text zurueck, waehrend Hash-Funktionen feste, kleingeschriebene Hex-Digests liefern.

Grenzen

Dokumentieren Sie hier nur die getesteten Byte- oder String-Transformationen. Wenn es einen Rueckwaerts-Helfer gibt, pruefen Sie ihn separat, statt Symmetrie aus der Vorwaertsform abzuleiten.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

HMACSHA256$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HMACSHA256$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer hashing-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input bytes, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


HMACSHA512$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

HMACSHA512$

Berechnet einen HMAC-SHA-512-Digest aus Schluessel und Nachricht.

Kategorie: Allgemeine Referenz

Syntax

digest$ = HMACSHA512$(key$, message$)

Beschreibung

Berechnet einen HMAC-SHA-512-Digest aus Schluessel und Nachricht.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen deterministischen String-Helfer. Kodierungsfunktionen liefern transformierten Text zurueck, waehrend Hash-Funktionen feste, kleingeschriebene Hex-Digests liefern.

Grenzen

Dokumentieren Sie hier nur die getesteten Byte- oder String-Transformationen. Wenn es einen Rueckwaerts-Helfer gibt, pruefen Sie ihn separat, statt Symmetrie aus der Vorwaertsform abzuleiten.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

HMACSHA512$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HMACSHA512$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer hashing-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input bytes, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


HOST ADDR - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

HOST ADDR - Hilfe zum PBXB64-Compiler

&Uuml;bersetzen Sie einen Hostnamen in einen entsprechenden

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

HOST ADDR [ hostname$ ] TO ip&
HOST ADDR( index& ) TO ip&

Beschreibung

Übersetzen Sie einen Hostnamen in einen entsprechenden

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hostname$ ist der Name eines Computers im Netzwerk oder ein Domänenname wie „powerbasic.com“. Wenn hostname$ die Länge Null hat oder nicht angegeben ist, wird die primäre IP-Adresse des aktuellen Computers zurückgegeben.

ip& erhält die IP-Adresse des angegebenen Hostnamens. ip& kann ein REGISTER oder eine Speichervariable sein.

Es ist möglich, dass ein Computer mehr als eine IP-Adresse hat. Wenn Ihr Computer beispielsweise über eine Netzwerkkarte verfügt und Sie über ein Modem ins Internet eingewählt werden, verfügt Ihr Computer über zwei IP-Adressen. Durch Verwendung der indizierten Form der Anweisung:

HOST ADDR(index&) TO ip&

Sie können die erste IP-Adresse mit index& = 1 abrufen, die zweite mit index& = 2 usw. Wenn ip& bei der Rückgabe null (0) enthält, sind auf diesem Computer keine weiteren IP-Adressen abzurufen.

Eine numerische IP-Adresse kann mit dem folgenden Code einfach in eine IP-Adresszeichenfolge mit Punkten umgewandelt werden:

DIM p AS BYTE PTR

HOST ADDR „localhost“ TO ip&

p = VARPTR(ip&)

a$ = USING$("#_.#_.#_.#", @p, @p[1], @p[2], @p[3])

' gibt „127.0.0.1“ zurück

Einschränkungen

Um die IP-Adresse des aktuellen Computers zu erhalten, muss mindestens ein Socket geöffnet sein, oder Sie müssen zuerst den Namen des Computers mithilfe der HOST NAME-Anweisung ermitteln.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • HOSTNAME
  • TCP- und UDP-Kommunikation
  • TCP OPEN
  • UDP OPEN
  • Hilfe zum PBXB64-Compiler


HOSTNAME - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

HOSTNAME

&Uuml;bersetzen Sie eine

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

HOST NAME [ ip& ] TO hostname$

Beschreibung

Übersetzen Sie eine

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ip& ist die IP-Adresse, die Sie suchen möchten. Wenn ip& null (0) ist oder nicht angegeben ist, wird der Name des aktuellen Computers zurückgegeben. hostname$ erhält den Namen des Hosts, der der IP-Adresse entspricht.

Um eine IP-Adresse in einen Internetdomänennamen zu übersetzen, muss Ihr Computer mit einem DNS-Server im Internet oder lokalen Intranet verbunden sein.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • HOST ADDR - Hilfe zum PBXB64-Compiler
  • TCP- und UDP-Kommunikation
  • TCP OPEN
  • UDP OPEN
  • Hilfe zum PBXB64-Compiler


HTTPCLOSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

HTTPCLOSE

Close an HTTP client handle.

Kategorie: Allgemeine Referenz

Syntax

status = HTTPCLOSE(handle)

Beschreibung

Close an HTTP client handle.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_httpclose.html, damit Benutzer HTTPCLOSE direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Close an HTTP client handle.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

HTTPCLOSE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HTTPCLOSE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer HTTP client-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit HTTPCLOSE frei.

Eingaberegeln

Pruefen Sie den HTTP handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


HTTPOPEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

HTTPOPEN

Open an HTTP client handle.

Kategorie: Allgemeine Referenz

Syntax

handle = HTTPOPEN(url$, timeout_ms)

Beschreibung

Open an HTTP client handle.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_httpopen.html, damit Benutzer HTTPOPEN direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Open an HTTP client handle.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

HTTPOPEN gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HTTPOPEN gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer HTTP client-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit HTTPCLOSE frei.

Eingaberegeln

Pruefen Sie den HTTP handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


HTTPREQUEST - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

HTTPREQUEST

Send an HTTP request and return the response.

Kategorie: Allgemeine Referenz

Syntax

response$ = HTTPREQUEST(handle, method$, path$, headers$, body$)

Beschreibung

Send an HTTP request and return the response.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_httprequest.html, damit Benutzer HTTPREQUEST direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Send an HTTP request and return the response.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

HTTPREQUEST gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

HTTPREQUEST gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer HTTP client-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit HTTPCLOSE frei.

Eingaberegeln

Pruefen Sie den HTTP handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


HYPOT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

HYPOT

Gibt die Hypotenuse zweier Argumente zurueck.

Kategorie: Allgemeine Referenz

Syntax

y = HYPOT( x_expression, y_expression )

Beschreibung

Gibt die Hypotenuse zweier Argumente zurueck.

Typ: Funktion | Kategorie: Mathematik und Numerik

PBXB64-Status: VERFUEGBAR

Beschreibung

HYPOT berechnet die Quadratwurzel aus der Summe der quadrierten Argumente.

PBXB64 akzeptiert INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL ueber den bestehenden Befehl. Das Ergebnis ist Gleitkomma. UNL wird intern verarbeitet; nach der Umwandlung gelten Gleitkomma-Genauigkeit und -Bereich.

Validierung

tests/pb/test_math_wide_unl.pb prueft HYPOT mit Wide-Integer und UNL. Verwenden Sie den Test math_wide_unl aus tests/validate.toml.

Zurueck zum Befehlsindex


ID-Bindung - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ID-Bindung

Wie k&ouml;nnen wir also die Dinge beschleunigen?

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wie können wir also die Dinge beschleunigen?

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Nun, der größte Engpass ist die Namenssuche, und damit können wir umgehen! Normalerweise kennen wir alle METHOD-Definitionen zur Kompilierungszeit. Wenn wir dem Compiler die DispIDs und Parameterinformationen zur Kompilierungszeit mitteilen können, kann ein ganzer Schritt eingespart werden! Das nennt man ID-BINDING der Dispatch-Schnittstelle. Wir erstellen eine einfache IDBIND-Schnittstelle, die wie folgt geschrieben ist:

SCHNITTSTELLEN-IDBIND MyDispIfaceName

MEMBER CALL Method1<77> (WideVal AS LONG, WideText AS WSTRING)

MITGLIEDERAUFRUF Methode2<78> ()

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


IDISPINFO-Pseudoobjekt - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

IDISPINFO-Pseudoobjekt

Legt zus&auml;tzliche Informationen zu bestimmten fest und gibt diese zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

info& = IDISPINFO.CODE
info& = IDISPINFO.CONTEXT
info$ = IDISPINFO.DESC$
info$ = IDISPINFO.HELP$
info$ = IDISPINFO.SOURCE$
IDISPINFO.CLEAR
IDISPINFO.SET code& [, source$ , desc$ , help$ , context& ]

Beschreibung

Legt zusätzliche Informationen zu bestimmten fest und gibt diese zurück

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

GET-Eigenschaften

IDISPINFO.CODE

Wenn OBJRESULT %DISP_E_EXCEPTION ist, gibt diese Get-Eigenschaft einen langen ganzzahligen Wert zurück, der einen spezifischeren Fehlercode darstellt. Wenn der Wert kleiner als 65536 ist, wird er als WCODE bezeichnet, der normalerweise von der Anwendung definiert wird, wenn er in 32-Bit- oder 64-Bit-Windows gefunden wird. Viel häufiger sind die größeren Werte, die als SCODE bekannt sind. Diese werden normalerweise von Windows definiert, obwohl anwendungsdefinierte Werte zulässig sind. Die häufigsten sind:

%E_UNEXPECTED = &H8000FFFF&

%E_NOTIMPL = &H80004001&

%E_NOINTERFACE = &H80004002&

%E_POINTER = &H80004003&

%E_ABORT = &H80004004&

%E_FAIL = &H80004005&

%E_ACCESSDENIED = &H80070005&

%E_HANDLE = &H80070006&

%E_OUTOFMEMORY = &H8007000E&

%E_INVALIDARG = &H80070057&

IDISPINFO.CONTEXT

Wenn OBJRESULT %DISP_E_EXCEPTION ist, gibt diese Get-Eigenschaft einen langen ganzzahligen Wert zurück, der den Kontext des Themas in der Hilfedatei (IDISPINFO.HELP$) darstellt. Diese Eigenschaft ist nur gültig, wenn IDISPINFO.HELP eine gültige Zeichenfolge zurückgibt.

IDISPINFO.DESC$

Wenn OBJRESULT %DISP_E_EXCEPTION ist, gibt diese Get-Eigenschaft eine Zeichenfolge zurück, die eine textuelle, für Menschen lesbare Beschreibung des Status enthält. Es soll vom Kunden gelesen werden. Wenn keine Beschreibung verfügbar ist, wird eine Nullzeichenfolge mit der Länge null zurückgegeben.

IDISPINFO.HELP$

Wenn OBJRESULT %DISP_E_EXCEPTION ist, gibt diese Get-Eigenschaft eine Zeichenfolge zurück, die Laufwerk, Pfad und Dateinamen einer Hilfedatei mit weiteren Informationen zu diesem bestimmten Statuscode enthält. Wenn keine Hilfe verfügbar ist, wird eine Nullzeichenfolge mit der Länge null zurückgegeben.

IDISPINFO.PARAM

Wenn OBJRESULT entweder %DISP_E_PARAMNOTFOUND oder %DISP_E_TYPEMISMATCH ist, gibt diese Get-Eigenschaft einen langen ganzzahligen Wert zurück, der die Parameternummer des ersten Parameters darstellt, der die erforderlichen Anforderungen nicht erfüllt hat. Der Wert wird auf Null indiziert, was der Standardnummerierungskonvention für Dispatch-Parameter entspricht. Der erste Parameter ist 0, der zweite ist 1 und so weiter.

IDISPINFO.SOURCE$

Wenn OBJRESULT %DISP_E_EXCEPTION ist, gibt diese Get-Eigenschaft eine Zeichenfolge zurück, die eine textuelle, für Menschen lesbare Beschreibung der Quelle der Ausnahme enthält. Normalerweise ist dies der Anwendungsname. Wenn keine Quelle verfügbar ist, wird eine Nullzeichenfolge mit der Länge null zurückgegeben.

SET-Eigenschaften

IDISPINFO.CLEAR

Löscht alle Eigenschaften, die möglicherweise durch die vorherige Ausführung von IDISPINFO.SET in diesem Thread festgelegt wurden.

IDISPINFO.SET

Diese Anweisung kann in einer METHOD oder PROPERTY auf einer Dual-Schnittstelle ausgeführt werden, sodass der aufrufende Code zusätzliche Informationen über Dispatch-Ausnahmebedingungen erhalten kann. Diese fünf Datenelemente werden in der EXCEPINFO-Struktur an den Aufrufer zurückgegeben, sodass sie mit IDISPINFO GET Properties oder anderen Funktionen in anderen Programmiersprachen abgerufen werden können. Diese Daten sind nur bei Verwendung der Dispatch-Schnittstelle verfügbar. Es ist für direkte Methoden nicht verfügbar. Der erste Parameter ( code& ) ist erforderlich und muss mit dem Wert identisch sein, den Sie mit METHOD OBJRESULT oder PROPERTY OBJRESULT zurückgeben. Das eigentliche OBJRESULT wird dann in %DISP_E_EXCEPTION geändert, sodass der Aufrufer weiß, dass diese Daten ebenfalls abgerufen werden müssen. Beachten Sie, dass die letzten vier Parameter optional sind.

Einschränkungen

IDISPINFO.CODE wird immer auf einen Wert ungleich Null gesetzt, wenn ein OBJECT-Vorgang fehlschlägt, auch für HRESULTs, die keine Ausnahme sind, wie z %DISP_E_MEMBERNOTFOUND. Die übrigen GET-Eigenschaften (SOURCE$, DESC$, HELP$, CONTEXT, PARAM) werden nur ausgefüllt, wenn OBJRESULT vorhanden ist %DISP_E_EXCEPTION.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • OBJEKT
  • OBJRESULT
  • OBJRESULT$ " PBXB64-Compiler-Hilfe
  • What Is An Object Anyway?
  • Was ist VERSAND?
  • Hilfe zum PBXB64-Compiler


IDISPINFO.CLEAR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

IDISPINFO.CLEAR

Loescht den eingebetteten IDISPINFO-Pseudoobjektzustand.

Kategorie: Allgemeine Referenz

Syntax

IDISPINFO.CLEAR

Beschreibung

Loescht den eingebetteten IDISPINFO-Pseudoobjektzustand.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. IDISPINFO-Seiten dokumentieren einen kleinen Laufzeitzustand fuer COM-aehnliche Felder. Das Beispiel soll zeigen, welche Felder geschrieben, geloescht und nach einem Reset zurueckgegeben werden und ob unveraenderte Felder eine Teilaktualisierung ueberleben.

Verwendung im Programm

IDISPINFO-Seiten dokumentieren einen kleinen Laufzeitzustand fuer COM-aehnliche Felder. Das Beispiel soll zeigen, welche Felder geschrieben, geloescht und nach einem Reset zurueckgegeben werden und ob unveraenderte Felder eine Teilaktualisierung ueberleben.

Fehlerfaelle

Nur der dokumentierte Feldsatz ist hier im Umfang. Zusaetzliche Editor- oder COM-Metadaten muessen zuerst belegt werden, bevor die Seite breitere Unterstuetzung behaupten kann, und Aufrufer sollen nicht von einer vollstaendigen IDispatch-Implementierung ausgehen.

Zustandsfluss

IDISPINFO.CLEAR setzt den Helferzustand zurueck und IDISPINFO.SET fuellt den Feldsatz fuer die COM-aehnlichen Hilfeseiten. Verwenden Sie beide gemeinsam, damit das Beispiel zeigt, was geschrieben, was geloescht und was nach dem Reset zurueckgegeben wird.

Fehlerhinweise

Behandeln Sie den Helfer als kleinen Zustandsspeicher und nicht als volle COM-Metadaten-Unterstuetzung. Wenn ein Feld fehlt oder der Zustand vor der Wiederverwendung nicht geloescht wurde, sollte der Aufrufer den Zustand neu aufbauen, statt alte Werte als sinnvoll zu behandeln.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. Nur der dokumentierte Feldsatz ist hier im Umfang. Zusaetzliche Editor- oder COM-Metadaten muessen zuerst belegt werden, bevor die Seite breitere Unterstuetzung behaupten kann, und Aufrufer sollen nicht von einer vollstaendigen IDispatch-Implementierung ausgehen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


IDISPINFO.SET - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

IDISPINFO.SET

Setzt Code, Kontext, Quelle, Beschreibung und Hilfe-Felder im IDISPINFO-Laufzeitzustand.

Kategorie: Allgemeine Referenz

Syntax

IDISPINFO.SET ...

Beschreibung

Setzt Code, Kontext, Quelle, Beschreibung und Hilfe-Felder im IDISPINFO-Laufzeitzustand.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. IDISPINFO-Seiten dokumentieren einen kleinen Laufzeitzustand fuer COM-aehnliche Felder. Das Beispiel soll zeigen, welche Felder geschrieben, geloescht und nach einem Reset zurueckgegeben werden und ob unveraenderte Felder eine Teilaktualisierung ueberleben.

Verwendung im Programm

IDISPINFO-Seiten dokumentieren einen kleinen Laufzeitzustand fuer COM-aehnliche Felder. Das Beispiel soll zeigen, welche Felder geschrieben, geloescht und nach einem Reset zurueckgegeben werden und ob unveraenderte Felder eine Teilaktualisierung ueberleben.

Fehlerfaelle

Nur der dokumentierte Feldsatz ist hier im Umfang. Zusaetzliche Editor- oder COM-Metadaten muessen zuerst belegt werden, bevor die Seite breitere Unterstuetzung behaupten kann, und Aufrufer sollen nicht von einer vollstaendigen IDispatch-Implementierung ausgehen.

Zustandsfluss

IDISPINFO.CLEAR setzt den Helferzustand zurueck und IDISPINFO.SET fuellt den Feldsatz fuer die COM-aehnlichen Hilfeseiten. Verwenden Sie beide gemeinsam, damit das Beispiel zeigt, was geschrieben, was geloescht und was nach dem Reset zurueckgegeben wird.

Fehlerhinweise

Behandeln Sie den Helfer als kleinen Zustandsspeicher und nicht als volle COM-Metadaten-Unterstuetzung. Wenn ein Feld fehlt oder der Zustand vor der Wiederverwendung nicht geloescht wurde, sollte der Aufrufer den Zustand neu aufbauen, statt alte Werte als sinnvoll zu behandeln.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. Nur der dokumentierte Feldsatz ist hier im Umfang. Zusaetzliche Editor- oder COM-Metadaten muessen zuerst belegt werden, bevor die Seite breitere Unterstuetzung behaupten kann, und Aufrufer sollen nicht von einer vollstaendigen IDispatch-Implementierung ausgehen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


IF/END IF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

IF/END IF

Erstellen Sie IF/THEN/ELSE-Konstrukte mit mehreren Zeilen und/oder Bedingungen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

IF integer_expression THEN
[ statements ]
[ELSEIF integer_expression THEN
[ statements ]]
[ELSE
END IF

Beschreibung

Erstellen Sie IF/THEN/ELSE-Konstrukte mit mehreren Zeilen und/oder Bedingungen.

Typ:Schlüsselwort |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Beim Ausführen von IF-Blöcken wird zunächst die Wahrheit des Ganzzahlausdrucks in der anfänglichen IF-Anweisung überprüft. Wenn die Auswertung FALSE (Null) ergibt, wird jede der folgenden ELSEIF-Anweisungen der Reihe nach geprüft. Es können beliebig viele ELSEIF-Anweisungen vorhanden sein. Sobald festgestellt wird, dass eine davon TRUE (ungleich Null) ist, führt PowerBASIC die Anweisung(en) nach dem zugehörigen THEN und vor dem nächsten ELSEIF oder ELSE aus.

Die Ausführung springt dann direkt nach dem abschließenden END IF zur Anweisung, ohne weitere Tests durchzuführen. Wenn keiner der Testausdrücke TRUE ergibt, werden die Anweisungen in der ELSE-Klausel (die optional ist) ausgeführt.

Beachten Sie, dass in einem IF-Block nichts nach dem THEN-Schlüsselwort stehen darf. So unterscheidet der Compiler einen IF-Block von einer herkömmlichen IF-Anweisung. Es darf auch nichts in derselben Zeile wie ELSE stehen (außer Bemerkungen).

IF-Blöcke können verschachtelt werden; Das heißt, jede der Anweisungen nach einem der THENs kann IF-Blöcke enthalten. Obwohl es dem Compiler egal ist, wird die Klarheit des Quellcodes verbessert, indem die von jedem Test gesteuerten Anweisungen um einige Leerzeichen eingerückt werden, wie im Beispiel gezeigt.

IF-Blöcke müssen mit einer passenden END IF-Anweisung abgeschlossen werden. Beachten Sie, dass die Anweisung END IF ein Leerzeichen erfordert, die Anweisung ELSEIF jedoch nicht.

Hinweise zur Kurzschlussbewertung von PowerBASIC und ihren möglichen Nebenwirkungen finden Sie in der IF-Anweisung.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' controlflow_if_else_1
FUNCTION PBMAIN() AS LONG
  LOCAL x AS LONG
  IF 1 = 1 THEN
    x = 1
  ELSE
    x = 0
  END IF
  IF (x) <> (1) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • CHOOSE
  • EXIT � PBXB64-Compiler-Hilfe
  • IIF
  • MAX ? PBXB64-Compiler-Hilfe
  • MIN ? PBXB64-Compiler-Hilfe
  • SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe
  • SWITCH


IIF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

IIF

Gibt einen von zwei Werten basierend auf a zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

var = IIF( num_expression , truepart , falsepart )
var& = IIF&( num_expression , truepart& , falsepart& )
var$ = IIF$( num_expression , truepart$ , falsepart$ )

Beschreibung

Gibt einen von zwei Werten basierend auf a zurück

Typ:Funktion |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] für numerisches IIF; IIF$ implementiert und getestet

Beschreibung

IIF erwartet Teile jeden numerischen Typs. IIF& erwartet Teile, die für den Typ Long Integer optimiert sind. IIF$ erwartet Teile vom Typ String.

Wenn num_expression TRUE (ungleich Null) ergibt, wird der wahre Teil zurückgegeben, andernfalls wird der falsche Teil zurückgegeben. num_expression wird als normaler boolescher PowerBASIC-Ausdruck ausgewertet, der bei Bedarf eine Auswertung von Kurzschlussausdrücken ermöglicht.

IIF(1 AND 2, 3, 4) würde den wahren Teil (3) zurückgeben, da beide Begriffe in num_expression WAHR sind und daher als WAHR ausgewertet werden.

Um eine bitweise Auswertung von num_expression zu erzwingen, schließen Sie es in Klammern ein. Beispielsweise würde IIF$( (1 AND 2), „True“, „False“) „False“ zurückgeben.

IIF% gilt als gültiges Synonym für IIF&.

Einschränkungen

Der Compiler erzeugt bedingte Sprünge, sodass der nicht ausgewählte Zweig bei einfachen Literal- und Variablenargumenten zur Laufzeit nicht ausgeführt wird. Da Funktionsargumente vor dem IIF/IIF$-Aufruf ausgewertet werden, können Ausdrücke mit Funktionsaufrufen und Seiteneffekten dennoch auf beiden Seiten ausgewertet werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CHOOSE
  • SWITCH
  • Hilfe zum PBXB64-Compiler


IMAGELIST BITMAP HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

IMAGELIST BITMAP HINZUFÜGEN

Erstellen und verwalten Sie ein IMAGELIST-Objekt zur Verwendung mit anderen Funktionen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

IMAGELIST ADD BITMAP hLst , hBmp [, hMsk ] [TO dataValue& ]
IMAGELIST ADD BITMAP hLst , Bmp$ [, Msk$ ] [TO dataValue& ]
IMAGELIST ADD ICON hLst , hIcn [TO dataValue& ]
IMAGELIST ADD ICON hLst , Icn$ [TO dataValue& ]
IMAGELIST ADD MASKED hLst , hBmp , rgbColor& [TO dataValue& ]
IMAGELIST ADD MASKED hLst , Bmp$ , rgbColor& [TO dataValue& ]
IMAGELIST GET COUNT hLst TO dataValue&
IMAGELIST KILL hLst
IMAGELIST NEW BITMAP|ICON nWidth& , nHeight& , depth& , initial& TO hLst
IMAGELIST SET OVERLAY hLst , image& , overlay&

Beschreibung

Erstellen und verwalten Sie ein IMAGELIST-Objekt zur Verwendung mit anderen Funktionen.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64 implementiert IMAGELIST mit eingebetteten Win32-Common-Control-Laufzeitaufrufen. Die zertifizierte Regression umfasst die Erstellung, das Hinzufügen von Bitmap-Handles, das Ersetzen von Bitmaps, die Bildfreigabe, das Abrufen der Anzahl, die Zuweisung von Overlays, die Zerstörung und das Anhängen an CONTROL-, LISTVIEW-, TREEVIEW-, TAB- und TOOLBAR-Steuerelemente.

Beschreibung

Eine IMAGELIST ist eine Struktur, die eine beliebige Anzahl grafischer Bilder enthält, entweder Bitmaps oder Symbole, jedoch keine Mischung. Alle Bilder werden automatisch in den Typ, die Größe und die Farbtiefe konvertiert, die beim Erstellen der IMAGELIST angegeben wurden. Eine Bitmap (Dateityp *.BMP) ist ein einfarbiges Bild, während ein Symbol (Dateityp *.ICO) Transparenz unterstützt, indem es sowohl eine Farbbitmap als auch eine Maskenbitmap enthält. Die Maskenbitmap ist ein monochromes Bild (ein Bit pro Pixel), wobei jedes „gesetzte“ Bit ein Pixel beschreibt, das transparent bleibt. Die IMAGELIST-Struktur kann am besten als eine Menge oder ein Array von Bildern beschrieben werden. Sie können die Bilder einzeln nach Indexnummer abrufen oder die gesamte IMAGELIST an ein Steuerelement übergeben, das sie benötigt (LISTVIEW usw.).

Mit IMAGELIST NEW wird zunächst eine leere ImageList erstellt. Anschließend werden mit IMAGELIST ADD Bilder hinzugefügt, bis die Struktur vollständig ist. Wenn Sie ein Bild hinzufügen, das breiter als die durch nWidth& angegebene Größe ist, wird das Bild in mehrere Bitmaps aufgeteilt, die jeweils nacheinander hinzugefügt werden. Wenn eine IMAGELIST an ein Steuerelement wie LISTVIEW angehängt wird, wird sie normalerweise automatisch zerstört, wenn das Steuerelement zerstört wird. Weitere Informationen finden Sie in der Kontrolldokumentation. Wenn nicht, müssen Sie es explizit mit IMAGELIST KILL zerstören.

IMAGELIST BITMAP HINZUFÜGEN hLst , hBmp [, hMsk ] [TO dataValue& ]

Ein Bild wird der durch hLst angegebenen ImageList hinzugefügt. Bei dieser Syntax wird das Bild durch ein Handle ( hBmp ) spezifiziert, es muss also in den Speicher geladen worden sein (z. B. mit string ). Wenn es sich bei der ImageList um einen ICON-Typ handelt, wird auch eine zweite Maskenbitmap durch ein Handle (hMsk) angegeben. Wenn die TO-Klausel enthalten ist, wird die Indexposition der ersten hinzugefügten Bitmap (beginnend mit 1) der durch dataValue& bezeichneten Variablen zugewiesen. Wenn die Operation fehlschlägt, wird der Wert 0 zugewiesen.

IMAGELIST BITMAP HINZUFÜGEN hLst , Bmp$ [, Msk$ ] [TO dataValue& ]

Ein Bild wird der durch hLst angegebenen ImageList hinzugefügt. Bei dieser Syntax wird das Bild durch eine Namenszeichenfolge (Bmp$) angegeben, bei der es sich um den Namen einer eingebetteten Ressource oder einer Festplattendatei handelt. Wenn die Namenszeichenfolge einen Punkt enthält, wird davon ausgegangen, dass es sich um eine Festplattendatei handelt. Andernfalls wird versucht, sie von einer Ressource zu laden. Wenn sie nicht gefunden wird, wird davon ausgegangen, dass es sich um eine Festplattendatei handelt. Wenn der Bildname eine numerische Ressource ist, sollte er mit einem führenden Nummernzeichen („#12345“) beschrieben werden. Wenn es sich bei der ImageList um einen ICON-Typ handelt, wird auch eine zweite Maskenbitmap durch ein Handle (hMsk) angegeben. Wenn die TO-Klausel enthalten ist, wird die Indexposition der ersten hinzugefügten Bitmap (beginnend mit 1) der durch dataValue& bezeichneten Variablen zugewiesen. Wenn die Operation fehlschlägt, wird der Wert 0 zugewiesen.

IMAGELIST SYMBOL HINZUFÜGEN hLst , hIcn [TO dataValue& ]

Der durch hLst angegebenen ImageList wird ein Symbol hinzugefügt. Bei dieser Syntax wird das Symbol durch ein Handle ( hIcn ) angegeben, es muss also in den Speicher geladen worden sein (z. B. mit dem WinApi LoadIcon). Wenn die TO-Klausel enthalten ist, wird die Indexposition des ersten hinzugefügten Symbols (beginnend mit 1) der durch dataValue& bezeichneten Variablen zugewiesen. Wenn die Operation fehlschlägt, wird der Wert 0 zugewiesen.

IMAGELIST ADD ICON hLst , Icn$ [TO dataValue& ]

Der durch hLst angegebenen ImageList wird ein Symbol hinzugefügt. Bei dieser Syntax wird das Symbol durch eine Namenszeichenfolge ( Icn$ ) angegeben, bei der es sich um den Namen einer eingebetteten Ressource oder einer Festplattendatei handelt. Wenn die Namenszeichenfolge einen Punkt enthält, wird davon ausgegangen, dass es sich um eine Festplattendatei handelt. Andernfalls wird versucht, sie von einer Ressource zu laden. Wenn sie nicht gefunden wird, wird davon ausgegangen, dass es sich um eine Festplattendatei handelt. Wenn der Symbolname eine numerische Ressource ist, sollte er mit einem führenden Nummernzeichen („#12345“) beschrieben werden. Wenn die TO-Klausel enthalten ist, wird die Indexposition der ersten hinzugefügten Bitmap (beginnend mit 1) der durch dataValue& bezeichneten Variablen zugewiesen. Wenn die Operation fehlschlägt, wird der Wert 0 zugewiesen.

IMAGELIST MASKIERTE hLst, hBmp, rgbColor& [TO dataValue&] HINZUFÜGEN

Der durch hLst angegebenen Symbol-ImageList wird eine Bitmap hinzugefügt. Bei dieser Syntax wird die Bitmap durch ein Handle ( hBmp ) spezifiziert, sie muss also in den Speicher geladen worden sein (z. B. mit GRAPHIC BITMAP). Der Parameter rgbColor& gibt die RGB-Farbe an, die in der Bitmap zur Angabe transparenter Pixel verwendet wird. Jedes Pixel dieser Farbe wird in die Farbe Schwarz geändert und eine Maskenbitmap wird erstellt, um die transparenten Pixel zu beschreiben. Wenn die TO-Klausel enthalten ist, wird die Indexposition des ersten hinzugefügten Symbols (beginnend mit 1) der durch dataValue& bezeichneten Variablen zugewiesen. Wenn die Operation fehlschlägt, wird der Wert 0 zugewiesen.

IMAGELIST MASKIERTE HINZUFÜGEN hLst , Bmp$ , rgbColor& [TO dataValue& ]

Der durch hLst angegebenen Symbol-ImageList wird eine Bitmap hinzugefügt. Bei dieser Syntax wird die Bitmap durch eine Namenszeichenfolge ( Bmp$ ) angegeben, bei der es sich um den Namen einer eingebetteten Ressource oder einer Festplattendatei handelt. Wenn die Namenszeichenfolge einen Punkt enthält, wird davon ausgegangen, dass es sich um eine Festplattendatei handelt. Andernfalls wird versucht, sie von einer Ressource zu laden. Wenn sie nicht gefunden wird, wird davon ausgegangen, dass es sich um eine Festplattendatei handelt. Wenn der Bildname eine numerische Ressource ist, sollte er mit einem führenden Nummernzeichen („#12345“) beschrieben werden. Der Parameter rgbColor& gibt die RGB-Farbe an, die in der Bitmap zur Angabe transparenter Pixel verwendet wird. Jedes Pixel dieser Farbe wird in die Farbe Schwarz geändert und eine Maskenbitmap wird erstellt, um die transparenten Pixel zu beschreiben. Wenn die TO-Klausel enthalten ist, wird die Indexposition der ersten hinzugefügten Bitmap (beginnend mit 1) der durch dataValue& bezeichneten Variablen zugewiesen. Wenn die Operation fehlschlägt, wird der Wert 0 zugewiesen.

IMAGELIST GET COUNT hLst TO dataValue&

Die Anzahl der Bilder in der IMAGELIST wird abgerufen und der durch dataValue& angegebenen langen Ganzzahlvariablen zugewiesen.

IMAGELIST KILL hLst

Die durch hLst angegebene IMAGELIST wird zerstört. Der gesamte zugewiesene Speicher und alle Ressourcen werden freigegeben.

BILDLISTE NEUES BITMAP|ICON nWidth& , nHeight& , Depth& , initial& TO hLst

Eine neue ImageList-Struktur wird erstellt. Wenn Sie BITMAP angeben, wird jedes von Ihnen hinzugefügte Bild als einzelne Bitmap gespeichert. Wenn Sie ICON angeben, wird jedes von Ihnen hinzugefügte Bild als zwei Bitmaps gespeichert, um transparente Bereiche zu unterstützen. Die Parameter nWidth& und nHeight& geben die Größe jedes Bildes in Pixeln an. Der Parameter Depth& gibt die Farbtiefe in Bits pro Pixel (4,8,16,24,32) an. Eine Tiefe von 4 bietet 16 Farben, 8 bietet 256 Farben usw. Der Parameter initial& gibt die anfängliche Größe der ImageList an. Obwohl diese Zahl überschritten werden kann, ist es am effizientesten, den Speicherplatz zum Zeitpunkt der Erstellung genau zuzuweisen. Die Variable hLst erhält das Handle der neu erstellten ImageList oder Null, wenn der Vorgang fehlgeschlagen ist.

IMAGELIST RELEASE hLst , image& [TO dataValue&]

Der einsbasierte Bildindex image& wird aus der ImageList entfernt. Wenn TO angegeben wird, erhält dataValue& 1 für Erfolg und 0 für Fehler. Wenn Sie image& als 0 übergeben, werden alle Bilder freigegeben.

IMAGELIST REPLACE BITMAP hLst , image& , hBmp [, hMsk ] [TO dataValue&]

Der einsbasierte Bildindex image& wird durch das Bitmap-Handle hBmp und das optionale Masken-Bitmap hMsk ersetzt. Wenn TO angegeben wird, erhält dataValue& 1 für Erfolg und 0 für Fehler.

IMAGELIST REPLACE BITMAP hLst , image& , Bmp$ [, Msk$ ] [TO dataValue&]

Der einsbasierte Bildindex image& wird durch eine von der Festplatte geladene Bitmap ersetzt. Wenn TO angegeben wird, erhält dataValue& 1 für Erfolg und 0 für Fehler.

IMAGELIST SET OVERLAY hLst , image& , overlay&

Das durch die Indexnummer image & angegebene Bild wird als Overlay-Bild deklariert. Der Parameter overlay& muss im Bereich von 1 bis 15 liegen und wird später verwendet, um dieses bestimmte Overlay-Bild abzurufen und/oder anzugeben.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • GRAFISCHES BITMAP-LADEN
  • GRAFISCHE BITMAP NEU
  • GRAFISCHE BILDLISTE
  • LISTVIEW DELETE COLUMN
  • TAB DELETE
  • TREEVIEW DELETE
  • XPRINT IMAGELIST - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


IN - FOR-EACH-Quelle angeben - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

IN - FOR-EACH-Quelle angeben

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

FOR EACH item IN collection

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Klauselkeyword, das die Schleifenvariable von der Quelle in FOR EACH trennt.

Praktische Verwendung

Verwenden Sie IN in FOR EACH-Formen, um die Iterationsvariable von der Quelle zu trennen. Der Keyword-Einsatz ist hier an die getestete FOR EACH-Schreibweise gebunden, nicht an einen freien Ausdrucksoperator.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwenden Sie diese Keywords nicht ausserhalb der getesteten FOR EACH-Schreibweise, wenn die Quelle nicht als Iterationsform gemeint ist. Sonst wird der Parser einen anderen Ausdrucksweg erwarten.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


INCR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

INCR

Eine Variable um 1 erh&ouml;hen; a erh&ouml;hen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

INCR variable

Beschreibung

Eine Variable um 1 erhöhen; a erhöhen

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Variable kann ein Zeiger oder eine Zeigervariable sein. Wenn INCR mit einer numerischen Variablen verwendet wird, wird 1 zur numerischen Variablen addiert.

Wenn INCR mit einer Zeigervariablen selbst verwendet wird, wird der Wert des Zeigers um die Größe des Zeigerziels erhöht.

Wenn INCR für das Ziel eines numerischen Zeigers verwendet wird (d. h. INCR @IntPtr), wird der Wert des Ziels um 1 erhöht.

Wenn beispielsweise ein Zeiger auf ein Array gegeben ist, in dem der Zeiger auf das Element 1000 zielt, würde die Anwendung von INCR auf den Zeiger dazu führen, dass der Zeiger auf das Element 1001 zielt. Die tatsächliche vom Zeiger gehaltene Adresse wäre um zwei gestiegen, da das Ziel des Zeigers eine Ganzzahl mit einer Breite von zwei Bytes ist.

Wenn umgekehrt INCR für das Ziel dieses Integer-Zeigers verwendet würde, würde der Wert des Elements selbst um 1 erhöht.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DECR
  • LET
  • Hilfe zum PBXB64-Compiler


Indizes - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Indizes

Einzelne Array-Elemente werden mit Indizes oder Indexnummern ausgew&auml;hlt, bei denen es sich um lange Ganzzahlausdr&uuml;cke in Klammern rechts vom Namen einer Array-Variablen handelt. Zum Beispiel Zahlungen (3) und p

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Einzelne Array-Elemente werden mit Indizes oder Indexnummern ausgewählt, bei denen es sich um lange Ganzzahlausdrücke in Klammern rechts vom Namen einer Array-Variablen handelt. Zum Beispiel Zahlungen (3) und p

Typ:Schlüsselwort |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

' Diese DIM-Anweisung deklariert ein Array mit 56 Elementen

' mit tiefgestellten Grenzen von 0 bis 55.

DIM-Zahlungen1(55) ALS WÄHRUNG

' Diese DIM-Anweisung deklariert ein Array mit 56 Elementen

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


Inline-Assembler-Codesyntax - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Inline-Assembler-Codesyntax

Die ASM-Anweisung oder als &#8222;Abk&uuml;rzung&ldquo; das Ausrufezeichen (!) wird verwendet, um Assembler-Anweisungen (oder Opcodes) in Ihr BASIC-Programm einzuf&uuml;gen. Sie m&uuml;ssen am Anfang jeder Zeile stehen, die c

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die ASM-Anweisung oder als „Abkürzung“ das Ausrufezeichen (!) wird verwendet, um Assembler-Anweisungen (oder Opcodes) in Ihr BASIC-Programm einzufügen. Sie müssen am Anfang jeder Zeile stehen, die c

Typ:Schlüsselwort |Kategorie:Inline-Assembler

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Der durch ASM-Anweisungen generierte Maschinencode wird direkt mit dem Code Ihrer BASIC-Anweisungen abgeglichen, sodass die Ausführung Ihres Programms genau so abläuft, wie es in Ihrem Quellcode erscheint. Sie sollten unter keinen Umständen versuchen, eine Unterfunktion, eine Funktion, eine Methode oder eine Eigenschaft vorzeitig mit einem RET-Befehl zu beenden, da dies mit Sicherheit zum Scheitern führt. Wenn Sie eine Routine irgendwann vor der End Sub/Function/Method/Property-Anweisung beenden müssen, springen Sie stattdessen zu einer Marke am Ende der Prozedur.

Verwenden Sie Assemblersprache in Ihrem Code

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


INPUTBOX$ - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

INPUTBOX$ - Hilfe zum PBXB64-Compiler

INPUTBOX$ zeigt ein Dialogfeld mit einer Eingabeaufforderung an. INPUTBOX$ wartet darauf, dass der Benutzer Text eingibt und den Dialog akzeptiert oder abbricht. INPUTBOX$ gibt den Inhalt des Textfelds zur&uuml;ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

sResult$ = INPUTBOX$( prompt$ [[, title$ ], default$ ] [, xpos% , ypos% ])

Beschreibung

INPUTBOX$ zeigt ein Dialogfeld mit einer Eingabeaufforderung an. INPUTBOX$ wartet darauf, dass der Benutzer Text eingibt und den Dialog akzeptiert oder abbricht. INPUTBOX$ gibt den Inhalt des Textfelds zurück.

Typ:Funktion |Kategorie: Utilities

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Prompt$ ist die Textaufforderung, die im Dialogfeld „Eingabefeld“ angezeigt wird.

Title$ ist die Überschrift für das Eingabefeld-Dialogfeld und optional.

Default$ ist der Standard-Ergebnistext, der im Bearbeitungsbereich des Eingabefeld-Dialogfelds angezeigt wird, und ist optional.

xpos% und ypos% geben die Position auf dem Bildschirm an, an der das Eingabefeld angezeigt werden soll, in Dialogeinheiten. Wenn diese nicht angegeben sind, wird das Eingabefeld-Dialogfeld zentriert auf dem Bildschirm angezeigt.

Einschränkungen

Der zurückgegebene Zeichenfolgenwert ist auf 255 Zeichen begrenzt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • MSGBOX " PBXB64-Compiler-Hilfe
  • TXT Pseudo Object
  • Hilfe zum PBXB64-Compiler


INSTANZ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

INSTANZ

Erkl&auml;ren

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

INSTANCE variable [()] [AS type ] [, variable [()]]
INSTANCE variable [()] [, variable [()]] [, ...] AS type

Beschreibung

Erklären

Typ:Anweisung |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

INSTANCE-Anweisungen werden verwendet, um Instanzvariablen für ein Objekt zu deklarieren. Für jedes neue Objekt wird ein eindeutiger Satz von Instanzvariablen erstellt, auf die nur innerhalb dieses Objekts verwiesen werden darf. INSTANCE-Anweisungen dürfen nur am Anfang eines CLASS/END CLASS-Blocks und vor allen INTERFACE-Blöcken platziert werden.

INSTANCE akzeptiert optional eine Liste von Variablen, die jeweils durch den darauf folgenden Deskriptor definiert werden:

INSTANZ x als Ganzzahl, y als Länge

INSTANCE akzeptiert auch eine Liste von Variablen, die alle durch den einzelnen Deskriptor am Ende der Liste definiert sind;

INSTANZ aaa, bbb, ccc ALS INTEGER

INSTANZ vptr, aptr() AS LONG PTR

Um ein Array als Instanzvariable zu deklarieren, verwenden Sie einen leeren Satz Klammern in der Variablenliste: Anschließend können Sie das Array mit der DIM-Anweisung dimensionieren.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • GLOBAL ? PBXB64-Compiler-Hilfe
  • INTERFACE/END INTERFACE-Block (direkt)
  • LOCAL � PBXB64-Compiler-Hilfe
  • STATIC ? PBXB64-Compiler-Hilfe
  • THREADED
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


INTERFACE/END INTERFACE-Block (direkt) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

INTERFACE/END INTERFACE-Block (direkt)

Deklarieren Sie eine direkte

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

INTERFACE interfacename [$GUID] [AS EVENT] [AS HIDDEN]
{METHOD | PROPERTY} name [([ arguments ])] [AS type ]]
END INTERFACE

Beschreibung

Deklarieren Sie eine direkte

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die erste Zeile in einem Schnittstellenblock muss eine INHERIT-Anweisung sein. INHERIT gibt die Basisklasse oder die Benutzeroberfläche an, auf der diese neue Schnittstelle aufbaut. Es definiert die verfügbaren Basismethoden, die optionalen Benutzermethoden, die verfügbar sind, und die Aufrufkonventionen, die gelten werden. In der aktuellen Version von PowerBASIC darf Folgendes verwendet werden:

ERBEN IUnbekannt

Dies definiert eine benutzerdefinierte Schnittstelle mit nur direktem Zugriff auf die Schnittstellenmethoden. OBJRESULT (ein hResult-Wert) wird nicht unterstützt. Rückgabewerte werden normalerweise in CPU/FPU-Registern übergeben, genau wie eine benutzerdefinierte FUNCTION . Dies ist das Format, das am häufigsten für interne Objekte verwendet wird, da es Zugriff auf mehr Datentypen bietet als die anderen Formen. Sie können IUNKNOWN durch das Wort CUSTOM ersetzen, da es sich um Synonyme handelt.

IAutomation erben

Dies definiert eine Automatisierungsschnittstelle mit nur direktem Zugriff auf die Schnittstellenmethoden. OBJRESULT (ein hResult-Wert) wird immer unterstützt. Rückgabewerte werden als versteckter, letzter Parameter übergeben (automatisch, von PowerBASIC). Parameter und Rückgabewerte sind auf COM-Datentypen beschränkt. Ein als Rückgabewert oder Parameter verwendeter benutzerdefinierter Typ wird in ein BYVAL DWORD konvertiert. Dies ist das am häufigsten verwendete Format für COM-Objekte, die keinen Zugriff auf die IDispatch-Schnittstelle erfordern. Sie können das Wort AUTOMATION durch IAUTOMATION ersetzen, da es sich um Synonyme handelt.

IDispatch erben

Dies definiert eine Dual-Schnittstelle, die sowohl direkten Zugriff als auch Dispatch-Zugriff auf die Schnittstellenmethoden bietet. OBJRESULT (ein hResult-Wert) wird immer unterstützt. Diese Schnittstelle erbt von IAutomation, sodass die Aufrufkonventionen mit denen von IAutomation identisch sind, wenn sie für den direkten Zugriff verwendet werden. Sie können IDISPATCH durch das Wort DUAL ersetzen, da es sich um Synonyme handelt.

INHERIT < UserClass >, < UserInterface >

Dadurch wird eine geerbte, vom Benutzer geschriebene Schnittstelle definiert, sodass die neue Schnittstelle die Basisklasse (IUnknown, IDispatch usw.) sowie alle Methoden und Eigenschaften implementiert. Es ist notwendig, sowohl die Klasse als auch den Schnittstellennamen anzugeben, die geerbt werden sollen, da mehrere Implementierungen einer bestimmten Schnittstelle möglich sind.

INTERFACE/END INTERFACE-Anweisungen schließen die METHOD- und PROPERTY-Definitionen ein, die eine Klasse bilden. Es gibt zwei Formen des INTERFACE-/END-INTERFACE-Blocks. Wenn es außerhalb eines CLASS-Blocks erscheint, handelt es sich lediglich um eine Deklaration der Schnittstelle, ähnlich wie DECLARE-Anweisungen für Funktionen verwendet werden:

SCHNITTSTELLENNAME [$GUID] [AS EVENT]

ERBEN IUnbekannt

METHODE MyMethod(xyz AS LONG)

PROPERTY GET MyProp() AS STRING

ENDSCHNITTSTELLE

Das obige Formular wird verwendet, um eine Schnittstelle zu deklarieren, die in einer anderen .EXE- oder .DLL-Datei implementiert ist, auf die hier jedoch über COM-Dienste zugegriffen wird. Es kann auch zur zusätzlichen Selbstdokumentation interner Klassen verwendet werden. Wenn es innerhalb eines CLASS-Blocks erscheint, handelt es sich um die Implementierung der Methoden/Eigenschaften für die Klasse. Die Schnittstellenimplementierung muss genau mit jeder vorherigen Schnittstellendeklaration übereinstimmen.

KLASSENNAME [$GUID] [AS COM]

SCHNITTSTELLENNAME [$GUID] [AS HIDDEN]

INHERIT iUnknown

METHODE MyMethod(xyz AS LONG)

[Anweisungn]

ENDMETHODE

PROPERTY GET MyProp() AS STRING

[Anweisungn]

END EIGENTUM

ENDSCHNITTSTELLE

END DER KLASSE

Der Name und die optionale $GUID werden vom Programmierer bereitgestellt, um die Schnittstelle eindeutig zu identifizieren. Der erste Eintrag in jedem INTERFACE-Block muss die Basisklasse sein, auf der er aufbaut. Jede Schnittstelle muss letztendlich von IUnknown erben, was eine Voraussetzung ist.

Standardmäßig gilt eine Klasse als privat, sodass auf die Methoden nur aus der EXE- oder DLL-Datei zugegriffen werden kann, in der sie definiert ist. Das AS COM-Attribut der CLASS-Anweisung macht die Klasse extern für praktisch jeden Prozess verfügbar, der COM-fähig ist.

Das optionale AS HIDDEN-Attribut der INTERFACE-Anweisung verhindert, dass die Schnittstelle beim Erstellen der Typbibliothek dokumentiert wird. Wenn sie als ausgeblendet markiert ist, werden alle Verwendungen der Schnittstelle ausgeblendet, auch wenn sie in mehreren Klassen vorkommen.

Bei einer internen Klasse kann die $GUID in CLASS- und INTERFACE-Anweisungen frei weggelassen werden, da PowerBASIC sie leicht anhand ihres Namens identifizieren kann. Bei einer veröffentlichten COM-Klasse sollten Sie eine bestimmte GUID Ihrer Wahl einfügen. Wenn es weggelassen wird, wird vom Compiler eine zufällige GUID erstellt, die sich jedoch jedes Mal ändert, wenn Sie das Programm kompilieren. Dies lässt sich nur schwer mit anderen Programmen synchronisieren, die Ihr Objekt identifizieren und darauf zugreifen möchten.

Der folgende Code definiert eine duale Schnittstelle, deren Methoden sowohl für den direkten Zugriff als auch für den Dispatch-Zugriff verfügbar sind. Dies ist die Form, die Sie normalerweise für COM-Objekte verwenden, da sie die beste Kompatibilität mit verschiedenen Clientmodulen bietet.

SCHNITTSTELLE DispatchIface

IDispatch erben

METHODE MethodDef()

[Anweisungn]

ENDMETHODE

ENDSCHNITTSTELLE

Beachten Sie, dass die IDispatch-Schnittstelle selbst von IUnknown erbt, sodass letztendlich beide Schnittstellen verfügbar sind. Als zusätzlich erforderliche Basisklasse ist die IDispatch-Deklaration in den PowerBASIC-Compiler integriert.

Jede Methode und Eigenschaft in einer dualen Schnittstelle benötigt einen positiven, langen ganzzahligen Wert, um sie zu identifizieren. Dieser ganzzahlige Wert wird als DispID (Dispatch-ID) bezeichnet und intern von COM-Diensten verwendet, um die richtige Funktion auf einer Dispatch-Schnittstelle aufzurufen. Sie können eine bestimmte DispID angeben, indem Sie sie in spitze Klammern unmittelbar nach dem Methoden-/Eigenschaftsnamen in einem Schnittstellendefinitionsblock einschließen.

SCHNITTSTELLE DualIface

IDispatch erben

METHODE MethodOne <76> ()

METHODE MethodTwo <77> ()

ENDSCHNITTSTELLE

Wenn Sie keine DispID angeben, weist PowerBASIC Ihnen einen zufälligen Wert zu. Dies ist für interne Objekte in Ordnung, kann jedoch bei veröffentlichten COM-Objekten zu einem Fehler führen, da sich die DispID bei jeder Kompilierung Ihres Programms ändern kann. Es ist besonders wichtig, dass Sie für jede Methode/Eigenschaft in einer COM-Ereignisschnittstelle eine DispID angeben.

Geerbte benutzergeschriebene Schnittstellen

PowerBASIC bietet Implementierungsvererbung von vom Benutzer geschriebenen Schnittstellen. Das heißt, eine Schnittstelle kann den gesamten Code in den Methoden und Eigenschaften einer ausgewählten Schnittstelle erben. Anschließend können Sie der neuen Schnittstelle weitere Methoden und Eigenschaften hinzufügen. Wenn Sie eine vom Benutzer geschriebene Schnittstelle erben, müssen Sie sowohl den Klassennamen als auch den Schnittstellennamen angeben, da COM Ihnen ermöglicht, mehrere Implementierungen einer bestimmten Schnittstelle zu haben.

Sie können eine geerbte Methode oder Eigenschaft überschreiben, indem Sie eine Ersetzung codieren, der das Wort OVERRIDE vorangestellt ist. Es ist möglich, eine oder mehrere Prozeduren außer Kraft zu setzen, sie müssen jedoch in derselben Reihenfolge wie die Prozeduren erscheinen, die sie ersetzen.

KLASSE MyClass

SCHNITTSTELLE MyFace

IDispatch erben

METHODE aaa()

' Code...

ENDMETHODE

METHODE bbb()

' Code...

ENDMETHODE

METHODE ccc()

' Code...

ENDMETHODE

METHODE ddd()

' Code...

ENDMETHODE

ENDSCHNITTSTELLE

END DER KLASSE

KLASSE Die Klasse

SCHNITTSTELLE TheFace

ERBEN MyClass, MyFace

OVERRIDE-METHODE bbb()

' neuer Code...

ENDMETHODE

OVERRIDE-METHODE ddd()

' neuer Code...

ENDMETHODE

METHODE xxx()

' Code...

ENDMETHODE

ENDSCHNITTSTELLE

END DER KLASSE

Beachten Sie, dass im obigen Beispiel die neue Schnittstelle „TheFace“ zunächst alle vier Methoden von „MyFace“ erbt (aaa,bbb,ccc,ddd). Aufgrund der OVERRIDE-Anweisungen werden jedoch sowohl bbb() als auch ddd() durch neuere Versionen der Methoden ersetzt. Aufgrund der Natur virtueller Funktionstabellen müssen die OVERRIDE-Prozeduren in der ursprünglichen Reihenfolge bleiben. Das heißt, bbb() muss vor ddd() stehen und beide müssen vor allen hinzugefügten Methoden wie xxx() stehen.

Aufgrund der Art der Codeersetzung, die bei der Implementierungsvererbung erforderlich ist, muss die zu vererbende Schnittstelle immer physisch vor der neuen untergeordneten Schnittstelle liegen.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • INTERFACE/END INTERFACE-Block (Dispatch)
  • CLASS/END CLASS
  • INSTANZ
  • ISINTERFACE
  • LET-Anweisung (mit Objekten)
  • ME-Pseudovariable
  • METHOD/END METHOD-Anweisungen
  • MYBASE-Pseudovariable
  • PROPERTY / END PROPERTY
  • What Does An Interface Look Like?
  • Was ist Vererbung?
  • Hilfe zum PBXB64-Compiler


INTERFACE/END INTERFACE-Block (Dispatch) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

INTERFACE/END INTERFACE-Block (Dispatch)

Erkl&auml;re a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

INTERFACE IDBIND interfacename
MEMBER {CALL | GET | SET | LET} membername < dispid > ( [[OPTIONAL
[IN | OUT | INOUT]] paramname < dispid > [AS type ] [,...]] )
[AS { vartype | interface }]
[...]
END INTERFACE

Beschreibung

Erkläre a

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Um IDBinding-Dienste bereitzustellen, muss PowerBASIC in der Lage sein, die Verweise auf die DISPATCH COM-Schnittstellenmitglieder zur Kompilierungszeit vorab zu erstellen. Ohne einen Schnittstellendefinitionsblock wäre nur eine späte Bindung zur Laufzeit möglich. Late-Binding ist weniger effizient als IDBinding.

Sie können jede Methode/Eigenschaft in der Schnittstelle auflisten oder nur diejenigen, auf die im Code verwiesen wird. Sie können in beliebiger Reihenfolge erscheinen. Mitgliedsnamen können (normalerweise) reservierte Schlüsselwörter wie INPUT oder KILL usw. enthalten

Der wichtigste Aspekt eines Schnittstellenblocks besteht darin, dass er jedem Methoden-/Eigenschaftsnamen eindeutig ein Dispid zuordnet. Benannte Parameter in der Liste paramname erfordern ebenfalls einen entsprechenden dispid-Wert, ebenso wie jede Eigenschaft, die ein Objekt zurückgibt, das in einer verschachtelten Objektreferenz verwendet werden soll. Alle Dispid-Werte müssen in spitze Klammern (< und >) eingeschlossen werden und können als hexadezimale oder dezimale numerische Literale ausgedrückt werden.

Sie können die Dispid-Werte von COM-Servern mithilfe eines Objektbrowsers oder durch Lesen Ihrer Objektdokumentation nachschlagen. Sie können sogar zusätzliche Informationen zu den Typen und Rückgabewerten zu Ihrer eigenen Referenz einfügen, auch wenn der Compiler diese nicht verwendet.

Frühere Versionen von PowerBASIC-Compilern verwendeten für diese Struktur eine ältere Syntax von „INTERFACE DISPATCH interfacename“. Es wurde aktualisiert, um die Art der Beschreibung besser widerzuspiegeln. Obwohl die ältere Syntax in dieser Version erkannt wird, empfehlen wir Ihnen, das Wort DISPATCH bald auf IDBIND zu aktualisieren.

Einschränkungen

Wenn der Compiler die in einer DIM- oder LET-Anweisung angegebene Schnittstellennamendefinition nicht auflösen kann, wird entsprechend ein Kompilierungsfehler generiert.

Schnittstellenname darf kein PowerBASIC-Schlüsselwort sein. Wenn ein Schlüsselwortkonflikt auftritt, ist das Hinzufügen eines willkürlichen Präfixes akzeptabel. Beispielsweise könnte INTERFACE IDBIND Shell() in INTERFACE IDBIND MyShell() geändert werden und PowerBASIC löst die Schnittstelle weiterhin korrekt auf.

Methoden-/Eigenschafts-Mitgliedsnamenelemente können PowerBASIC-Schlüsselwörter frei verwenden, ohne dass Konflikte mit der normalen Codesyntax befürchtet werden müssen. Beispielsweise ist MEMBER CALL Open() eine gültige Syntax für eine Schnittstellenmethode.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • ID-Bindung
  • INTERFACE/END INTERFACE-Block (direkt)
  • ISINTERFACE
  • LET-Anweisung (mit Objekten)
  • Späte Bindung
  • LET-Anweisung (mit Varianten)
  • ZIEL
  • OBJEKT
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • What Is An Object Anyway?
  • Was ist VERSAND?
  • Hilfe zum PBXB64-Compiler


Interne Darstellungen von Arrays - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Interne Darstellungen von Arrays

PowerBASIC speichert Arrays in der Reihenfolge der Hauptspalten: Array (0,0) ist zuerst (am niedrigsten) im Speicher, dann Array (1,0), dann Array (2,0) und so weiter durch alle Zeilen des Arrays. Danach werden die Reihen gepflegt

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PowerBASIC speichert Arrays in der Reihenfolge der Hauptspalten: Array (0,0) ist zuerst (am niedrigsten) im Speicher, dann Array (1,0), dann Array (2,0) und so weiter durch alle Zeilen des Arrays. Danach werden die Reihen gepflegt

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Während PowerBASIC untere Grenzwerte ungleich Null unterstützt, generiert PowerBASIC den effizientesten Code, wenn der untere Grenzwertparameter weggelassen wird (d. h. das Array verwendet den standardmäßigen unteren Grenzwert von Null).

Array-Grenzwerte können zur Laufzeit über die Funktionen LBOUND und UBOUND abgerufen werden. Beschreibende Attribute eines Arrays können mit der Funktion ARRAYATTR abgerufen werden. Zu diesen Attributen gehören Informationen wie der Datentyp und die Anzahl der Dimensionen usw.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


IPowerThread.Close-Methode - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

IPowerThread.Close-Methode

Ein Thread

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

< ObjectVar >. membername ( params )
RetVal = < ObjectVar >. membername ( params )
< ObjectVar >. membername ( params ) TO ReturnVariable

Beschreibung

Ein Thread

Typ:Anweisung |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit dem Aufkommen von Multi-Core-CPUs und Multi-CPU-Computern ist es eindeutig wünschenswert, alle Informationen über einen bestimmten Thread in einer einzigen Komponente zu kapseln. Wir empfehlen, dass der gesamte neue Code ausschließlich THREAD OBJECTS und nicht die Thread-Codegruppe verwendet. Thread-Objekte bieten dem Programmierer eine viel größere Kontrolle und eine viel bessere Handhabung der Thread-Parameter.

IPowerThread-Methoden

The Dispatch ID (DispID) for each member method is displayed within angle brackets.

METHODE CLOSE() <2>

Gibt das Thread-Handle dieses Threads frei. Beachten Sie, dass ein Thread nicht gestoppt wird, wenn er noch läuft. es gibt einfach das Thread-Handle frei (d. h. die Ressourcen, die zum Verfolgen des Threads verwendet werden).

Thread-Handles sollten erst dann freigegeben werden, wenn kein Bedarf mehr besteht, andere Thread-Methoden oder -Eigenschaften zu verwenden. Wenn ein Thread nicht überwacht werden muss, kann sein Handle sofort freigegeben werden. Die Thread-Ressourcen werden automatisch freigegeben, wenn der Thread auf natürliche Weise beendet wird.

THREADCOUNT meldet weiterhin eine Thread-Liste, die Threads umfasst, deren Handle bereits freigegeben wurde. Ein Thread-ID-Wert darf nicht austauschbar mit einem Thread-Handle-Wert verwendet werden.

METHODE EQUALS( ObjectVar AS InterfaceName ) AS Long <3>

Vergleicht den Parameter ObjectVar, um festzustellen, ob er auf dasselbe Objekt wie dieses Objekt verweist. Wenn beide auf dasselbe Objekt verweisen, wird true (-1) zurückgegeben; Wenn nicht, wird false (0) zurückgegeben.

METHODE HANDLE() AS Long <4>

Ruft das Handle des Threads zur Verwendung mit Windows-API-Funktionen ab.

METHOD ID() AS Long <5>

Ruft die ID des Threads zur Verwendung mit Windows-API-Funktionen ab.

METHODE ISALIVE() AS Long <6>

Überprüft den Thread, um festzustellen, ob er derzeit „lebendig“ ist. Wenn der Thread gestartet, aber noch nicht beendet ist, wird der Wert true (-1) zurückgegeben; andernfalls wird der Wert false (0) zurückgegeben.

METHODE JOIN( ThreadObjectVar AS InterfaceName , TimeOutVal AS Long) <7>

Wartet darauf, dass der von ThreadObjectVar referenzierte Thread abgeschlossen ist, bevor die Ausführung dieses Threads fortgesetzt wird. TimeOutVal gibt die maximale Wartezeit in Millisekunden an. Wenn TimeOutVal Null (0) ist, ist die Wartezeit unendlich.

METHOD LAUNCH(ByRef Param as UDT) <8>

LAUNCH beginnt mit der Ausführung des Threads und übergibt ihm Parameterdaten. Da der Thread von einem Objekt gehostet wird, ist es nur passend, dass die Parameterdaten in der robustesten Form, einem anderen Objekt, enthalten sind.

THREADPARAM ist eine obligatorische Instanzvariable, die Sie in jeder Thread-Klasse definieren müssen. Normalerweise wird er als Schnittstellenname Ihrer Wahl deklariert:

INSTANCE ThreadParam als MyInterface

Wenn der Thread beginnt, erstellt PowerBASIC automatisch eine Kopie des LAUNCH-Parameters und weist ihn ThreadParam zu. Da es in einer Instanzvariablen gespeichert wird, ist es für Ihren gesamten Code in Ihren Mitgliedsmethoden sichtbar, bleibt jedoch vom Rest des Programms geheim. Die Verwendung eines Objekts als Parameter ist normalerweise die beste Wahl, da damit nahezu jede beliebige Anzahl von Datenelementen enthalten sein kann.

In einfacheren Fällen können Sie THREADPARAM als Zeiger, Long Integer oder Dword deklarieren. In diesem Fall müssen Sie den Startparameter mit einer Byval-Option übergeben, um die erwartete Objektvariable zu überschreiben.

INSTANCE ThreadParam als LONG

MyThread.Launch(ByVal MyNumber&)

Natürlich kann die Parameteroption „Pointer“ verwendet werden, um einen Zeiger auf eine beliebige Variable jeden Typs zu übergeben. Es könnte beispielsweise verwendet werden, um einen verwendet definierten Typ zu übergeben, wenn dies Ihren Anforderungen entspricht:

INSTANCE ThreadParam AS MyType POINTER

THREAD-METHODE MyMethod() SO LANG

xyz# = ThreadParam.member1

... anderer Code

ENDMETHODE

MyThread.Launch(ByVal VARPTR(MyType))

PROPERTY GET PRIORITY() AS Long <9>

Ruft den Prioritätswert für diesen Thread ab. Der Thread-Prioritätswert ist einer der folgenden:

%THREAD_PRIORITY_IDLE = -15

%THREAD_PRIORITY_LOWEST = -2

%THREAD_PRIORITY_BELOW_NORMAL = -1

%THREAD_PRIORITY_NORMAL = 0

%THREAD_PRIORITY_ABOVE_NORMAL = +1

%THREAD_PRIORITY_HIGHEST = +2

%THREAD_PRIORITY_TIME_CRITICAL= +15

EIGENSCHAFT SET PRIORITÄT (STUFE WIE LANG) <9>

Legt den Prioritätswert für diesen Thread fest. Der Thread-Prioritätswert muss einer der folgenden sein:

%THREAD_PRIORITY_IDLE = -15

%THREAD_PRIORITY_LOWEST = -2

%THREAD_PRIORITY_BELOW_NORMAL = -1

%THREAD_PRIORITY_NORMAL = 0

%THREAD_PRIORITY_ABOVE_NORMAL = +1

%THREAD_PRIORITY_HIGHEST = +2

%THREAD_PRIORITY_TIME_CRITICAL= +15

METHOD RESULT() AS Long <10>

Wenn der Thread beendet ist, wird der von der THREAD-METHODE zurückgegebene Ergebniswert abgerufen und an den Aufrufer zurückgegeben. Das Ergebnis kann ein beliebiger ganzzahliger Wert im Bereich einer langen Ganzzahl sein. Sie sollten jedoch die Verwendung der Zahl &H103 (dezimal 259) vermeiden, da dies der Wert ist, der von Windows verwendet wird, um anzuzeigen, dass der Thread noch ausgeführt wird.

Wenn das Ergebnis erfolgreich abgerufen wurde, wird OBJRESULT auf %S_OK (0) gesetzt. Wenn der Thread nicht beendet wurde, wird der Wert Null (0) zurückgegeben und das OBJRESULT wird auf %S_FALSE (1) gesetzt.

METHODE RESUME() AS Long <11>

Setzt die Ausführung eines angehaltenen Threads fort. Der Suspend-Zähler des Threads wird dekrementiert. Wenn er Null (0) erreicht, wird die Ausführung des Threads fortgesetzt. Wenn die Wiederaufnahme erfolgreich ist, wird der vorherige Suspend-Zähler zurückgegeben; andernfalls wird -1 zurückgegeben.

Ein Thread kann sich mit SUSPEND selbst anhalten (wodurch sich der Suspend-Zähler erhöht), aber logischerweise kann er sich nicht selbst wieder aufnehmen, da er zu diesem Zeitpunkt nicht ausgeführt wird.

PROPERTY GET STACKSIZE() AS Long <13>

Ruft die Größe des Stapels für diesen Thread ab. Wenn der zurückgegebene Wert Null (0) ist, ist die Thread-StackSize mit der des Haupt-Threads identisch.

PROPERTY SET STACKSIZE(BYVAL Long) <13>

Setzt die Größe des Stapels für diesen Thread auf den durch den Parameter angegebenen Wert. Der Wert sollte immer in Vielfachen von 64K (65536) angegeben werden. PROPERTY SET darf nur vor der Thread-Ausführung mit LAUNCH ausgeführt werden, sonst wird es ignoriert. Wenn kein PROPERTY SET STACKSIZE ausgeführt wird, wird für diesen Thread die Größe des Stacks des Hauptthreads verwendet.

METHODE SUSPEND() AS Long <14>

Unterbricht die Ausführung des Threads. Der Suspend-Zähler des Threads wird erhöht. Wenn die Unterbrechung erfolgreich war, wird der Suspend-Zähler zurückgegeben; andernfalls wird -1 zurückgegeben.

Wenn SUSPEND vor dem LAUNCH des Threads ausgeführt wird, wird der Suspend-Zähler erhöht und der nachfolgende LAUNCH wird als angehaltener Start behandelt. Das heißt, alle erforderlichen Setup-Aufgaben werden ausgeführt, der Thread wird jedoch angehalten, kurz bevor die Ausführung Ihrer THREAD-METHODE beginnt. Mit RESUME können Sie die Ausführung fortsetzen.

Ein Thread kann sich mit SUSPEND selbst anhalten (wodurch sich der Suspend-Zähler erhöht), aber logischerweise kann er sich nicht selbst wieder aufnehmen, da er im angehaltenen Zustand nicht ausgeführt wird.

METHODE TIMECREATE() AS Quad <16>

Ruft das Datum und die Uhrzeit der Thread-Erstellung ab und gibt sie als Quad-Integer-Wert zurück. Das interne Format des Werts ist das einer FILETIME-Struktur, sodass Sie ihn mit dem PowerTime-Objekt in ein für Menschen lesbares Format Monat/Tag/Jahr/Uhrzeit konvertieren können.

METHODE TIMEEXIT() AS Quad <17>

Ruft das Datum und die Uhrzeit des Thread-Exits ab und gibt sie als Quad-Integer-Wert zurück. Das interne Format des Werts ist das einer FILETIME-Struktur, sodass Sie ihn mit dem PowerTime-Objekt in ein für Menschen lesbares Format Monat/Tag/Jahr/Uhrzeit konvertieren können. Wenn der Thread noch nicht beendet wurde, ist der Rückgabewert undefiniert.

METHODE TIMEKERNEL() AS Quad <18>

Ruft die Zeit ab, die dieser Thread im Kernelmodus verbracht hat, und gibt sie als Quad-Integer-Wert zurück. Das interne Format des Werts ist das einer FILETIME-Struktur, sodass Sie ihn mit dem PowerTime-Objekt in ein für Menschen lesbares Format konvertieren können.

METHODE TIMEUSER() AS Quad <19>

Ruft die Zeit ab, die dieser Thread im Benutzermodus verbracht hat, und gibt sie als Quad-Integer-Wert zurück. Das interne Format des Werts ist das einer FILETIME-Struktur, sodass Sie ihn mit dem PowerTime-Objekt in ein für Menschen lesbares Format konvertieren können.

Einschränkungen

Funktionen aus der Thread-Code-Gruppe und THREAD-OBJEKTEN können in derselben Anwendung koexistieren. Es ist jedoch wichtig, dass sie nicht vermischt werden, wenn Sie auf einen bestimmten Thread verweisen.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • IPowerTime.AddDays-Methode
  • THREAD-Codegruppe
  • Hilfe zum PBXB64-Compiler


IPowerTime.AddDays-Methode - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

IPowerTime.AddDays-Methode

Ein PowerTime-Objekt enth&auml;lt einen Datums- und Zeitwert, der einfache Berechnungen erm&ouml;glicht. Die interne Darstellung emuliert die Windows-FILETIME-Struktur als

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein PowerTime-Objekt enthält einen Datums- und Zeitwert, der einfache Berechnungen ermöglicht. Die interne Darstellung emuliert die Windows-FILETIME-Struktur als

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

The Dispatch ID (DispID) for each member method is displayed within angle brackets.

Eine unmittelbare Verwendung für das PowerTime-Objekt ist das integrierte numerische Equate %PB_COMPILETIME . Jedes Mal, wenn Sie Ihr Programm kompilieren, wird dieses Equater mit dem aktuellen Datum und der aktuellen Uhrzeit der Kompilierung im PowerTime-Binärformat gefüllt. Mit der PowerTIME-Klasse können Sie es zur Verwendung in Ihrer Anwendung in ein Textäquivalent konvertieren.

LOCAL ALS IPowerTime aufgebaut

LET Built = KLASSE „PowerTime“

Built.FileTime = %PB_COMPILETIME

MSGBOX Built.DateString

MSGBOX Built.TimeString

POWERTIME-Methoden

AddDays <1> (ByVal Days& )

Addiert die angegebene Anzahl von Tagen zum Wert dieses Objekts. Sie können Tage subtrahieren, indem Sie eine negative Zahl verwenden.

AddHours <2> (ByVal Hours& )

Addiert die angegebene Anzahl von Stunden zum Wert dieses Objekts. Sie können Stunden subtrahieren, indem Sie eine negative Zahl verwenden.

AddMinutes <3> (ByVal Minutes& )

Addiert die angegebene Anzahl von Minuten zum Wert dieses Objekts. Sie können Minuten subtrahieren, indem Sie eine negative Zahl verwenden.

AddMonths <4> (ByVal Months& )

Addiert die angegebene Anzahl von Monaten zum Wert dieses Objekts. Sie können Monate subtrahieren, indem Sie eine negative Zahl verwenden.

AddMSeconds <5> (ByVal Millisekunden& )

Fügt die angegebene Anzahl von Millisekunden zum Wert dieses Objekts hinzu. Sie können Millisekunden subtrahieren, indem Sie eine negative Zahl verwenden.

AddSeconds <6> (ByVal Seconds& )

Addiert die angegebene Anzahl von Sekunden zum Wert dieses Objekts. Sie können Sekunden subtrahieren, indem Sie eine negative Zahl verwenden.

AddTicks <7> (ByVal Ticks& )

Fügt die angegebene Anzahl von Ticks zum Wert dieses Objekts hinzu. Sie können Ticks subtrahieren, indem Sie eine negative Zahl verwenden.

AddYears <8> (ByVal Years& )

Addiert die angegebene Anzahl von Jahren zum Wert dieses Objekts. Sie können Jahre subtrahieren, indem Sie eine negative Zahl verwenden.

DateDiff <11> ( PowerTime , Sign& , Years& , Months& , Days& )

Der Datumsteil des internen PowerTime-Objekts wird mit dem Datumsteil des angegebenen externen PowerTime-Objekts verglichen. Der Tageszeitteil wird jeweils ignoriert. Die Differenz wird den von Ihnen angegebenen Parametervariablen zugewiesen. Sign& ist -1, wenn der interne Wert kleiner ist. Sign& ist 0, wenn die Werte gleich sind. Sign& ist +1, wenn der interne Wert größer ist. Die anderen Parameter geben den Unterschied als positive Ganzzahlwerte an. Wenn Parameter ungültig sind, wird in OBJRESULT ein entsprechender Fehlercode zurückgegeben.

DateString <12> (OPT ByVal LCID& ) AS String

Gibt die Datumskomponente des PowerTime-Objekts zurück, ausgedrückt als

. Das Datum wird basierend auf dem LCID&-Parameter für das Gebietsschema formatiert. Wenn LCID& Null ist oder nicht angegeben ist, wird die Standard-LCID für den Benutzer ersetzt.

DateStringLong <13> (OPT ByVal LCID& ) AS WString

Gibt die Datumskomponente des PowerTime-Objekts zurück, ausgedrückt als Zeichenfolge, mit einem vollständigen alphabetischen Monatsnamen. Das Datum wird basierend auf dem LCID&-Parameter für das Gebietsschema formatiert. Wenn LCID& Null ist oder nicht angegeben ist, wird die Standard-LCID für den Benutzer ersetzt.

Tag <15> () AS Long

Gibt die Day-Komponente des PowerTime-Objekts zurück. Es ist ein

Wert im Bereich von 1-31.

DayOfWeek <16> () AS Long

Gibt die Day-of-Week-Komponente des PowerTime-Objekts zurück. Es handelt sich um einen numerischen Wert im Bereich von 0 bis 6 (der Sonntag bis Samstag darstellt).

DayOfWeekString <17> (OPT ByVal LCID& ) AS WString

Gibt den Wochentagsnamen des PowerTime-Objekts zurück, ausgedrückt als Zeichenfolge (Sonntag, Montag...). Der Tagesname ist basierend auf dem LCID&-Parameter für das Gebietsschema geeignet. Wenn LCID& Null ist oder nicht angegeben ist, wird die Standard-LCID für den Benutzer ersetzt.

DaysInMonth <18> () AS Long

Gibt die Anzahl der Tage zurück, aus denen der Monat des Datums des PowerTime-Objekts besteht. Dies ist ein numerischer Wert im Bereich von 28-31.

PROPERTY GET FileTime <20> () AS Quad

Gibt einen Quad-Integer-Wert des PowerTime-Objekts als FileTime zurück.

PROPERTY SET FileTime <20> (ByVal FileTime&& )

Der durch den Parameter angegebene FileTime Quad-Integer-Wert wird als PowerTime-Objektwert zugewiesen.

Stunde <21> () als lang

Gibt die Stundenkomponente des PowerTime-Objekts zurück. Es handelt sich um einen numerischen Wert im Bereich von 0-23.

IsLeapYear <22> () as Long

Gibt true/false (-1/0) zurück, um festzustellen, ob das Jahr des PowerTime-Objekts ein Schaltjahr ist.

Minute <23> () als lang

Gibt die Minutenkomponente des PowerTime-Objekts zurück. Dies ist ein numerischer Wert im Bereich von 0-59.

Monat <24> () as Long

Gibt die Monatskomponente des PowerTime-Objekts zurück. Dies ist ein numerischer Wert im Bereich von 1-12.

MonthString <25> () AS String

Gibt die Monatskomponente des PowerTime-Objekts zurück, ausgedrückt als Zeichenfolge (Januar, Februar...).

MSecond <26> () as Long

Gibt die Millisekundenkomponente des PowerTime-Objekts zurück. Dies ist ein numerischer Wert im Bereich von 0-999.

NewDate <27> (ByVal Year& , Opt ByVal Month& , Opt ByVal Day& )

Der Datumskomponente des PowerTime-Objekts wird basierend auf den angegebenen Parametern ein neuer Wert zugewiesen. Die Zeitkomponente bleibt unverändert. Wenn Parameter ungültig sind, wird in OBJRESULT ein entsprechender Fehlercode zurückgegeben.

NewTime <28> (ByVal Hour& , Opt ByVal Min& , Opt ByVal Sec& , Opt ByVal MSec& , Opt ByVal Tick& )

Der Zeitkomponente des PowerTime-Objekts wird basierend auf den angegebenen Parametern ein neuer Wert zugewiesen. Die Datumskomponente bleibt unverändert. Wenn Parameter ungültig sind, wird in OBJRESULT ein entsprechender Fehlercode zurückgegeben.

Jetzt <29> ()

Diesem PowerTime-Objekt wird das aktuelle lokale Datum und die aktuelle Uhrzeit auf diesem Computer zugewiesen.

NowUTC <30> ()

Diesem PowerTime-Objekt wird das aktuelle koordinierte universelle Datum und die aktuelle koordinierte Weltzeit (UTC) zugewiesen.

Zweiter <31> () als Long

Gibt die zweite Komponente des PowerTime-Objekts zurück. Dies ist ein numerischer Wert im Bereich von 0-59.

Kreuzen Sie <32> () als Lang an

Gibt die Tick-Komponente des PowerTime-Objekts zurück. Dies ist ein numerischer Wert im Bereich von 0-999.

TimeDiff <33> ( PowerTime , Sign& , Days& , OPT Hours& , OPT Minutes& , OPT Seconds& , OPT MSeconds&& , OPT Ticks&& )

Das interne PowerTime-Objekt wird mit dem angegebenen externen PowerTime-Objekt verglichen. Die Differenz wird den von Ihnen angegebenen Parametervariablen zugewiesen. Sign& ist -1, wenn der interne Wert kleiner ist. Sign& ist 0, wenn die Werte gleich sind. Das Vorzeichen ist +1, wenn der interne Wert größer ist. Die anderen Parameter geben den Unterschied als positive Ganzzahlwerte an. Wenn Sie den Zeitunterschied in Einheiten zurückgeben möchten, die kleiner als Tage sind, füllen Sie die unerwünschten Parameter mit BYVAL 0 und sie werden ignoriert. Zum Beispiel:

ThisObject .TimeDiff( ThatObject , Sign& , BYVAL 0 , BYVAL 0 , Minutes& )

Wenn die Differenz im obigen Beispiel genau einen Tag betragen würde, würde Minutes& (24 Stunden * 60 Minuten) der Wert 1440 zugewiesen. Wenn Parameter ungültig sind, wird in OBJRESULT ein entsprechender Fehlercode zurückgegeben.

TimeString <34> () AS String

Gibt die Zeitkomponente des PowerTime-Objekts zurück, ausgedrückt als Zeichenfolge. Die Uhrzeit ist im Format hh:mm AM/PM formatiert.

TimeString24 <35> () AS WString

Gibt die Zeitkomponente des PowerTime-Objekts zurück, ausgedrückt als Zeichenfolge. Die Uhrzeit wird als hh:mm im 24-Stunden-Format formatiert.

TimeStringFull <36> () AS WString

Gibt die Zeitkomponente des PowerTime-Objekts zurück, ausgedrückt als Zeichenfolge. Die Uhrzeit wird als hh:mm:ss.mmm im 24-Stunden-Format formatiert.

Heute <38> ()

Diesem PowerTime-Objekt wird das aktuelle lokale Datum auf diesem Computer zugewiesen. Dies ist für Anwendungen geeignet, die nur mit Datumsangaben arbeiten.

ToLocalTime <39> ()

Das PowerTime-Objekt wird in die Ortszeit konvertiert. Es wird davon ausgegangen, dass der vorherige Wert in der koordinierten Weltzeit (UTC) angegeben war.

ToUTC <40> ()

Das PowerTime-Objekt wird in die koordinierte Weltzeit (UTC) konvertiert. Es wird davon ausgegangen, dass der vorherige Wert in Ortszeit angegeben wurde.

Jahr <42> () as Long

Gibt die Jahreskomponente des PowerTime-Objekts als numerischen Wert zurück.

Ein PowerTime-Objekt enthält einen Datums- und Zeitwert, der einfache Berechnungen ermöglicht. Die interne Darstellung emuliert die Windows-FILETIME-Struktur als Quad-Integer. Dieser Wert stellt die Anzahl der 100-Nanosekunden-Intervalle seit dem 1. Januar 1601 dar. Eine Nanosekunde ist ein Milliardstel einer Sekunde.

Sie erstellen ein PowerTime-Objekt auf die gleiche Weise wie andere Objekte, verwenden jedoch eine vordefinierte interne Klasse und eine vordefinierte interne Schnittstelle.

LOCAL MyTime ALS IPowerTime

LET MyTime = CLASS „PowerTime“

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • DATE$-Systemvariable
  • DAYNAME$
  • MONTHNAME$
  • TIME$-Systemvariable
  • Hilfe zum PBXB64-Compiler


ISFALSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ISFALSE

Gibt die logische Wahrheit oder Falschheit eines bestimmten Ausdrucks zur&uuml;ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ISFALSE expr
ISTRUE expr

Beschreibung

Gibt die logische Wahrheit oder Falschheit eines bestimmten Ausdrucks zurück.

Typ:Betreiber |Kategorie:Betreiber

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ISTRUE gibt -1 (TRUE) zurück, wenn expr als ungleich Null ausgewertet wird; andernfalls wird Null (FALSE) zurückgegeben. ISFALSE gibt -1 zurück, wenn expr als 0 (FALSE) ausgewertet wird; andernfalls wird Null zurückgegeben.

Wahrheitstabelle

Betreiber

Ergebnis

ISTRUE

ISTRUE

ISFALSCH

ISFALSCH

Der NOT-Operator von PowerBASIC erfüllt eine doppelte Aufgabe: Er gibt das Einserkomplement eines ganzzahligen Klassenausdrucks zurück und „kehrt“ den Wert eines WAHR/FALSCH-Ausdrucks (boolesch) um. Normalerweise stehen diese beiden Funktionen nicht im Konflikt, aber da PowerBASIC jeden Wert ungleich Null als TRUE akzeptiert, kann die folgende Bedingung auftreten:

test1 = 0 ' test1 ist FALSCH (Null)

IF NICHT test1 THEN ' TRUE (-1 ist ungleich Null)

[Anweisungn]

test2 = 1 ' test2 ist WAHR (1 ist ungleich Null)

IF NICHT test2 THEN ' immer noch TRUE (-2 ist ungleich Null)

[Anweisungn]

In diesem Fall kehrt NOT den TRUE/FALSE-Wert von test2 nicht um. ISFALSE stellt sicher, dass der Test genau so durchgeführt wird, wie Sie es erwarten würden:

test2 = 1 ' test2 ist WAHR (ungleich Null)

IF ISFALSE test2 THEN ' ISFALSE erkennt test2

[Anweisungen] 'WAHR, sodass der IF-Test fehlschlägt

Dieses Problem besteht nicht, wenn Sie die logische Wahrheit testen. PowerBASIC geht davon aus, dass ein Ausdruck in jedem Fall WAHR ist, außer wenn der Ausdruck Null ist. ISTRUE konvertiert jedoch alle Werte ungleich Null in den „wahrsten“ Wert, -1, der sowohl bei booleschen als auch bei arithmetischen Ausdrücken die konsistentesten Ergebnisse liefert.

Einschränkungen

ISTRUE- und ISFALSE-Operatoren werten den „gesamten“ Ausdruck nach dem Schlüsselwort aus, abhängig von ihrer Operatorprioritätsstufe. Beispielsweise werden im Ausdruck enthaltene Klammern als integraler Bestandteil des Ausdrucks betrachtet und fungieren nicht als Trennzeichen für die Operatoren ISTRUE und ISFALSE.

Vor diesem Hintergrund bedeutet die Zusammenfassung eines logischen Testergebnisses in einem weiteren Ausdruck, dass die Ausdrücke getrennt werden müssen, um eine korrekte Auswertung sicherzustellen.

Betrachten Sie die folgende Anweisung:

IF ISTRUE (x&) + y& THEN

PowerBASIC wertet den gesamten Ausdruck (x&) + y& aus und berechnet dann die logische Wahrheit aus dem Gesamtergebnis dieses Ausdrucks. Das heißt, die Klammern um den ersten Teil des Ausdrucks hindern ISTRUE nicht daran, den gesamten Ausdruck auszuwerten. Um dies zu veranschaulichen, kann die Anweisung umgeschrieben werden, um den Umfang der logischen Bewertung prägnant zu veranschaulichen:

IF ISTRUE (x& + 2) THEN

oder es könnte noch weiter vereinfacht werden:

IF ISTRUE x& + 2 THEN

Wenn Sie das numerische Ergebnis des logischen Tests in einem weiteren Ausdruck verwenden möchten, müssen Klammern hinzugefügt werden, um die Ausdrücke korrekt zu trennen:

IF (ISTRUE x&) + 2 THEN

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Arithmetische Operatoren - Hilfe zum PBXB64-Compiler
  • NICHT ? PBXB64-Compiler-Hilfe
  • IF/END IF
  • Hilfe zum PBXB64-Compiler


ISFALSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ISFALSE

Gibt die logische Wahrheit oder Falschheit eines bestimmten Ausdrucks zur&uuml;ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ISFALSE expr
ISTRUE expr

Beschreibung

Gibt die logische Wahrheit oder Falschheit eines bestimmten Ausdrucks zurück.

Typ:Betreiber |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ISTRUE gibt -1 (TRUE) zurück, wenn expr als ungleich Null ausgewertet wird; andernfalls wird Null (FALSE) zurückgegeben. ISFALSE gibt -1 zurück, wenn expr als 0 (FALSE) ausgewertet wird; andernfalls wird Null zurückgegeben.

Wahrheitstabelle

Betreiber

Ergebnis

ISTRUE

ISTRUE

ISFALSCH

ISFALSCH

Der NOT-Operator von PowerBASIC erfüllt eine doppelte Aufgabe: Er gibt das Einserkomplement eines ganzzahligen Klassenausdrucks zurück und „kehrt“ den Wert eines WAHR/FALSCH-Ausdrucks (boolesch) um. Normalerweise stehen diese beiden Funktionen nicht im Konflikt, aber da PowerBASIC jeden Wert ungleich Null als TRUE akzeptiert, kann die folgende Bedingung auftreten:

test1 = 0 ' test1 ist FALSCH (Null)

IF NICHT test1 THEN ' TRUE (-1 ist ungleich Null)

[Anweisungn]

test2 = 1 ' test2 ist WAHR (1 ist ungleich Null)

IF NICHT test2 THEN ' immer noch TRUE (-2 ist ungleich Null)

[Anweisungn]

In diesem Fall kehrt NOT den TRUE/FALSE-Wert von test2 nicht um. ISFALSE stellt sicher, dass der Test genau so durchgeführt wird, wie Sie es erwarten würden:

test2 = 1 ' test2 ist WAHR (ungleich Null)

IF ISFALSE test2 THEN ' ISFALSE erkennt test2

[Anweisungen] 'WAHR, sodass der IF-Test fehlschlägt

Dieses Problem besteht nicht, wenn Sie die logische Wahrheit testen. PowerBASIC geht davon aus, dass ein Ausdruck in jedem Fall WAHR ist, außer wenn der Ausdruck Null ist. ISTRUE konvertiert jedoch alle Werte ungleich Null in den „wahrsten“ Wert, -1, der sowohl bei booleschen als auch bei arithmetischen Ausdrücken die konsistentesten Ergebnisse liefert.

Einschränkungen

ISTRUE- und ISFALSE-Operatoren werten den „gesamten“ Ausdruck nach dem Schlüsselwort aus, abhängig von ihrer Operatorprioritätsstufe. Beispielsweise werden im Ausdruck enthaltene Klammern als integraler Bestandteil des Ausdrucks betrachtet und fungieren nicht als Trennzeichen für die Operatoren ISTRUE und ISFALSE.

Vor diesem Hintergrund bedeutet die Zusammenfassung eines logischen Testergebnisses in einem weiteren Ausdruck, dass die Ausdrücke getrennt werden müssen, um eine korrekte Auswertung sicherzustellen.

Betrachten Sie die folgende Anweisung:

IF ISTRUE (x&) + y& THEN

PowerBASIC wertet den gesamten Ausdruck (x&) + y& aus und berechnet dann die logische Wahrheit aus dem Gesamtergebnis dieses Ausdrucks. Das heißt, die Klammern um den ersten Teil des Ausdrucks hindern ISTRUE nicht daran, den gesamten Ausdruck auszuwerten. Um dies zu veranschaulichen, kann die Anweisung umgeschrieben werden, um den Umfang der logischen Bewertung prägnant zu veranschaulichen:

IF ISTRUE (x& + 2) THEN

oder es könnte noch weiter vereinfacht werden:

IF ISTRUE x& + 2 THEN

Wenn Sie das numerische Ergebnis des logischen Tests in einem weiteren Ausdruck verwenden möchten, müssen Klammern hinzugefügt werden, um die Ausdrücke korrekt zu trennen:

IF (ISTRUE x&) + 2 THEN

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • Arithmetische Operatoren - Hilfe zum PBXB64-Compiler
  • NICHT ? PBXB64-Compiler-Hilfe
  • IF/END IF
  • Hilfe zum PBXB64-Compiler


ISFALSE- und ISTRUE-Operatoren - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ISFALSE- und ISTRUE-Operatoren

Boolesche Wahrheitsoperatoren.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Boolesche Wahrheitsoperatoren.

Typ:Konzeptionell |Kategorie:Betreiber

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Überblick

Dieses Thema bietet Hintergrundinformationen und praktische Anleitungen. Eine detaillierte Syntax finden Sie auf den entsprechenden Befehlsseiten.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • Hilfe zum PBXB64-Compiler


ISFILE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ISFILE

Stellen Sie fest, ob eine Datei vorhanden ist oder nicht.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FileExists& = ISFILE( FileName )

Beschreibung

Stellen Sie fest, ob eine Datei vorhanden ist oder nicht.

Typ:Funktion |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das Dateisubsystem wird überprüft, um festzustellen, ob die durch FileName angegebene Datei derzeit vorhanden ist. Wenn es in irgendeiner Form gefunden wird (versteckt, System, schreibgeschützt usw.), wird der Wert true (-1) zurückgegeben. Andernfalls wird der Wert false (0) zurückgegeben.

Dateiname ist ein eindeutiger Dateiname, der kein Sternchen (*) oder Abfragezeichen (?) enthalten darf. Wenn es eines oder mehrere dieser Zeichen enthält, gibt die Funktion immer false (0) zurück.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • DIR$
  • DISPLAY DURCHSUCHEN - Hilfe zum PBXB64-Compiler
  • DISPLAY OPENFILE
  • DISPLAY SAVEFILE
  • ISFOLDER
  • PATHSCAN$ " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


ISFOLDER - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ISFOLDER

Stellen Sie fest, ob ein Ordner vorhanden ist.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FolderExists& = ISFOLDER( FolderName )

Beschreibung

Stellen Sie fest, ob ein Ordner vorhanden ist.

Typ:Funktion |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das Dateisubsystem wird überprüft, um festzustellen, ob der durch FolderName angegebene Ordner derzeit vorhanden ist. Wenn es in irgendeiner Form gefunden wird (versteckt, System, schreibgeschützt usw.), wird der Wert true (-1) zurückgegeben. Andernfalls wird der Wert false (0) zurückgegeben.

Das Stammverzeichnis (z. B. „C:\“) gilt als Ordner und gibt den Wert true (-1) zurück.

FolderName ist ein eindeutiger Dateiname, der kein Sternchen (*) oder Abfragezeichen (?) enthalten darf. Wenn es eines oder mehrere dieser Zeichen enthält, gibt die Funktion immer false (0) zurück.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIR$
  • DISPLAY DURCHSUCHEN - Hilfe zum PBXB64-Compiler
  • DISPLAY OPENFILE
  • DISPLAY SAVEFILE
  • ISFILE
  • PATHSCAN$ " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


ISINTERFACE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ISINTERFACE

Bestimmen Sie, ob ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

IfaceValid = ISINTERFACE( ObjectVar , InterfaceName )

Beschreibung

Bestimmen Sie, ob ein

Typ:Funktion |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das vom Parameter ObjectVar referenzierte Objekt wird getestet, um festzustellen, ob der angegebene InterfaceName unterstützt wird. Wenn ja, wird der Wert true (-1) zurückgegeben. Andernfalls wird der Wert false (0) zurückgegeben.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • CLASS/END CLASS
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


ISMISSING - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ISMISSING

Bestimmen Sie, ob es sich um einen optionalen Parameter handelt

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ParamStatus = ISMISSING( ParamVar )

Beschreibung

Bestimmen Sie, ob es sich um einen optionalen Parameter handelt

Typ:Funktion |Kategorie:Betreiber

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die ISMISSING-Funktion kann zum Testen bestimmter optionaler Parameter verwendet werden, um festzustellen, ob der Parameter tatsächlich vom aufrufenden Code übergeben wurde oder nicht. Es kann zum Testen von ByVal/ByRef VARIANT-Parametern oder anderen von ByRef übergebenen Variablentypen verwendet werden. Ein Versuch, einen anderen ByVAL-Parameter als VARIANT zu testen, führt zu einem Fehler 579 (BYREF-Variable oder BYVAL/BYREF-Variante erwartet), der während der Kompilierung generiert wird.

Ein ByRef-Parameter gilt als fehlend, wenn der Zeiger den Wert Null hat. Ein Variantenparameter gilt als fehlend, wenn er den Typ %VT_ERROR und den Fehlerwert %DISP_E_PARAMNOTFOUND hat.

Fehlt der angegebene optionale Parameter, wird der Wert true (-1) zurückgegeben. Andernfalls wird der Wert false (0) zurückgegeben.

Einschränkungen

Die Funktion ISMISSING darf nur innerhalb der Prozedur verwendet werden, die den angegebenen optionalen Parameter verwendet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DECLARE ? PBXB64-Compiler-Hilfe
  • FUNCTION/END FUNCTION-Anweisungen
  • METHOD/END METHOD-Anweisungen
  • PROPERTY / END PROPERTY
  • SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


ISNOTHING - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ISNOTHING

Bestimmen Sie den aktuellen Status einer bestimmten Sache

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

oStatus = ISNOTHING( objectvar )

Beschreibung

Bestimmen Sie den aktuellen Status einer bestimmten Sache

Typ:Funktion |Kategorie:Betreiber

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ISNOTHING ist besonders nützlich, um den Erfolg oder Misserfolg einer LET-Anweisung zu bestimmen. Es gibt TRUE (-1) zurück, wenn die Objektvariable nichts enthält, oder FALSE (0), wenn sie einen gültigen aktuellen Verweis auf eine Objektschnittstelle enthält.

ISNOTHING ist die Ergänzung zur ISOBJECT-Funktion.

Einschränkungen

Die Objektvariable muss eine Interface- oder IDispatch-Objektvariable sein.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ISOBJECT
  • LET-Anweisung (mit Objekten)
  • OBJEKT
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


ISNOTNULL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ISNOTNULL

Bestimmen Sie, ob eine Zeichenfolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ResultVar& = ISNOTNULL( StrgExpr )

Beschreibung

Bestimmen Sie, ob eine Zeichenfolge

Typ:Funktion |Kategorie:Betreiber

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der StrgExpr wird untersucht, um festzustellen, ob er null ist oder ein oder mehrere Zeichen enthält. Der Wert true (-1) wird zurückgegeben, wenn StrgExpr Zeichen enthält, oder false (0), wenn er null (Länge Null) ist.

Die Komplementärfunktion ist ISNULL .

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ISNULL
  • Hilfe zum PBXB64-Compiler


ISNULL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ISNULL

Bestimmen Sie, ob eine Zeichenfolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ResultVar& = ISNULL( StrgExpr )

Beschreibung

Bestimmen Sie, ob eine Zeichenfolge

Typ:Funktion |Kategorie:Betreiber

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der StrgExpr wird untersucht, um festzustellen, ob er null ist (null Zeichen enthält). Der Wert true (-1) wird zurückgegeben, wenn StrgExpr null ist, oder false (0), wenn er Zeichen enthält.

Die Komplementärfunktion ist ISNOTNULL .

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ISNOTNULL
  • Hilfe zum PBXB64-Compiler


ISOBJECT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ISOBJECT

Bestimmen Sie den aktuellen Status einer bestimmten Sache

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

oStatus = ISOBJECT( objectvar )

Beschreibung

Bestimmen Sie den aktuellen Status einer bestimmten Sache

Typ:Funktion |Kategorie:Betreiber

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ISOBJECT ist besonders nützlich, um den Erfolg oder Misserfolg einer LET-Anweisung (mit Objekten) zu bestimmen. Es gibt TRUE (-1) zurück, wenn die Objektvariable einen gültigen aktuellen Verweis auf eine Objektschnittstelle enthält, oder FALSE (0), wenn sie nichts enthält.

ISOBJECT ist die Ergänzung zur ISNOTHING-Funktion.

Einschränkungen

objectvar muss eine Schnittstelle oder eine IDispatch-Objektvariable sein.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ISNOTHING
  • LET-Anweisung (mit Objekten)
  • OBJEKT
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


ISPRIME - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ISPRIME

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Kategorie: Allgemeine Referenz

Syntax

flag = ISPRIME( n )

Beschreibung

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Semantik

Liefert 1 fuer eine Primzahl und sonst 0. Wide- und UN-Werte bleiben als Dezimal-Integerstring erhalten und werden durch Probedivision geprueft; eine vorgelagerte DOUBLE-Konvertierung wird vermieden.

Datentypen und Grenze

Normale numerische Werte liefern ein numerisches Flag. INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und ganzzahlige UNF-Werte nutzen den exakten Dezimalweg. Die aktuelle Probedivision ist ressourcenbegrenzt und kein kryptographischer Primzahltest fuer beliebig grosse Werte.


IStringBuilderA.Add-Methode - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

IStringBuilderA.Add-Methode

Das StringBuilder-Objekt bietet die M&ouml;glichkeit, viele Zeichenfolgen zu verketten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das StringBuilder-Objekt bietet die Möglichkeit, viele Zeichenfolgen zu verketten

Typ:Schlüsselwort |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Es gibt zwei Formen des StringBuilder-Objekts, eine für ANSI-Zeichenfolgen und eine für WIDE-Zeichenfolgen (Unicode). Sie hätten zwar zu einem einzigen Hybridobjekt zusammengefasst werden können, dies hätte jedoch einen zusätzlichen Mehraufwand verursacht, der für PowerBASIC nicht akzeptabel ist. Um ANSI-Zeichenfolgen zu verketten, verwenden Sie die StringBuilderA-Klasse und die IStringBuilderA-Schnittstelle. Um WIDE-Zeichenfolgen (Unicode) zu verketten, verwenden Sie die StringBuilderW-Klasse und die IStringBuilderW-Schnittstelle. Die Methoden und Funktionsweise sind bei beiden Formen identisch.

Wenn Sie das ANSI-Format wählen, müssen die Parameterzeichenfolgen ANSI sein und die Ergebniszeichenfolgen müssen ANSI sein. Bei der WIDE-Form (Unicode) müssen Parameterzeichenfolgen breit sein, und Ergebniszeichenfolgen sind ebenfalls breit. Berücksichtigen Sie diese Anforderungen, wenn Sie die folgenden Methodendefinitionen lesen. Die Dispatch-ID ( DispID ) für jede Mitgliedsmethode wird in spitzen Klammern angezeigt.

Wenn Sie ein StringBuilder-Objekt erstellen, wird ein dynamischer Zeichenfolgenpuffer erstellt, der die Zielzeichenfolge enthält. Wenn Sie die Größe der Ergebniszeichenfolge kennen (oder auch nur eine Annäherung), ist es in der Regel ratsam, zuerst die CAPACITY-Methode zu verwenden, um eine Größe zu ermitteln, die mindestens so groß wie die endgültige Zeichenfolge ist. Wenn dies nicht bekannt ist, wird PowerBASIC versuchen, geeignete Entscheidungen für Sie zu treffen. Sobald das Objekt erstellt wurde, werden mit der ADD-Methode Zeichenfolgenabschnitte so oft wie nötig angehängt. Schließlich wird die STRING-Methode verwendet, um die kombinierten Elemente zu extrahieren.

StringBuilder-Methoden/Eigenschaften

ADD ( PowerString$ ) Methode<1>

Der PowerString$-Parameter wird an die im StringBuilder-Objekt enthaltene Zeichenfolge angehängt. Wenn der interne String-Puffer überläuft, erweitert PowerBASIC ihn automatisch auf eine entsprechende Größe. Wenn eine erforderliche Puffererweiterung fehlschlägt, wird ein HResult von E_OUTOFMEMORY (&H8007000E) zurückgegeben und ein Objektfehler (99) generiert.

CAPACITY () AS Long Get Property<2>

Die Größe des internen String-Puffers wird abgerufen und an den Aufrufer zurückgegeben. Die Größe ist die Anzahl der Zeichen, die ohne weitere Erweiterung gespeichert werden können.

CAPACITY () = Long Set Property<2>

Der interne String-Puffer wird auf die durch den Long Integer angegebene Anzahl von Zeichen erweitert. Wenn die neue Kapazität kleiner oder gleich der aktuellen Kapazität ist, wird keine Operation ausgeführt.

CHAR ( Index& ) AS Long Get Property<3>

Der numerische Zeichencode des Zeichens an der Position Index& wird abgerufen und an den Aufrufer zurückgegeben. Index&=1 für das erste Zeichen, 2 für das zweite usw. Wenn Index& über die aktuelle Länge der Zeichenfolge hinausgeht, wird der Wert -1 zurückgegeben.

CHAR ( Index& ) = Long Set Property<3>

Das Zeichen an der Position Index& wird in das durch den Long Integer-Zeichencode angegebene Zeichen geändert. Index& =1 für das erste Zeichen, 2 für das zweite usw.

CLEAR-Methode<4>

Alle Daten im Objekt werden gelöscht.

DELETE ( Index& , Count& ) Methode<5>

Count& Zeichen werden ab der durch Index& angegebenen Position entfernt. Index& =1 für das erste Zeichen, 2 für das zweite usw.

INSERT ( PowerString$ , Index& ) Methode<6>

Der PowerString$-Parameter wird in die Zeichenfolge eingefügt, beginnend an der durch Index& angegebenen Position. Index& =1 für das erste Zeichen, 2 für das zweite usw. Wenn Index& über der aktuellen Länge der Zeichenfolge +1 liegt, wird keine Operation ausgeführt.

LEN () AS Long-Methode<7>

Die Anzahl der aktuell im Objekt gespeicherten Zeichen wird als langer ganzzahliger Wert zurückgegeben.

STRING AS String-Methode<8>

Der im Objekt gespeicherte String wird an den Aufrufer zurückgegeben. Diese Zeichenfolge enthält LEN-Zeichen.

Das StringBuilder-Objekt bietet die Möglichkeit, viele String-Abschnitte mit sehr hoher Leistung zu verketten. Die Ausführungsgeschwindigkeit macht sich insbesondere dann bemerkbar, wenn die Verkettung in vielen separaten Vorgängen über einen bestimmten Zeitraum erfolgt. Wenn alle String-Abschnitte gleichzeitig bekannt und verfügbar sind, könnte die Verwendung der BUILD$()-Funktion die bessere Wahl sein. Allerdings bieten beide Optionen einen sehr großen Vorteil im Vergleich zu den Standard-Verkettungsoperatoren (& oder +). Zusätzlich zur Verkettung bietet die StringBuilder-Klasse auch einige zusätzliche String-Operationen, die beim Aufbau des Strings helfen.

Es gibt zwei Formen des StringBuilder-Objekts, eine für ANSI-Zeichenfolgen und eine für WIDE-Zeichenfolgen (Unicode). Sie hätten zwar zu einem einzigen Hybridobjekt zusammengefasst werden können, dies hätte jedoch einen zusätzlichen Mehraufwand verursacht, der für PowerBASIC nicht akzeptabel ist. Um ANSI-Zeichenfolgen zu verketten, verwenden Sie die StringBuilderA-Klasse und die IStringBuilderA-Schnittstelle. Um WIDE-Zeichenfolgen (Unicode) zu verketten, verwenden Sie die StringBuilderW-Klasse und die IStringBuilderW-Schnittstelle. Die Methoden und Funktionsweise sind bei beiden Formen identisch.

Wenn Sie das ANSI-Format wählen, müssen die Parameterzeichenfolgen ANSI sein und die Ergebniszeichenfolgen müssen ANSI sein. Bei der WIDE-Form (Unicode) müssen Parameterzeichenfolgen breit sein, und Ergebniszeichenfolgen sind ebenfalls breit. Berücksichtigen Sie diese Anforderungen, wenn Sie die folgenden Methodendefinitionen lesen. Die Dispatch-ID ( DispID ) für jede Mitgliedsmethode wird in spitzen Klammern angezeigt.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • BUILD$
  • CHR$
  • CSET$ ? PBXB64-Compiler-Hilfe
  • JOIN$
  • LSET$
  • REPEAT$ - Hilfe zum PBXB64-Compiler
  • RSET$
  • STRING$ - Hilfe zum PBXB64-Compiler
  • STRINSERT$
  • WRAP$
  • Hilfe zum PBXB64-Compiler


ISWIN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ISWIN

Bestimmen Sie, ob eine Kontrolle

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DialogExists& = ISWIN( hDlg& )
ControlExists& = ISWIN( hParentDlg& , Ident& )

Beschreibung

Bestimmen Sie, ob eine Kontrolle

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das Windows-Subsystem wird überprüft, um festzustellen, ob der angegebene Dialog oder das angegebene Steuerelement derzeit vorhanden ist. Diese Funktion kann für eine Vielzahl von Zwecken verwendet werden, ist jedoch besonders wertvoll, wenn Sie sicher sein möchten, dass ein CONTROL erfolgreich mit der Control-Add-Anweisung erstellt wurde.

Wenn Sie einen einzelnen Parameter verwenden, muss dieser das Handle eines Fensters, Dialogs oder Steuerelements angeben, das Sie überprüfen. Wenn Sie zwei Parameter verwenden, geben Sie das Handle des übergeordneten Elements und die Kennung des Steuerelements an, das Sie überprüfen.

Wenn das Ziel der Funktion aktuell existiert, wird TRUE (-1) zurückgegeben. Wenn es nicht existiert, ist der Rückgabewert FALSE (0).

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • STEUERGRIFF
  • DIALOG NEU
  • Hilfe zum PBXB64-Compiler


ITERATE � PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ITERATE � PBXB64-Compiler-Hilfe

Starten Sie eine sofortige Iteration einer Schleife

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ITERATE [DO | LOOP | FOR]

Beschreibung

Starten Sie eine sofortige Iteration einer Schleife

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF�GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerITERATE Die Anweisung �berspringt den Rest des aktuellen Schleifenk�rpers und f�hrt mit der n�chsten Iteration fort. F�r einen FOR/NEXT Schleife bedeutet, dass zum Schrittblock gesprungen wird; f�r DO/LOOPUndWHILE/WEND es bedeutet, zum Konditionstest zu springen.

Wenn kein Schl�sselwort angegeben ist, ITERATE wirkt sich auf die innerste umschlie�ende Schleife aus.

Generierter Assembler-Code

Kompilieren mit:

PBXB64 example.pb --asmout example.asm

ITERATE wird zu einem bedingungslosen Sprung zum Schritt-/Bedingungsblock der Schleife. Der Z�hler wird nicht ge�ndert:

    mov r10, [rbp-24]
    mov rbx, r10
    and rbx, 1
    cmp rbx, 0
    sete r10
    mov rbx, r10
    test rbx, rbx
    jne pb_if_then_PBMAIN_1
    jmp pb_if_else_PBMAIN_2
pb_if_then_PBMAIN_1:
    jmp pb_for_step_PBMAIN_0
pb_if_else_PBMAIN_2:
    ; body continues

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DO/LOOP-Anweisungen � PBXB64-Compiler-Hilfe
  • EXIT � PBXB64-Compiler-Hilfe
  • FOR EACH/NEXT-Anweisungen
  • FOR/NEXT-Anweisungen ? PBXB64-Compiler-Hilfe
  • WHILE/WEND-Anweisungen ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


JOIN$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JOIN$

Gibt eine Zeichenfolge zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

A$ = JOIN$( array() , { delim$ | BINARY})

Beschreibung

Gibt eine Zeichenfolge zurück

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

JOIN$ erfordert eine Trennzeichenfolge delim$, die beliebig lang sein kann.

Wenn der Trennzeichenausdruck eine Nullzeichenfolge (Nulllänge) ist, werden zwischen den Zeichenfolgenabschnitten keine Trennzeichen eingefügt. Wenn der Trennzeichenausdruck der 3-Byte-Wert von „“,“ ist (der in Ihrem Quellcode als Zeichenfolgenliteral „““, „““ ausgedrückt werden kann), wird jedem Zeichenfolgenabschnitt ein führendes und abschließendes doppeltes Anführungszeichen hinzugefügt. Dadurch wird sichergestellt, dass die zurückgegebene Zeichenfolge standardmäßige, durch Kommas getrennte Felder in Anführungszeichen enthält, die leicht analysiert werden können.

Das durch array() angegebene Array kann ein beliebiger Datentyp sein.

BINÄR

Wenn das Array aus Elementen fester Größe besteht (numerisch, nullterminierte Zeichenfolgen usw.), besteht die zurückgegebene Zeichenfolge aus einem genauen Speicherabbild der Array-Daten im internen Format. Wenn das Array Daten variabler Länge enthält (dynamische Zeichenfolge, Feldzeichenfolge), werden sie im gepackten Zeichenfolgenformat von PowerBASIC und/oder Visual Basic gespeichert: Wenn eine Zeichenfolge kürzer als 65535 Bytes ist, beginnt sie mit einem 2 Byte langen WORD, gefolgt von den Zeichenfolgendaten. Andernfalls beginnt es mit einem 2-Byte-Wert von 65535, gefolgt von einem DWORD, das die String-Länge angibt, und schließlich den String-Daten selbst.

Die JOIN$-Funktion ist die natürliche Ergänzung zur PARSE-Anweisung.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BUILD$
  • PARSE$ " PBXB64-Compiler-Hilfe
  • PARSECOUNT " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


JSONFREE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONFREE

Release a JSON handle.

Kategorie: Allgemeine Referenz

Syntax

status = JSONFREE(handle)

Beschreibung

Release a JSON handle.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsonfree.html, damit Benutzer JSONFREE direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Release a JSON handle.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONFREE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONFREE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONGETBOOL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONGETBOOL

Read a boolean value from a JSON object or array.

Kategorie: Allgemeine Referenz

Syntax

value = JSONGETBOOL(handle, path$)

Beschreibung

Read a boolean value from a JSON object or array.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsongetbool.html, damit Benutzer JSONGETBOOL direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Read a boolean value from a JSON object or array.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONGETBOOL gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONGETBOOL gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONGETFLOAT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONGETFLOAT

Read a floating-point value from a JSON object or array.

Kategorie: Allgemeine Referenz

Syntax

value## = JSONGETFLOAT(handle, path$)

Beschreibung

Read a floating-point value from a JSON object or array.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsongetfloat.html, damit Benutzer JSONGETFLOAT direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Read a floating-point value from a JSON object or array.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONGETFLOAT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONGETFLOAT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONGETINT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONGETINT

Read an integer value from a JSON object or array.

Kategorie: Allgemeine Referenz

Syntax

value = JSONGETINT(handle, path$)

Beschreibung

Read an integer value from a JSON object or array.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsongetint.html, damit Benutzer JSONGETINT direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Read an integer value from a JSON object or array.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONGETINT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONGETINT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONGETSTR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONGETSTR

Read a string value from a JSON object or array.

Kategorie: Allgemeine Referenz

Syntax

value$ = JSONGETSTR(handle, path$)

Beschreibung

Read a string value from a JSON object or array.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsongetstr.html, damit Benutzer JSONGETSTR direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Read a string value from a JSON object or array.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONGETSTR gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONGETSTR gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONNEW - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONNEW

Create a new JSON value handle.

Kategorie: Allgemeine Referenz

Syntax

handle = JSONNEW(type)

Beschreibung

Create a new JSON value handle.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsonnew.html, damit Benutzer JSONNEW direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Create a new JSON value handle.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONNEW gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONNEW gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONPARSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONPARSE

Parse a JSON text string into a handle.

Kategorie: Allgemeine Referenz

Syntax

handle = JSONPARSE(jsonText$)

Beschreibung

Parse a JSON text string into a handle.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsonparse.html, damit Benutzer JSONPARSE direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Parse a JSON text string into a handle.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONPARSE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONPARSE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONREMOVE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONREMOVE

Remove a key from a JSON object or an element from a JSON array.

Kategorie: Allgemeine Referenz

Syntax

status = JSONREMOVE(handle, path$)

Beschreibung

Remove a key from a JSON object or an element from a JSON array.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsonremove.html, damit Benutzer JSONREMOVE direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Remove a key from a JSON object or an element from a JSON array.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONREMOVE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONREMOVE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONSETBOOL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONSETBOOL

Set a boolean value in a JSON object or array.

Kategorie: Allgemeine Referenz

Syntax

status = JSONSETBOOL(handle, path$, value)

Beschreibung

Set a boolean value in a JSON object or array.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsonsetbool.html, damit Benutzer JSONSETBOOL direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Set a boolean value in a JSON object or array.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONSETBOOL gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONSETBOOL gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONSETFLOAT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONSETFLOAT

Speichert einen DOUBLE-Wert in einem JSON-Objekthandle unter dem angegebenen Eigenschaftsnamen.

Kategorie: Allgemeine Referenz

Syntax

JSONSETFLOAT json&, name$, value#

Beschreibung

Speichert einen DOUBLE-Wert in einem JSON-Objekthandle unter dem angegebenen Eigenschaftsnamen.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen JSON-Helfer, der auf Handles arbeitet. Erzeuger liefern ein Handle, das spaeter mit JSONFREE freigegeben werden muss, und Getter liefern typisierte Werte oder den dokumentierten Fallback.

Grenzen

Halten Sie JSON-Handles in Beispielen explizit und geben Sie sie in jedem Exit-Pfad frei. Behandeln Sie fehlende Pfade, ungueltige Handles und Typfehler als getrennte Faelle.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONSETFLOAT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONSETFLOAT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONSETINT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONSETINT

Set an integer value in a JSON object or array.

Kategorie: Allgemeine Referenz

Syntax

status = JSONSETINT(handle, path$, value)

Beschreibung

Set an integer value in a JSON object or array.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsonsetint.html, damit Benutzer JSONSETINT direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Set an integer value in a JSON object or array.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONSETINT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONSETINT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONSETNULL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONSETNULL

Set a JSON null in a JSON object or array.

Kategorie: Allgemeine Referenz

Syntax

status = JSONSETNULL(handle, path$)

Beschreibung

Set a JSON null in a JSON object or array.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsonsetnull.html, damit Benutzer JSONSETNULL direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Set a JSON null in a JSON object or array.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONSETNULL gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONSETNULL gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONSETSTRING - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONSETSTRING

Set a string value in a JSON object or array.

Kategorie: Allgemeine Referenz

Syntax

status = JSONSETSTRING(handle, path$, value$)

Beschreibung

Set a string value in a JSON object or array.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsonsetstring.html, damit Benutzer JSONSETSTRING direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Set a string value in a JSON object or array.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONSETSTRING gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONSETSTRING gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONSTRINGIFY - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONSTRINGIFY

Serialize a JSON handle to a string.

Kategorie: Allgemeine Referenz

Syntax

text$ = JSONSTRINGIFY$(handle, pretty)

Beschreibung

Serialize a JSON handle to a string.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsonstringify.html, damit Benutzer JSONSTRINGIFY direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Serialize a JSON handle to a string.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONSTRINGIFY gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONSTRINGIFY gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


JSONTYPE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

JSONTYPE

Return the type name of a JSON value.

Kategorie: Allgemeine Referenz

Syntax

type$ = JSONTYPE$(handle)

Beschreibung

Return the type name of a JSON value.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_jsontype.html, damit Benutzer JSONTYPE direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Return the type name of a JSON value.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

JSONTYPE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

JSONTYPE gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer JSON-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme. Geben Sie erzeugte Handles am Ende mit JSONFREE frei.

Eingaberegeln

Pruefen Sie den JSON handle, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


KEYSTAT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

KEYSTAT

Prueft, ob eine virtuelle Taste derzeit gedrueckt ist.

Kategorie: Allgemeine Referenz

Syntax

result& = KEYSTAT(vk&)

Beschreibung

Prueft, ob eine virtuelle Taste derzeit gedrueckt ist.

Typ: Runtime method | Kategorie: Console I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED] fuer die fokussierte virtuelle-Tasten-Abfrage.

Beschreibung

KEYSTAT prueft den aktuellen asynchronen Zustand eines Windows-Virtual-Key-Codes. PBXB64 senkt die Funktion auf den eingebetteten Laufzeithelfer bestof_keystat ab, der GetAsyncKeyState dynamisch laedt.

Praktische Verwendung

Verwenden Sie KEYSTATE fuer Abfragen der momentanen Lage einer virtuellen Taste, wenn Sie den asynchronen Tastenzustand beobachten wollen. Die Funktion gehoert zu kurzen Polling-Abfragen und nicht zu wartender oder gepufferter Eingabe.

Polling Notes

Verwenden Sie diese Helfer fuer schnelle Zustandsabfragen von Tasten. Sie warten nicht auf Eingabe und lesen nicht den Tastaturpuffer. KEYSTAT meldet den asynchronen Zustand.

Failure Notes

Virtual-Key-Codes ausserhalb des Bereichs liefern 0. Das fokussierte Beispiel verwendet VK_SHIFT, um den booleschen Vertragscharakter und einen stabilen, leicht reproduzierbaren Eingabestatus zu zeigen.

Geprueftes Beispiel

Beispieldatei: tests/pb/test_keystat_keystate.pb

Validierungsnachweis: In tests/validate.toml als test_keystat_keystate registriert; fokussierte pb_linkrun-Validierung belegt die PB-Booleschenform fuer gueltige Tasten und den Rueckgabewert 0 ausserhalb des Bereichs.

Fehlerfaelle

Ein ungueltiger Virtual-Key-Code liefert 0. Da KEYSTATE den asynchronen Zustand prueft, sollte ein Test nicht den Tastaturpuffer oder eine bestimmte Ereignisreihenfolge voraussetzen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


KEYSTATE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

KEYSTATE

Prueft den aktuellen Zustand einer virtuellen Taste.

Kategorie: Allgemeine Referenz

Syntax

result& = KEYSTATE(vk&)

Beschreibung

Prueft den aktuellen Zustand einer virtuellen Taste.

Typ: Runtime method | Kategorie: Console I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED] fuer die fokussierte virtuelle-Tasten-Abfrage.

Beschreibung

KEYSTATE prueft den aktuellen Zustand eines Windows-Virtual-Key-Codes. PBXB64 senkt die Funktion auf den eingebetteten Laufzeithelfer bestof_keystate ab, der GetKeyState dynamisch laedt.

Praktische Verwendung

Verwenden Sie KEYSTATE fuer Abfragen der momentanen Lage einer virtuellen Taste, wenn Sie den asynchronen Tastenzustand beobachten wollen. Die Funktion gehoert zu kurzen Polling-Abfragen und nicht zu wartender oder gepufferter Eingabe.

Polling Notes

Verwenden Sie diese Helfer fuer schnelle Zustandsabfragen von Tasten. Sie warten nicht auf Eingabe und lesen nicht den Tastaturpuffer. KEYSTATE meldet den aktuellen Zustand, KEYSTAT den asynchronen Zustand.

Failure Notes

Virtual-Key-Codes ausserhalb des Bereichs liefern 0. Das fokussierte Beispiel verwendet VK_SHIFT, um den booleschen Vertragscharakter und einen stabilen, leicht reproduzierbaren Eingabestatus zu zeigen.

Geprueftes Beispiel

Beispieldatei: tests/pb/test_keystat_keystate.pb

Validierungsnachweis: In tests/validate.toml als test_keystat_keystate registriert; fokussierte pb_linkrun-Validierung belegt die PB-Booleschenform fuer gueltige Tasten und den Rueckgabewert 0 ausserhalb des Bereichs.

Fehlerfaelle

Ein ungueltiger Virtual-Key-Code liefert 0. Da KEYSTATE den asynchronen Zustand prueft, sollte ein Test nicht den Tastaturpuffer oder eine bestimmte Ereignisreihenfolge voraussetzen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Keyword Reference - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Keyword Reference

This section contains an alphabetical listing of all of the PowerBASIC keywords. Each entry goes into specific detail about each command, and is cross-references to other relevant commands. The Progra

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

This section contains an alphabetical listing of all of the PowerBASIC keywords. Each entry goes into specific detail about each command, and is cross-references to other relevant commands. The Progra

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The commands can be classified into four primary categories, according to their syntactic class: functions, statements, system variables, and metastatements:

These are predefined PowerBASIC functions, as opposed to user-defined functions. Functions generally return either a s tring or a numeric value, and these can be used within a more complex expression. Most functions require the program pass one or more arguments to them; these arguments being numeric or string, or combinations thereof, depending on the function. For example:

Back to command index


KILL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

KILL

L&ouml;schen Sie eine Festplattendatei.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

KILL filespec

Beschreibung

Löschen Sie eine Festplattendatei.

Typ:Anweisung |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

filespec ist ein Zeichenfolgenausdruck, der die zu löschende(n) Datei(en) angibt und einen Pfadnamen und/oder „Platzhalter“-Zeichen enthalten kann. filespec kann entweder ein Short File Name (SFN) oder ein Long File Name (LFN) sein. Zum Beispiel:

TÖTE „TEST.DOC“

KILL „C:\MEINE ANWENDUNGSDATEN\INCOME.?87“

MyFile$ = "*.BAS"

KILL MyFile$ ' Potenziell gefährlich!

Wenn die Dateispezifikation nicht vorhanden ist, wird Fehler 53 („Datei nicht gefunden“) generiert. Wenn die Dateispezifikation schreibgeschützt ist, tritt Fehler 70 („Berechtigung verweigert“) auf. Sie sollten nicht versuchen, eine geöffnete Datei zu KILLEN.

Dateien mit dem Attribut HIDDEN oder SYSTEM können nicht mit KILL gelöscht werden. Ein entsprechender Versuch wird ignoriert und es wird kein Fehler generiert.

KILL ist analog zu den DOS-Befehlen „DEL“ und „ERASE“. KILL kann kein Verzeichnis löschen – verwenden Sie stattdessen RMDIR, nachdem Sie zuerst alle Dateien im Verzeichnis gelöscht haben.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • FILEATTR
  • FILECOPY
  • FILENAME$
  • GETATTR
  • NAME
  • RMDIR
  • SETATTR
  • SETEOF
  • Hilfe zum PBXB64-Compiler


KOMM-TIMEOUT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

KOMM-TIMEOUT

Begrenzen Sie die Zeit zum Abschlie&szlig;en eines COMM

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

COMM TIMEOUT [#] hComm , TimeOutMS&

Beschreibung

Begrenzen Sie die Zeit zum Abschließen eines COMM

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit COMM TIMEOUT können Sie angeben, wie lange ein COMM-Vorgang auf das Senden oder Empfangen eines Datenbytes warten soll. Dieser Wert wird in Millisekunden gemessen. Wenn die angegebene Anzahl von Millisekunden ohne Antwort verstreicht, schlägt der COMM-Vorgang fehl und es wird ein Laufzeitfehler 24 (Geräte-Timeout) generiert.

Validierungsbeleg

Validierungsbeleg: Die Tests der seriellen Kommunikation pruefen die Timeout-Einstellung im aktuellen COMM-Oeffnen/Senden/Empfangen/Schliessen-Umfang. Die Seite sollte zusammen mit den uebrigen COMM-Seiten gelesen werden, da der Timeout nur mit einem gueltigen Kommunikationshandle relevant ist.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • Serielle Kommunikation
  • COMM CLOSE
  • COMM
  • COMM LINE - Hilfe zum PBXB64-Compiler
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • COMM SET
  • FREEFILE
  • OPEN
  • Hilfe zum PBXB64-Compiler


Kommentieren des Assemblycodes - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Kommentieren des Assemblycodes

In Assembler-Codezeilen wird normalerweise ein Semikolon ( ; ) f&uuml;r Kommentare verwendet, obwohl ein Apostroph ( ' ) weiterhin g&uuml;ltig ist. Zum Beispiel:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In Assembler-Codezeilen wird normalerweise ein Semikolon ( ; ) für Kommentare verwendet, obwohl ein Apostroph ( ' ) weiterhin gültig ist. Zum Beispiel:

Typ:Schlüsselwort |Kategorie:Inline-Assembler

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

ASM PUSH EBX ; Speichern Sie EBX

ASM MOV EAX, 5 ; Geben Sie 5 in EAX ein

! MOV EBX, &HFF ; Setzen Sie FFh in EBX

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


Kommunikationssteuerung - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Kommunikationssteuerung

F&uuml;r die externe Kommunikation k&ouml;nnen folgende Funktionen genutzt werden:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Für die externe Kommunikation können folgende Funktionen genutzt werden:

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Rufen Sie den Wert oder Status eines Kommunikationsparameters ab

Schließen Sie eine offene serielle Schnittstelle

Beschreibung

Kommunikationskontrolle gehoert zur Kategorie General. Diese Seite beschreibt den PBXB64-Dokumentationsstand fuer diesen Eintrag; verwenden Sie die Grenzen und Belege auf dieser Seite statt historischer PBWin-Annahmen.

Praktische Verwendung

Kommunikationskontrolle gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.


Konstanten definieren - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Konstanten definieren

PB/Win-Konstanten (auch Equates genannt) werden definiert, indem dem Namen der Konstante ein &#8222;%&ldquo;-Zeichen vorangestellt wird. MSBASIC und VB definieren Konstanten mit dem Schl&uuml;sselwort CONST. Der MSBASIC/VB-Compiler erledigt dies dann

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PB/Win-Konstanten (auch Equates genannt) werden definiert, indem dem Namen der Konstante ein „%“-Zeichen vorangestellt wird. MSBASIC und VB definieren Konstanten mit dem Schlüsselwort CONST. Der MSBASIC/VB-Compiler erledigt dies dann

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Die MACRO-Funktionen in PB/Win bieten jedoch eine Möglichkeit, die CONST-Syntax in Ihrem Code beizubehalten und gleichzeitig den Vorteil des geringen Overheads von PowerBASIC beizubehalten. Zum Beispiel:

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.


Konstanten und Literale - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Konstanten und Literale

Ein String-Literal ist einfach eine Gruppe von Zeichen, die von Anf&uuml;hrungszeichen umgeben sind. Darauf kann optional eine TypeID aus einem einzelnen $ folgen, um ANSI-Zeichen anzugeben, oder einem doppelten $$ f&uuml;r wide , Unicode ch

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein String-Literal ist einfach eine Gruppe von Zeichen, die von Anführungszeichen umgeben sind. Darauf kann optional eine TypeID aus einem einzelnen $ folgen, um ANSI-Zeichen anzugeben, oder einem doppelten $$ für wide , Unicode ch

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

MyAnsi$ = „Dies ist eine Zeichenfolge“$

MyWide$$ = „Dies ist eine UniCode-Zeichenfolge“$$

Ein String-Literal kann das Anführungszeichen enthalten, indem einfach das Zeichen innerhalb der Zeichenfolge verdoppelt wird. Zum Beispiel:

A$ = „Dies ist eine Zeichenfolge“

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.


Konvertieren einer .RC in eine .RES - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Konvertieren einer .RC in eine .RES

Verwendung der IDE

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Verwendung der IDE

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Stellen Sie zunächst sicher, dass das Dialogfeld „OPTIONS“ der PowerBASIC-IDE so konfiguriert ist, dass es korrekt auf die Dateien RC.EXE und PBRES.EXE verweist. Nach der Konfiguration kann die IDE eine .RC automatisch in eine .RES-Datei kompilieren. Wenn die Option „Beim Kompilieren von .RC-Dateien eine .PBR erstellen“ auf der Registerkarte „Compileroptionen“ ausgewählt ist, erstellt die IDE auch eine .PBR-Datei aus der .RES-Datei. Dies gelingt in einem einfachen Schritt: Laden Sie einfach die .RC-Datei in die IDE und wählen Sie „Kompilieren“.

Verwenden des Befehlszeilen-Ressourcen-Compilers

Um die .RC-Datei zu kompilieren, müssen wir den Ressourcen-Compiler über eine DOS-Box (Befehlszeile) ausführen, um die binäre Ressourcendatei (.RES) zu erstellen.

Der Ressourcen-Compiler verwendet den Dateinamen Ihrer geänderten (.RC) Ressourcenskriptdatei als Parameter und erstellt eine neue 32-Bit-.RES-Datei. Zum Beispiel:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


LAGUERRE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LAGUERRE

Kategorie: Orthogonale Polynome | Status: V22 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = LAGUERRE( degree, x )

Beschreibung

Kategorie: Orthogonale Polynome | Status: V22 verifiziert

Semantik

Liefert das gewoehnliche Laguerre-Polynom L_degree(x) als DOUBLE ueber eine begrenzte Rekursion mit drei Termen.

Operanden und Grenzen

Der Grad muss eine nichtnegative Ganzzahl bis 100000 sein. Alle normalen und festen Wide-Numerikfamilien sowie UNL und UNF werden ueber DOUBLE-Konvertierung akzeptiert. Grosse Werte koennen das Gleitkommaergebnis ueberlaufen lassen.


Lange Schlangen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Lange Schlangen

Der Unterstrich (_) kann verwendet werden, um &#8222;logische&ldquo; Zeilen des Quellcodes auf physische Zeilen in der Quellcodedatei aufzuteilen. Vor dem Unterstrich muss mindestens ein Leerzeichen stehen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Unterstrich (_) kann verwendet werden, um „logische“ Zeilen des Quellcodes auf physische Zeilen in der Quellcodedatei aufzuteilen. Vor dem Unterstrich muss mindestens ein Leerzeichen stehen

Typ:Schlüsselwort |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Der Effekt der Verwendung eines Zeilenfortsetzungszeichens dient nur der „visuellen“ Darstellung – der Compiler selbst behandelt auf diese Weise aufgeteilte Zeilen nur als eine zusammenhängende Codezeile.

Nehmen wir zum Beispiel die folgende Codezeile:

DECLARE FUNCTION Call32& LIB „CALL32.DLL“ ALIAS „Call32“ (Param1 AS ANY, BYVAL id&)

Wir könnten diese Zeile umschreiben, um ihre Komponenten aus Gründen der Übersichtlichkeit in separaten Codezeilen zu platzieren:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


LBETA - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LBETA

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = LBETA( x, y )

Beschreibung

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Semantik

Liefert log(B(x,y)) als DOUBLE ueber Log-Gamma. x und y muessen endlich und groesser als null sein. Die logarithmische Form ist nuetzlich, wenn BETA direkt ueber- oder unterlaufen wuerde.

Operanden und Grenzen

Normale numerische Werte und die festen Wide-Integer-Familien sowie UNL und UNF werden ueber DOUBLE-Konvertierung akzeptiert. Eine beliebig genaue Logarithmusrechnung ist nicht Bestandteil von V20.


LBOUND - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LBOUND

Geben Sie den kleinstm&ouml;glichen Wert zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y& = LBOUND( array [( dimension )])
y& = LBOUND( array , dimension )

Beschreibung

Geben Sie den kleinstmöglichen Wert zurück

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

LBOUND kann in Kombination mit UBOUND verwendet werden, um die Größe eines Arrays zu bestimmen. LBOUND eines nicht dimensionierten Arrays gibt Null zurück. Die LBOUND-Funktion besteht aus folgenden Teilen:

Name des interessierenden Arrays.

Dimension

Eine Ganzzahl, die die untere Grenze der Dimension angibt, wird zurückgegeben. Wenn nicht angegeben, wird die erste Dimension angenommen.

Einschränkungen

LBOUND kann nicht für Arrays innerhalb benutzerdefinierter Typen verwendet werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ARRAYATTR
  • DIM ? PBXB64-Compiler-Hilfe
  • REDIM ? PBXB64-Compiler-Hilfe
  • UBOUND
  • Hilfe zum PBXB64-Compiler


LCM - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LCM

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Kategorie: Allgemeine Referenz

Syntax

m = LCM( a, b )
text = LCM$( a, b )

Beschreibung

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Semantik

LCM liefert das kleinste gemeinsame Vielfache als DOUBLE; Vorzeichen werden ignoriert und ein Nulloperand ergibt Null. LCM$ liefert das exakte kanonische Dezimalergebnis.

Datentypen

Die normale Form akzeptiert numerische PB-Werte. Die exakte Form akzeptiert ganzzahlige INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF-Werte. Bei Ergebnissen ausserhalb des exakten DOUBLE-Bereichs ist LCM$ zu verwenden.


LEGENDRE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LEGENDRE

Kategorie: Orthogonale Polynome | Status: V22 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = LEGENDRE( degree, x )

Beschreibung

Kategorie: Orthogonale Polynome | Status: V22 verifiziert

Semantik

Liefert das Legendre-Polynom P_degree(x) als DOUBLE ueber die standardisierte Rekursion mit drei Termen.

Operanden und Grenzen

Der Grad muss eine nichtnegative Ganzzahl bis 100000 sein. Normale und feste Wide-Numerik, UNL und UNF werden ueber den DOUBLE-Weg akzeptiert. Das Ergebnis ist numerisch und nicht beliebig genau.


LET - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LET

Weisen Sie a einen Wert zu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

[LET] variable = expression
[LET] variable += expression
[LET] variable -= expression
[LET] variable *= expression
[LET] variable /= expression
[LET] variable \= expression
[LET] variable &= expression
[ LET] variable AND= expression
[LET] variable OR= expression
[LET] variable EQV= expression
[LET] variable IMP= expression
[LET] variable MOD= expression
[LET] variable XOR= expression

Beschreibung

Weisen Sie a einen Wert zu

Typ:Anweisung |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Einfache Zuordnung

Variable ist eine Zeichenfolge oder eine numerische Variable und der Ausdruck ist von einem geeigneten Typ (d. h. ein Zeichenfolgenausdruck für Zeichenfolgenvariablen und ein numerischer Ausdruck für numerische Variablen).

Das Wort LET ist in Zuweisungsanweisungen optional. Es ist zulässig, Kompatibilität mit BASIC-Quelldateien bereitzustellen, die für frühere BASIC-Versionen geschrieben wurden. In der Praxis wird das Wort LET sehr selten verwendet.

Um eine einfache Konvertierung zu ermöglichen, erlaubt PowerBASIC einen benutzerdefinierten Typ in einem Zeichenfolgenausdruck. Der benutzerdefinierte Typ wird einfach Byte für Byte in den Ausdruck kopiert. Um jedoch eine Zeichenfolge wieder einem benutzerdefinierten Typ zuzuweisen, sollten Sie die TYPE SET-Anweisung verwenden.

DIM abc als MyType

MyString$ = abc

Spezielle Informationen zur Zuweisung mithilfe von Objektvariablen, Variant-Variablen und benutzerdefinierten Typvariablen finden Sie in den folgenden Abschnitten der LET-Anweisung.

Zusammengesetzte Zuordnung

Eine zusammengesetzte Zuweisungsanweisung kombiniert einen binären arithmetischen Operator, einen binären bitweisen Operator oder einen binären String-Operator (Verkettung) als integralen Bestandteil der Zuweisung. Das liegt daran, dass die Zielvariable nur einmal ausgewertet wird, auch wenn eine Array- oder Zeigerberechnung einen Nebeneffekt haben könnte, der sie verändert.

Zusammengesetzte Zuweisungen sind für die arithmetischen Standardoperationen Addieren, Subtrahieren, Multiplizieren, Dividieren, Int-Dividieren und Modulo (+ - * / \ MOD ), die bitweisen Operationen ( AND , OR , XOR , EQV , IMP ) und die Verkettungsoperatoren (+ &) verfügbar. Jeder wird durch einen der folgenden Token repräsentiert:

Jedes der folgenden Codepaare ist funktional identisch:

x = x + 1

x += 1

x = x / y

x /= y

x = x XOR 3

x XOR= 3

x(7) = x(7) UND 5

x(7) UND= 5

x$ = x$ + y$

x$ += y$

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BUILD$
  • JOIN$
  • LET-Anweisung (mit Objekten)
  • LET-Anweisung (mit Varianten)
  • LET-Anweisung (mit Typen)
  • TYPE SET
  • Hilfe zum PBXB64-Compiler


LET-Anweisung (mit Objekten) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LET-Anweisung (mit Objekten)

Weisen Sie eine zu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

[LET] objvar = object expression

Beschreibung

Weisen Sie eine zu

Typ:Anweisung |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die LET-Anweisung und ihre implizite Form (ohne Verwendung des Wortes LET) können verwendet werden, um einer Objektvariablen eine Objektreferenz zuzuweisen. Nachdem Sie eine Objektvariable als bestimmte Schnittstelle deklariert haben, müssen Sie ein Objekt erstellen und/oder ihm einen Objektverweis zuweisen, bevor Sie die Objektmitglieder (Methoden, Eigenschaften usw.) verwenden können.

Wenn eine Objekterstellung oder -zuweisung aus irgendeinem Grund fehlschlägt, wird die objvar auf NOTHING gesetzt. Wenn diese Anweisung fehlschlägt, werden keine Fehler generiert und es wird auch kein OBJRESULT festgelegt. Sie sollten den Erfolg der Operation mit ISOBJECT ( objvar ) testen, bevor Sie versuchen, das Objekt zu verwenden oder seine Methoden auszuführen.

LET objvar = CLASS ClassName$

Der Begriff „ClassName“ muss als String-Literal in Anführungszeichen angegeben werden. Dabei handelt es sich um den Namen einer im Programm implementierten Klasse. Da die Klasse intern ist (der Name ist zur Kompilierzeit bekannt), dürfen Sie keine String-Variablen oder Ausdrücke verwenden. Bei der Ausführung wird ein neues Objekt erstellt und der Objektvariablen objvar ein Verweis auf dieses Objekt zugewiesen. Die angeforderte Schnittstelle wird durch die ursprüngliche Deklaration von objvar bestimmt. Wenn InterfaceName DISPATCH ist, können Sie mit der OBJECT-Anweisung darauf verweisen – andernfalls werden reguläre Methoden- und Eigenschaftsverweise verwendet.

LET objvar = NEWCOM PrgID$

LET objvar = GETCOM PrgID$

LET objvar = ANYCOM PrgID$

Diese Form der LET-Anweisung wird verwendet, um mithilfe der COM-Funktionen von Windows eine Objektreferenz außerhalb des Programms zu erhalten. Wenn sich das angeforderte Objekt in einer DLL (In-Process-Server) befindet, verwenden Sie immer die Option NEWCOM, wenn Sie ein neues Objekt anfordern. Wenn die Anfrage erfolgreich ist, wird die Objektreferenz der objvar zugewiesen.

Wenn sich das angeforderte Objekt in einer EXE-Datei (Out-of-Process-Server) befindet, können Sie eine der drei Optionen verwenden. Wenn das Direktorwort NEWCOM angegeben wird, wird eine neue Instanz einer COM-Anwendung erstellt. Mit GETCOM wird eine Schnittstelle zu einer bestehenden, laufenden Anwendung geöffnet, die als aktives Automatisierungsobjekt für ihre Klasse registriert wurde. Bei ANYCOM versucht der Compiler zunächst, eine vorhandene, laufende Anwendung zu verwenden, sofern verfügbar, oder eine neue Instanz, falls nicht.

Der Zeichenfolgenausdruck ProID$ ergibt einen ProgID-Namen auf einem externen COM-Server. Wenn der InterfaceName DISPATCH ist, können Sie mit der OBJECT-Anweisung darauf verweisen – andernfalls werden stattdessen reguläre Methoden- und Eigenschaftsverweise verwendet.

LET objvar = NEWCOM CLSID ClassID$

LET objvar = GETCOM CLSID ClassID$

LET objvar = ANYCOM CLSID ClassID$

Auch dieses Formular erhält ein COM-Objekt, genau wie die Beispiele im obigen Abschnitt. Es besteht immer eine Eins-zu-eins-Beziehung zwischen einer ProgID und einer CLSID (Klassen-ID). Ein Objekt kann durch jedes dieser Token identifiziert werden, sofern beide verfügbar sind. In einigen Fällen kann es vorkommen, dass Sie auf ein Objekt stoßen, für das keine ProgID veröffentlicht wurde. Sie können die Klausel „CLSID ClassID$“ durch die Klausel „PrgID$“ ersetzen. Es funktioniert genauso wie die übliche Form oben, außer dass es das angeforderte Objekt durch seine 16-Byte-GUID beschreibt, die die CLSID (Klassen-ID) des Objekts ist.

LET objvar = NEWCOM CLSID ClassID$ LIB DLLPath$

PowerBASIC bietet die einzigartige Möglichkeit, COM-Objekte zu erstellen und zu referenzieren, ohne überhaupt auf die Registrierung zu verweisen. Solange Sie die CLSID (Klassen-ID) und den Dateipfad/-namen der DLL kennen, auf die zugegriffen werden soll, können Sie dies ohne Registrierungszugriff tun. Sie benötigen keinen speziellen COM-Servertyp. Diese Technik kann mit jedem Server verwendet werden, unabhängig davon, ob er mit PowerBASIC oder einem anderen Compiler erstellt wurde. Bei Verwendung dieser Methode der Objekterstellung ist eine Registrierung des Servers überhaupt nicht erforderlich. Auf diese Weise können Sie lokale Kopien der von Ihnen verwendeten COM-Server aufbewahren, ohne dass die Gefahr besteht, dass diese durch eine andere Anwendung geändert oder ersetzt werden. Sie verwenden das obige Formular, wobei die Klausel „CLSID ClassID$“ die 16-Byte-Klassen-ID identifiziert und die Klausel „LIB DllPath$“ den Dateipfad und Dateinamen des COM-Servers identifiziert. Sobald Sie die COM-Objektreferenz in objvar erhalten haben, wird sie genau wie ein herkömmliches Objekt verwendet.

LET objvar1 = objvar2

Wenn beide Objektvariablen als derselbe Objekttyp (derselbe Schnittstellenname) deklariert wurden, wird die Quellvariable ( objvar2 ) in die Zielvariable ( objvar1 ) kopiert und der Referenzzähler des Objekts wird erhöht. Wenn es sich bei den Objektvariablen um unterschiedliche Objekttypen handelt, wird eine neue Schnittstelle (des durch objvar1 implizierten Typs) auf objvar2 geöffnet und objvar1 ein Verweis darauf zugewiesen.

LET objvar = objmethod (params)

Es wird davon ausgegangen, dass die durch objmethod angegebene METHOD oder GET PROPERTY ein Objekt vom Typ objvar zurückgibt. Die Methode obj wird ausgewertet und die Objektreferenz, die sie zurückgibt, wird objvar zugewiesen.

LET objvar = ME

Dieses Formular darf nur innerhalb einer METHODE oder EIGENSCHAFT verwendet werden. Für das aktuelle Objekt wird eine neue Schnittstelle (des von objvar implizierten Typs) geöffnet und objvar ein Verweis darauf zugewiesen.

LET objvar = NICHTS

Dadurch wird eine Objektvariable zerstört und ihre Zuordnung zu einem bestimmten Objekt unterbrochen. Dies wiederum gibt alle mit dem Objekt verknüpften System- und Speicherressourcen frei, wenn keine Objektvariablen mehr darauf verweisen.

LET objvar = vrnt

Versucht, eine Schnittstelle der angegebenen Klasse für objvar auf dem Objekt von vrnt zu öffnen, und weist objvar eine Referenz zu. Es wird davon ausgegangen, dass vrnt einen Verweis auf ein Objekt vom Typ %VT_UNKNOWN oder %VT_DISPATCH enthält. Wenn die gewünschte Schnittstelle nicht geöffnet werden kann, wird die Objektvariable objvar auf NICHTS gesetzt.

LET vrnt = objvar

Dies kann verwendet werden, um eine Objektreferenz von einer Objektvariablen zu einer Variantenvariablen zuzuweisen. Es versucht, eine IDispatch-Schnittstelle oder eine IUnknown-Schnittstelle für das Objekt von objvar zu öffnen, und weist diesen Verweis vrnt zu. Variantenvariablen dürfen keine Verweise auf benutzerdefinierte Schnittstellen enthalten, sondern nur IDispatch oder IUnknown. Wenn die Zuweisung erfolgreich ist, gibt VARIANTVT (vrnt) entweder %VT_UNKNOWN oder %VT_DISPATCH zurück. Wenn dies nicht erfolgreich ist, wird vrnt auf %VT_EMPTY gesetzt.

Frühere Versionen von PowerBASIC-Compilern verwendeten die SET-Anweisung zum Erstellen von Objekten. LET enthält jetzt alle Funktionen der alten SET-Anweisung, daher sollten Sie planen, alle SET-Anweisungen so schnell wie möglich zu entfernen. Dies beinhaltet nichts weiter, als jedes SET in LET zu ändern oder einfach jedes SET zu löschen.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • LET
  • LET-Anweisung (mit Varianten)
  • LET-Anweisung (mit Typen)
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • Was ist COM?
  • ME-Pseudovariable
  • OBJEKT
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


LET-Anweisung (mit Typen) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LET-Anweisung (mit Typen)

Weisen Sie Daten einem zu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

[LET] TypeVar = TypeVar
[LET] TypeVar = VARIANT$( VrntVar )

Beschreibung

Weisen Sie Daten einem zu

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Typevar ist eine benutzerdefinierte Typvariable. Um eine direkte Zuweisung von Daten von einer benutzerdefinierten Typvariablen zu einer anderen durchführen zu können, müssen diese auf denselben Typ dimensioniert sein. Um Daten zwischen zwei verschiedenen Typen zuzuordnen, sollten Sie stattdessen die TYPE SET-Anweisung verwenden.

Das Wort LET ist in Zuweisungsanweisungen optional. Es ist zulässig, Kompatibilität mit BASIC-Quelldateien bereitzustellen, die für frühere BASIC-Versionen geschrieben wurden. In der Praxis wird das Wort LET sehr selten verwendet.

Wenn benutzerdefinierte Typdaten in einer Variantenvariablen gespeichert werden, können sie wie im zweiten Syntaxbeispiel extrahiert werden. Die Funktion Variant$() versteht, dass UDT-Daten als Byte-String gespeichert werden.

Um eine einfache Konvertierung zu ermöglichen, erlaubt PowerBASIC einen benutzerdefinierten Typ in einem Zeichenfolgenausdruck. Der benutzerdefinierte Typ wird einfach Byte für Byte in den Ausdruck kopiert. Um eine Zeichenfolge wieder einem benutzerdefinierten Typ zuzuweisen, können Sie auch die TYPE SET-Anweisung verwenden. Wenn ein UDT in einem WIDE-String-Ausdruck (Unicode) verwendet wird, führt dies im Allgemeinen zu unvorhersehbaren Ergebnissen bei der Zeichenkonvertierung.

DIM abc als MyType

MyString$ = abc

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • LET
  • LET-Anweisung (mit Objekten)
  • LET-Anweisung (mit Varianten)
  • TYPE SET
  • VARIANT$/VARIANT$$
  • Hilfe zum PBXB64-Compiler


LET-Anweisung (mit Varianten) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LET-Anweisung (mit Varianten)

Weisen Sie einen Wert oder eine zu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

[LET] VariantVar = variant expression
[LET] VariantVar = TypeVar AS STRING

Beschreibung

Weisen Sie einen Wert oder eine zu

Typ:Anweisung |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Obwohl sie bekanntermaßen nicht effizient genug sind, werden Variant-Variablen aufgrund ihrer Flexibilität häufig als COM-Objektparameter verwendet. Sie erweisen sich auch in Situationen als wertvoll, in denen eine Prozedur ordnungsgemäß mit Parametern mehrerer Datentypen ausgeführt werden muss (eine Sammlung wäre ein gutes Beispiel). Sie können sich einen Variant als eine Art Container vorstellen, der eine Variable fast jedes Datentyps, eine Zahl, einen String, ein Objekt oder sogar einen UDT oder ein ganzes Array enthalten kann. Dies vereinfacht den Prozess des Aufrufs von Prozeduren in einem COM-Objektserver, da Sie sich kaum Gedanken über die unzähligen möglichen Datentypen für jeden Parameter machen müssen.

Diese Flexibilität hat ihren Preis in puncto Leistung, weshalb PowerBASIC ihre Verwendung lediglich auf die Datenspeicherung und Parameter beschränkt. Mit der LET-Anweisung oder ihrem impliziten Äquivalent können Sie einem Variant einen numerischen Wert, einen String-Wert, einen UDT, ein Objekt oder sogar ein ganzes Array zuweisen. Auf die gleiche Weise können Sie einen Variant-Wert einer anderen Variant-Variablen zuweisen oder sogar ein in einem Variant enthaltenes Array einem kompatiblen PowerBASIC-Array zuweisen oder umgekehrt.

Sie können einen Skalarwert aus einer Variante mit VARIANT# (für numerische Werte), VARIANT$ (für ANSI-Byte-Strings oder benutzerdefinierte Typen) oder VARIANT$$ (für breite Unicode-Strings) extrahieren. Wenn Sie einer Variantenvariablen Zeichenfolgendaten zuweisen, werden ANSI-Zeichenfolgen automatisch in breite Unicode-Zeichen konvertiert, da dies der akzeptierte Standard für Varianten ist. Wenn Sie jedoch UDT-Daten einer Variantenvariablen zuweisen, werden diese als dynamische Bytefolge gespeichert. Wenn Sie diese UDT-Daten (mit Variant$) abrufen, versteht PowerBASIC den Inhalt und verarbeitet ihn korrekt. Bei anderen Programmiersprachen ist dies jedoch möglicherweise nicht der Fall, daher sollte die Verwendung dieser Technik auf PowerBASIC-Anwendungen beschränkt sein.

LET VrntVar = vrntvar

Dieses Formular dupliziert den Inhalt einer Variantenvariablen und weist ihn einer zweiten Variantenvariablen zu.

LET VrntVar = Ausdruck [AS vartype ]

Der numerische oder Zeichenfolgenausdruck wird ausgewertet und das Ergebnis in der Variantenvariablen gespeichert. PowerBASIC wählt einen geeigneten numerischen oder String-Datentyp zur Verwendung aus. Sie können jedoch ein bevorzugtes Format angeben, indem Sie eine optionale AS-Vartype-Klausel hinzufügen. Dies kann BYTE, WORD, DWORD, INTEGER, LONG, QUAD, SINGLE, DOUBLE, CURRENCY oder WSTRING sein. Zeichenfolgen in einer Variante werden immer im breiten Unicode gespeichert, unabhängig davon, ob Sie AS WSTRING hinzufügen oder nicht. PowerBASIC führt die Konvertierung bei Bedarf automatisch durch.

In früheren Versionen von PowerBASIC wurde der Begriff AS STRING als AS WSTRING für Wide Unicode interpretiert. Mit der neuen Unterstützung für Unicode-Datentypen kann dies jedoch nicht mehr zugelassen werden. Alle Verweise auf AS STRING mit Varianten müssen in AS WSTRING geändert werden.

LET VrntVar = TypeVar AS STRING

Die in der benutzerdefinierten Typvariablen (UDT) enthaltenen Daten werden in der Variantenvariablen gespeichert. Es wird intern als dynamische Bytefolge (vt_bstr) gespeichert. Wenn Sie diese UDT-Daten (mit Variant$) abrufen, versteht PowerBASIC den Inhalt und verarbeitet ihn korrekt. Andere Programmiersprachen verstehen diese Technik jedoch möglicherweise nicht, daher sollte sie im Allgemeinen auf PowerBASIC-Anwendungen beschränkt werden.

In früheren Versionen von PowerBASIC war die AS STRING-Klausel nicht wie derzeit erforderlich. Obwohl es sich um eine Änderung handelt, war es eine notwendige Einschränkung, um zu bestätigen, dass die Konvertierung in einen String Ihre Absicht ist.

LET VrntVar = EMPTY

Die Variantenvariable ist auf %VT_EMPTY gesetzt, was bedeutet, dass sie keinerlei Wert enthält.

LET VrntVar = ERROR numr

Dieses Formular weist eine bestimmte COM-Fehlernummer zu, bei der es sich normalerweise um einen COM-spezifischen Fehler handelt, z. B. %E_NOINTERFACE usw.

LET VrntVar = array()

Einer Variantenvariablen wird ein gesamtes PowerBASIC-Array zugewiesen. Im Falle eines String-Arrays übernimmt PowerBASIC automatisch die für die COM-Spezifikation erforderlichen Unicode-Konvertierungen. Die Array-Zuweisung ist auf die folgenden Datentypen beschränkt: BYTE, WORD, DWORD, INTEGER, LONG, QUAD, SINGLE, DOUBLE, CURRENCY oder STRING, da Windows nicht alle PowerBASIC-Datenformen unterstützt.

LET array() = vrntvar

Ein ganzes Array wird von einer Variantenvariablen einem PowerBASIC-Array zugewiesen. Im Fall eines String-Arrays übernimmt PowerBASIC automatisch Unicode-Konvertierungen. Sie können einem PowerBASIC-Array kein Array mit mehr als acht Dimensionen zuweisen.

LET VrntVar = BYREF-Variable

Dieses Formular wird verwendet, um einer Variante zu ermöglichen, einen typisierten Zeiger auf eine bestimmte Variable zu enthalten. Alle Änderungen an der Variante führen dazu, dass die Variable geändert wird, da sie das Ziel des Zeigers ist. Die Variable kann einen beliebigen Datentyp haben, der von Varianten und COM-Objekten unterstützt wird: Byte, Word, Dword, Integer, Long, Quad, Single, Double, Currency, Variant, String und WString. Wenn Sie versuchen, einen nicht unterstützten Variablentyp (wie Extended , Bit , STRINGZ usw.) zu verwenden, generiert PowerBASIC einen Fehler 482 (Datentypkonflikt). Darüber hinaus dürfen Sie keine Registervariable (automatisch oder explizit) verwenden, da sonst der Fehler 491 (Ungültige Registervariable) generiert wird. Beachten Sie, dass mit COM-Objekten verwendete Zeichenfolgen voraussichtlich im Unicode-Format und nicht im ANSI-Format vorliegen. Bei Bedarf können die Funktionen ACODE$ und UCODE$ zum Konvertieren der Zeichenfolgen verwendet werden. Sie sollten bei einer BYREF-ANSI-Zeichenfolge Vorsicht walten lassen, da sie von anderem Code, der nur Unicode-Zeichenfolgen erwartet, möglicherweise nicht genau erkannt wird.

LET objvar = vrnt

Versucht, eine Schnittstelle der angegebenen Klasse für objvar auf dem Objekt von vrnt zu öffnen, und weist objvar eine Referenz zu. Es wird davon ausgegangen, dass vrnt einen Verweis auf ein Objekt vom Typ %VT_UNKNOWN oder %VT_DISPATCH enthält. Wenn die gewünschte Schnittstelle nicht geöffnet werden kann, wird die Objektvariable objvar auf NICHTS gesetzt. Sie können mit der Funktion ISOBJECT (objvar) auf Erfolg/Misserfolg testen.

LET vrnt = objvar

Dies kann verwendet werden, um eine Objektreferenz von einer Objektvariablen zu einer Variantenvariablen zuzuweisen. Es versucht, eine IDispatch-Schnittstelle oder eine IUnknown-Schnittstelle für das Objekt von objvar zu öffnen, und weist diesen Verweis vrnt zu. Variantenvariablen dürfen keine Verweise auf benutzerdefinierte Schnittstellen enthalten, sondern nur IDispatch oder IUnknown. Wenn die Zuweisung erfolgreich ist, gibt VARIANTVT (vrnt) entweder %VT_UNKNOWN oder %VT_DISPATCH zurück. Wenn dies nicht erfolgreich ist, wird vrnt auf %VT_EMPTY gesetzt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Was ist COM?
  • LET
  • LET-Anweisung (mit Objekten)
  • LET-Anweisung (mit Typen)
  • VARIANT$/VARIANT$$
  • VARIANTVT
  • Hilfe zum PBXB64-Compiler


LGAMMA - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LGAMMA

Gibt den natuerlichen Logarithmus des Betrags der Gammafunktion zurueck.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(LGAMMA(5.0) - 3.1780538303) > 0.001 THEN FUNCTION = 1

Beschreibung

Gibt den natuerlichen Logarithmus des Betrags der Gammafunktion zurueck.

Syntax: y = LGAMMA( n )

Semantik

LGAMMA vermeidet den Ueberlauf, den GAMMA bei grossen fakultaetsartigen Werten erreichen kann. Fuer negative Nichtganzzahlen wird die Reflexion verwendet; Pole folgen dem Gleitkomma-Verhalten. Ergebnis: DOUBLE.

Datentypen

Alle normalen numerischen PB-Typen, Wide-Integer, UNL und UNF werden akzeptiert.


LibMain - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LibMain

Zus&auml;tzlich zu den Funktionen, die Sie exportieren m&ouml;chten (plus allen unterst&uuml;tzenden privaten Routinen), kann eine DLL eine optionale Funktion namens LIBMAIN (oder deren Synonyme DLLMAIN und PBLIBMAIN ) enthalten. Windows ruft LI auf

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Zusätzlich zu den Funktionen, die Sie exportieren möchten (plus allen unterstützenden privaten Routinen), kann eine DLL eine optionale Funktion namens LIBMAIN (oder deren Synonyme DLLMAIN und PBLIBMAIN ) enthalten. Windows ruft LI auf

Typ:Schlüsselwort |Kategorie: Procedures

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Erstellen einer Dynamic Link Library

Private und exportierte Verfahren

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LINE INPUT# - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LINE INPUT#

Zeile(n) aus a lesen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LINE INPUT # filenum& , string_variable
LINE INPUT # filenum& , Arr$() [RECORDS rcds ] [TO count ]

Beschreibung

Zeile(n) aus a lesen

Typ:Anweisung |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

filenum& ist die Dateinummer oder eine Variable, die eine Dateinummer enthält, die beim Öffnen der Datei angegeben wurde. string_variable ist die String-Variable, die mit den aus der Datei gelesenen Daten geladen werden soll.

string_variable kann eine Zeichenfolge mit fester Länge, nullterminiert oder dynamisch sein. Bei Zeichenfolgen fester Länge und mit Nullterminierung werden Daten, die länger als die Zeichenfolge sind, gekürzt, damit sie in die Zeichenfolge passen. Dynamische Zeichenfolgen empfangen die Daten ohne Kürzung. string_variable ist möglicherweise keine UDT-Variable, obwohl UDT-Mitgliedsvariablen mit fester Länge und auf Null endenden UDT-Mitgliedsvariablen unterstützt werden.

LINE INPUT# ist für die Verwendung mit Textdateien gedacht, die aus Zeilen bestehen, die durch CR/LF-Sequenzen ( $CRLF oder CHR$ (13,10)) abgeschlossen werden. Es liest eine Zeile aus der Datei und gibt sie abzüglich des CR/LF-Trennzeichens zurück. Kommas, Anführungszeichen und andere Zeichen haben für LINE INPUT# keine besondere Bedeutung und werden wie jeder andere Text behandelt.

Wenn die Datei aus durch Kommas getrennten Datenelementen besteht, ist INPUT# wahrscheinlich besser geeignet als LINE INPUT#.

Die zweite Syntaxdefinition von LINE INPUT# liest eine für INPUT geöffnete Datei und weist jedem Element des Arrays vollständige Textzeilen zu.

Es wird davon ausgegangen, dass es sich bei den Daten um Standardtext handelt, der durch CR/LF ($CRLF) oder EOF (1A hex oder $EOF) getrennt ist. LINE INPUT# versucht, die in der rcds-Option RECORDS angegebene Anzahl von Zeilen oder die Anzahl der Elemente im Array zu lesen, je nachdem, welcher Wert kleiner ist.

Die tatsächliche Anzahl der gelesenen Zeilen wird der in der optionalen TO count-Klausel angegebenen Variablen zugewiesen. FILESCAN ist in Verbindung damit nützlich, um die dimensionierte Größe des String-Arrays zu bestimmen. EOF wird genauso wie beim Single Line Input eingestellt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • EOF
  • FILESCAN
  • INPUT ? PBXB64-Compiler-Hilfe
  • PRINT# ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


LISTBOX ADD - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LISTBOX ADD

Manipulate a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LISTBOX ADD hDlg , id& , StrExpr [TO datav& ]
LISTBOX DELETE hDlg , id& , item&
LISTBOX FIND hDlg , id& , item& , StrExpr TO datav&
LISTBOX FIND EXACT hDlg , id& , item& , StrExpr TO datav&
LISTBOX GET COUNT hDlg , id& TO datav&
LISTBOX GET SELCOUNT hDlg , id& TO datav&
LISTBOX GET SELECT hDlg , id& [, item& ] TO datav&
LISTBOX GET STATE hDlg , id& , item& TO datav&
LISTBOX GET TEXT hDlg , id& [, item& ] TO txtv$
LISTBOX GET USER hDlg , id& , item& TO datav&
LISTBOX INSERT hDlg , id& , item& , StrExpr [TO datav& ]
LISTBOX RESET hDlg , id&
LISTBOX SELECT hDlg , id& , item&
LISTBOX SET TEXT hDlg , id& , item& , StrExpr
LISTBOX SET USER hDlg , id& , item& , NumExpr
LISTBOX UNSELECT hDlg , id& [, item& ]

Beschreibung

Manipulate a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-getesteter Umfang: tests/pb/test_listbox_combobox_direct.pb prueft direkte LISTBOX-Formen fuer ADD, DELETE, FIND, FIND EXACT, GET COUNT, GET SELCOUNT, GET SELECT, GET STATE, GET TEXT, GET USER, INSERT, SELECT, SET TEXT, SET USER, UNSELECT und RESET. Weitere Randfaelle wie nicht gefundene Eintraege, ungueltige Indizes, sortierte Styles und zusaetzliche Mehrfachauswahl-Kombinationen brauchen noch eigene Tests.

Beschreibung

In jedem der folgenden Beispiele und Beschreibungen wird das LISTBOX-Steuerelement, das Gegenstand der Anweisung ist, durch das Handle des Dialogfelds identifiziert, das Eigentümer der LISTBOX ist ( hDlg ), und durch den eindeutigen Steuerelementbezeichner, den Sie ihm bei der Erstellung in CONTROL ADD LISTBOX gegeben haben.

Der Wert item& bezieht sich auf die Position des String-Datenelements in der LISTBOX und ist immer auf eins indiziert. Die erste Zeichenfolge ist Position 1, die zweite ist Position 2 und so weiter.

LISTBOX ADD hDlg , id& , StrExpr [TO datav& ]

Der durch StrExpr angegebene Zeichenfolgenwert wird dem LISTBOX-Steuerelement hinzugefügt. Wenn die LISTBOX den Stil %LBS_SORT hat, wird die neue Zeichenfolge in alphanumerischer Reihenfolge eingefügt; Andernfalls wird es am Ende der vorhandenen Liste hinzugefügt. Wenn die optionale TO-Klausel enthalten ist, wird die Indexposition der hinzugefügten Zeichenfolge der durch datav& dargestellten Variablen zugewiesen. Der Index beträgt eins für die erste Zeichenfolge, zwei für die zweite usw. Wenn der Index kleiner als eins ist, ist ein Fehler aufgetreten und es wurde keine Zeichenfolge hinzugefügt.

LISTBOX DELETE hdlg , id& , item&

Die Zeichenfolge an der durch item& angegebenen Position wird aus der LISTBOX gelöscht. Der Parameter item& ist auf eins indiziert (1 für die erste Zeichenfolge, 2 für die zweite usw.).

LISTBOX FIND hDlg , id& , item& , StrExpr TO datav&

Zeichenfolgen in der LISTBOX werden durchsucht, um die erste Zeichenfolge zu finden, die mit den Daten in StrExpr beginnt, unabhängig von den folgenden Zeichen. Bei Vergleichen wird die Groß-/Kleinschreibung nicht beachtet. Die Suche nach Zeichenfolgen beginnt mit der durch item& angegebenen Zeichenfolge und endet mit der letzten Zeichenfolge in der LISTBOX. Die Suche beginnt nicht am Anfang der Liste. Die Artikelnummer ( item& ) wird auf 1 indiziert (1=erste, 2=zweite usw.). Um die gesamte LISTBOX beginnend mit der ersten Zeichenfolge zu durchsuchen, sollte item& auf eins (1) gesetzt werden. Wenn eine passende Zeichenfolge gefunden wird, wird der Indexwert der Übereinstimmung der durch datav& angegebenen Variablen zugewiesen. Wird keine Übereinstimmung gefunden, wird ihm der Wert Null (0) zugewiesen.

LISTBOX FIND EXACT hDlg , id& , item& , StrExpr TO datav&

Zeichenfolgen in der LISTBOX werden durchsucht, um die erste Zeichenfolge zu finden, die genau mit den Daten in StrExpr übereinstimmt. Bei Vergleichen wird die Groß-/Kleinschreibung nicht beachtet. Die Suche nach Zeichenfolgen beginnt mit der durch item& angegebenen Zeichenfolge und endet mit der letzten Zeichenfolge in der LISTBOX. Die Suche beginnt nicht am Anfang der Liste. Die Artikelnummer ( item& ) wird auf 1 indiziert (1=erste, 2=zweite usw.). Um die gesamte LISTBOX beginnend mit der ersten Zeichenfolge zu durchsuchen, sollte item& auf eins (1) gesetzt werden. Wenn eine passende Zeichenfolge gefunden wird, wird der Indexwert der Übereinstimmung der durch datav& angegebenen Variablen zugewiesen. Wird keine Übereinstimmung gefunden, wird ihm der Wert Null (0) zugewiesen.

LISTBOX GET COUNT hdlg , id& TO datav&

Die Anzahl der Elemente in der LISTBOX wird abgerufen und der durch datav& angegebenen langen Ganzzahlvariablen zugewiesen.

LISTBOX GET SELCOUNT hdlg , id& TO datav&

Die Anzahl der ausgewählten Elemente in der LISTBOX wird abgerufen und der durch datav& angegebenen Long-Integer-Variablen zugewiesen.

LISTBOX GET SELECT hDlg , id& [, item& ] TO datav&

Die LISTBOX wird durchsucht, um das erste ausgewählte Element zu finden. Wenn der Parameter item& enthalten ist, beginnt die Suche an dieser Position, um das Abrufen mehrerer ausgewählter Elemente zu erleichtern. Wenn item& weggelassen wird, beginnt die Suche beim ersten Datenelement. Die Indexnummer des ausgewählten Elements wird der durch datav& bezeichneten Variablen zugewiesen. Wenn kein Element ausgewählt ist, wird ihm der Wert Null (0) zugewiesen.

LISTBOX GET STATE hdlg , id& , item& TO datav&

Ein Datenelement wird daraufhin überprüft, ob es derzeit ausgewählt ist. Der numerische Wert item& gibt an, welcher Benutzerwert überprüft werden soll, 1 für das erste Element, 2 für das zweite Element usw. Wenn das Element ausgewählt ist, wird -1 ( true ) der durch datav& angegebenen Variablen zugewiesen. Andernfalls wird ihm 0 (false) zugewiesen.

LISTBOX GET TEXT hDlg , id& [, item& ] TO txtv$

Text wird aus der LISTBOX abgerufen und der durch txtv$ angegebenen Zeichenfolgenvariablen zugewiesen. Wenn der numerische Ausdruck item& enthalten ist, bestimmt er, welche Textzeichenfolge zurückgegeben wird, 1 für das erste Element, 2 für das zweite Element usw.

Der Parameter item& kann weggelassen werden oder den Wert Null (0) enthalten. Im Falle einer Einzelauswahl-Listbox wird der aktuell ausgewählte Text (falls vorhanden) abgerufen und txtv$ zugewiesen. Bei einer Mehrfachauswahl-Listbox (Stil %LBS_MULTIPLESEL oder %LBS_EXTENDEDSEL) wird der Text des ersten (Basis-) ausgewählten Elements txtv$ zugewiesen. Um weitere ausgewählte Textelemente aus einem Listenfeld mit Mehrfachauswahl abzurufen, verwenden Sie LISTBOX GET SELECT, um ausgewählte Elementnummern abzurufen. Wenden Sie dann die Artikelnummern mit LISTBOX GET TEXT an, um die Zeichenfolgendaten abzurufen.

LISTBOX GET USER hdlg , id& , item& TO datav&

Jedem Element in einer LISTBOX kann nach Ermessen des Programmierers ein langer ganzzahliger Benutzerwert zugeordnet sein. Dieser Benutzerwert wird mit LISTBOX GET USER abgerufen. Der numerische Wert item& gibt an, welcher Benutzerwert angefordert wird, 1 für das erste Element, 2 für das zweite Element usw. Der zurückgegebene Benutzerwert wird der durch datav& angegebenen langen Ganzzahlvariablen zugewiesen. LISTBOX-Benutzerwerte werden mit der LISTBOX SET USER-Anweisung zugewiesen. Zusätzlich zu diesen LISTBOX-Benutzerwerten bietet jedes DDT-Steuerelement zusätzlich acht Benutzerwerte, auf die mit CONTROL GET USER und CONTROL SET USER zugegriffen werden kann.

LISTBOX INSERT hDlg , id& , item& , StrExpr [TO datav& ]

Der durch StrExpr angegebene Text für ein neues Datenelement wird an der durch item& angegebenen Stelle eingefügt. Der Wert von item& = 1 für das erste Element, 2 für das zweite Element usw. Die Liste der Datenelemente wird nicht neu sortiert, auch wenn die LISTBOX mit dem Stil %LBS_SORT erstellt wurde. Wenn Sie alle Elemente sortieren möchten, verwenden Sie stattdessen LISTBOX ADD. Wenn die optionale TO-Klausel enthalten ist, wird die Indexposition der eingefügten Zeichenfolge der durch datav& dargestellten Variablen zugewiesen. Der Index beträgt eins für die erste Zeichenfolge, zwei für die zweite usw. Wenn der Index kleiner als eins ist, ist ein Fehler aufgetreten und es wurde keine Zeichenfolge eingefügt.

LISTBOX RESET hdlg , id&

Alle Inhalte der angegebenen LISTBOX löschen.

LISTBOX SELECT hDlg , id& , item&

Das durch item& angegebene Zeichenfolgendatenelement wird als ausgewählter Text für das LISTBOX-Steuerelement ausgewählt und der ausgewählte Text wird an eine sichtbare Position gescrollt. Der Wert von item& = 1 für das erste Element, 2 für das zweite Element usw. Wenn der Wert von item& = 0 bei einem Listenfeld mit Mehrfachauswahl, werden alle Zeichenfolgendatenelemente ausgewählt. LISTBOX SELECT kann sowohl mit Einzel- als auch mit Mehrfachauswahl-Listboxen verwendet werden.

LISTBOX SET TEXT hDlg , id& , item& , StrExpr

Der Text für das durch item& angegebene Datenelement wird durch den neuen Text in StrExpr ersetzt. Der Wert von item& = 1 für das erste Element, 2 für das zweite Element usw. Die Liste der Datenelemente wird nicht neu sortiert, auch wenn die LISTBOX mit dem Stil %LBS_SORT erstellt wurde. Wenn Sie die Elemente sortieren möchten, verwenden Sie stattdessen LISTBOX DELETE gefolgt von LISTBOX ADD.

LISTBOX SET USER hDlg , id& , item& , NumExpr

Jedem Element in einer LISTBOX kann nach Ermessen des Programmierers ein langer ganzzahliger Benutzerwert zugeordnet sein. Dieser Benutzerwert wird mit LISTBOX SET USER zugewiesen und mit LISTBOX GET USER abgerufen. Der numerische Wert item& gibt an, auf welchen Benutzerwert zugegriffen werden soll, 1 für das erste Element, 2 für das zweite Element usw. Der durch NumExpr angegebene Wert wird für einen späteren Abruf gespeichert. Zusätzlich zu diesen LISTBOX-Benutzerwerten bietet jedes DDT-Steuerelement zusätzlich acht Benutzerwerte, auf die mit CONTROL GET USER und CONTROL SET USER zugegriffen werden kann.

LISTBOX UNSELECT hDlg , id& [, item& ]

Der durch item& angegebene Zeichenfolgenwert wird für das LISTBOX-Steuerelement auf einen nicht ausgewählten Status gesetzt. Der Wert von item& = 1 für das erste Element, 2 für das zweite Element usw. Wenn item& fehlt oder den Wert Null hat, werden alle Elemente auf einen nicht ausgewählten Status gesetzt. LISTBOX UNSELECT kann sowohl mit Einzel- als auch mit Mehrfachauswahl-Listboxen verwendet werden.

Einschränkungen

Unter Windows 95/98/ME ist ein Listenfeld auf 32.767 Elemente beschränkt. In allen Windows-Versionen sind die tatsächlich im Listenfeld enthaltenen Zeichenfolgendaten nur durch den verfügbaren Speicher begrenzt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD LISTBOX
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • Hilfe zum PBXB64-Compiler


LISTVIEW DELETE COLUMN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LISTVIEW DELETE COLUMN

Manipulate a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LISTVIEW DELETE COLUMN hDlg , id& , col&
LISTVIEW DELETE ITEM hDlg , id& , item&
LISTVIEW FIND hDlg , id& , item& , StrExpr TO datav&
LISTVIEW FIND EXACT hDlg , id& , item& , StrExpr TO datav&
LISTVIEW FIT CONTENT hDlg , id& , col&
LISTVIEW FIT HEADER hDlg , id& , col&
LISTVIEW GET COLUMN hDlg , id& , col& TO datav&
LISTVIEW GET COUNT hDlg , id& TO datav&
LISTVIEW GET HEADER hDlg , id& , col& TO txtv$
L ISTVIEW GET HEADERID hDlg , id& TO hLV , idv&
LISTVIEW GET MODE hDlg , id& TO datav&
LISTVIEW GET SELCOUNT hDlg , id& TO datav&
L ISTVIEW GET SELECT hDlg , id& [, item& ] TO datav&
LISTVIEW GET STATE hDlg , id& , item& , col& TO datav&
LISTVIEW GET STYLEXX hDlg , id& TO datav&
LISTVIEW GET TEXT hDlg , id& , item& , col& TO txtv$
LISTVIEW GET USER hDlg , id& , item& TO datav&
LISTVIEW INSERT COLUMN hDlg , id& , col& , StrExpr , ColWidth& , format&
LISTVIEW INSERT ITEM hDlg , id& , item& , image& , StrExpr
LISTVIEW RESET hDlg , id&
LISTVIEW SELECT hDlg , id& , item& [, col& ]
LISTVIEW SET COLUMN hDlg , id& , col& , NumExpr
LISTVIEW SET HEADER hDlg , id& , col& , StrExpr
LISTVIEW SET IMAGE hDlg , id& , item& , NumExpr
LISTVIEW SET IMAGE2 hDlg , id& , item& , NumExpr
LISTVIEW SET IMAGELIST hDlg , id& , hLst , NumExpr
LISTVIEW SET MODE hDlg , id& , NumExpr
LISTVIEW SET OVERLAY hDlg , id& , item& , NumExpr
LISTVIEW SET STYLEXX hDlg , id& , NumExpr
LISTVIEW SET TEXT hDlg , id& , item& , col& , StrExpr
LISTVIEW SET USER hDlg , id& , item& , NumExpr

Beschreibung

Manipulate a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit einem LISTVIEW-Steuerelement stehen vier allgemeine Anzeigemodi zur Verfügung. Der anfängliche Anzeigemodus wird zum Zeitpunkt der Erstellung des Steuerelements als Teil des Steuerelementstilparameters festgelegt. Es kann von Zeit zu Zeit mit LISTVIEW SET MODE geändert werden.

Modus 0

Symbolmodus – Zeichenfolgendatenelemente werden von links nach rechts angezeigt und bei Bedarf in mehrere Zeilen umgebrochen. Wenn dem LISTVIEW-Steuerelement ein kleines Symbol IMAGELIST hinzugefügt wird, werden Bilder aus dieser Liste mit jedem Datenelement angezeigt.

Modus 1

Berichtsmodus – Zeichenfolgendatenelemente werden als Liste von oben nach unten angezeigt, ein Element pro Zeile. Das Steuerelement kann eine oder mehrere Spalten mit jeweils einem Kopfzeilentext zur Beschreibung haben. In jeder Spalte können zusätzliche Unterelemente angezeigt werden, indem eine Spaltennummer größer als eins angegeben wird. Dies ist der am häufigsten verwendete ListView-Modus und der Standardmodus, wenn er zum Zeitpunkt der Erstellung des Steuerelements nicht angegeben wird. In diesem Modus ist es oft praktisch, sich die Artikelnummer als Zeilennummer vorzustellen. Wenn dem LISTVIEW-Steuerelement ein kleines Symbol IMAGELIST hinzugefügt wird, werden Bilder aus dieser Liste mit jedem Datenelement angezeigt.

Modus 2

Kleiner Symbolmodus – Zeichenfolgendatenelemente werden von links nach rechts angezeigt und bei Bedarf in mehrere Zeilen umgebrochen. Wenn dem LISTVIEW-Steuerelement ein kleines Symbol IMAGELIST hinzugefügt wird, werden Bilder aus dieser Liste mit jedem Datenelement angezeigt.

Modus 3

Listenmodus – Zeichenfolgendatenelemente werden als Liste von oben nach unten angezeigt, ein Element pro Zeile. Dieser Modus ähnelt im Aussehen stark einem Standard-LISTBOX-Steuerelement. In diesem Modus ist es oft praktisch, sich die Artikelnummer als Zeilennummer vorzustellen. Wenn dem LISTVIEW-Steuerelement ein kleines Symbol IMAGELIST hinzugefügt wird, werden Bilder aus dieser Liste mit jedem Datenelement angezeigt.

In allen folgenden Beschreibungen wird das LISTVIEW-Steuerelement, das Gegenstand der Anweisung ist, durch das Handle des Dialogs identifiziert, der das LISTVIEW besitzt ( hDlg ), und die eindeutige Steuerelement-ID ( id& ), die Sie ihm bei der Erstellung in CONTROL ADD LISTVIEW gegeben haben.

Auf jedes Datenelement (oder Unterelement) wird durch eine Kombination aus seiner Elementnummer ( item& ) und seiner Spaltennummer ( col& ) verwiesen. Ein primäres Datenelement hat immer die Spaltennummer 1, während Unterelemente immer eine Spaltennummer größer als 1 haben. Unterelemente werden nur im Berichtsmodus angezeigt. In allen anderen Anzeigemodi sind sie nicht sichtbar.

Es ist wichtig zu beachten, dass sowohl die primären Elementnummern ( item& ) als auch die Spaltennummern der untergeordneten Elemente ( col& ) bei 1 beginnen. Die erste = 1, die zweite = 2 und so weiter.

LISTVIEW SPALTE LÖSCHEN hdlg , id& , col&

Die durch col& angegebene Spalte, einschließlich des zugehörigen Kopfzeilentexts (falls vorhanden), wird aus dem LISTVIEW-Steuerelement gelöscht. Die Spaltennummer ( col& ) wird auf 1 indiziert (1=erste, 2=zweite usw.). Spalte eins eines Listenansicht-Steuerelements kann nicht gelöscht werden. Wenn Sie Spalte eins löschen müssen, fügen Sie eine Dummy-Spalte mit der Länge Null ein und löschen Sie Spalte zwei und darüber. Dies ist eine Einschränkung des Microsoft Windows Listview-Steuerelements und keine PowerBASIC-Einschränkung.

LISTVIEW DELETE ITEM hdlg , id& , item&

Das durch item& angegebene Datenelement wird aus dem LISTVIEW-Steuerelement gelöscht. Die Zeilennummer ( item& ) wird auf 1 indiziert (1=erste, 2=zweite usw.).

LISTVIEW FIND hDlg , id& , item& , StrExpr TO datav&

Zeichenfolgen in der ersten Spalte einer LISTVIEW werden durchsucht, um die erste Zeichenfolge zu finden, die mit den Daten in StrExpr beginnt, unabhängig von den folgenden Zeichen. Bei Vergleichen wird die Groß-/Kleinschreibung nicht beachtet. Es werden Zeichenfolgen durchsucht, beginnend mit der durch item& angegebenen Zeichenfolge und endend mit der letzten Zeichenfolge in der LISTVIEW. Die Suche beginnt nicht am Anfang der Liste. Die Zeilennummer ( item& ) wird auf 1 indiziert (1=erste, 2=zweite usw.). Um die gesamte LISTVIEW beginnend mit der ersten Zeichenfolge zu durchsuchen, sollte item& auf eins (1) gesetzt werden. Wenn eine passende Zeichenfolge gefunden wird, wird der Indexwert der Übereinstimmung der durch datav& angegebenen Variablen zugewiesen. Wird keine Übereinstimmung gefunden, wird ihm der Wert Null (0) zugewiesen.

LISTVIEW FIND EXACT hDlg , id& , item& , StrExpr TO datav&

Zeichenfolgen in der ersten Spalte einer LISTVIEW werden durchsucht, um die erste Zeichenfolge zu finden, die genau mit den Daten in StrExpr übereinstimmt. Bei Vergleichen wird die Groß-/Kleinschreibung nicht beachtet. Es werden Zeichenfolgen durchsucht, beginnend mit der durch item& angegebenen Zeichenfolge und endend mit der letzten Zeichenfolge in der LISTVIEW. Die Suche beginnt nicht am Anfang der Liste. Die Zeilennummer ( item& ) wird auf 1 indiziert (1=erste, 2=zweite usw.). Um die gesamte LISTVIEW beginnend mit der ersten Zeichenfolge zu durchsuchen, sollte item& auf eins (1) gesetzt werden. Wenn eine passende Zeichenfolge gefunden wird, wird der Indexwert der Übereinstimmung der durch datav& angegebenen Variablen zugewiesen. Wird keine Übereinstimmung gefunden, wird ihm der Wert Null (0) zugewiesen.

LISTVIEW FIT CONTENT hdlg , id& , col&

Die Breite der durch col& angegebenen Spalte wird an die Breite der in dieser Spalte angezeigten Datenelemente angepasst. Die Spaltennummer ( col& ) wird auf 1 indiziert (1=erste, 2=zweite usw.).

LISTVIEW FIT HEADER hdlg , id& , col&

Die Breite der durch col& angegebenen Spalte wird an die Breite der in dieser Spalte angezeigten Zeilen und den Kopfzeilentext oben in dieser Spalte angepasst. Die Spaltennummer ( col& ) wird auf 1 indiziert (1=erste, 2=zweite usw.). Wenn es sich bei der angegebenen Spalte um die letzte Spalte handelt, wird ihre Breite so festgelegt, dass sie die verbleibende Breite des Listenansichtssteuerelements ausfüllt.

LISTVIEW GET COLUMN hdlg , id& , col& TO datav&

Die Breite der angegebenen Spalte wird aus der ListView abgerufen und der durch datav& angegebenen Variablen zugewiesen. Die Breite wird entweder in Pixeln oder in Dialogeinheiten angegeben, je nachdem, was bei der Erstellung verwendet wurde. Der Wert col& gibt die Spaltennummer an (1=erste, 2=zweite usw.).

LISTVIEW GET COUNT

hDlg , id& TO datav&

Die Anzahl der Zeilen in LISTVIEW wird abgerufen und der durch datav& angegebenen Long-Integer-Variablen zugewiesen.

LISTVIEW GET HEADER hdlg , id& , col& TO txtv$

Der Spaltenkopftext wird aus LISTVIEW abgerufen und der durch txtv$ angegebenen Zeichenfolgenvariablen zugewiesen. Der Wert col& gibt die Spaltennummer an (1=erste, 2=zweite usw.).

LISTVIEW GET HEADERID hdlg , id& TO hLV , idv&

Das Handle des LISTVIEW-Steuerelements und die ID des HEADER-Steuerelements (ein untergeordnetes Element von LISTVIEW) werden abgerufen und den durch hLV bzw. idv& dargestellten Variablen zugewiesen. Diese beiden Elemente können dann mit der HEADER-Anweisung zur erweiterten Handhabung des in LISTVIEW eingebetteten Header-Steuerelements verwendet werden.

LISTVIEW GET MODE hdlg , id& TO datav&

Der Anzeigemodus des angegebenen LISTVIEW-Steuerelements wird abgerufen und der durch datav& angegebenen Variablen zugewiesen. Mögliche Moduswerte sind 0=Symbolmodus, 1=Berichtsmodus, 2=Kleinsymbolmodus, 3=Listenmodus.

LISTVIEW GET SELCOUNT hdlg , id& TO datav&

Die LISTVIEW wird abgefragt, um die Anzahl der aktuell ausgewählten Primärdatenelemente zu ermitteln. Dieser Zähler wird der durch datav& angegebenen Long-Integer-Variablen zugewiesen. Um die Anzahl der ausgewählten Unterelemente zu ermitteln, müssen Sie LISTVIEW GET STATE für jedes aktive Unterelement ausführen.

LISTVIEW GET SELECT hDlg , id& [, item& ] TO datav&

Die LISTVIEW wird abgefragt, um das nächste primäre Datenelement zu ermitteln, das derzeit ausgewählt ist. Der Parameter item& gibt die Startartikelnummer für die Suche an, um das Auffinden mehrerer ausgewählter Artikel zu erleichtern. Um am Anfang zu beginnen, verwenden Sie ein Element& von eins (1) oder lassen Sie diesen Parameter einfach weg. Die ausgewählte Artikelnummer wird der durch datav& angegebenen Long-Integer-Variable zugewiesen. Wenn keine ausgewählten Elemente gefunden werden, wird der Wert Null (0) zurückgegeben. Um ausgewählte Unterelemente zu finden, müssen Sie LISTVIEW GET STATE für die verbleibenden aktiven Unterelemente ausführen.

LISTVIEW GET STATE hdlg , id& , item& , col& TO datav&

Ein Datenelement wird getestet, um festzustellen, ob es derzeit ausgewählt ist. Die Werte von item& / col& geben die Position des Datenelements an (1=erstes, 2=zweite usw.). Wenn das Element ausgewählt ist, wird -1 ( true ) der durch datav& angegebenen Variablen zugewiesen. Andernfalls wird ihm 0 (false) zugewiesen.

LISTVIEW GET STYLEXX hdlg , id& TO datav&

ListView-Steuerelemente bieten eine Reihe optionaler zusätzlicher Stilattribute, die einzigartig und spezifisch für eine ListView sind. Diese Anweisung ruft die aktuelle Einstellung dieses speziellen erweiterten Stils ab und weist sie der durch datav& angegebenen Long-Integer-Variablen zu. Eine Liste der verfügbaren erweiterten Stile finden Sie unter LISTVIEW SET STYLEXXX. Dieser spezielle erweiterte Stil wird STYLEXX genannt, um ihn vom primären Stil und dem erweiterten Stil zu unterscheiden, die in CONTROL ADD LISTVIEW angegeben sind.

LISTVIEW GET TEXT hdlg , id& , item& , col& TO txtv$

Ein String-Datenelement wird vom LISTVIEW-Steuerelement abgerufen und der durch txtv$ angegebenen String-Variablen zugewiesen. Die Werte von item& / col& geben die Position des Datenelements an (1=erstes, 2=zweite usw.).

LISTVIEW GET USER hDlg , id& , item& TO datav&

Jeder Zeile in einer LISTVIEW kann nach Ermessen des Programmierers ein langer ganzzahliger Benutzerwert zugeordnet sein. Dieser Benutzerwert wird mit LISTVIEW GET USER abgerufen. Der numerische Wert item& gibt an, welcher Benutzerwert angefordert wird, 1 für die erste Zeile, 2 für die zweite Zeile usw. Der zurückgegebene Benutzerwert wird der durch datav& angegebenen langen Ganzzahlvariablen zugewiesen. LISTVIEW-Benutzerwerte werden mit der LISTVIEW SET USER-Anweisung zugewiesen. Zusätzlich zu diesen LISTVIEW-Benutzerwerten bietet jedes DDT-Steuerelement zusätzlich acht Benutzerwerte, auf die mit CONTROL GET USER und CONTROL SET USER zugegriffen werden kann.

LISTVIEW INSERT COLUMN hdlg , id& , col& , StrExpr , ColWidth& , format&

Für den Berichtsmodus dieses LISTVIEW-Steuerelements wird eine neue vertikale Spalte definiert. Der Wert col& gibt die Spaltennummer an (1=erste, 2=zweite usw.). StrExpr beschreibt den Textnamen der Spaltenüberschrift. Der Wert ColWidth& gibt die Breite der Spalte in Dialogeinheiten oder Pixeln an, je nachdem, was bei der Erstellung angegeben wurde. Der Wert format& beschreibt das Format und die Ausrichtung des Textes: 0=links, 1=rechts, 2=zentriert. Spalte 1 ist immer linksbündig, unabhängig davon, was hier verlangt wird. Beim Einfügen einer neuen Spalte 1 wird der Inhalt der ursprünglichen Spalte 1 in die neue Spalte 1 kopiert. Dies geschieht nur beim Einfügen einer neuen Spalte ganz links. Beim Einfügen anderer Spalten werden keine Daten in die neue Spalte kopiert. Dies ist eine Einschränkung des Microsoft Windows Listview-Steuerelements und keine PowerBASIC-Einschränkung.

LISTVIEW INSERT ITEM hdlg , id& , item& , image& , StrExpr

Zu diesem LISTVIEW-Steuerelement wird eine neue Zeile hinzugefügt. Der Wert item& gibt die Zeilennummer an (1=erste, 2=zweite usw.) und StrExpr gibt den Text an, der in der ersten Spalte angezeigt werden soll. Die restlichen Spalten sind leer, Sie können sie jedoch füllen, indem Sie LISTVIEW SET TEXT ausführen. Wenn an dieses Steuerelement eine IMAGELIST angehängt wurde, gibt der Parameter image& an, welches Bild angezeigt werden soll (1=erstes, 2=zweite usw.). Wenn kein Bild benötigt wird, sollte der Wert 0 verwendet werden.

LISTVIEW RESET hdlg , id&

Alle Datenelemente werden aus dem angegebenen LISTVIEW-Steuerelement gelöscht. Alle Spalten und die zugehörigen Überschriften, die möglicherweise für den Berichtsanzeigemodus definiert wurden, bleiben unverändert erhalten.

LISTVIEW SELECT hDlg , id& , item& [, col& ]

Das durch item& / col& angegebene Zeichenfolgendatenelement wird als ausgewählter Text für das LISTVIEW-Steuerelement ausgewählt und das Element wird hervorgehoben. Die Werte von item& / col& = 1 für das erste Element, 2 für das zweite Element usw. Wenn der optionale Parameter col& nicht angegeben ist, wird der Standardwert 1 verwendet, um das primäre Datenelement auszuwählen.

LISTVIEW SET COLUMN hdlg , id& , col& , NumExpr

Die Breite einer LISTVIEW-Spalte wird auf die durch NumExpr festgelegte Breite geändert. Der Wert wird entweder in Dialogeinheiten oder Pixeln angegeben, je nachdem, was bei der Erstellung verwendet wurde. Der Wert col& gibt die Spaltennummer an (1=erste, 2=zweite usw.). Wenn NumExpr -1 ist, wird die Spaltenbreite an die Datenelemente in dieser Spalte angepasst. Wenn NumExpr -2 ist, wird die Spaltenbreite so angepasst, dass sie sowohl zu den Datenelementen als auch zum Kopfzeilentext passt. Diese Optionen sind funktional identisch mit LISTVIEW FIT CONTENT und LISTVIEW FIT HEADER.

LISTVIEW SET HEADER hdlg , id& , col& , StrExpr

Der Text der neuen Spaltenüberschrift wird über der angegebenen Spalte im LISTVIEW-Steuerelement angezeigt. Der String-Ausdruck StrExpr gibt den neuen Kopfzeilentext an, während der Wert col& die Spaltennummer angibt (1=erste, 2=zweite usw.).

LISTVIEW SET IMAGE hDlg , id& , item& , NumExpr

Das durch NumExpr (1=erstes, 2=zweite usw.) angegebene Bild wird neben dem durch item& angegebenen Element angezeigt. Wenn keine IMAGELIST an die LISTVIEW angehängt ist, wird nichts angezeigt.

LISTVIEW SET IMAGE2 hDlg , id& , item& , NumExpr

Das durch NumExpr angegebene Bild (1=erstes, 2=zweite usw.) wird als sekundäres „Status“-Bild neben dem primären Bild angezeigt. Wenn NumExpr den Wert Null ergibt, wird kein sekundäres Bild angezeigt. Ein sekundäres Bild wird normalerweise verwendet, um den Artikelstatus anzugeben, beispielsweise mit einem Häkchen. Sekundärbilder werden im Allgemeinen in keinem der Symbolmodi angezeigt. Wenn keine Statusbildliste an LISTVIEW angehängt ist (mit der LISTVIEW IMAGELIST-Anweisung), wird nichts angezeigt. Es werden maximal 15 Statusbilder unterstützt, daher muss NumExpr im Bereich von 1 bis 15 auswerten.

LISTVIEW SET IMAGELIST hdlg , id& , hLst , NumExpr

Die von hLst angegebene IMAGELIST wird an dieses LISTVIEW-Steuerelement angehängt. Der Wert von NumExpr gibt den Typ von IMAGELIST an:

%LVSIL_NORMAL

Große Symbole

%LVSIL_SMALL

Kleine Symbole

%LVSIL_STATE

Statusbilder

An jede LISTVIEW können bis zu drei IMAGELIST-Strukturen angehängt werden, um Bilder nach Bedarf mit jedem Datenelement anzuzeigen. Je nachdem, welcher Modus aktiv ist, werden zu diesem Zweck Symbole entweder aus der großen oder der kleinen Symbolliste extrahiert. Wenn auch eine Statusbildliste angehängt ist, kann die Anweisung LISTVIEW SET IMAGE2 verwendet werden, um ein sekundäres Bild anzuzeigen. Wenn das LISTVIEW-Steuerelement zerstört wird, werden alle angehängten IMAGELIST automatisch zerstört, es sei denn, der Stil %LVS_SHAREIMAGELISTS wurde zum Zeitpunkt der Erstellung von LISTVIEW angegeben.

LISTVIEW SET MODE hdlg , id& , NumrExpr

Der Anzeigemodus des angegebenen LISTVIEW-Steuerelements wird in den durch den Wert von NumExpr angegebenen Modus geändert. Die möglichen Moduswerte sind 0=Symbolmodus, 1=Berichtsmodus, 2=Kleinsymbolmodus, 3=Listenmodus.

LISTVIEW SET OVERLAY hdlg , id& , item& , NumExpr

Das durch NumExpr (1=erstes, 2=zweite usw.) angegebene Overlay-Bild wird über dem durch item& angegebenen Bild angezeigt. Wenn NumExpr Null ergibt oder keine IMAGELIST an LISTVIEW angehängt ist, wird kein Overlay angezeigt.

LISTVIEW SET STYLEXX hDlg , id& , NumExpr

ListView-Steuerelemente bieten eine Reihe optionaler zusätzlicher Stilattribute, die einzigartig und spezifisch für eine ListView sind. Mit dieser Anweisung können Sie die aktuelle Einstellung dieses speziellen erweiterten Stils ändern. Dieser spezielle erweiterte Stil wird STYLEXX genannt, um ihn vom primären Stil und dem erweiterten Stil zu unterscheiden, die in CONTROL ADD LISTVIEW angegeben sind. NumExpr definiert den neuen Stil aus einer beliebigen Kombination der folgenden erweiterten Stile:

%LVS_EX_GRIDLINES

Rasterlinien im Berichtsmodus hinzugefügt

%LVS_EX_SUBITEMIMAGES

Den Unterelementen im Berichtsmodus hinzugefügte Symbole

%LVS_EX_CHECKBOXES

Aktiviert Kontrollkästchen für Elemente

%LVS_EX_TRACKSELECT

Aktiviert die Hot-Track-Auswahl

%LVS_EX_HEADERDRAGDROP

Ermöglicht die Neuanordnung von Spalten per Drag-Drop im Berichtsmodus

%LVS_EX_FULLROWSELECT

Die Auswahl hebt die gesamte Zeile im Berichtsmodus hervor

%LVS_EX_ONECLICKACTIVATE

Benachrichtigung wird mit einem Klick gesendet

%LVS_EX_TWOCLICKACTIVATE

Benachrichtigung wird bei Doppelklick gesendet

%LVS_EX_FLATSB

Aktiviert flache Bildlaufleisten

%LVS_EX_REGIONAL

Legt den ListView-Bereich auf Symbole und Text fest

PBXB64-Implementierungshinweise

PBXB64 V14 testet die nativen Win32-ListView-Pfade fuer LISTVIEW INSERT ITEM, LISTVIEW GET COUNT, LISTVIEW SET STYLEXX, LISTVIEW GET STYLEXX, LISTVIEW SET OVERLAY und LISTVIEW SET IMAGELIST. Diese Formen sind durch registrierte Link-and-Run-Regressionen gegen echte ListView-Common-Controls abgedeckt.

%LVS_EX_INFOTIP

Listview erstellt InfoTips für Sie

%LVS_EX_UNDERLINEHOT

Bei heißen Artikeln ist der Text unterstrichen

%LVS_EX_UNDERLINECOLD

Nicht heiße Artikel haben unterstrichenen Text

%LVS_EX_MULTIWORKAREAS

Wird erst dann automatisch angeordnet, wenn Arbeitsbereiche definiert sind

%LVS_EX_LABELTIP

Die Listenansicht deckt teilweise versteckte Beschriftungen auf

%LVS_EX_BORDERSELECT

Rahmenauswahlstil statt Hervorhebung

%LVS_EX_DOUBLEBUFFER

Malt durch Doppelpufferung und reduziert Flimmern

%LVS_EX_HIDELABELS

Blendet Beschriftungen im Symbol- und Kleinsymbolmodus aus

%LVS_EX_SINGLEROW

Zeigt eine einzelne Zeile an

%LVS_EX_SNAPTOGRID

Symbole werden automatisch am Raster ausgerichtet

%LVS_EX_SIMPLESELECT

Ändert das Overlay-Rendering nach oben rechts

LISTVIEW SET TEXT hDlg , id& , item& , col& , StrExpr

Der Text, falls vorhanden, für das angegebene Datenelement wird durch den neuen Text in StrExpr ersetzt. Sie müssen bedenken, dass diese Anweisung kein neues Element (horizontale Zeile) erstellt, sondern vorhandenen Text, falls vorhanden, in neuen Text ändert. Um ein neues Datenelement (horizontale Zeile) zu erstellen, verwenden Sie stattdessen LISTVIEW INSERT ITEM. Die Werte von item&/col& geben die Position des Datenelements an (1=erstes, 2=zweite usw.).

LISTVIEW SET USER hDlg , id& , item& , NumExpr

Jeder Zeile in einer LISTVIEW kann nach Ermessen des Programmierers ein langer ganzzahliger Benutzerwert zugeordnet sein. Dieser Benutzerwert wird mit LISTVIEW SET USER zugewiesen und mit LISTVIEW GET USER abgerufen. Der numerische Wert item& gibt an, auf welchen Benutzerwert zugegriffen werden soll, 1 für das erste Element, 2 für das zweite Element usw. Der durch NumExpr angegebene Wert wird für einen späteren Abruf gespeichert. Zusätzlich zu diesen LISTVIEW-Benutzerwerten bietet jedes DDT-Steuerelement zusätzlich acht Benutzerwerte, auf die mit CONTROL GET USER und CONTROL SET USER zugegriffen werden kann.

Einschränkungen

Unter Windows 95/98/ME ist eine ListView auf 32.767 Elemente beschränkt. In allen Windows-Versionen sind die tatsächlichen Zeichenfolgendaten, die in ListView enthalten sind, nur durch den verfügbaren Speicher begrenzt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD LISTVIEW
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • HEADER GET COUNT
  • IMAGELIST BITMAP HINZUFÜGEN
  • Hilfe zum PBXB64-Compiler


LO - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LO

Extrahieren Sie den niedrigstwertigen (niederwertigen) Teil eines Integrals

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result = LO( DataType , value )

Beschreibung

Extrahieren Sie den niedrigstwertigen (niederwertigen) Teil eines Integrals

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der von LO zurueckgegebene Wert ist ohne Vorzeichen, wenn DataType BYTE, WORD, DWORD oder PTR ist, und mit Vorzeichen, wenn DataType INTEGER oder LONG ist. value darf bis zur doppelten Groesse des angegebenen Datentyps reichen. Fuer PTR gibt PBXB64 das niedrige DWORD des 64-Bit-Werts zurueck.

b = LO(BYTE, n)

w = LO(WORD, n)

dw = LO(PTR, p)

Einschränkungen

PBXB64 unterstuetzt sowohl die moderne Syntax LO(DataType, value) als auch die alten Hilfsnamen LOBYT, LOINT und LOWRD. Das fokussierte Regressionsbeispiel ist examples/basic/test_hi_lo_mak_typed.pb.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • HI
  • MAK
  • Hilfe zum PBXB64-Compiler


LOC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LOC

Bestimmen Sie den Strom

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

qResult&& = LOC([#] filenum& )

Beschreibung

Bestimmen Sie den Strom

Typ:Funktion |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

LOC wird zur Kompatibilität mit älteren BASICs bereitgestellt. Es wird empfohlen, den Code so zu ändern, dass stattdessen die SEEK-Funktion verwendet wird. Das Zahlensymbol (#) ist optional, wird aber aus Gründen der Übersichtlichkeit empfohlen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • FILEATTR
  • SEEK ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


LOCK - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LOCK

Teilweise oder vollst&auml;ndige Sperre einer ge&ouml;ffneten Datei

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LOCK [#] filenum& [, { record&& | startbyte&& TO endbyte&& }]

Beschreibung

Teilweise oder vollständige Sperre einer geöffneten Datei

Typ: Anweisung | Kategorie: Datei-E/A

PBXB64-Status: VERFÜGBAR

PBXB64-Zertifizierung: [IMPLEMENTIERT: Win32-Bytebereichssperren]

Beschreibung

LOCK verhindert, dass ein anderer Prozess auf einen Datensatz, einen Datensatzbereich, ein Byte oder einen Bytebereich in einer Datei zugreift, die als Dateinummer Dateinummer& geöffnet ist.

Wenn die Datei im Direktzugriffsmodus geöffnet wurde, geben Datensatz&&, Startbyte&& und Endbyte&& Datensatznummern an. Bei Dateien im Binärmodus geben sie Bytepositionen an.

Wird ein Datensatz angegeben, wird nur dieser Datensatz (oder Byte) gesperrt. Andernfalls wird ein Bereich von Datensätzen (oder Bytes) von Startbyte&& bis Endbyte&& gesperrt.

Werden keine Datensätze angegeben oder wurde die Datei im sequenziellen Modus geöffnet, wird die gesamte Datei gesperrt.

Alle gesperrten Datensätze (oder Bytes) müssen später mit der UNLOCK-Anweisung wieder freigegeben werden. Mehrere Sperren pro Datei sind möglich und können in beliebiger Reihenfolge aufgehoben werden; die Parameter jedes UNLOCK müssen jedoch genau denen des zugehörigen LOCK entsprechen.

Alle gesperrten Bereiche müssen vor dem Schließen der Datei entsperrt werden.

Einschränkungen

  • Dateinummern müssen als Literale #1..#16 angegeben werden.
  • Fehlercodes in der ERR-Variablen werden derzeit nicht gesetzt.

Getestetes Beispiel

Beispieldatei: examples/basic/test_lock_unlock.pb

Validierungsnachweis: Die fokussierte Regression oeffnet eine kleine Textdatei fuer gemeinsamen binaren Lese-/Schreibzugriff, sperrt und entsperrt literale und variable Bytebereiche und prueft danach, dass der Dateiinhalt unveraendert bleibt. Damit ist belegt, dass LOCK einen einzelnen Bereich, einen variablen Start-/Endbereich, die Form start,laenge und auch eine ganze Datei sperren kann.

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    LOCAL s AS STRING
    LOCAL startByte AS QUAD
    LOCAL endByte AS QUAD

    OPEN "lock_test.txt" FOR OUTPUT AS #1
    PRINT #1, "0123456789ABCDEF";
    CLOSE #1

    OPEN "lock_test.txt" FOR BINARY ACCESS READ WRITE LOCK SHARED AS #1
    LOCK #1, 2 TO 3
    UNLOCK #1, 2 TO 3
    startByte = 4
    endByte = 5
    LOCK #1, startByte TO endByte
    UNLOCK #1, startByte TO endByte
    LOCK #1, 6, 2
    UNLOCK #1, 6, 2
    LOCK #1
    UNLOCK #1
    CLOSE #1

    OPEN "lock_test.txt" FOR INPUT AS #1
    LINE INPUT #1, s
    CLOSE #1
    KILL "lock_test.txt"

    IF s <> "0123456789ABCDEF" THEN FUNCTION = 1
END FUNCTION

Verhalten: Das Beispiel zeigt Bereichs- und Ganzdatei-Sperren in einer kleinen Datei und prueft, dass der Sperrzyklus die Daten unveraendert laesst. Focus statement: LOCK #1, startByte TO endByte

PBXB64-Status: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • OPEN
  • UNLOCK
  • Hilfe zum PBXB64-Compiler


LOF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LOF

Gibt die L&auml;nge von an zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y&& = LOF([#] filenum& )

Beschreibung

Gibt die Länge von an zurück

Typ:Funktion |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

filenum& ist die Dateinummer, mit der die Datei geöffnet wurde. LOF gibt die Größe der angegebenen Datei in Bytes im Quad-Integer-Bereich von 0 bis 2^63-1 zurück. Das Zahlensymbol (#) ist optional, wird aber aus Gründen der Übersichtlichkeit empfohlen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • FILEATTR
  • LOC
  • SEEK ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


LOG10 - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LOG10

Gibt den Logarithmus zur Basis 10 eines Arguments zurueck.

Kategorie: Allgemeine Referenz

Syntax

y = LOG10( numeric_expression )

Beschreibung

Gibt den Logarithmus zur Basis 10 eines Arguments zurueck.

Typ: Funktion | Kategorie: Mathematik und Numerik

PBXB64-Status: VERFUEGBAR

Beschreibung

LOG10 gibt die Potenz zurueck, mit der 10 potenziert werden muss, um numeric_expression zu erhalten. Das Argument muss groesser als Null sein.

PBXB64 akzeptiert INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL ueber den bestehenden LOG10-Befehl. Wide- und UNL-Werte verwenden den internen typisierten Laufzeitpfad.

Validierung

tests/pb/test_math_wide_unl.pb prueft LOG10 mit Wide-Integer und UNL. Verwenden Sie den Test math_wide_unl aus tests/validate.toml.


LOG1P - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LOG1P

Gibt log(1+n) mit einem stabilen Rechenweg fuer kleine Werte zurueck.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(LOG1P(1.0) - 0.6931471806) > 0.0001 THEN FUNCTION = 1

Beschreibung

Gibt log(1+n) mit einem stabilen Rechenweg fuer kleine Werte zurueck.

Syntax: y = LOG1P( n )

Semantik

LOG1P ist fuer n nahe null genauer als LOG(1+n). Der reelle Bereich ist n > -1. Das Ergebnis ist DOUBLE.

Datentypen

Alle normalen numerischen PB-Typen und die Wide-, UNL- und UNF-Familien werden akzeptiert.


LOG2 - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LOG2

Gibt den Logarithmus zur Basis 2 eines Arguments zurueck.

Kategorie: Allgemeine Referenz

Syntax

y = LOG2( numeric_expression )

Beschreibung

Gibt den Logarithmus zur Basis 2 eines Arguments zurueck.

Typ: Funktion | Kategorie: Mathematik und Numerik

PBXB64-Status: VERFUEGBAR

Beschreibung

LOG2 gibt die Potenz zurueck, mit der 2 potenziert werden muss, um numeric_expression zu erhalten. Das Argument muss groesser als Null sein.

PBXB64 akzeptiert INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL ueber den bestehenden LOG2-Befehl. Wide- und UNL-Werte verwenden den internen typisierten Laufzeitpfad.

Validierung

tests/pb/test_math_wide_unl.pb prueft LOG2 mit Wide-Integer und UNL. Verwenden Sie den Test math_wide_unl aus tests/validate.toml.


LOGISTIC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LOGISTIC

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = LOGISTIC( x )

Beschreibung

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Semantik

Liefert die stabile logistische Sigmoidfunktion 1/(1+exp(-x)) als DOUBLE. Getrennte positive und negative Zweige vermindern das Ueberlaufrisiko.

Operanden und Grenzen

Normale Numerik sowie INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden ueber DOUBLE-Konvertierung akzeptiert. Nicht-endliche Eingaben liefern ein nicht-endliches Ergebnis.


LOGIT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LOGIT

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = LOGIT( p )

Beschreibung

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Semantik

Liefert log(p/(1-p)) als DOUBLE. Im reellen Bereich muss die endliche Wahrscheinlichkeit strikt zwischen 0 und 1 liegen.

Operanden und Grenzen

Normale Numerik sowie feste Wide-Integer-Familien, UNL und UNF werden ueber DOUBLE-Konvertierung akzeptiert. Werte ausserhalb des offenen Intervalls (0,1) liefern ein nicht-endliches Gleitkommaergebnis; beliebig genaue Ergebnisse sind nicht Bestandteil von V20.


Lokaler MCP-Tool-Adapter - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Lokaler MCP-Tool-Adapter

Funktion: MCP_ToolsCall und MCP_CatalogCall | Status: VERIFIZIERTER LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION MCP_ToolsCall(tool AS STRING, optional params AS STRING) AS STRING
FUNCTION MCP_CatalogCall(tool AS STRING, optional params AS STRING) AS STRING

Beschreibung

Funktion: MCP_ToolsCall und MCP_CatalogCall | Status: VERIFIZIERTER LOKALER ADAPTER

Beschreibung

Diese normalen BASIC-Befehle mit Unterstrich fuehren ein benanntes MCP-Tool ueber den lokalen PBXB64-Adapter aus. Die Parameter muessen ein JSON-Objekt sein. Das Ergebnis ist ein UTF-8-MCP-Ergebnisobjekt mit Textinhalt und isError:false oder mit einem ausdruecklichen Fehlercode und einer Meldung.

Verhalten

Zum verifizierten lokalen Satz gehoeren MCP_Ping, JSON_Parse, JSON_Serialize, deterministische DataTools-Operationen (Echo, NormalizeNewlines, NormalizeWhitespace, Replace, Split, Join und JsonSelect), schreibgeschuetzte Verzeichnis- und Umgebungsabfragen sowie begrenzte prozesslokale MemoryTools-Operationen Store, Recall, ListKeys und Delete. Die 64 Speicherplaetze werden nicht ausserhalb des Prozesses gespeichert.

Provider-, Netzwerk-, Clipboard-, Prozess-, Registry-, Dienst-, dateiaendernde und Task-Tools werden mit einem ausdruecklichen Provider- oder Bestaetigungsfehler abgewiesen. Auch MemoryTools::Delete wird vor jeder Veraenderung verweigert. Eine verweigerte Seitenaenderung liefert -32001 mit error.data.auditId, policy und tool; der Speicherinhalt bleibt unveraendert. Ein unbekannter Name liefert MCP-Fehler -32601, fehlende oder fehlerhafte Parameter -32602. Es gibt keinen Teilstring-Treffer und keinen stillen Erfolg.

Quelle und MCP-Zuordnung

Quellabbildung: src/runtime/c_runtime_user_command_mcp_tools.inc, c_runtime_user_command_proposal.c

MCP-Aequivalent: MCP Dispatcher tools/call und ToolCatalog.CallTool mit einer lokalen PBXB64-Adaptergrenze.

Sicherheit: Lesende und deterministische Operationen bleiben lokal; Seiteneffekte benoetigen eine ausdrueckliche Bestaetigungsrichtlinie oder einen externen Provider.

Fehlerfaelle

  • Parameter, die kein JSON-Objekt sind, liefern -32602.
  • Provider-Tools liefern einen Provider-Fehler statt eines erfundenen Ergebnisses.
  • Gefaehrliche Seiteneffekte liefern einen Bestaetigungsfehler und werden durch diesen Adapter nicht ausgefuehrt.

Qualifikation

Ausfuehrbare Abdeckung steht in tests/fixtures/examples/command_mcp_tool_adapter.pb. Die fokussierte Lane prueft ausserdem Arity- und Typdiagnosen des Befehlsregisters.

Zurueck zum Befehlsindex


LOOP - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LOOP

Schlie&szlig;en Sie eine DO-Schleife

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LOOP [{WHILE | UNTIL} condition]

Beschreibung

Schließen Sie eine DO-Schleife

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerLOOP Die Anweisung markiert das Ende von a DO Schleifenkörper. Ohne Klausel wird bedingungslos zum Matching zurückgesprungen DO. LOOP WHILEUndLOOP UNTIL Testen Sie die Bedingung unten und stellen Sie sicher, dass mindestens eine Iteration durchgeführt wird.

Generierter Assembler-Code

Kompilieren mit:

PBXB64 example.pb --asmout example.asm
pb_do_body_PBMAIN_0:
    mov r10, [rbp-32]
    mov rbx, r10
    mov r10, [rbp-24]
    add rbx, r10
    mov [rbp-32], rbx
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, 1
    mov [rbp-24], rbx
pb_do_cond_PBMAIN_1:
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 5
    setle r10
    mov rbx, r10
    test rbx, rbx
    jne pb_do_body_PBMAIN_0
    jmp pb_do_end_PBMAIN_2
pb_do_end_PBMAIN_2:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL n AS LONG
    LOCAL sum AS LONG
    n = 1
    sum = 0
    DO
        sum = sum + n
        n = n + 1
    LOOP WHILE n <= 5
    FUNCTION = sum
END FUNCTION

Siehe auch

  • DO ? PBXB64-Compiler-Hilfe
  • WHILE � PBXB64-Compiler-Hilfe
  • EXIT � PBXB64-Compiler-Hilfe
  • ITERATE � PBXB64-Compiler-Hilfe
  • GRUNDLEGENDER Kontrollfluss


LPRINT ATTACH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LPRINT ATTACH

Verbinden Sie sich mit einem

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LPRINT ATTACH device$

Beschreibung

Verbinden Sie sich mit einem

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 implementiert eine fokussierte Literal-Attach-Oberflaeche. LPRINT ATTACH "datei" oeffnet einen FILE-basierten Strom; nachfolgende LPRINT, LPRINT FORMFEED, LPRINT FLUSH und LPRINT CLOSE schreiben in diesen Strom und schliessen ihn. Ohne angehaengten Strom faellt LPRINT auf stdout-kompatible Ausgabe zurueck.

Die registrierte Regression tests/pb/test_lprint_file_attach.pb prueft literales Attach und exakte Ausgabebytes ueber die eingebettete Single-EXE-Laufzeit. Sie prueft auch, dass LPRINT$ waehrend des Anhangs den aktiven Pfad meldet und nach dem Schliessen eine leere Zeichenfolge liefert. Dynamische Pfadausdruecke bei ATTACH, PBWin-ERR-Verhalten und vollstaendige Druckspooler-Paritaet bleiben offen.

LPRINT ATTACH versucht, eine direkte Verbindung zum angegebenen [Leitungs-]Druckergerät herzustellen. Ein Zeilendrucker akzeptiert Standard-ASCII-Text und alle gerätespezifischen Steuercodes wie CR, LF und FF.

Ein Zeilendrucker wird nach dem Anschluss benannt, an den er angeschlossen ist (LPT1 usw.), da die Daten direkt an den Anschluss und nicht über einen Gerätetreiber gesendet werden. Das heißt, LPRINT kommuniziert direkt mit dem angeschlossenen Zeilendruckergerät und umgeht dabei den Spooler und den Druckertreiber. Daher werden alle Einstellungen wie „Offline arbeiten“ im Dialogfeld „Druckereigenschaften“ ignoriert.

Sobald der Drucker per LPRINT ATTACH angeschlossen ist, können mit der LPRINT-Anweisung Druckdaten an ihn gesendet werden.

Mit LPRINT ATTACH können Sie das für den LPRINT-Vorgang verwendete Druckergerät ändern. Bei der Ausführung wird die aktuelle Verbindung (falls vorhanden) geschlossen und die neue Verbindung hergestellt. Im Gerätenamen wird kein Doppelpunkt verwendet. Um beispielsweise eine Verbindung zu LPT2 herzustellen:

LPRINT ATTACH „LPT2“

oder an einen Drucker auf einem Netzwerkserver:

LPRINT ATTACH „\\SERVER\HPLJ5“

device$ muss ein gültiger Gerätename sein und darf nicht länger als 32 Zeichen sein. Unter bestimmten Umständen, beispielsweise beim Novell-Netzwerkclient, kann LPRINT ATTACH mit einem UNC-Namen abgelehnt werden, und der LPRINT ATTACH ist nicht erfolgreich und ein nachfolgender LPRINT$-Test wird eine leere Zeichenfolge zurückgeben.

Wenn LPRINT ATTACH nicht erfolgreich ist, wird ein Fehler 68 („Gerät nicht verfügbar“) generiert und LPRINT$ gibt einen NULL-String (leer) zurück. Wenn kein LPRINT ATTACH ausgeführt wird (erfolgreich oder nicht), versucht PowerBASIC, eine Verbindung zum Zeilendrucker an LPT1 herzustellen. Sobald ein LPRINT ATTACH versucht wird, wird kein Standardwert für LPT1 angenommen.

Bei Zeilendruckern in Windows ist Vorsicht geboten, denn wenn kein verfügbarer Drucker an den Port angeschlossen ist, kann die Programmausführung ohne Fehler angehalten werden. Daher ist es ratsam, LPRINT ATTACH zu verwenden, um das gewünschte Druckergerät explizit zu verbinden und die erfolgreiche Verbindung durch die Prüfung von LPRINT$ und ERR zu testen. Zum Beispiel:

ERRCLEAR

LPRINT ATTACH „LPT3“

IF ERR OR LPRINT$ = "" THEN PRINT "Verbindung fehlgeschlagen"

Sobald alle Daten an den Drucker gesendet wurden, trennen Sie den Drucker mit der LPRINT CLOSE-Anweisung, damit andere Anwendungen ihn verwenden können

Hinweis: Der Win32-API-Aufruf EnumPrinters kann Ihnen eine Liste aller gültigen Drucker und Druckgeräte liefern, oder Sie können die Liste der Drucker mit den Funktionen PRINTERCOUNT und PRINTER$ aufzählen.

Einschränkungen

Wenn device$ eine leere Zeichenfolge ist, wird die aktuelle Verbindung (falls vorhanden) getrennt. Dies entspricht der LPRINT CLOSE-Anweisung.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Beschreibung

Datei-Themen sollen den benoetigten Oeffnungsmodus, die Arbeit auf Datensaetzen oder Bytes, die erforderliche Uebereinstimmung von Handles und Bereichen mit vorherigen Operationen sowie Cleanup- oder Entsperrschritte nennen. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • LPRINT$
  • LPRINT CLOSE
  • LPRINT FLUSH
  • LPRINT FORMFEED
  • XPRINT PRINT
  • XPRINT ATTACH
  • Hilfe zum PBXB64-Compiler


LPRINT CLOSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LPRINT CLOSE

Trennen Sie den Strom

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LPRINT CLOSE

Beschreibung

Trennen Sie den Strom

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 implementiert LPRINT CLOSE fuer den fokussierten FILE-basierten LPRINT-Strom. Der Befehl leert und schliesst den aktuellen Anhang, der mit literalem LPRINT ATTACH "pfad" geoeffnet wurde. Die gleiche fokussierte Regression deckt auch ab, dass LPRINT$ waehrend des Anhangs den aktiven Pfad meldet und nach dem Schliessen eine leere Zeichenfolge liefert. Vollstaendiger PBWin-Druckspooler-Status und ERR-Verhalten bleiben ausserhalb dieses fokussierten Nachweises.

LPRINT CLOSE trennt die aktuell ausgewählte Druckerverbindung (hergestellt mit der LPRINT ATTACH-Anweisung) von LPRINT-Vorgängen, sodass das Spooler-Subsystem mit Druckvorgängen beginnen kann. Sobald eine Verbindung geschlossen ist, gibt LPRINT$ eine leere Zeichenfolge mit dem Namen des Druckergeräts zurück, bis eine neue Verbindung hergestellt wird.

LPRINT CLOSE entspricht der Verwendung von LPRINT ATTACH mit einer leeren Zeichenfolge für den Namen des Druckergeräts.

Einschränkungen

LPRINT CLOSE ist ein wesentlicher Schritt im Druckprozess. Um sicherzustellen, dass das Druckergerät für andere Anwendungen verfügbar ist, sollten Drucker bei Nichtgebrauch immer geschlossen sein. Wenn eine Verbindung nicht geschlossen wird, kann es zu erheblichen Verzögerungen kommen, bevor der Druckvorgang beginnt. In einigen Fällen können einige oder alle Druckdaten verloren gehen.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • LPRINT$
  • LPRINT ATTACH
  • LPRINT FLUSH
  • LPRINT FORMFEED
  • XPRINT PRINT
  • XPRINT ATTACH
  • Hilfe zum PBXB64-Compiler


LPRINT FLUSH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LPRINT FLUSH

Reste aussp&uuml;len

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LPRINT FLUSH

Beschreibung

Reste ausspülen

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In PBXB64 leert die fokussierte LPRINT-Oberflaeche den aktiven FILE-basierten Anhang, wenn einer geoeffnet ist. Die registrierte Regression schreibt ueber LPRINT ATTACH, ruft LPRINT FLUSH auf, schliesst den Strom und prueft die exakten Dateibytes ueber die eingebettete Single-EXE-Laufzeit.

LPRINT FLUSH zwingt das Betriebssystem, alle gepufferten Daten zu leeren und mit dem Drucken zu beginnen. Verwenden Sie LPRINT FLUSH, um sicherzustellen, dass Druckdaten so schnell wie möglich an den Drucker gesendet werden, anstatt zunächst auf den Ablauf einer Zeitüberschreitung zu warten. Abhängig vom Drucker und seinen Treibern kann der Druckvorgang sofort beginnen oder bis zur Ausführung einer LPRINT CLOSE-Anweisung verzögert werden.

Normalerweise geht einer LPRINT FLUSH-Anweisung eine FORMFEED-Anweisung voran. Stellen Sie daher sicher, dass der Druckauftrag normal vom Druckergerät ausgegeben wird.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • LPRINT$
  • LPRINT ATTACH
  • LPRINT CLOSE
  • LPRINT FORMFEED
  • XPRINT PRINT
  • XPRINT ATTACH
  • Hilfe zum PBXB64-Compiler


LPRINT FORMFEED - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LPRINT FORMFEED

Senden Sie ein Formfeed-Zeichen (Seitenauswurf) an einen Anhang

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LPRINT FORMFEED

Beschreibung

Senden Sie ein Formfeed-Zeichen (Seitenauswurf) an einen Anhang

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In PBXB64 schreibt der getestete LPRINT-Strom fuer LPRINT FORMFEED ein literales ASCII-12-Byte. tests/pb/test_lprint_file_attach.pb prueft, dass das letzte Byte in der angehaengten Datei nach LPRINT FORMFEED, LPRINT FLUSH und LPRINT CLOSE den Wert 12 hat.

Bei direkten Verbindungen sendet LPRINT FORMFEED ein Formularvorschubzeichen (ASCII-Zeichen 12, $FF oder CHR$ (12)) an das angeschlossene Zeilendruckergerät, um sicherzustellen, dass die aktuelle Seite ausgeworfen wird. Bei hostbasierten Verbindungen signalisiert PowerBASIC dem Drucksubsystem, den Seitenauswurfvorgang durchzuführen.

Typischerweise wird ein LPRINT FORMFEED vor einem LPRINT FLUSH und LPRINT CLOSE ausgeführt.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Beschreibung

Datei-Themen sollen den benoetigten Oeffnungsmodus, die Arbeit auf Datensaetzen oder Bytes, die erforderliche Uebereinstimmung von Handles und Bereichen mit vorherigen Operationen sowie Cleanup- oder Entsperrschritte nennen. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • LPRINT$
  • LPRINT ATTACH
  • LPRINT CLOSE
  • LPRINT FLUSH
  • XPRINT PRINT
  • XPRINT ATTACH
  • Hilfe zum PBXB64-Compiler


LPRINT$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LPRINT$

Syntax

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

device$ = LPRINT$

Beschreibung

Syntax

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 implementiert derzeit die Anweisungsseite des LPRINT-Stroms fuer literales Datei-/Geraete-Attach zusammen mit der fokussierten LPRINT$-Zustandsabfrage. Getestet sind LPRINT ATTACH "datei", normale LPRINT-Ausgabe von Zeichenfolgen und Integer-Werten, Semikolon-Unterdrueckung des Zeilenumbruchs, automatisches CRLF, LPRINT FORMFEED, LPRINT FLUSH und LPRINT CLOSE.

Die Regression tests/pb/test_lprint_file_attach.pb haengt eine temporaere Datei an, prueft die exakten Bytes alpha42, CRLF, omega, CRLF und ASCII 12 und kontrolliert, dass LPRINT$ waehrend des Anhangs den aktiven Pfad und nach dem Schliessen eine leere Zeichenfolge liefert. Die Laufzeitunterstuetzung ist in der Single-EXE-Ausgabe eingebettet.

Dynamische LPRINT ATTACH-Pfadausdruecke, PBWin-ERR-Zustand, TAB/USING-Formatierung und vollstaendige Windows-Druckspooler-Paritaet bleiben offen.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Beschreibung

Datei-Themen sollen den benoetigten Oeffnungsmodus, die Arbeit auf Datensaetzen oder Bytes, die erforderliche Uebereinstimmung von Handles und Bereichen mit vorherigen Operationen sowie Cleanup- oder Entsperrschritte nennen. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • LPRINT ATTACH
  • LPRINT CLOSE
  • LPRINT FLUSH
  • LPRINT FORMFEED
  • XPRINT PRINT
  • XPRINT ATTACH
  • Hilfe zum PBXB64-Compiler


LSET$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

LSET$

Gibt eine Zeichenfolge zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result_var = LSET$( string_expression , strlen& [USING ustring_expression ])

Beschreibung

Gibt eine Zeichenfolge zurück

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] für LSET$/RSET$-Funktionsformen und LSET/RSET USING; abgedeckt durch test_lset_rset_functions und test_lset_rset_using

Beschreibung

LSET$ richtet die Zeichenfolge string_expression linksbündig in eine Zeichenfolge mit strlen&-Zeichen aus.

Wenn ustring_expression null (leer) ist oder nicht angegeben ist, füllt LSET$ string_expression mit Leerzeichen auf. Andernfalls füllt LSET$ die Zeichenfolge mit dem ersten Zeichen von ustring_expression auf und verwendet weiterhin strlen& als Ergebnisbreite.

Wenn string_expression kürzer als strlen& ist, richtet LSET$ string_expression innerhalb von result_var linksbündig aus und füllt die rechte Seite wie oben beschrieben auf; andernfalls gibt LSET$ die strlen&-Bytes ganz links von string_expression zurück.

Bei der Funktionsform ist das optionale USING-Argument eine Fuellzeichenfolge. Bei der Anweisungsform LSET target = value USING mask wird die Maske als Feldbreitenangabe behandelt: & laesst die Zeichenfolge unveraendert, ! erzeugt ein Einzelzeichen, und alle anderen Maskenzeichen bestimmen die Ausgabebreite. Die vollstaendigen PowerBASIC-Maskensemantiken (richtungsabhaengige </> und zentrierte \...\) sind vereinfacht auf Links-/Rechtsausrichtung entsprechend der verwendeten Anweisung.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CSET$ ? PBXB64-Compiler-Hilfe
  • GET ? PBXB64-Compiler-Hilfe
  • LET
  • PUT ? PBXB64-Compiler-Hilfe
  • RESET
  • RSET$
  • STRINSERT$
  • TYPE SET
  • Hilfe zum PBXB64-Compiler


MAK - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MAK

Erstellen Sie eine integrale Klasse

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

resultvar = MAK( datatype , loworderval , highorderval )

Beschreibung

Erstellen Sie eine integrale Klasse

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Erzeugt einen ganzzahligen Wert eines angegebenen Datentyps (WORD, DWORD, PTR, INTEGER, LONG, QUAD) aus einem niedrigen und einem hohen Teil. In PBXB64 erzeugen MAK(PTR, low, high) und MAKPTR(low, high) einen 64-Bit-Zeigerwert aus niedrigem und hohem DWORD.

Die Ergänzungen zu dieser Funktion sind die HI- und LO-Funktionen, mit denen ein einzelner 32-Bit-Wert in zwei 16-Bit-Komponenten aufgeteilt werden kann.

Einschränkungen

PBXB64 unterstuetzt sowohl die moderne Syntax MAK(DataType, low, high) als auch die alten Hilfsnamen MAKINT, MAKWRD, MAKLNG, MAKDWD und MAKPTR. Das fokussierte Regressionsbeispiel ist examples/basic/test_hi_lo_mak_typed.pb.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • HI
  • LO
  • Hilfe zum PBXB64-Compiler


MAKRO/ENDMAKRO - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MAKRO/ENDMAKRO

Definieren Sie einen ein- oder mehrzeiligen Textersetzungsblock.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MACRO macroname [( prm1 , prm2 , ...)] = replacementtext
MACRO macroname [( prm1 , prm2 , ...)]
[MACROTEMP ident1 [, ident2 , ...]]
DIM ident1 AS type [, ident2 AS type , ...]]
{ replacementtext }
[EXIT MACRO]
END MACRO
MACRO FUNCTION macroname [( prm1 , prm2 , ...)]
[MACROTEMP ident1 [, ident2 , ...]
{replacementtext}
END MACRO = returnexpression

Beschreibung

Definieren Sie einen ein- oder mehrzeiligen Textersetzungsblock.

Typ:Schlüsselwort |Kategorie:Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-Testabdeckung: v22_macro_preprocessor.pb prueft Anweisungsmakros, einzeilige Ausdrucksmakros, MACROTEMP-basierte Makrofunktionen und Makrofunktionen in Ausdrucksposition. tests/pb/test_exit_macro.pb prueft, dass EXIT MACRO die aktuelle mehrzeilige Makroerweiterung vor spaeteren Body-Zeilen beendet. tests/pb/test_exit_macro_reject.pb und tests/pb/test_exit_macro_reject_extra.pb pruefen die gezielten Diagnosen fuer Verwendung ausserhalb einer Makroerweiterung und fuer zusaetzliche Token.

Beschreibung

Makro ist ein leistungsstarkes Textersetzungskonstrukt, das ein einzeiliges oder mehrzeiliges Format annehmen kann. Es generiert absolut keinen ausführbaren Code, sofern nicht darauf verwiesen wird, und ermöglicht es dem Programmierer effektiv, einen Teil der PowerBASIC-Sprache nach seinen eigenen Bedürfnissen und Anforderungen zu entwerfen. Ein einfaches einzeiliges Makro kann es PowerBASIC beispielsweise ermöglichen, die in Visual Basic verwendete CONST-Syntax zu emulieren – weitere Informationen finden Sie im Kasten unten.

Ein Makro muss immer definiert werden, bevor darauf verwiesen wird, und die Parameteranzahl muss immer mit der Definition übereinstimmen. Wenn auf ein Makro verwiesen wird, wird das Vorkommen des Namens durch den definierten Ersetzungstext ersetzt, der um Parameterersetzung erweitert wird. Die erste Zeile einer MACRO-Definition wird als Makroprototyp bezeichnet und diese Zeile darf nicht mit dem Zeilenfortsetzungszeichen Unterstrich (_) in mehrere logische Zeilen aufgeteilt werden. Ebenso darf der Ausdruck END MACRO = return nicht durch Unterstriche getrennt werden. Ein Makro kann auch nicht mit einem Zeilenfortsetzungszeichen enden.

Makros können verschachtelt sein und auf andere Makros weiterleiten. Es sollte jedoch darauf geachtet werden, Zirkelverweise zu vermeiden.

Ein einzeiliges Makro oder eine Makrofunktion kann an jeder beliebigen Quellcodeposition referenziert werden, die, wenn sie erweitert wird, syntaktisch korrekt ist (siehe auch den Abschnitt „Einschränkungen“ weiter unten). Betrachten Sie das folgende vereinfachte Beispiel:

MACRO concatenate(prm1,prm2) = prm1 & $SPC & prm2

' Mehr Code hier

A$ = concatenate("Hallo", "Welt")

Während der Kompilierung erweitert PowerBASIC diesen Code intern wie folgt:

A$ = „Hallo“ & $SPC & „Welt“

Ein mehrzeiliges Makro ist zwar hinsichtlich der Codierung leistungsfähiger, darf jedoch nur an der „Anweisungs“-Position referenziert werden, also der ersten Position in einer Zeile. Diese einzelne Referenz wird intern in mehrere Zeilen Inline-Code erweitert, um eine komplexe Aufgabe auszuführen. Zum Beispiel:

MACRO Display6times(prm1)

CALL-Anzeige (prm1): CALL-Anzeige (prm1)

CALL-Anzeige (prm1): CALL-Anzeige (prm1)

CALL-Anzeige (prm1): CALL-Anzeige (prm1)

END MAKRO

' Mehr Code hier

Display6times("Das ist sehr cool...")

Das einzeilige MACRO bietet eine clevere Möglichkeit, die in MSBASIC und Visual Basic verwendete CONST-Syntax in Ihrem PowerBASIC-Code beizubehalten und gleichzeitig den geringen Overhead-Vorteil von PowerBASIC beizubehalten. Zum Beispiel:

MACRO CONST = MACRO

' Mehr Code hier

CONST-Version = 1&

CONST AppTitle = „Meine Bewerbung“

' Mehr Code hier

a$ = AppTitle & " v" & FORMAT$(Version)

Während der Kompilierung wird das Schlüsselwort CONST durch das Schlüsselwort MACRO ersetzt, wodurch dynamisch ein neues Makro erstellt wird, das wiederum ein numerisches oder Zeichenfolgenliteral definiert. Wenn im Code auf den echten Makronamen verwiesen wird, wird das Literal direkt ersetzt.

MAKROTEMP

Die MACROTEMP-Anweisung kann verwendet werden, um eine Liste mit einem oder mehreren Bezeichnern anzugeben, von denen jeder automatisch für jede Erweiterung eines mehrzeiligen Makros eindeutig gemacht wird. Dies geschieht durch internes Anhängen der Ziffern 0001, 0002 usw. an den Bezeichner bei jeder Erweiterung des Makros.

Ein Textbezeichner kann eine Variable, eine Bezeichnung oder ein anderes Wort darstellen, das entsprechend erweitert wird, um einen Konflikt mit doppelten Namen in Ihrem Code zu vermeiden.

MACROTEMP erstellt lediglich einen Symbolnamen. Wenn es sich bei diesem Symbol um einen Variablennamen handelt, muss die Variable dennoch formal mit einer entsprechenden DIM- (oder LOCAL-) Anweisung deklariert werden. Zum Beispiel:

MAKRO CopyUntilNul(ptr1,ptr2)

MACROTEMP LoopPoint, ByteVar

DIM ByteVar AS BYTE

LoopPoint:

ByteVar = @ptr1

@ptr2 = ByteVar

INCR ptr1

INCR ptr2

IF ByteVar <> 0 THEN LoopPoint

END MAKRO

Unter Verwendung dieser MACRO-Definition würde sich der Code „CopyUntilNul(Source, Dest)“ etwa so erweitern:

DIM ByteVar0001 ALS BYTE

LoopPoint0001:

ByteVar0001 = @Source

@Dest = ByteVar0001

INCR-Quelle

INCR Ziel

IF ByteVar0001 <> 0 THEN LoopPoint0001

Wenn die MACROTEMP-Anweisung nicht verwendet würde, würde es fast immer dann zu schwerwiegenden Namenskonflikten kommen, wenn ein Makro in einem Programm mehr als einmal erweitert würde. MACROTEMP-Anweisungen können 0, 1 oder mehrmals in einer Makrodefinition vorkommen, müssen jedoch immer vor jedem anderen Text im Makro stehen.

MACROTEMP-Anweisungen sollten mit allen Beschriftungen in einem Makro verwendet werden, die in einem Programm mehr als einmal erweitert werden können, und mit allen Variablen, die nicht mit anderen Erweiterungen des Makros gemeinsam genutzt werden sollten.

MAKRO BEENDEN

EXIT MACRO kann verwendet werden, um die Ausführung von Code in der aktuellen Makroerweiterung zu beenden. Es ist funktional identisch mit dem imaginären Konzept von GOTO END-MACRO.

In PBXB64 V14 beendet ein alleinstehendes EXIT MACRO in einem mehrzeiligen Makro-Body die Erweiterung dieses Makro-Bodys. EXIT MACRO ausserhalb einer Makroerweiterung ist ein Kompilierfehler.

END MAKRO

Ein Makrofunktionsblock kann mit der Anweisung END MACRO = returnexpression einen Wert zurückgeben.

Einschränkungen

Eine Makrodefinition kann Ersatztext mit bis zu etwa 4000 Zeichen enthalten. Makros können bis zu 240 Parameter angeben, die bis zu etwa 2000 Bytes gesamten erweiterten Speicherplatz pro Makro belegen können.

Ersetzungen durch Makrofunktionen sind auf eine erweiterte Gesamtzahl von ca. 16.000 Zeichen pro Zeile des ursprünglichen Quellcodes beschränkt.

Makroparameter werden direkt ersetzt, sodass Leerzeichen in den übergebenen Makroparametern unerwartete Probleme verursachen können, wenn der erweiterte Code mit dem zusätzlichen Leerzeichen syntaktisch falsch ist. Dies kann beispielsweise bei der Angabe von UDT-Variablen als Makroparameter wichtig sein. Betrachten Sie den folgenden Code:

TYP MyType

lZähle so lange

szText AS ASCIIZ * 256

END-TYP

MACRO PresetUDT(u)

u.lCount = 1

u.szText = SPACE$(256)

END MAKRO

FUNCTION PBMAIN

DIM x AS MyType

PresetUDT(x)

PresetUDT(x) ' Diese Zeile verursacht einen Fehler 526

ENDFUNKTION

Im obigen Code schlägt die Kompilierung der zweiten Makroerweiterung fehl, da das nachgestellte Leerzeichen im übergebenen Makroparameter Teil des erweiterten Codes wird. In dieser Situation unterbricht dieses zusätzliche Leerzeichen die Syntax der UDT-Variablenreferenz innerhalb des erweiterten Makros und löst beim Kompilieren einen Fehler 526 („Zeitraum nicht zulässig“) aus. Wenn wir untersuchen, wie die beiden erweiterten Makroanweisungen aussehen würden, wird das Problem sofort offensichtlich:

x .lCount = 1

x .szText = SPACE$(256)

(Bitte beachten Sie, dass die Caret-Symbole (^) oben nur hinzugefügt wurden, um die genaue Position des Problems zu veranschaulichen.)

Wenn Sie einzeilige Makros verwenden, die numerische Ausdrücke enthalten, verwenden Sie Klammern um den Makrokörper, um unerwartete Probleme mit der Rangfolge zu vermeiden, wenn das Makro innerhalb eines Ausdrucks verwendet wird. Betrachten Sie beispielsweise das folgende Makro und die folgende Erweiterung:

MAKRO Berechnen Sie(p1, p2, p3) = (p1 * p2) \ p3

' Mehr Code hier

x = Berechnen(a,b,c) ^ 3

Wenn dieses Makro erweitert wird, würde der Ausdruck wie folgt berechnet:

x = (a * b) \ c ^ 3

Wenn der Makrokörper jedoch in Klammern eingeschlossen war:

MAKRO Berechnen(p1, p2, p3) = ((p1 * p2) \ p3)

dann würde der erweiterte Ausdruck folgendermaßen berechnet werden:

x = ((a * b) \ c) ^ 3

MACRO-Prototypen (die mit dem Schlüsselwort MACRO beginnen) und END MACRO = returnexpression-Zeilen müssen in einer einzigen Quellcodezeile erstellt werden. Das heißt, sie dürfen nicht mit Zeilenfortsetzungszeichen auf mehrere Quellcodezeilen aufgeteilt werden, da diese den Textersetzungsprozess stören. Beispielsweise ist der folgende Prototyp ungültig:

MAKROFUNKTION MyMacro1(sParam1, sParam2, sParam3, sParam4)

Wenn ein Makro direkt zu einem Funktionsaufruf erweitert wird, kann das Makro mit der Syntax im SUB-Stil aufgerufen werden, wobei der Rückgabewert der Funktion automatisch verworfen wird. Zum Beispiel:

MACRO sm(Msg) = SendMessage(a, Msg, b, c)

kann wie folgt aufgerufen werden (wenn der Rückgabewert nicht benötigt wird):

Ein Makro kann nicht direkt zu einem REMark erweitert werden, da REM und ' verarbeitet werden, bevor das Makro zugewiesen wird. MACRO hello = REM endet also als ungültiges, leeres Makro.

Abschließend ist zu beachten, dass der integrierte Debugger scheinbar über Makroverweise hinweggeht, als wären es herkömmliche BASIC-Anweisungen. Dies liegt daran, dass die Makroerweiterung während des Kompilierungsprozesses stattfindet und der ursprüngliche Quellcode durch die Erweiterung zur Kompilierungszeit nicht beeinträchtigt oder geändert wird.

REMACRO und UNMACRO

REMACRO macroname [(params)] ersetzt den Körper und die Parameterliste eines vorhandenen Makros. Das Makro muss bereits definiert sein; andernfalls wird ein Kompilierzeitfehler gemeldet. REMACRO unterstützt sowohl einzeilige als auch mehrzeilige Formen und aktiviert ein zuvor durch UNMACRO deaktiviertes Makro wieder.

UNMACRO macroname deaktiviert ein Makro, sodass spätere Verweise nicht mehr erweitert werden. Der Makroname muss definiert sein; andernfalls wird ein Kompilierzeitfehler gemeldet.

Ein durch UNMACRO deaktiviertes Makro kann daher nicht erneut referenziert werden, auch nicht in Quelltext, der physikalisch vor der UNMACRO-Direktive steht.

Abgedeckt durch tests/pb/test_pp_remacro_unmacro.pb und tests/pb/test_pp_unmacro_reject.pb.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • EXIT � PBXB64-Compiler-Hilfe
  • FUNCTION/END FUNCTION-Anweisungen
  • METHOD/END METHOD-Anweisungen
  • PROPERTY / END PROPERTY
  • SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


MAT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MAT

Zur Vereinfachung von Matrixalgebra-Berechnungen.

Kategorie: Allgemeine Referenz

Syntax

MAT a1() = CON 'Set all elements of a1() to one
MAT a1() = CON( expr ) 'Set all elements of a1() to value of expr
MAT a1() = IDN 'Establish a1() as an identity matrix
MAT a1() = ZER 'Set all elements of a1() to zero
MAT a1() = a2() + a3() 'Addition
MAT a1() = a2() 'Assignment
MAT a1() = INV( a2() ) 'Inversion
MAT a1() = ( expr ) * a2() 'Scalar Multiplication
MAT a1() = a2() - a3() 'Subtraction
MAT a1() = a2() * a3() 'Multiplication
MAT a1() = TRN( a2() ) 'Transposition

Beschreibung

Zur Vereinfachung von Matrixalgebra-Berechnungen.

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:TEILWEISE

PBXB64-Zertifizierung: [TEILWEISE — siehe Prüfhinweise unten]

Beschreibung

Array-Namen mit den MAT-Anweisungen können optional eine Reihe leerer Klammern enthalten. Die folgenden Angaben sind gleichermaßen gültig, die Einbeziehung der Klammern verbessert jedoch die Klarheit des Codes:

MAT a1 = CON

MAT a1() = CON

PBXB64-Implementierung

Die aktuelle ausführbare MAT-Laufzeit ist auf feste DOUBLE-Arrays beschränkt, mit Ausnahme der unten genannten dynamischen Quelloperandenformen. Feste Arrays unterstützen CON, CON(expr), IDN, ZER, Kopieren, Addition, Subtraktion, Multiplikation sowie In-Place-TRN, TRN(source), In-Place-INV und INV(source). In-Place-TRN und INV erfordern quadratische Arrays.

CON(expr) verlangt genau einen numerischen Ausdruck in Klammern und unterstützt feste und dynamische DOUBLE-Arrays. TRN(source) und INV(source) mit Quelloperand unterstützen passende feste Arrays oder zwei dynamische DOUBLE-Arrays; dynamische Deskriptoren und Matrixformen werden zur Laufzeit geprüft.

Die historischen Mehrtypen-Aussagen unten sind PowerBASIC-11-Referenzmaterial und keine aktuelle PBXB64-Unterstützung. Feste und dimensionierte zweidimensionale dynamische DOUBLE-Arrays unterstuetzen binaeres MAT READ # und MAT WRITE # sowie textuelles MAT PRINT #; MAT INPUT # bleibt ausdruecklich nicht implementiert.

Die folgenden Hinweise zu Groesse und Typ sind historisches PowerBASIC-11-Referenzmaterial. PBXB64 prueft die oben beschriebenen unterstuetzten festen und dynamischen Formen und lehnt nicht unterstuetzte Elementtypen sowie unsichere Matrixformen ab, statt deren Speicher als DOUBLE-Werte zu interpretieren.

PBXB64-Prüfung

Die folgenden fokussierten Beispiele überprüfen die in PBXB64 implementierte MAT-Funktionalität:

  • examples/basic/test_mat_add_mul.pb — CON, IDN, ZER, Addition und Multiplikation.
  • examples/basic/test_mat_rect_mul.pb — Multiplikation rechteckiger Matrizen.
  • examples/basic/test_mat_trn_inv.pb — Transposition und Inversion einer 2x2-Matrix im selben Array.
  • tests/pb/test_mat_inv.pb — Reale Gauss-Jordan-Inversion einer nicht-trivialen 2x2-Matrix.
  • tests/pb/test_mat_trn_large.pb — Transposition einer 10x10-Matrix (>64 Elemente) im selben Array.
  • tests/pb/test_mat_io.pb — Roundtrip mit MAT PRINT / WRITE / READ über eine Textdatei.

Alle Beispiele werden mit dem gebauten PBXB64.exe compiliert, gelinkt und ausgeführt und liefern bei Erfolg den Exit-Code 0.

Getestetes Beispiel

Beispieldatei: tests/pb/test_mat_io.pb

Validierungsnachweis: tests/validate.toml enthaelt den pb_linkrun-Test test_mat_io mit erwartetem Exit-Code 0.

MAT WRITE #f, a()

PBXB64-Status: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MAT PRINT/READ/WRITE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MAT PRINT/READ/WRITE

Display or transfer the entire contents of a matrix array.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MAT PRINT array()
MAT PRINT #fNum&, array()
MAT READ array()
MAT READ #fNum&, array()
MAT WRITE #fNum&, array()

Beschreibung

Display or transfer the entire contents of a matrix array.

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE fuer feste und zweidimensionale dynamische DOUBLE-Arrays

PBXB64 Certification: [CERTIFIED TESTED]

Description

MAT PRINT

Writes all elements of array() to the console, one row per line.

MAT PRINT #fNum&

Schreibt alle Elemente eines festen oder dimensionierten zweidimensionalen dynamischen DOUBLE-array() in die bereits geoeffnete Datei oder das Geraet fNum&, eine leerzeichengetrennte Zeile mit CRLF pro Matrixzeile.

MAT READ array()

Reads enough values from the current DATA statements to fill array().

MAT READ #fNum&, array()

Liest rohe binaere DOUBLE-Werte in ein festes oder dimensioniertes zweidimensionales dynamisches DOUBLE-array() aus einer mit OPEN ... FOR BINARY geoeffneten Datei. Die Dateiposition wird um Zeilen * Spalten * 8 Bytes weitergeschaltet. Ein kurzer oder fehlgeschlagener Lesevorgang setzt ERR = 5 und laesst das Zielarray unveraendert.

MAT WRITE #fNum&, array()

Schreibt rohe binaere DOUBLE-Werte eines festen oder dimensionierten zweidimensionalen dynamischen DOUBLE-array() in eine mit OPEN ... FOR BINARY geoeffnete Datei. Die Dateiposition wird um Zeilen * Spalten * 8 Bytes weitergeschaltet.

Restrictions

Das Array muss bereits die gewuenschte Groesse haben. Es erfolgt keine implizite Redimensionierung. Dynamische Datei-Ein-/Ausgabe verlangt einen zusammenhaengenden zweidimensionalen DOUBLE-Deskriptor; untere Grenzen von Null und von Null verschiedene untere Grenzen werden unterstuetzt. Andere Elementtypen und ungueltige Deskriptorformen setzen ERR = 5. MAT INPUT # ist nicht implementiert.

Siehe auch

  • MAT
  • PRINT# ? PBXB64-Compiler-Hilfe
  • GET ? PBXB64-Compiler-Hilfe
  • PUT ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


MAX ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MAX ? PBXB64-Compiler-Hilfe

Gibt das Argument mit dem gr??ten (maximalen) Wert zur?ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = MAX( arg [, arg ] ...)
y& = MAX&( arg& [, arg& ] ...)
y$ = MAX$( arg$ [, arg$ ] ...)

Beschreibung

Gibt das Argument mit dem gr??ten (maximalen) Wert zur?ck.

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] f?r numerische Formen; MAX$ implementiert und getestet

Beschreibung

Diese Funktionen akzeptieren eine beliebige Anzahl von Argumenten und geben das Argument mit dem gr??ten (maximalen) Wert zur?ck. MAX verarbeitet Argumente jeden numerischen Typs.

MAX& verarbeitet Argumente, die als lange Ganzzahlen ausgewertet werden (MAX& ist effizienter als MAX).

MAX$ verarbeitet String-Argumente.

Wenn irgendwelche Argumente von MAX& au?erhalb des Bereichs von Long-Integers liegen, ist das Ergebnis undefiniert. Alle Gleitkommaargumente von MAX& werden vor Beginn des Vergleichs auf lange Ganzzahlen gerundet.

MAX% wird als g?ltiges Synonym f?r MAX& erkannt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_min_max_int
FUNCTION PBMAIN() AS LONG
  IF (MIN(1, 2)) <> (1) THEN FUNCTION = 1: EXIT FUNCTION
  IF (MAX(1, 2)) <> (2) THEN FUNCTION = 2: EXIT FUNCTION
  IF (MIN(5, 3)) <> (3) THEN FUNCTION = 3: EXIT FUNCTION
  IF (MAX(5, 3)) <> (5) THEN FUNCTION = 4: EXIT FUNCTION
  IF (MIN(-1, -5)) <> (-5) THEN FUNCTION = 5: EXIT FUNCTION
  IF (MAX(-1, -5)) <> (-1) THEN FUNCTION = 6: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • CHOOSE
  • IIF
  • MIN ? PBXB64-Compiler-Hilfe
  • SWITCH


MCASE$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MCASE$

Gibt eine gemischte Gro&szlig;-/Kleinschreibungsversion seiner Zeichenfolge zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = MCASE$( string_expression [,ANSI | OEM])

Beschreibung

Gibt eine gemischte Groß-/Kleinschreibungsversion seiner Zeichenfolge zurück

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

MCASE$ gibt eine Zeichenfolge zurück, die string_expression entspricht, mit der Ausnahme, dass der erste Buchstabe jedes Wortes groß geschrieben wird, während die übrigen Zeichen in Kleinbuchstaben geschrieben werden. Unter einem Wort versteht man eine aufeinanderfolgende Folge von Buchstaben. Der optionale ANSI- oder OEM-Parameter gibt an, ob die Konvertierung unter Verwendung des ANSI-Zeichensatzes für das System oder des ursprünglichen IBM OEM-Zeichensatzes erfolgt. Wenn kein Zeichensatz angegeben ist, verwendet PowerBASIC für Windows den System-ANSI-Zeichensatz, während PB/CC den IBM OEM-Zeichensatz verwendet. Von diesem Parameter sind nur „internationale“ Zeichen im Bereich von CHR$ (128) bis CHR$(255) betroffen.

Der OEM-Zeichensatz basiert auf dem ursprünglichen IBM OEM-Zeichensatz, um die Kompatibilität mit Programmen sicherzustellen, die für alle früheren Versionen des PowerBASIC-Compilers geschrieben wurden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • LCASE$ ? PBXB64-Compiler-Hilfe
  • UCASE$ ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


MD5$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MD5$

Berechnet einen MD5-Digest-String fuer Kompatibilitaetsablaeufe.

Kategorie: Allgemeine Referenz

Syntax

digest$ = MD5$(text$)

Beschreibung

Berechnet einen MD5-Digest-String fuer Kompatibilitaetsablaeufe.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen deterministischen String-Helfer. Kodierungsfunktionen liefern transformierten Text zurueck, waehrend Hash-Funktionen feste, kleingeschriebene Hex-Digests liefern.

Grenzen

Dokumentieren Sie hier nur die getesteten Byte- oder String-Transformationen. Wenn es einen Rueckwaerts-Helfer gibt, pruefen Sie ihn separat, statt Symmetrie aus der Vorwaertsform abzuleiten.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

MD5$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

MD5$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer hashing-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input bytes, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


ME-Pseudovariable - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ME-Pseudovariable

Ein Pseudo

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ME. Method1 ( param )

Beschreibung

Ein Pseudo

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status: NICHT UMGESETZT

PBXB64-Zertifizierung: [NICHT UNTERSTÜTZTE DIAGNOSE GETESTET]

Beschreibung

PBXB64-Hinweis: Die Syntax von Klassen- und Methodenblöcken wird aus Kompatibilitätsgründen akzeptiert, die versteckte Bindung des aktuellen Objekts für ME ist jedoch noch nicht implementiert. Aktuelle Builds diagnostizieren ME, anstatt stillschweigend falschen Objektcode auszugeben.

ME ist eine Pseudovariable, die PowerBASIC automatisch in jeder Methode und Eigenschaft definiert. Es wird als Referenz auf das aktuelle Objekt behandelt. Mit ME ist es möglich, jede andere Methode oder Eigenschaft aufzurufen, die Mitglied der Klasse ist: var = ME. Methode1 (param)

ME kann auch einer entsprechenden Objektvariablen zugewiesen oder als Unter-/Funktions-/Methoden-/Eigenschaftsparameter verwendet werden.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • CLASS/END CLASS
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • METHOD/END METHOD-Anweisungen
  • PROPERTY / END PROPERTY
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


Mehr im Menü - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Mehr im Menü

Beim Hinzuf&uuml;gen neuer Men&uuml;elemente zu einem Men&uuml; k&ouml;nnen zus&auml;tzliche Parameter in den folgenden Anweisungen enthalten sein:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Beim Hinzufügen neuer Menüelemente zu einem Menü können zusätzliche Parameter in den folgenden Anweisungen enthalten sein:

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

MENU ADD POPUP, hMenu , txt$ , hPopup , state& [, AT [BYCMD] position& ]

MENU ADD STRING, hMenu, txt$, hPopup, state& [, AT [BYCMD] position& ] [, CALL callback ]

Ein optionaler Positionsparameter, der es dem Programmierer ermöglicht, eine absolute Position des Menüelements im Popup-Menü anzugeben, der unmittelbar vor dem Wert von position& eingefügt wird. Das Weglassen dieses Parameters führt dazu, dass der Menüpunkt an der „aktuellen Position“ an das Menü angehängt wird. Positionswerte werden auf 1 indiziert. Beispiel:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Mehrdimensionale Arrays - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Mehrdimensionale Arrays

Arrays k&ouml;nnen eine oder mehrere Dimensionen haben, maximal acht. Ein eindimensionales Array wie Zahlungen ist eine einfache Liste von Werten. Ein zweidimensionales Array stellt eine Zahlentabelle mit den Zeilen a dar

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Arrays können eine oder mehrere Dimensionen haben, maximal acht. Ein eindimensionales Array wie Zahlungen ist eine einfache Liste von Werten. Ein zweidimensionales Array stellt eine Zahlentabelle mit den Zeilen a dar

Typ:Schlüsselwort |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

DIM one!(15) ' eine eindimensionale Liste

DIM two!(15,20) ' eine zweidimensionale Tabelle

DIM three!(7,9,1) ' ein 8 x 10 großes Spielbrett mit Platz im dritten

' Dimension für 2 Artikel: Stücktyp und Farbe

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


MENU ATTACH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MENU ATTACH

H&auml;ngen Sie eine an

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MENU ATTACH hMenu , hDlg

Beschreibung

Hängen Sie eine an

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Fügt einem Dialog ein Menü hinzu und ersetzt alle vorhandenen Menüs. Der Dialog wird neu gezeichnet, um das neue Menü aufzunehmen.

Handle des anzuhängenden Menüs.

Handle des Dialogs, der das Menü enthält.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • ACCEL ATTACH
  • Menüs
  • MENÜ POPUP HINZUFÜGEN
  • MENÜ STRING HINZUFÜGEN
  • MENÜ LÖSCHEN
  • MENÜZEICHNUNGSLEISTE
  • MENÜ STATUS ERHALTEN
  • MENÜ TEXT ERHALTEN
  • MENÜ NEUE LEISTE
  • MENÜ NEUES POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • Hilfe zum PBXB64-Compiler


MENU SET STATE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MENU SET STATE

Legen Sie den Status eines angegebenen fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MENU SET STATE hMenu , [BYCMD] position& , state&

Beschreibung

Legen Sie den Status eines angegebenen fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ändern Sie den Status des durch position& identifizierten Menüelements.

Doppelwort- oder Long-Integer-Variable, die das Handle des Menüs enthält, das das zu ändernde Element enthält.

Position&

Position innerhalb des Menüs des zu ändernden Menüpunkts. Wenn die Option BYCMD angegeben ist, bezieht sich position& auf die eindeutige Menüelementkennung des Elements. Andernfalls gibt position& die physische Position des Menüelements innerhalb des Menüs an, wobei position& = 1 für die erste Position, position& = 2 für die zweite Position usw. ist.

Zustand&

Der neue Status des Menüelements. Dabei muss es sich um eines oder mehrere der folgenden Elemente handeln, die zusammen mit dem OR-Operator eine Bitmaske bilden:

%MFS_CHECKED

Setzen Sie ein Häkchen neben das Element.

%MFS_DEFAULT

Der Standardmenüpunkt, fett dargestellt. Nur ein Element kann die Standardeinstellung sein.

%MFS_DISABLED

Deaktivieren Sie den Menüpunkt, sodass er nicht ausgewählt werden kann.

%MFS_ENABLED

Aktivieren Sie den Menüpunkt, damit er ausgewählt werden kann.

%MFS_GRAYED

Deaktivieren Sie den Menüpunkt, sodass er nicht ausgewählt werden kann, und zeichnen Sie ihn in einem „grauen“ Zustand, um dies anzuzeigen.

%MFS_HILITE

Markieren Sie den Menüpunkt.

%MFS_UNCHECKED

Entfernt alle Häkchen neben dem Element.

%MFS_UNHILITE

Entfernt die Hervorhebung vom Element.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • Menüs
  • MENÜ POPUP HINZUFÜGEN
  • MENÜ STRING HINZUFÜGEN
  • MENU ATTACH
  • MENÜKONTEXT
  • MENÜ LÖSCHEN
  • MENÜZEICHNUNGSLEISTE
  • MENÜ STATUS ERHALTEN
  • MENÜ TEXT ERHALTEN
  • MENÜ NEUE LEISTE
  • MENÜ NEUES POPUP
  • MENU SET TEXT
  • Hilfe zum PBXB64-Compiler


MENU SET TEXT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MENU SET TEXT

Legen Sie den Text von a fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MENU SET TEXT hMenu , [BYCMD] position& , txt$

Beschreibung

Legen Sie den Text von a fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Legen Sie den Text des durch position& identifizierten Menüelements fest.

Handle des Menüs, das den zu ändernden Menüpunkt enthält.

Position&

Position innerhalb des Menüs des zu ändernden Menüpunkts. Wenn die Option BYCMD verwendet wird, gibt position& die eindeutige Menüelement-ID des zu ändernden Elements an. Andernfalls gibt position& die physische Position des Menüelements innerhalb des Menüs an, wobei position& = 1 für die erste Position, position& = 2 für die zweite Position usw. ist.

Der neue Text für den Menüpunkt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • Menüs
  • MENÜ POPUP HINZUFÜGEN
  • MENÜ STRING HINZUFÜGEN
  • MENU ATTACH
  • MENÜKONTEXT
  • MENÜ LÖSCHEN
  • MENÜZEICHNUNGSLEISTE
  • MENÜ STATUS ERHALTEN
  • MENÜ TEXT ERHALTEN
  • MENÜ NEUE LEISTE
  • MENÜ NEUES POPUP
  • MENU SET STATE
  • Hilfe zum PBXB64-Compiler


MENÜ LÖSCHEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MENÜ LÖSCHEN

L&ouml;schen Sie a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MENU DELETE hMenu , [BYCMD] position&

Beschreibung

Löschen Sie a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn es sich bei dem Menüelement um ein untergeordnetes Popup-Menü handelt, wird das Menü zerstört und sein Speicher freigegeben.

Handle des Menüs, das das Element enthält, das Sie löschen.

Position&

Position des Elements innerhalb des Menüs. Wenn BYCMD angegeben ist, bezieht sich position& auf die eindeutige Menükennung. Andernfalls ist position& die Position des Menüelements, wobei position& = 1 für die erste Position, position& = 2 für die zweite usw. ist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • Menüs
  • MENÜ POPUP HINZUFÜGEN
  • MENÜ STRING HINZUFÜGEN
  • MENU ATTACH
  • MENÜZEICHNUNGSLEISTE
  • MENÜ STATUS ERHALTEN
  • MENÜ TEXT ERHALTEN
  • MENÜ NEUE LEISTE
  • MENÜ NEUES POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • Hilfe zum PBXB64-Compiler


MENÜ NEUE LEISTE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MENÜ NEUE LEISTE

Erstellen Sie ein neues

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MENU NEW BAR TO hMenu

Beschreibung

Erstellen Sie ein neues

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit den Anweisungen MENU ADD POPUP und MENU ADD STRING können dem Menü Elemente hinzugefügt werden.

Doppelwort- oder Long-Integer-Variable, in der das Handle der neuen Menüleiste platziert wird.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • Menüs
  • MENÜ POPUP HINZUFÜGEN
  • MENÜ STRING HINZUFÜGEN
  • MENU ATTACH
  • MENÜ LÖSCHEN
  • MENÜZEICHNUNGSLEISTE
  • MENÜ STATUS ERHALTEN
  • MENÜ TEXT ERHALTEN
  • MENÜ NEUES POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • Hilfe zum PBXB64-Compiler


MENÜ NEUES POPUP - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MENÜ NEUES POPUP

Erstellen Sie ein neues Popup

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MENU NEW POPUP TO hPopup

Beschreibung

Erstellen Sie ein neues Popup

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Nach der Erstellung können Elemente mit den Anweisungen MENU ADD POPUP und MENU ADD STRING zum Popup-Menü hinzugefügt werden.

hPopup

Doppelwort- oder Long-Integer-Variable, in der das Handle des neuen Popup-Menüs platziert wird.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • Menüs
  • MENÜ POPUP HINZUFÜGEN
  • MENÜ STRING HINZUFÜGEN
  • MENU ATTACH
  • MENÜKONTEXT
  • MENÜ LÖSCHEN
  • MENÜZEICHNUNGSLEISTE
  • MENÜ STATUS ERHALTEN
  • MENÜ TEXT ERHALTEN
  • MENÜ NEUE LEISTE
  • MENU SET STATE
  • MENU SET TEXT
  • Hilfe zum PBXB64-Compiler


MENÜ POPUP HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MENÜ POPUP HINZUFÜGEN

F&uuml;gen Sie ein Popup-Kind hinzu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MENU ADD POPUP, hMenu , txt$ , hPopup [AS id ], state& [, AT [BYCMD] position& ]

Beschreibung

Fügen Sie ein Popup-Kind hinzu

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Popup-Menü ist ein kleines Fenster, das „aufklappt“, wenn ein Menüpunkt markiert wird. Dies ermöglicht eine Verschachtelung und gibt dem Benutzer die Möglichkeit, aus „Untermenü“-Elementen auszuwählen.

Handle des übergeordneten Menüs, das das Popup enthält.

Im übergeordneten Menü angezeigter Text. In der Zeichenfolge kann ein kaufmännisches Und-Zeichen (&) verwendet werden, um den folgenden Buchstaben in ein Steuerkürzel (Hotkey) umzuwandeln. Der Buchstabe erscheint unterstrichen, um anzuzeigen, dass es sich um einen Beschleuniger handelt.

hPopup

Handle des untergeordneten Popup-Menüs, das hinzugefügt werden soll.

Wenn die Option AS ID enthalten ist, ist id eine eindeutige numerische Kennung für dieses Popup-Menü. id kann später mit einer BYCMD-Option verwendet werden, um auf dieses Popup zu verweisen. id ist ein ganzzahliger numerischer Wert im Bereich von -32768 bis +32767.

Zustand&

Der Anfangszustand des Menüelements. Es kann eines der folgenden sein:

%MFS_DISABLED

Deaktivieren Sie das Element, damit es nicht ausgewählt werden kann.

%MFS_ENABLED

Aktivieren Sie das Element, damit es ausgewählt werden kann.

Position&

Gibt die Position im übergeordneten Menü an, an der das Popup-Untermenü eingefügt werden soll. Wenn die Option BYCMD verwendet wird, wird das Popup-Menü vor der durch position& angegebenen Menüelement-ID eingefügt. Andernfalls wird das Popup-Menü an der physischen Position& innerhalb des übergeordneten Menüs eingefügt, wobei position& = 1 für die erste Position, position& = 2 für die zweite usw. ist. Wenn die Position nicht angegeben ist, wird das Popup-Menü am Ende des Menüs angehängt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • ACCEL ATTACH
  • Menüs
  • MENÜ STRING HINZUFÜGEN
  • MENU ATTACH
  • MENÜKONTEXT
  • MENÜ LÖSCHEN
  • MENÜZEICHNUNGSLEISTE
  • MENÜ STATUS ERHALTEN
  • MENÜ TEXT ERHALTEN
  • MENÜ NEUE LEISTE
  • MENÜ NEUES POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • Hilfe zum PBXB64-Compiler


MENÜ STATUS ERHALTEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MENÜ STATUS ERHALTEN

Gibt den Status eines angegebenen zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MENU GET STATE hMenu , [BYCMD] position& TO state&

Beschreibung

Gibt den Status eines angegebenen zurück

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ruft die Menüflags ab, die dem angegebenen Menüelement zugeordnet sind.

Handle des Menüs, das das zu untersuchende Element enthält.

Position&

Positionieren Sie den zu untersuchenden Menüpunkt im Menü. Wenn die Option BYCMD angegeben ist, gibt position& die eindeutige Menüelementkennung des zu untersuchenden Elements an. Andernfalls gibt position& die physische Position des Menüelements innerhalb des Menüs an, wobei position& = 1 für die erste Position, position& = 2 für die zweite Position usw. ist.

Zustand&

Lange Ganzzahlvariable, in der der Menüstatus platziert wird. Wenn das Element nicht vorhanden ist, ist das Ergebnis -1. Andernfalls ist das Ergebnis eine Bitmaske, die eines oder mehrere der folgenden Elemente enthält und zusammen mit dem OR-Operator die Bitmaske bildet:

%MFS_CHECKED

Neben dem Menüelement befindet sich ein Häkchen.

%MFS_DEFAULT

Der Menüpunkt ist der Standardpunkt.

%MFS_DISABLED

Der Menüpunkt ist deaktiviert und kann nicht ausgewählt werden.

%MFS_ENABLED

Menüpunkt ist aktiviert und kann ausgewählt werden.

%MFS_GRAYED

Der Menüpunkt ist deaktiviert, kann nicht ausgewählt werden und wird in einem „grauen“ Zustand angezeigt.

%MFS_HILITE

Der Menüpunkt ist hervorgehoben.

%MFS_UNCHECKED

Neben dem Menüelement ist kein Häkchen vorhanden.

%MFS_UNHILITE

Der Menüpunkt ist nicht hervorgehoben.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • Menüs
  • MENÜ POPUP HINZUFÜGEN
  • MENÜ STRING HINZUFÜGEN
  • MENU ATTACH
  • MENÜ LÖSCHEN
  • MENÜZEICHNUNGSLEISTE
  • MENÜ TEXT ERHALTEN
  • MENÜ NEUE LEISTE
  • MENÜ NEUES POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • Hilfe zum PBXB64-Compiler


MENÜ STRING HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MENÜ STRING HINZUFÜGEN

F&uuml;gen Sie eine Zeichenfolge hinzu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MENU ADD STRING, hMenu , txt$ , id& , state& [, AT [BYCMD] position& ] [, CALL callback ]

Beschreibung

Fügen Sie eine Zeichenfolge hinzu

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine Zeichenfolge kann eine optionale Befehlsbeschleunigungstaste enthalten und auch eine entsprechende Tastaturbeschleunigungskombination beschreiben.

Handle des übergeordneten Menüs, zu dem die Zeichenfolge hinzugefügt werden soll.

Text, der im übergeordneten Menü angezeigt werden soll. In der Zeichenfolge kann ein kaufmännisches Und-Zeichen (&) verwendet werden, um den folgenden Buchstaben in einen Befehlsbeschleuniger (Hotkey) umzuwandeln. Der Buchstabe ist unterstrichen, um anzuzeigen, dass es sich um einen Beschleuniger handelt. Um ein horizontales Trennzeichen anstelle einer Textzeichenfolge zu erstellen, setzen Sie txt$ = „-“, id& = 0, state& = 0.

Tastaturkürzel, wie in der ACCEL ATTACH-Anweisung beschrieben, können als Referenz für den Benutzer im Text eines Menüelements angegeben werden. Um eine Beschreibung des Tastaturkürzels in eine Menüzeichenfolge einzufügen, trennen Sie diese durch das Zeichen $TAB { CHR$ (9)} vom Text des Menüelements. Zum Beispiel:

MENU ADD STRING, hMenu, „Cu&t“ & $TAB & „STRG+X“, id&, mstate&

Der eindeutige numerische Bezeichner für das Menüelement. Wenn ein Menüelement ausgewählt wird, wird die ID& an die Callback-Funktion des übergeordneten Dialogs gesendet, um dem Dialog mitzuteilen, welche Option ausgewählt wurde.

Zustand&

Der Anfangszustand des Menüelements. Es kann eines oder mehrere der folgenden Elemente sein, kombiniert mit dem OR-Operator, um eine Bitmaske zu bilden:

%MFS_CHECKED

Setzen Sie ein Häkchen neben das Element.

%MFS_DEFAULT

Der Standardmenüpunkt, fett dargestellt. Nur ein Element kann die Standardeinstellung sein.

%MFS_DISABLED

Deaktivieren Sie den Menüpunkt, sodass er nicht ausgewählt werden kann.

%MFS_ENABLED

Aktivieren Sie den Menüpunkt, damit er ausgewählt werden kann.

%MFS_GRAYED

Deaktivieren Sie den Menüpunkt, sodass er nicht ausgewählt werden kann, und zeichnen Sie ihn in einem „grauen“ Zustand, um dies anzuzeigen.

%MFS_HILITE

Markieren Sie den Menüpunkt.

%MFS_UNCHECKED

Setzen Sie kein Häkchen neben das Element.

%MFS_UNHILITE

Das Element ist nicht hervorgehoben.

Ein Statuswert von Null (0) stellt %mfs_enabled, %mfs_unchecked und %mfs_unhilite bereit.

Position&

Optionale Position im übergeordneten Menü, an der der Menüpunkt eingefügt werden soll. Wenn die Option BYCMD verwendet wird, wird der Menüpunkt vor der durch position& angegebenen Menüpunkt-ID eingefügt. Andernfalls wird der Menüpunkt an der physischen Position& innerhalb des übergeordneten Menüs eingefügt, wobei position& = 1 für die erste Position, position& = 2 für die zweite usw. ist. Wenn die Position nicht angegeben ist, wird das Popup-Menü am Ende des Menüs angehängt.

Rückruf

Optionaler Name einer Callback-Funktion, die aufgerufen wird, wenn der Menüpunkt ausgewählt wird. Dieser Rückruf wird ignoriert, wenn er mit MENU CONTEXT verwendet wird, da er die ID des ausgewählten Menüelements zurückgibt.

Einschränkungen

Die Anwendung muss die MENU DRAW BAR-Anweisung immer dann aufrufen, wenn sich ein Menü ändert, unabhängig davon, ob sich das Menü in einem angezeigten Dialogfeld befindet oder nicht.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • ACCEL ATTACH
  • Menüs
  • MENÜ POPUP HINZUFÜGEN
  • MENU ATTACH
  • MENÜKONTEXT
  • MENÜ LÖSCHEN
  • MENÜZEICHNUNGSLEISTE
  • MENÜ STATUS ERHALTEN
  • MENÜ TEXT ERHALTEN
  • MENÜ NEUE LEISTE
  • MENÜ NEUES POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • Hilfe zum PBXB64-Compiler


MENÜ TEXT ERHALTEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MENÜ TEXT ERHALTEN

Gibt den Text zur&uuml;ck, der einem gegebenen Objekt zugeordnet ist

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MENU GET TEXT hMenu , [BYCMD] position& TO txt$

Beschreibung

Gibt den Text zurück, der einem gegebenen Objekt zugeordnet ist

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Gibt den Text zurück, der im durch position& identifizierten Menüelement angezeigt wird.

Handle des Menüs, das den zu untersuchenden Menüpunkt enthält.

Position&

Position des zu untersuchenden Menüelements. Wenn BYCMD angegeben ist, bezieht sich position& auf die eindeutige Menüelement-ID des zu untersuchenden Elements. Andernfalls gibt position& die physische Position des Menüelements innerhalb des Menüs an, wobei position& = 1 für die erste Position, position& = 2 für die zweite Position usw. ist.

Variable, in der der Text aus dem Menüelement platziert wird.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • Menüs
  • MENÜ POPUP HINZUFÜGEN
  • MENÜ STRING HINZUFÜGEN
  • MENU ATTACH
  • MENÜ LÖSCHEN
  • MENÜZEICHNUNGSLEISTE
  • MENÜ STATUS ERHALTEN
  • MENÜ NEUE LEISTE
  • MENÜ NEUES POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • Hilfe zum PBXB64-Compiler


Menü-Komplettlösung - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Menü-Komplettlösung

Um ein Beispielmen&uuml; f&uuml;r unseren DDT-Dialog zu erstellen, ben&ouml;tigen wir eine Doppelwortvariable, die das Handle des Men&uuml;s enth&auml;lt, und eine f&uuml;r jede der Popup-Men&uuml;ebenen, die unser Men&uuml; enthalten wird. Im

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Um ein Beispielmenü für unseren DDT-Dialog zu erstellen, benötigen wir eine Doppelwortvariable, die das Handle des Menüs enthält, und eine für jede der Popup-Menüebenen, die unser Menü enthalten wird. Im

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Um mit der Erstellung unseres Menüs zu beginnen, verwenden wir die Anweisung MENU NEW BAR:

MENÜ NEUE LEISTE TO hMenü

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Menübeispiel - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Menübeispiel

Im folgenden Codebeispiel erstellen wir einen Dialog mit einem Men&uuml;, in dem die in diesem Kapitel behandelten Konzepte erl&auml;utert werden. Sie k&ouml;nnen diesen Code gerne als Basis f&uuml;r Ihre eigenen DDT-Projekte verwenden. Dieses Beispiel ist auch av

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Im folgenden Codebeispiel erstellen wir einen Dialog mit einem Menü, in dem die in diesem Kapitel behandelten Konzepte erläutert werden. Sie können diesen Code gerne als Basis für Ihre eigenen DDT-Projekte verwenden. Dieses Beispiel ist auch av

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

'========================================================

' Einfaches Beispiel einer Anwendung, die über ein Menü verfügt und

' erfordert absolut keine API-Aufrufe!

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MENÜKONTEXT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MENÜKONTEXT

Erstellen Sie einen schwebenden Kontext

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MENU CONTEXT hContext , x& , y& , flags& TO CmdVar

Beschreibung

Erstellen Sie einen schwebenden Kontext

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Kontextmenü ist ein schwebendes Popup-Menü, das angezeigt wird, bis der Benutzer eine Auswahl trifft oder diese schließt. Es kann überall auf dem Bildschirm erscheinen.

hContext

Handle eines mit MENU NEW POPUP erstellten Menüs.

x&, y&

Die Parameter x& und y& geben die Position des Kontextmenüs in Pixel relativ zur oberen linken Ecke des Desktops an.

Flaggen&

Kann nach Bedarf kombiniert werden, um die Eigenschaften des Kontextmenüs festzulegen.

%TPM_LEFTBUTTON

Verfolgt die linke Taste.

%TPM_RIGHTBUTTON

Verfolgt die rechte Taste.

%TPM_LEFTALIGN

Die linke Seite des Menüs ist an x& ausgerichtet.

%TPM_CENTERALIGN

Zentriert horizontal mit x& .

%TPM_RIGHTALIGN

Die rechte Seite des Menüs ist an x& ausgerichtet.

%TPM_TOPALIGN

Der obere Rand des Menüs ist auf y& ausgerichtet.

%TPM_VCENTERALIGN

Zentriert vertikal mit y&.

%TPM_BOTTOMALIGN

Der untere Rand des Menüs ist an y& ausgerichtet.

CmdVar

Lange Ganzzahlvariable, in der die ID des ausgewählten Menüelements zurückgegeben wird. Wenn für einen Menüpunkt mit MENU ADD STRING ein optionaler Rückruf definiert ist, wird dieser ignoriert, wenn er mit MENU CONTEXT verwendet wird.

PBXB64 senkt MENU CONTEXT ueber den eingebetteten Win32-TrackPopupMenu-Helfer ab. Die Zielvariable erhaelt die gewaehlte Befehls-ID oder null, wenn kein Menue-Handle verfuegbar ist, der Benutzer abbricht oder der Betriebssystemaufruf fehlschlaegt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • Menüs
  • MENÜ STRING HINZUFÜGEN
  • MENÜ POPUP HINZUFÜGEN
  • MENÜ NEUES POPUP
  • Hilfe zum PBXB64-Compiler


Menüs - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Menüs

Genau wie normale GUI-Fenster und Dialogfelder k&ouml;nnen auch DDT-Dialoge Men&uuml;s verwenden. Mit nur wenigen Anweisungen k&ouml;nnen Sie ein Men&uuml; erstellen und je nach Kontext Ihrer Anwendung Elemente hinzuf&uuml;gen oder entfernen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Genau wie normale GUI-Fenster und Dialogfelder können auch DDT-Dialoge Menüs verwenden. Mit nur wenigen Anweisungen können Sie ein Menü erstellen und je nach Kontext Ihrer Anwendung Elemente hinzufügen oder entfernen

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Eine Menüleiste befindet sich direkt unter der Titelleiste eines Dialogfelds. Von dieser Menüleiste aus können Popup-Menüs (oder auch Untermenüs, wie sie genannt werden) angezeigt werden, die jeweils Befehle enthalten. Popup-Menüs können sogar noch tiefere Ebenen von Popup-Menüs enthalten.

Menüs sind hierarchisch aufgebaut: Die oberste Ebene befindet sich in der Menüleiste und die unteren Ebenen des Menüs sind die Popup-Bereiche. Die Elemente in der Menüleiste sind immer sichtbar, aber die Popup-Menüs werden erst dann sichtbar, wenn ein Menüleistenelement entweder mit der Maus angeklickt oder durch eine Befehlstaste (Hotkey) aktiviert wird, die durch ein unterstrichenes Zeichen im Text des Menüelements angezeigt wird.

Bitte beachten Sie, dass sich Befehlsbeschleuniger geringfügig von Tastaturbeschleunigern unterscheiden. Letztere werden im Thema ACCEL ATTACH-Anweisung konfiguriert und beschrieben.

Normalerweise enthält ein Popup-Menü eine Reihe zugehöriger Befehle. Beispielsweise enthält ein DATEI-Popup-Menü normalerweise eine Reihe von Befehlen, die das Öffnen, Speichern und Schließen von Dateien usw. ermöglichen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Menüstatus - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Menüstatus

Die MENU ADD-Anweisungen stellen einen ItemState&amp;-Parameter bereit. F&uuml;r Popup-Men&uuml;s kann dies entweder %MFS_ENABLED oder %MFS_DISABLED sein. F&uuml;r Men&uuml;elemente kann der Status einer von %MFS_ENABLED, %MFS_DISABLED, %MF sein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die MENU ADD-Anweisungen stellen einen ItemState&-Parameter bereit. Für Popup-Menüs kann dies entweder %MFS_ENABLED oder %MFS_DISABLED sein. Für Menüelemente kann der Status einer von %MFS_ENABLED, %MFS_DISABLED, %MF sein

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Für ein DDT-Menü muss das übergeordnete DDT-Dialogfeld mindestens ein untergeordnetes Steuerelement enthalten, damit das Menü ordnungsgemäß funktioniert. Dieses Steuerelement kann ein BUTTON oder LABEL usw. sein, und das Steuerelement kann sich bei Bedarf außerhalb des sichtbaren Clientbereichs des Dialogs befinden.

Neben der dynamischen Erstellung von Menüs bietet DDT zahlreiche zusätzliche Menüfunktionen, mit denen Sie Ihre Menüs zur Laufzeit bearbeiten können. Im Folgenden finden Sie eine kurze Zusammenfassung dieser Funktionen:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


MENÜZEICHNUNGSLEISTE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MENÜZEICHNUNGSLEISTE

Zeichnen Sie das neu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MENU DRAW BAR hDlg

Beschreibung

Zeichnen Sie das neu

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Dieser Vorgang sollte ausgeführt werden, wenn ein Menü nach der ersten Erstellung des Dialogs dynamisch geändert wird, unabhängig vom sichtbaren Status des Dialogs.

Handle des Dialogs, der das neu zu zeichnende Menü besitzt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • Menüs
  • MENÜ POPUP HINZUFÜGEN
  • MENÜ STRING HINZUFÜGEN
  • MENU ATTACH
  • MENÜ LÖSCHEN
  • MENÜ STATUS ERHALTEN
  • MENÜ TEXT ERHALTEN
  • MENÜ NEUE LEISTE
  • MENÜ NEUES POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • Hilfe zum PBXB64-Compiler


Metaanweisungen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Metaanweisungen

Die folgenden Funktionen steuern das Compiler- und Debugger-Verhalten:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die folgenden Funktionen steuern das Compiler- und Debugger-Verhalten:

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Richten Sie die nächste Anweisung an einer Grenze aus.

Stellen Sie fest, ob zuvor ein Equate definiert wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


METHOD/END METHOD-Anweisungen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

METHOD/END METHOD-Anweisungen

Definieren Sie a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

[CLASS|OVERRIDE] METHOD name [< DispID >] [ALIAS " altname "] (var AS type ...) [THREADSAFE] [AS type ]
[ statements ]
METHOD = expression
END METHOD

Beschreibung

Definieren Sie a

Typ:Anweisung |Kategorie: Procedures

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

METHOD/END METHOD wird verwendet, um eine METHOD-Prozedur innerhalb einer Klasse zu definieren. Standardmethoden können nur über eine virtuelle Funktionstabelle für ein gültiges Objekt aufgerufen werden.

Eine METHODE ist ein Codeblock, der einer benutzerdefinierten Funktion sehr ähnlich ist. Optional kann es einen Wert zurückgeben, wie z. B. FUNCTION , oder lediglich als Unterroutine fungieren, wie z. B. SUB . Wenn der optionale „AS-Typ“ enthalten ist, gibt die Methode einen durch „Method = expr“ festgelegten Wert zurück oder verwendet standardmäßig einen Rückgabewert von Null (0) oder Nul-String, je nach Typ. METHOD-Parameter können beliebige Variablentypen sein, einschließlich VARIANT-Variablen. Methoden können in einer der fünf folgenden Formen aufgerufen werden:

DIM ObjVar AS MyInterface

LET ObjVar = NEWCOM Prgid$

1. ObjVar.Method1(param)

2. CALL ObjVar.Method1(param)

3. ObjVar.Method1(param) TO var

4. CALL ObjVar.Method1(param) TO var

5. var = ObjVar.Method1(param)

Bei den Formularen 1 und 2 wird davon ausgegangen, dass die Methode keinen Wert zurückgibt oder Sie ihn einfach verwerfen möchten. Die Formulare 3, 4 und 5 erfordern, dass die Methode einen Wert zurückgibt, der mit dem als var angegebenen Variablentyp kompatibel ist. Klammern, die Parameter einschließen, sind in den Formularen 1 und 3 optional.

Methoden können deklariert werden (unter Verwendung des AS-Typs ...), um eine Zeichenfolge, einen beliebigen numerischen Typ, eine bestimmte Klasse von Objektvariablen (AS MyClass), eine Variante oder einen benutzerdefinierten Typ zurückzugeben.

Typbibliotheken unterstützen nur die folgenden Daten Typen: BYTE, WORD, DWORD, INTEGER, LONG, QUAD, SINGLE, DOUBLE, CURRENCY, OBJECT, STRING und VARIANT. Wenn Methoden oder Eigenschaften Datentypen verwenden, die von Typbibliotheken nicht unterstützt werden, erhalten Sie einen Fehler 581 – Fehler beim Erstellen der Typbibliothek, wenn Sie die Metaanweisung #COM TLIB ON verwenden.

Zusätzlich zum expliziten Rückgabewert, den Sie deklarieren, verfügen alle Methoden und Eigenschaften einer IAutomation- oder IDispatch-Schnittstelle über einen weiteren „versteckten Rückgabewert“, der kryptisch „hResult“ heißt. Während der Name ein Handle für ein Ergebnis implizieren würde, handelt es sich in Wirklichkeit überhaupt nicht um ein Handle, sondern nur um einen langen ganzzahligen Wert, der den Erfolg oder Misserfolg der Methode anzeigt. Nach dem Aufruf einer Methode oder Eigenschaft können Sie den hResult-Wert mit der PowerBASIC-Funktion OBJRESULT abrufen. Das höchstwertige Bit des Werts wird als Schweregradbit bezeichnet. Dieses Bit ist 0 (Wert ist positiv) für Erfolg oder 1 (Wert ist negativ) für Fehler. Die restlichen Bits werden zur Übermittlung von Fehlercodes und zusätzlichen Statusinformationen verwendet. Wenn Sie eine Objektmethode/-eigenschaft (entweder Dispatch oder Direct ) aufrufen und das Schweregradbit von hResult gesetzt ist, generiert PowerBASIC den Laufzeitfehler 99: Objektfehler. Wenn Sie eine Methode oder Eigenschaft erstellen, gibt PowerBASIC automatisch ein hResult von Null zurück, was einen Erfolg impliziert. Sie können einen hResult-Wert ungleich Null zurückgeben, indem Sie METHOD OBJRESULT = expr innerhalb einer Methode oder PROPERTY OBJRESULT = expr innerhalb einer Eigenschaft ausführen.

Klassenmethoden

Eine Klassenmethode ist eine Methode, die für die Klasse, in der sie sich befindet, privat ist. Das heißt, es darf nur von einer METHOD oder PROPERTY in derselben Klasse aufgerufen werden. Die CLASS METHOD muss sich innerhalb eines CLASS-Blocks, aber außerhalb aller INTERFACE-Blöcke befinden. Dies zeigt, dass es sich um ein direktes Mitglied der Klasse und nicht um ein Mitglied einer Schnittstelle handelt.

KLASSE MyClass

INSTANCE MyVar AS LONG

KLASSENMETHODE MyClassMethod(BYVAL param AS LONG) AS STRING

METHOD = „My“ + STR$(param + MyVar)

ENDMETHODE

SCHNITTSTELLE MyInterface

ERBE UNBEKANNT

METHODE MyMethod()

Ergebnis$ = ME.MyClassMethod(66)

ENDMETHODE

ENDSCHNITTSTELLE

END DER KLASSE

Im obigen Beispiel ist MyClassMethod() eine KLASSENMETHODE und der Zugriff erfolgt immer über das Pseudoobjekt ME (in diesem Fall ME.MyClassMethod). Auf Klassenmethoden kann niemals von außerhalb einer Klasse zugegriffen werden, noch werden sie jemals in einer Typbibliothek beschrieben oder veröffentlicht. Per Definition gibt es keinen Grund, ein privates PROPERTY zu haben, daher bietet PowerBASIC keine CLASS PROPERTY-Struktur an.

Konstruktoren und Destruktoren

Es gibt zwei spezielle Klassenmethoden, die Sie optional zu einer Klasse hinzufügen können. Sie erfüllen einen ganz bestimmten Bedarf: automatische Initialisierung, wenn ein Objekt erstellt wird, und Bereinigung, wenn ein Objekt zerstört wird. Technisch gesehen sind sie als Konstruktor- und Destruktormethoden bekannt und können nahezu alle von Ihrem Objekt benötigten Funktionen ausführen: Initialisierung von Variablen, Lesen/Schreiben von Daten auf/von der Festplatte usw. Sie rufen diese Methoden nicht direkt aus Ihrem Code auf. Wenn sie in Ihrer Klasse vorhanden sind, ruft PowerBASIC sie jedes Mal automatisch auf, wenn ein Objekt dieser Klasse erstellt oder zerstört wird. Wenn Sie sie verwenden möchten, müssen diese speziellen Klassenmethoden CREATE und DESTROY heißen. Sie akzeptieren möglicherweise keine Parameter und geben möglicherweise kein Ergebnis zurück. Sie werden auf Klassenebene definiert und erscheinen daher möglicherweise nie in einer INTERFACE-Definition.

KLASSE MyClass

INSTANCE MyVar AS LONG

KLASSENMETHODE CREATE()

' Initialisierung durchführen

ENDMETHODE

KLASSENMETHODE Destroy()

„Machen Sie Aufräumarbeiten.“

ENDMETHODE

SCHNITTSTELLE MyInterface

ERBE UNBEKANNT

METHODE MyMethod()

„Dinge erledigen.“

ENDMETHODE

ENDSCHNITTSTELLE

END DER KLASSE

Wie oben gezeigt, müssen CREATE und DESTROY auf Klassenebene, jedoch außerhalb jedes Schnittstellenblocks, platziert werden. Beachten Sie, dass es nicht möglich ist, eine Standardmethode (eine, auf die über eine Schnittstelle zugegriffen werden kann) als CREATE oder DESTROY zu bezeichnen. Dies dient nur dazu, Ihnen die Regeln für einen Konstruktor oder Destruktor zu merken. Sie können diese Namen jedoch nach Bedarf verwenden, um eine Methode außerhalb Ihres Programms zu beschreiben.

Eine sehr wichtige Vorsichtsmaßnahme: Sie dürfen niemals ein Objekt der aktuellen Klasse in einer CREATE-Methode erstellen. Dies führt dazu, dass CREATE immer wieder ausgeführt wird, bis der gesamte verfügbare Speicher verbraucht ist. Dies ist ein schwerwiegender Fehler, der nicht behoben werden kann.

Methoden überschreiben

Sie können die Funktionalität einer bestimmten Methode oder Eigenschaft einer geerbten Basisklasse ergänzen oder ersetzen, indem Sie eine Ersetzung codieren, der das Wort OVERRIDE vorangestellt ist. Die überschreibende Methode muss denselben Namen und dieselbe Signatur (Parameter, Rückgabewert usw.) haben wie die Methode, die sie ersetzt.

Versand-ID

Jede Methode und Eigenschaft in einer dualen Schnittstelle benötigt einen positiven, langen ganzzahligen Wert, um sie zu identifizieren. Dieser ganzzahlige Wert wird als DispID (Dispatch-ID) bezeichnet und intern von COM-Diensten verwendet, um die richtige Funktion auf einer Dispatch-Schnittstelle aufzurufen. Sie können optional eine bestimmte DispID angeben, indem Sie sie direkt nach dem Methoden-/Eigenschaftsnamen in spitze Klammern einschließen:

METHODE MethodOne <76> ()

Wenn Sie keine DispID angeben, weist PowerBASIC Ihnen einen zufälligen Wert zu. Dies ist für interne Objekte in Ordnung, kann jedoch bei veröffentlichten COM-Objekten zu einem Fehler führen, da sich die DispID bei jeder Kompilierung Ihres Programms ändern kann. Es ist besonders wichtig, dass Sie für jede Methode/Eigenschaft in einer COM-Ereignisschnittstelle eine DispID angeben.

BYREF- und BYVAL-Attribute

Genau wie SUB oder FUNCTION verwendet PowerBASIC BYREF-Parameter als Standardform, es sei denn, Sie geben eine BYVAL-Überschreibung an. Jedes Schlüsselwort kann zusammen mit IN, OUT und INOUT vor dem Parameternamen platziert werden, wie später beschrieben.

Eine Kopie des Datenwerts wird als Parameter auf dem Stapel abgelegt. Die Kopie wird zerstört, wenn die METHODE endet. BYVAL-Parameter verwenden standardmäßig einen IN-Parameter, wenn keine explizite Richtung angegeben ist.

Als Parameter wird ein Zeiger auf die Daten auf dem Stapel platziert. Wenn es sich bei den Daten um eine Variable handelt, werden alle Änderungen am Parameter in der Variablen an den Aufrufer zurückgegeben. Wenn es sich bei den Daten um einen Ausdruck handelt, werden sie zerstört, wenn die METHOD endet. BYREF-Parameter verwenden standardmäßig einen INOUT-Parameter, wenn keine explizite Richtung angegeben ist.

Richtungsattribute

METHOD-Parameter können auch die Richtung angeben, in der Daten zwischen dem Aufrufer und dem Angerufenen übertragen werden:

Daten werden vom Aufrufer an die METHODE übergeben. Im Allgemeinen werden Sie feststellen, dass fast alle IN-Parameter BYVAL übergeben werden, und das wird dringend empfohlen. Es ist jedoch möglich, ihnen bei Bedarf BYREF zu übergeben.

Daten werden von der METHOD zurück an den Aufrufer übergeben. Alle OUT-Parameter müssen BYREF übergeben werden.

Daten werden vom Aufrufer an METHOD übergeben und die Ergebnisse werden im selben Parameter an den Aufrufer zurückgegeben. Alle INOUT-Parameter müssen BYREF übergeben werden.

In vielen Fällen kann die Richtung eines Parameters direkt aus dem BYVAL/BYREF-Attribut abgeleitet werden (BYVAL=IN, BYREF=OUT). Wir empfehlen jedoch, das Richtungsattribut als zusätzliche Möglichkeit zur Selbstdokumentation einzubeziehen. Vor jedem METHOD-Parameternamen kann entweder BYVAL/BYREF oder IN/OUT/INOUT in beliebiger Reihenfolge stehen.

Beachten Sie eine interessante Regel für COM-Objekte: IN-Parameter sind schreibgeschützt. Sie dürfen nicht verändert werden.

IN-Parameter werden von COM-Regeln als „konstant“ betrachtet und dürfen nicht geändert werden, da es sich um Werte handelt, die nicht an den Aufrufer zurückgegeben werden. Da dies jedoch keine Regel ist, die normalerweise auf ein Standard-SUB oder eine Standard-FUNCTION angewendet wird, kann es zu Programmierfehlern kommen, die nur sehr schwer zu finden und zu beheben sind. Aus diesem Grund schützt Sie PowerBASIC automatisch vor diesem Problem, ohne dass Ihrerseits Maßnahmen erforderlich sind. Beim Schreiben von METHOD- oder PROPERTY-Code in PowerBASIC können Sie BYVAL/IN-Parametern frei neue Werte zuweisen. Sie werden einfach verworfen, wenn die METHOD beendet wird. Natürlich schützt Sie nicht jede Programmiersprache auf diese Weise, daher müssen Sie vorsichtig sein, wenn Sie eine COM-METHODE in einem anderen Compiler erstellen.

Mit OPTIONAL/OPT

METHOD-Anweisungen können einen oder mehrere Parameter als optional angeben, indem sie dem Parameter entweder das Schlüsselwort OPTIONAL (oder die Abkürzung OPT) voranstellen. Wenn ein Parameter als optional deklariert wird, sind alle nachfolgenden Parameter in der Deklaration ebenfalls optional, unabhängig davon, ob sie eine explizite OPTIONAL- oder OPT-Direktive angeben oder nicht.

VARIANT-Variablen eignen sich besonders gut zur Verwendung als optionaler Parameter. Wenn der aufrufende Code einen optionalen VARIANT-Parameter (BYVAL oder BYREF) weglässt, ersetzen PowerBASIC (und die meisten anderen Compiler) eine Variante vom Typ %VT_ERROR, die einen Fehlerwert von %DISP_E_PARAMNOTFOUND (&H80020004) enthält. In diesem Fall können Sie diesen Wert direkt prüfen oder mit der Funktion ISMISSING ermitteln, ob der Parameter physisch übergeben wurde oder nicht.

Wenn optionale Parameter (außer VARIANT) im aufrufenden Code weggelassen werden, wird der Stapelbereich, der normalerweise für diese Parameter reserviert ist, mit Nullen gefüllt.

Wenn der Parameter als BYVAL-Parameter definiert ist, hat er den Wert Null. Für TYPE- oder UNION-Variablen, die BYVAL übergeben werden, übergibt der Compiler eine Zeichenfolge binärer Nullen der Länge SIZEOF ( Type_or_union_var ).

Wenn der Parameter als BYREF-Parameter definiert ist, ist VARPTR (Varname) gleich Null; Wenn dies zutrifft, führt jeder Versuch, Varname in Ihrem Code zu verwenden, zu einer allgemeinen Schutzverletzung oder einer Speicherbeschädigung. Sie sollten zunächst die Funktion ISMISSING() verwenden, um festzustellen, ob der Zugriff auf den Parameter sicher ist.

THREADSAFE-Optionsdeskriptor

Wenn Sie die Option THREADSAFE einschließen, erstellt PowerBASIC automatisch ein Semaphor, das jeweils nur einem Thread die Ausführung erlaubt. Andere müssen warten, bis der erste Thread die THREADSAFE-Prozedur verlässt, bevor sie beginnen dürfen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • #COM
  • CLASS/END CLASS
  • INSTANZ
  • INTERFACE/END INTERFACE-Block (direkt)
  • ISMISSING
  • Was ist COM?
  • ME-Pseudovariable
  • PROPERTY / END PROPERTY
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


METRIKEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

METRIKEN

Ruft Informationen oder Abmessungen von Systemelementen ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MetricVar = METRICS( MetricName )

Beschreibung

Ruft Informationen oder Abmessungen von Systemelementen ab.

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

METRIKEN gehoert zur Kategorie General. Diese Seite beschreibt den PBXB64-Dokumentationsstand fuer diesen Eintrag; verwenden Sie die Grenzen und Belege auf dieser Seite statt historischer PBWin-Annahmen.

Praktische Verwendung

METRIKEN gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.


MIN ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MIN ? PBXB64-Compiler-Hilfe

Gibt das Argument mit dem kleinsten (minimalen) Wert zur?ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = MIN( arg , arg [, arg ] ...)
y& = MIN&( arg& , arg& [, arg& ] ...)
y$ = MIN$( arg$ , arg$ [, arg$ ] ...)

Beschreibung

Gibt das Argument mit dem kleinsten (minimalen) Wert zur?ck.

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] f?r numerische Formen; MIN$ implementiert und getestet

Beschreibung

Diese Funktionen akzeptieren eine beliebige Anzahl von Argumenten und geben das Argument mit dem kleinsten (minimalen) Wert zur?ck. MIN verarbeitet Argumente jeden numerischen Typs.

MIN& verarbeitet Argumente, die zu Ganzzahlen und langen Ganzzahlen ausgewertet werden (MIN& ist effizienter als MIN).

MIN$ verarbeitet String-Argumente.

Wenn irgendwelche Argumente von MIN& au?erhalb des Bereichs von Long-Ganzzahlen liegen, ist das Ergebnis undefiniert. Alle numerischen Argumente von MIN& werden vor Beginn des Vergleichs auf lange Ganzzahlen gerundet.

MIN% wird als g?ltiges Synonym f?r MIN& erkannt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' math_min_max_int
FUNCTION PBMAIN() AS LONG
  IF (MIN(1, 2)) <> (1) THEN FUNCTION = 1: EXIT FUNCTION
  IF (MAX(1, 2)) <> (2) THEN FUNCTION = 2: EXIT FUNCTION
  IF (MIN(5, 3)) <> (3) THEN FUNCTION = 3: EXIT FUNCTION
  IF (MAX(5, 3)) <> (5) THEN FUNCTION = 4: EXIT FUNCTION
  IF (MIN(-1, -5)) <> (-5) THEN FUNCTION = 5: EXIT FUNCTION
  IF (MAX(-1, -5)) <> (-1) THEN FUNCTION = 6: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • CHOOSE
  • IIF
  • MAX ? PBXB64-Compiler-Hilfe
  • SWITCH


Mischen von ASM- und BASIC-Code - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Mischen von ASM- und BASIC-Code

Beim Schreiben von gemischtem Assembler- und BASIC-Code gelten besondere Bedingungen f&uuml;r die Registererhaltung. PowerBASIC ist ein hochoptimierter Compiler und zu seinen Optimierungen geh&ouml;ren Reduzierungen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Beim Schreiben von gemischtem Assembler- und BASIC-Code gelten besondere Bedingungen für die Registererhaltung. PowerBASIC ist ein hochoptimierter Compiler und zu seinen Optimierungen gehören Reduzierungen

Typ:Schlüsselwort |Kategorie:Inline-Assembler

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Das heißt, wenn Ihr Assembler-Algorithmus eines der EBX-, ESI- oder EDI-Register verwendet, müssen Sie deren ursprünglichen Zustand aus der letzten Zeile des BASIC-Codes beibehalten, die dem Inline-Assembler-Code vorausgeht. Das heißt, Sie müssen sie vor Ihrem ASM-Code PUSH und kurz vor Beginn des BASIC-Codes erneut POP senden.

Dies scheint mehr Code als notwendig zu sein, aber es muss beachtet werden, dass die interne Struktur von PowerBASIC nicht die Stapelbewahrung dupliziert, die der Anwendungsprogrammierer anwenden muss, sodass der Code im Hinblick auf den Stapelaufwand tatsächlich sehr effizient ist.

Es ist zu beachten, dass Sie, wenn Ihr ASM-Code die EAX-, ECX- oder EDX-Register verwendet, diese ebenfalls beibehalten sollten, da die interne Ausführung von BASIC-Anweisungen auch jedes dieser drei Register frei ändern kann.

Der Gesamtansatz zur Erhaltung der Register rund um gemischten ASM- und BASIC-Code wird in der folgenden Auflistung veranschaulicht:

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


MKBYT$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MKBYT$

.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

AnsiStringVar$ = MKBYT$( byte_expr )
AnsiStringVar$ = MKCUR$( currency_expr )
AnsiStringVar$ = MKCUX$( extended_currency_expr )
AnsiStringVar$ = MKD$( double_precision_expr )
AnsiStringVar$ = MKDWD$( double_word_expr )
AnsiStringVar$ = MKE$( extended_precision_expr )
AnsiStringVar$ = MKI$( integer_expr )
AnsiStringVar$ = MKL$( long_integer_expr )
AnsiStringVar$ = MKQ$( quad_integer_expr )
AnsiStringVar$ = MKS$( single_precision_expr )
AnsiStringVar$ = MKWRD$( word_expr )

Beschreibung

.

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die MKx-Funktionen geben die binären Darstellungen einer Zahl als Satz von Bytes in einer ANSI-Zeichenfolge zurück. Verwechseln Sie diese Funktionen nicht mit den Funktionen STR$ oder FORMAT$, die eine druckbare Zeichenfolge zurückgeben.

In allen außer den extremsten Fällen sollte die zurückgegebene Zeichenfolge nur als ANSI-Zeichenfolge oder UDT gespeichert werden, die aus einzelnen Bytes besteht. WIDE-Zeichenfolgen (Unicode) bestehen aus einer Reihe von 2-Byte-Wörtern, die im Allgemeinen zu undefinierten Ergebnissen führen.

PBXB64 erhaelt die getestete binaere Laenge fuer MKL$ und MKQ$, wenn das Ergebnis einer ANSI-Stringvariablen zugewiesen wird. Die registrierte Regression test_mk_mkl.pb prueft, dass LEN(MKL$(...)) bei 4 und LEN(MKQ$(...)) bei 8 bleibt, auch wenn die gepackten Bytes eingebettete NUL-Zeichen enthalten.

PBXB64 packt ausserdem Gleitkomma-Operanden fuer MKS$ und MKD$ als IEEE-Single- und IEEE-Double-Bytefolgen. Der fokussierte Vertrag fuer MKE$ ist eine 8-Byte-EXT-Kompatibilitaetsform auf DOUBLE-Basis; dies ist nicht die 10-Byte-Extended-Precision-Darstellung von PBWin. Die registrierte Regression test_cve_mke_double_alias.pb prueft Byte-Reihenfolge, binaere Laenge und CVS/CVD/CVE-Rueckwandlung.

Die CV x-Funktionen sind komplementär zu den MK x-Funktionen. Sie wandeln die binäre Darstellung in einer Zeichenfolge in einen tatsächlichen numerischen Wert um:

Function

Konvertiert in

MKBYT$

1-Byte-Zeichenfolge

MKCUR$

8-Byte-String

Währung

MKCUX$

8-Byte-String

Extended-currency

8-Byte-String

Doppelte Genauigkeit

MKDWD$

4-Byte-Zeichenfolge

Doppelwort

10-Byte-Zeichenfolge

Erweiterte Präzision

2-Byte-String

Ganze Zahl

4-Byte-Zeichenfolge

Lange Ganzzahl

8-Byte-String

Quad-Ganzzahl

4-Byte-Zeichenfolge

Einfache Genauigkeit

MKWRD$

2-Byte-String

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CVBYT
  • Hilfe zum PBXB64-Compiler


MKDIR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MKDIR

Erstellen Sie ein Unterverzeichnis/einen Ordner (wie der DOS-Befehl MKDIR).

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MKDIR path$

Beschreibung

Erstellen Sie ein Unterverzeichnis/einen Ordner (wie der DOS-Befehl MKDIR).

Typ:Anweisung |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

path$ ist ein String-Ausdruck, der das zu erstellende Verzeichnis beschreibt.

MKDIR (Make Directory) erstellt das durch path$ angegebene Unterverzeichnis. Wenn Sie versuchen, ein bereits vorhandenes Verzeichnis zu erstellen, tritt der Laufzeitfehler 75 („Pfad-/Dateizugriffsfehler“) auf. Wenn path$ einen übergeordneten Ordner enthält, der nicht existiert, tritt ein Laufzeitfehler 76 auf („Pfad nicht gefunden“).

MKDIR kann Long File verwenden

Namen (LFNs).

PBXB64 senkt MKDIR path$ auf den eingebetteten Helfer bestof_mkdir ab. Dieser ruft die Win32-API CreateDirectoryA auf.

Einschränkungen

Die fokussierte PBXB64-Zertifizierung deckt das Erstellen temporaerer relativer Verzeichnisse ab. Bereits vorhandene Verzeichnisse, fehlende Elternpfade, Unicode, verschachtelte Pfade und PBWin-ERR-Paritaet bleiben breitere Datei-/Pfad-Kompatibilitaetsarbeit.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • CHDIR
  • RMDIR
  • Hilfe zum PBXB64-Compiler


MMX-Register - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MMX-Register

Laut Intel-Dokumentation erfordern alle MMX-Register Klammern um die Registernummer. Diese waren in fr&uuml;heren Versionen von PowerBASIC obligatorisch, aber die Klammern sind jetzt optional.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Laut Intel-Dokumentation erfordern alle MMX-Register Klammern um die Registernummer. Diese waren in früheren Versionen von PowerBASIC obligatorisch, aber die Klammern sind jetzt optional.

Typ:Schlüsselwort |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

! PXOR mm(7), mm(7) ' PB/DLL 5.0, PB/CC 1.0-Format

! PXOR mm7, mm7 ' PB/DLL/WIN 6.0+, PB/CC 2.0+ Format

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


Mnemonik und Operanden - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Mnemonik und Operanden - Hilfe zum PBXB64-Compiler

Eine Assemblercode-Anweisung (Anweisung) besteht aus einer Mnemonik (ausgesprochen &#8222;nih-MON-ick&ldquo;) und zwischen null und drei Operanden. F&uuml;r eine logische oder arithmetische Mnemonik mit zwei Operanden die richtige Oper

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine Assemblercode-Anweisung (Anweisung) besteht aus einer Mnemonik (ausgesprochen „nih-MON-ick“) und zwischen null und drei Operanden. Für eine logische oder arithmetische Mnemonik mit zwei Operanden die richtige Oper

Typ:Schlüsselwort |Kategorie:Inline-Assembler

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

[ASM|!] mnemonisches Ziel, Quelle

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Modal vs. Modeless - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Modal vs. Modeless

Um die unterschiedlichen Arten der Verwendung von Dialogfeldern durch Anwendungen zu unterst&uuml;tzen, bietet PowerBASIC zwei Arten von Dialogfeldern: modal und modal.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Um die unterschiedlichen Arten der Verwendung von Dialogfeldern durch Anwendungen zu unterstützen, bietet PowerBASIC zwei Arten von Dialogfeldern: modal und modal.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Bei einem modalen Dialogfeld muss der Benutzer Informationen angeben oder das Dialogfeld abbrechen, bevor die Anwendung fortgesetzt werden kann. Anwendungen verwenden modale Dialogfelder in Verbindung mit Befehlen, die zusätzliche Informationen erfordern, bevor sie fortfahren können.

Ein modales Dialogfeld ermöglicht es dem Benutzer, Informationen einzugeben und zur vorherigen Aufgabe zurückzukehren, ohne das Dialogfeld schließen zu müssen. Modale Dialogfelder sind einfacher zu verwalten als modale Dialogfelder, da sie durch den Aufruf einer einzelnen DIALOG SHOW MODAL-Anweisung angezeigt werden, ihre Aufgabe erfüllen und zerstört werden.

Im obigen Beispiel zeigen wir den Dialog modal an. Die DIALOG SHOW MODAL-Anweisung zeigt den Dialog an und wartet, bis Ihr Code DIALOG END aufruft (oder wenn in der Beschriftung ein Feld „Schließen“ vorhanden ist, wird der Dialog beendet, wenn auf das Feld „Schließen“ geklickt wird). Wenn Windows ein modales Dialogfeld anzeigt, deaktiviert es das übergeordnete Fenster, damit sich der Benutzer auf das Dialogfeld konzentrieren kann. Wenn das Dialogfeld geschlossen wird, wird das übergeordnete Fenster automatisch wieder aktiviert.

Im Vergleich dazu führt ein modales Dialogfeld nicht dazu, dass Ihr Code anhält und wartet, während das Dialogfeld angezeigt wird. Ein Beispiel für ein modales Dialogfeld ist das Dialogfeld „Abbrechen“, das von vielen Programmen angezeigt wird, die lange Dokumente auf dem Drucker drucken. Der Anwendungscode befindet sich in einer Schleife und sendet Daten an den Drucker. Der „Abbrechen“-Dialog ermöglicht es dem Benutzer, den Druckvorgang jederzeit abzubrechen. Das Folgende ist ein vereinfachtes Beispiel für diesen Prozess:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


MODINV - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MODINV

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Kategorie: Allgemeine Referenz

Syntax

r = MODINV( wert, modulus )
text = MODINV$( wert, modulus )

Beschreibung

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Semantik

Liefert die modulare Inverse r mit wert*r = 1 modulo modulus, sofern sie existiert. Der erweiterte Euklidische Algorithmus wird verwendet. Wenn keine Inverse existiert, liefert MODINV$ fail-closed "0".

Datentypen

Ganzzahlige INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF-Werte werden exakt verarbeitet. Der modulus muss positiv sein und wert muss teilerfremd dazu sein. Die normale Form liefert DOUBLE.


MODPOW - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MODPOW

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Kategorie: Allgemeine Referenz

Syntax

r = MODPOW( basis, exponent, modulus )
text = MODPOW$( basis, exponent, modulus )

Beschreibung

Kategorie: Wissenschaftliche Zahlentheorie | Status: V19 verifiziert

Semantik

Liefert basis hoch exponent modulo einem positiven modulus. Der Exponent muss nichtnegativ und ganzzahlig sein; intern wird wiederholtes Quadrieren verwendet. MODPOW$ liefert den exakten Dezimalrest.

Datentypen und Grenze

Die exakte Form akzeptiert ganzzahlige Wide- und UN-Werte und vermeidet die vorherige DOUBLE-Konvertierung. Ein nichtpositiver modulus oder negativer Exponent wird exakt mit "0" abgewiesen; die numerische Form liefert ein ungueltiges Gleitkommaergebnis.


MODUL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MODUL

Deklariert einen Bereich auf Modulebene zum Organisieren von Code und Daten.

Kategorie: Allgemeine Referenz

Syntax

MODULE name
  ' declarations
END MODULE

Beschreibung

Deklariert einen Bereich auf Modulebene zum Organisieren von Code und Daten.

Typ: Metaaussage | Kategorie: Präprozessor und Metaanweisungen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Getestete PBXB64-Teilmenge: oberste MODULE ... END MODULE-Namespaces, PUBLIC FUNCTION-Exporte, Nutzung von PRIVATE FUNCTION im selben Modul, Ablehnung externer Private-Funktionszugriffe, Public/Private-Sichtbarkeit fuer Modul-CONST und MACRO, Aufrufe mit Module.Function(...), Module.Const-Zugriff fuer oeffentliche Konstanten, Module.Macro(...)-Expansion fuer oeffentliche Makros, #INCLUDE AS MODULE, #INCLUDE AS MODULE ONCE und #INCLUDE THIS ONCE. MODULE innerhalb eines ausfuehrbaren Funktionsrumpfs, verschachtelte oberste MODULE-Bloecke, MODULE ohne Namen und nicht passende END MODULE-Zeilen werden mit Diagnosen abgelehnt.

Offenes Paritaetsziel: vollstaendiges Delphi-Unit-artiges Verhalten ist noch nicht fertig. Offen sind ausdrueckliche INTERFACE/IMPLEMENTATION-Abschnitte, USES-Importe, separates Laden von Moduldateien, Initialisierungs-/Finalisierungsabschnitte, doppelte und zyklische Moduldiagnosen und breitere Sichtbarkeit fuer Modul-Daten/Typen/Equates/Makros.

Aktuelle Grenzen

Die aktuelle getestete Teilmenge ist keine vollstaendige Delphi-Unit-Paritaet. Offen sind USES-Importe, Regeln fuer separate Unit-Dateien, Initialisierungs-/Finalisierungsabschnitte, doppelte und zyklische Moduldiagnosen sowie breitere Public/Private-Pruefung fuer Moduldaten, Equates, Makros und Typen.

Pruefung

Abgedeckt durch examples/basic/test_module_namespace.pb, examples/basic/test_module_body_unsupported.pb, tests/pb/test_module_nested_unsupported.pb, tests/pb/test_module_missing_name.pb, tests/pb/test_module_end_without_module.pb, tests/pb/test_module_private_function.pb, tests/pb/test_module_private_function_reject.pb, tests/pb/test_module_const_visibility.pb, tests/pb/test_module_private_const_reject.pb, tests/pb/test_module_macro_visibility.pb, tests/pb/test_module_private_macro_reject.pb, tests/pb/test_include_as_module.pb, tests/pb/test_pp_include_as_module_once.pb und tests/pb/test_pp_include_this_once.pb.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


MONTHNAME$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MONTHNAME$

Konvertiert eine Monatszahl in den zugeh&ouml;rigen Namen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = MONTHNAME$( MonthNumber& )

Beschreibung

Konvertiert eine Monatszahl in den zugehörigen Namen.

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Funktion MONTHNAME$ wandelt eine Monatszahl in eine Zeichenfolge um, die den zugehörigen Namen darstellt. Das Argument muss im Bereich von 1 bis 12 liegen und die Namen Januar, Februar usw. darstellen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DATE$-Systemvariable
  • DAYNAME$
  • IPowerTime.AddDays-Methode
  • Hilfe zum PBXB64-Compiler


MOUSEPTR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MOUSEPTR

&Auml;ndern Sie den Mauszeiger (Cursor) in eine neue Form.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MOUSEPTR style [TO var& ]

Beschreibung

Ändern Sie den Mauszeiger (Cursor) in eine neue Form.

Typ:Anweisung |Kategorie: Utilities

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

MOUSEPTR gehoert zur Kategorie General. Diese Seite beschreibt den PBXB64-Dokumentationsstand fuer diesen Eintrag; verwenden Sie die Grenzen und Belege auf dieser Seite statt historischer PBWin-Annahmen.

Praktische Verwendung

MOUSEPTR gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.


MSGBOX " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MSGBOX " PBXB64-Compiler-Hilfe

Zeigt ein Meldungsfeld an, das eine Textzeichenfolge enth&auml;lt

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MSGBOX txt$ [, [ style% ], title$ ]
?     txt$ [, [ style% ], title$ ]   ' ALIAS for MSGBOX

Beschreibung

Zeigt ein Meldungsfeld an, das eine Textzeichenfolge enthält

Typ:Anweisung |Kategorie: Utilities

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die MSGBOX-Anweisung umfasst die folgenden Elemente:

txt$

Text, der im Meldungsfeld angezeigt werden soll.

Stil&

Optionaler Parameter, der das Erscheinungsbild des Meldungsfelds bestimmt. Einige Stile können kombiniert (durch ODER verknüpft) werden, um die Schaltfläche und das Symbol festzulegen, die im Meldungsfeld angezeigt werden. Wenn style& weggelassen wird, ersetzt PowerBASIC %MB_OK. Im Folgenden sind einige der gebräuchlichsten Stile aufgeführt, die mit der MSGBOX-Anweisung verwendet werden (weitere Informationen finden Sie auch in der MSGBOX-Funktion):

%MB_OK

OK-Schaltfläche anzeigen (Standard)

%MB_ICONERROR

Fehlersymbol anzeigen (Stoppschild)

%MB_ICONINFORMATION

Informationssymbol (â€žiâ€œ) anzeigen

%MB_ICONWARNING

Warnsymbol (Ausrufezeichen) anzeigen

%MB_APPLMODAL

Anwendungsmodal “ Trotz des Namens kann der Benutzer weiterhin mit anderen Dialogen interagieren, ohne die MSGBOX zu schlieÃŸen.

%MB_SYSTEMMODAL

Systemmodal “ Funktioniert genauso wie %MB_APPLMODAL, auÃŸer dass die MSGBOX den Stil %WS_EX_TOPMOST erhält, sodass sie über allen anderen Fenstern und Dialogen bleibt.

%MB_TASKMODAL

Task Modal “ Alle Fenster der obersten Ebene, die zur aktuellen Anwendung gehören, werden deaktiviert, bis die MSGBOX geschlossen wird. %MB_TASKMODAL wird häufig verwendet, um eine wirklich modale MSGBOX anzuzeigen. (Standard)

Weitere Stile finden Sie in WIN32API.INC im Abschnitt mit dem Präfix %MB_. Wenn Sie daran interessiert sind, welche Schaltfläche der Benutzer auswählt, verwenden Sie eine MSGBOX-Funktion anstelle einer MSGBOX-Anweisung.

Titel$

Legt den Titel fest, der in der Ãœberschrift des Meldungsfelds angezeigt werden soll. Wenn title$ nicht angegeben ist, wird automatisch â€žPowerBASICâ€œ verwendet.

Alias: Die MSGBOX-Anweisung kann als Abkürzung durch das Abfragezeichen (?) dargestellt werden. Dies ähnelt dem Verhalten im PowerBASIC Console Compiler (PB/CC), wo das Abfragezeichen als Synonym für die PRINT-Anweisung erkannt wird. Dies kann die Erstellung bestimmter Testcodes vereinfachen, da das Abfragezeichen in beiden Compilern ähnliche Funktionen bereitstellt.

Einschränkungen

Von der MSGBOX-Funktion angezeigte Zeichenfolgen werden nur bis zum ersten $NUL-Zeichen (falls vorhanden) angezeigt.

Description

MSGBOX shows a modal message box and returns the button or command result. The page should be read as a dialog contract: caption, text, button style, and response code.

Validation Evidence

Validation evidence: The message-box helpers are covered by the dialog runtime and the registered GUI tests that exercise modal UI return codes.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • INPUTBOX$ - Hilfe zum PBXB64-Compiler
  • TEXTBOX / TBOX
  • TXT Pseudo Object
  • Hilfe zum PBXB64-Compiler


MYBASE-Pseudovariable - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

MYBASE-Pseudovariable

Ein Pseudo

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MYBASE. Method1 ( param )

Beschreibung

Ein Pseudo

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status: NICHT UMGESETZT

PBXB64-Zertifizierung: [NICHT UNTERSTÜTZTE DIAGNOSE GETESTET]

Beschreibung

PBXB64-Hinweis: Die vererbungsorientierte MYBASE-Bindung ist noch nicht implementiert. Aktuelle Builds diagnostizieren MYBASE, anstatt stillschweigend falschen Basisobjektcode auszugeben.

MYBASE ist eine Pseudovariable, die PowerBASIC automatisch in jeder Methode und Eigenschaft einer geerbten Schnittstelle definiert. Es wird als Verweis auf das ursprüngliche, geerbte Objekt behandelt. Mit MYBASE ist es möglich, die ursprünglichen Methoden und Eigenschaften aufzurufen, sodass Sie sie in der abgeleiteten Schnittstelle ändern oder darauf aufbauen können.

MYBASE darf weder einer Objektvariablen zugewiesen noch als Unter-/Funktions-/Methoden-/Eigenschaftsparameter verwendet werden.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • CLASS/END CLASS
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ME-Pseudovariable
  • METHOD/END METHOD-Anweisungen
  • PROPERTY / END PROPERTY
  • What Is An Object Anyway?
  • Was ist Vererbung?
  • Hilfe zum PBXB64-Compiler


NAME - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

NAME

Benennen Sie eine Datei oder ein Verzeichnis um (wie der DOS-Befehl REN).

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

NAME filespec1$ AS filespec2$

Beschreibung

Benennen Sie eine Datei oder ein Verzeichnis um (wie der DOS-Befehl REN).

Typ:Anweisung |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die NAME-Anweisung besteht aus folgenden Elementen:

Dateispezifikation1$

Der aktuelle Name einer Datei oder eines Verzeichnisses. Die Datei darf derzeit weder geöffnet noch gesperrt sein. filespec1$ kann entweder ein kurzer Dateiname (SFN) oder ein langer Dateiname (LFN) sein.

Dateispezifikation2$

Der gewünschte Name der Datei oder des Verzeichnisses. Möglicherweise werden LFN-Namenskonventionen (Long File Name) verwendet.

Jede Dateispezifikation kann Laufwerks- und Pfadangaben sowie einen Datei- oder Verzeichnisnamen enthalten.

Wenn filespec1 nicht vorhanden ist, tritt Laufzeitfehler 53 („Datei nicht gefunden“) auf. Wenn filespec2 bereits vorhanden ist, tritt Laufzeitfehler 58 auf („Datei existiert bereits“). Wenn filespec1 von Ihrer Anwendung geöffnet oder gesperrt und nicht geschlossen wurde, kann ein Fehler 51 auftreten („Interner Systemfehler“). Sie sollten niemals eine Datei umbenennen, die von Ihrem Code geöffnet und (noch) nicht geschlossen wurde.

Einschränkungen

Es ist möglich, eine Datei von einem Verzeichnis, Laufwerk oder einer Partition in ein anderes zu verschieben. Es ist nicht möglich, Verzeichnisse zwischen Laufwerken oder Partitionen zu verschieben. Platzhalterzeichen sind in den Dateinamen nicht zulässig.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


NORMCDF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

NORMCDF

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Kategorie: Allgemeine Referenz

Syntax

probability = NORMCDF( x, mean, sigma )

Beschreibung

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Semantik

Liefert die kumulative Wahrscheinlichkeit bis x fuer eine Normalverteilung mit endlichem Mittelwert und positivem sigma. Das reelle Ergebnis ist DOUBLE im Bereich [0,1], vorbehaltlich der Gleitkommarundung.

Operanden und Grenzen

Normale Numerik sowie INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden ueber DOUBLE-Konvertierung akzeptiert. Ungueltige Parameter liefern ein nicht-endliches Ergebnis.


NORMINV - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

NORMINV

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Kategorie: Allgemeine Referenz

Syntax

x = NORMINV( probability, mean, sigma )

Beschreibung

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Semantik

Liefert das Normalverteilungsquantil zur Wahrscheinlichkeit probability. Die Wahrscheinlichkeit muss strikt zwischen 0 und 1 liegen, sigma muss positiv sein. Die Berechnung nutzt eine begrenzte rationale Naeherung und liefert DOUBLE.

Operanden und Grenzen

Alle normalen und festen Wide-Numerikfamilien sowie UNL und UNF werden ueber DOUBLE-Konvertierung akzeptiert. Beliebig genaue Quantile und Statusobjekte fuer Extrembereiche sind nicht zugesichert.


NORMPDF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

NORMPDF

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Kategorie: Allgemeine Referenz

Syntax

density = NORMPDF( x, mean, sigma )

Beschreibung

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Semantik

Liefert die Dichte der Normalverteilung an der Stelle x fuer einen endlichen Mittelwert und ein positives sigma. Das Ergebnis ist DOUBLE.

Operanden und Grenzen

Normale BASIC-Numerik sowie INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden akzeptiert. Wide- und UN-Werte werden ueber DOUBLE umgewandelt; eine beliebig genaue Wahrscheinlichkeit ist nicht Bestandteil von V21.


NUL$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

NUL$

Gibt eine Zeichenfolge zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

sResult$ = NUL$( count )

Beschreibung

Gibt eine Zeichenfolge zurück

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

NUL$ gibt eine Zählzeichenfolge mit $NUL-Zeichen zurück.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CHR$
  • REPEAT$ - Hilfe zum PBXB64-Compiler
  • SPACE$ - Hilfe zum PBXB64-Compiler
  • STRING$ - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


Nullterminierte Zeichenfolgen - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Nullterminierte Zeichenfolgen - Hilfe zum PBXB64-Compiler

Eine mit Null terminierte Zeichenfolge wird als STRINGZ mit ANSI-Zeichen oder WSTRINGZ mit WIDE-Unicode-Zeichen bezeichnet. Wenn sie mit ANSI-Zeichen deklariert werden, werden sie allgemein als ASCIIZ-Zeichenfolgen bezeichnet. Du kannst das

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine mit Null terminierte Zeichenfolge wird als STRINGZ mit ANSI-Zeichen oder WSTRINGZ mit WIDE-Unicode-Zeichen bezeichnet. Wenn sie mit ANSI-Zeichen deklariert werden, werden sie allgemein als ASCIIZ-Zeichenfolgen bezeichnet. Du kannst das

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Wenn Sie eine Zeichenfolge zuweisen, die kürzer als die definierte Länge ist, wird die Zeichenfolge rechts nicht aufgefüllt. Der Inhalt des restlichen Zeichenfolgenpuffers ist unbestimmt. Da eine NulTerm-Zeichenfolge ein NUL-Terminator erfordert, werden sie normalerweise mit einer Länge von mindestens zwei Zeichen definiert.

Sie deklarieren STRINGZ-Variablen mit den Schlüsselwörtern STRINGZ oder WSTRINGZ mit der DIM-Anweisung. Zum Beispiel:

DIM MyStr1 AS STRINGZ * 40

DIM MyStr2 AS WSTRINGZ * 40

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Numerische Gleichungen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Numerische Gleichungen

Mit PowerBASIC k&ouml;nnen Sie numerische Konstanten namentlich referenzieren. Beachten Sie, dass Equates einen globalen Geltungsbereich haben. das hei&szlig;t, sie sind im gesamten Programm sichtbar. Im Gegensatz zu Variablen k&ouml;nnen Sie f&uuml;r th ein Equate verwenden

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit PowerBASIC können Sie numerische Konstanten namentlich referenzieren. Beachten Sie, dass Equates einen globalen Geltungsbereich haben. das heißt, sie sind im gesamten Programm sichtbar. Im Gegensatz zu Variablen können Sie für th ein Equate verwenden

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

%Q = (1& ODER 2&) + (NICHT 0)

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Numerische Operationen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Numerische Operationen

Die folgenden Funktionen manipulieren und verwalten numerische Daten:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die folgenden Funktionen manipulieren und verwalten numerische Daten:

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Gibt den absoluten Wert eines numerischen Ausdrucks zurück

AND funktioniert sowohl als logischer als auch als bitweiser arithmetischer Operator

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Beispiel

#COMPILE EXE
#DIM ALL
' numeric_arith_plus_0_0
FUNCTION PBMAIN() AS LONG
  IF (0 + 0) <> (0) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


NVB. - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

NVB.

Variable nicht im Bereich - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: Allgemeine Referenz

Syntax

NVB.$$VAR|min|max[|label]

Beschreibung

Variable nicht im Bereich - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

NVB. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `NVB.$$VAR|min|max[|label]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | min | erforderlich
P3 | max | erforderlich
P4 | label | optional

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_nvb.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


NVP. - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

NVP.

Nicht Variablenmuster - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kategorie: Allgemeine Referenz

Syntax

NVP.$$VAR=pattern[|label][|e]

Beschreibung

Nicht Variablenmuster - Bedingungsbefehle zum Vergleichen von Werten und Auswaehlen von Bloecken.

Kind: SPR-Befehl | Category: SPR Frontend / Conditions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

NVP. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `NVP.$$VAR=pattern[|label][|e]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR=pattern | erforderlich
P2 | label | optional
P3 | e | optional

Verwendung

  • Bereiten Sie den geprueften Wert vor der Bedingung vor, damit das Beispiel genau zeigt, was verglichen wird und welcher Zweig betreten wird.
  • Dokumentieren Sie, ob der Befehl bei Erfolg, bei Abweichung oder bei Bereichs-/Musterpruefung verzweigt, weil genau das beim Programmieren relevant ist.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_nvp.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Nennen Sie, ob der Befehl bei fehlgeschlagener Bedingung durchfaellt und ob das Ergebnisziel einen numerischen Score oder Vergleichswert erhaelt.
  • Wenn ein passendes Label oder ein Block fehlt, soll die Seite sagen, dass das Beispiel absichtlich unvollstaendig ist und beim Kompilieren oder Linken fehlschlaegt.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


OBJEKT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

OBJEKT

Kommunizieren Sie mit COM-Objektreferenzen und Dispatch-Mitgliedern.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

OBJECT GET interface . member [. member .] [([[ paramname =] param1 [, ...]])] TO ResultVar
OBJECT LET interface . member [. member .] [([[ paramname =] param1 [, ...]])] = ValueVar
OBJECT SET interface . member [. member .] [([[ paramname =] param1 [, ...]])] = ValueVar
OBJECT CALL interface . member [. member .] [([[ paramname =] param1 [, ...]])] [TO ResultVar ]
OBJECT RAISEEVENT [ interface .] member [([[ paramname =] param1 [, ...]])]

Beschreibung

Kommunizieren Sie mit COM-Objektreferenzen und Dispatch-Mitgliedern.

Typ:Anweisung |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Es gibt fünf allgemeine Formen der OBJECT-Anweisung, die zur Kommunikation über eine Dispatch-Schnittstelle mit einem Objekt verwendet werden.

OBJEKT ERHALTEN

Rufen Sie den Wert einer Interface-Member-Property ab oder lesen Sie ihn. Dies ähnelt dem Abrufen des Werts einer Variablen.

OBJEKTVERMIETUNG

Weisen Sie einer Schnittstellenmitgliedseigenschaft einen Wert zu oder schreiben Sie einen Wert. Dies ähnelt dem Zuweisen eines Werts zu einer Variablen.

OBJEKTSATZ

Weisen Sie einer Interface-Member-Eigenschaft einen Wert zu oder schreiben Sie einen Wert, der einen Verweis auf ein Objekt enthält. Zum Beispiel ein Verweis auf eine andere Schnittstelle.

OBJEKTAUFRUF

Rufen Sie eine Mitgliedsmethode einer Schnittstelle auf oder führen Sie sie aus. Dies entspricht dem Aufruf eines Sub oder Function .

OBJEKT-RAISEEVENT

Rufen Sie eine Mitgliedsmethode einer Dispatch-Ereignisschnittstelle auf oder führen Sie sie aus. Da die Dispatch-Ereignisschnittstelle vordefiniert ist, müssen Sie in dieser Form der Anweisung den Schnittstellennamen nicht angeben. Allerdings hilft die Einbindung bei der Selbstdokumentation Ihres Programms. Wenn Ihr Programm einen direkten V-Table-Ereignishandler verwendet, sollten Sie stattdessen die RAISEEVENT-Anweisung verwenden. Ein Beispiel für OBJECT RAISEEVENT finden Sie in der Anweisung EVENT SOURCE.

Alle Parameter, Rückgabewerte und Zuweisungswerte können Literale, Ausdrücke oder COM-kompatible Variablen sein. Zu den COM-kompatiblen Variablentypen gehören BYTE, WORD, DWORD, INTEGER, LONG, QUAD, SINGLE, DOUBLE, CURRENCY, POINTER, STRING und VARIANT. Zeichenfolgenargumente werden automatisch in BSTR konvertiert, sodass keine manuelle Unicode-Konvertierung erforderlich ist.

Dispatch OBJECT-Methodenaufrufe werden zur Laufzeit mithilfe einer späten Bindung gebunden, die keine Deklaration von Eigenschaften und Methoden erfordert. Aus genau diesem Grund kann die Gültigkeit dieser Referenzen jedoch von PBXB64 zur Kompilierungszeit nicht überprüft werden.

Die OBJECT-Anweisung unterstützt Positionsparameter. Benannte Parameter (Syntax Name := value) werden akzeptiert, werden aber derzeit als Positionsargumente in der Quellreihenfolge behandelt; In einer zukünftigen Version wird möglicherweise ein echter COM-Versand mit benannten Argumenten hinzugefügt.

Klammern um Argumentlisten sind für optional OBJECT CALL und kann weggelassen werden, genau wie im nativen PowerBASIC.

Jedes Mal, wenn Sie eine Methode oder Eigenschaft mit der OBJECT-Anweisung aufrufen, wird in einem versteckten Parameter ein Statuscode zurückgegeben, der den Erfolg oder Misserfolg des Vorgangs anzeigt. Sie können Informationen zu diesem Statuscode mit der Funktion OBJRESULT und auch mithilfe des Dispatch-Informationsobjekts IDISPINFO abrufen. Wenn der Fehler schwerwiegend war, wird außerdem ein PowerBASIC-Fehler 99 (Objektfehler) generiert und die Systemvariable ERR gesetzt. Weitere Informationen zu diesen Elementen finden Sie unter OBJRESULT, IDISPINFO und ERR. Diese Informationen können sowohl beim Debuggen als auch bei der Behandlung von Laufzeitfehlern sehr nützlich sein.

Einschränkungen

Alle Parameter, Rückgabewerte und Zuweisungswerte müssen in Form von COM-kompatiblen Variablen vorliegen. Die Verwendung des falschen Mitgliedsmodus (GET/LET/SET/CALL/RAISEEVENT) kann manchmal zu unerwarteten und schwerwiegenden Laufzeitfehlern führen. Daher ist es normalerweise ratsam, den Ergebniscode in OBJRESULT nach jeder OBJECT-Anweisung zu testen.

Getestete Datentyp-Oberflaeche

PBXB64 verifiziert derzeit die OBJECT-Variablenform als COM-Schnittstellenzeiger. Die fokussierte Regression in examples/basic/test_object.pb prueft den uninitialisierten Zustand, die Zuweisung von 0 und NOTHING, die Zuweisung eines Nicht-Null-Zeigerwerts sowie den Rueckgabepfad ueber ISOBJECT, ISNOTHING und OBJPTR.

Praktische Verwendung

Verwenden Sie OBJECT, wenn eine COM-aehnliche Referenz fehlen kann. Pruefen Sie vor dem Dereferenzieren auf Null und verwenden Sie OBJPTR nur dann, wenn Sie den Rohzeigerwert absichtlich fuer Interop oder Diagnose benoetigen.

Parameter und Ergebnisse

Die verifizierte Oberflaeche behandelt OBJECT als COM-Referenz, die Null sein darf. Nutzen Sie die Pruefungen aus dem Beispiel, um einen nicht initialisierten Zustand, eine Nullzuweisung, eine freigegebene Referenz und einen Nicht-Null-Zeigerwert zu unterscheiden. Die Seite bleibt auf das Datentypverhalten beschraenkt; die breitere Dispatch-Syntax folgt weiterhin dem Referenzteil weiter unten.

Test- und Dokumentationshinweise

Das Beispiel ist bewusst klein und in sich abgeschlossen, damit es sich in eine kurze Quelldatei uebernehmen laesst. Es benoetigt nur die normale PBXB64-Laufzeit, das aktuelle Frontend und die fokussierte Objekt-Regression in examples/basic/test_object.pb.

Validierungsbeleg

Validierungsbeleg: die registrierte Regression examples/basic/test_object.pb und der Coverage-Eintrag in tests/validate.toml belegen die fokussierte OBJECT-Lebensdauer- und Zeigerwert-Oberflaeche. Halten Sie die Seite bis zu eigenen Tests fuer die breiteren Dispatch-Pfade ehrlich auf diese Grenze beschraenkt.

Aktuelle Grenze

Die auf der Seite gezeigte Dispatch-Anweisung bleibt Referenzmaterial fuer die breitere COM-Oberflaeche. Externe OLE-Automatisierung, benannte Argumente und Ereignisaufrufe benoetigen noch eigene Regressionen, bevor sie als vollstaendig geschlossen gelten sollten.

Einschränkungen

Die fokussierte OBJECT-Oberflaeche beschraenkt sich auf das getestete Null-/Zeigerverhalten. Breitere Dispatch-Szenarien, benoannte Argumente und Ereignisaufrufe bleiben bis zu eigenen Regressionen ausserhalb der verifizierten Oberflaeche.

Siehe auch

  • ACODE$
  • DIM ? PBXB64-Compiler-Hilfe
  • CLASS/END CLASS
  • CLSID$
  • EREIGNISQUELLE
  • IDISPINFO-Pseudoobjekt
  • GUID$
  • GUIDTXT$
  • ID-Bindung
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • Was ist COM?
  • Späte Bindung
  • LET-Anweisung (mit Objekten)
  • METHOD/END METHOD-Anweisungen
  • ZIEL
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • PROPERTY / END PROPERTY
  • UCODE$
  • What Is An Object Anyway?
  • Was ist VERSAND?
  • Hilfe zum PBXB64-Compiler


OBJEQUAL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

OBJEQUAL

&Uuml;berpr&uuml;fen Sie, ob

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

Result = OBJEQUAL( ObjectVar1 , ObjectVar2 )

Beschreibung

Überprüfen Sie, ob

Typ:Funktion |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Vergleicht zwei Objektvariablen, um festzustellen, ob sie auf dasselbe Objekt verweisen. Es gibt true (-1) zurück, wenn beide auf dasselbe Objekt verweisen (oder beide auf NICHTS verweisen); andernfalls wird false (0) zurückgegeben.

Wenn sich die beiden Objektvariablen auf dieselbe Klasse, aber nicht auf dasselbe spezifische Objekt beziehen, wird false (0) zurückgegeben.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BITSE
  • Hilfe zum PBXB64-Compiler


OBJPTR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

OBJPTR

Geben Sie eine zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ObjectPointer??? = OBJPTR( objectvar )

Beschreibung

Geben Sie eine zurück

Typ:Funktion |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

OBJPTR gibt den Objektzeiger als Doppelwortwert (DWORD) zurück.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • CLSID$
  • GUID$
  • GUIDTXT$
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • LET-Anweisung (mit Objekten)
  • OBJEKT
  • ZIEL
  • OBJEQUAL
  • OBJRESULT
  • PROGID$
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


OBJRESULT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

OBJRESULT

Gibt einen Statuscode (hResult) zur&uuml;ck, um den Erfolg oder Misserfolg der letzten zu beschreiben

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

lResult& = OBJRESULT

Beschreibung

Gibt einen Statuscode (hResult) zurück, um den Erfolg oder Misserfolg der letzten zu beschreiben

Typ:Funktion |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine Automatisierungsprozedur ist eine METHOD oder EIGENSCHAFT auf einer IAUTOMATION-, IDISPATCH- oder DUAL-Schnittstelle. Per Definition gibt eine Automatisierungsprozedur immer einen versteckten Ergebniscode zurück, der kryptisch als hResult bezeichnet wird. OBJRESULT ist das zuletzt vom Programm generierte hResult und kann verwendet werden, um den Erfolg oder Misserfolg eines Vorgangs zu ermitteln.

Wenn eine Automatisierungsprozedur mit einem schwerwiegenden Fehler fehlschlägt, wird die Systemvariable ERR auf einen entsprechenden PowerBASIC-Fehlercode gesetzt. Dies ist normalerweise Fehler 99 („Objektfehler“). In solchen Fällen können Sie die Funktion OBJRESULT verwenden, um das Ergebnis (hResult&) der letzten OBJECT-Anweisung zur Laufzeit oder der direkten METHOD/PROPERTY-Referenz zurückzugeben.

Numerische Gleichungen für die meisten OBJRESULT-Fehler sind in der Datei WIN32API.INC zu finden und werden meist mit dem Präfix %E_, %CO_, %OLE_ und %DISP_ versehen. Die folgende Liste enthält die häufigsten Codes, die durch einen direkten Aufruf einer Methode oder Eigenschaft zurückgegeben werden können:

%S_OK = &H0

%S_FALSE = &H1

%E_UNEXPECTED = &H8000FFFF&

%E_NOTIMPL = &H80004001&

%E_NOINTERFACE = &H80004002&

%E_POINTER = &H80004003&

%E_ABORT = &H80004004&

%E_FAIL = &H80004005&

%E_ACCESSDENIED = &H80070005&

%E_HANDLE = &H80070006&

%E_OUTOFMEMORY = &H8007000E&

%E_INVALIDARG = &H80070057&

In dieser Liste sind die häufigsten Statuscodes aufgeführt, die von einem DISPATCH-Aufruf mit der OBJECT-Anweisung zurückgegeben werden können:

%S_OK = &H0

%DISP_E_ARRAYISLOCKED = &H8002000D

%DISP_E_BADINDEX: = &H8002000B

%DISP_E_BADPARAMCOUNT = &H8002000E

%DISP_E_BADVARTYPE = &H80020008

%DISP_E_EXCEPTION = &H80020009

%DISP_E_MEMBERNOTFOUND = &H80020003

%DISP_E_NONAMEDARGS = &H80020007

%DISP_E_OVERFLOW = &H8002000A

%DISP_E_PARAMNOTFOUND = &H80020004

%DISP_E_TYPEMISMATCH = &H80020005

%DISP_E_UNKNOWNINTERFACE = &H80020001

%DISP_E_UNKNOWNLCID = &H8002000C

%DISP_E_UNKNOWNNAME = &H80020006

%DISP_E_PARAMNOTOPTIONAL = &H8002000F

Wenn der Statuscode %DISP_E_EXCEPTION zurückgegeben wird, können Sie mit dem IDISPINFO-Objekt viele zusätzliche Informationen über den Status sichern. Dazu gehören ein spezifischerer Fehlercode, eine Beschreibung, Informationen zur Hilfedatei usw. Wenn der Statuscode %DISP_E_PARAMNOTFOUND oder %DISP_E_TYPEMISMATCH vorliegt, können Sie IDISPINFO.PARAM verwenden, um festzustellen, welcher Parameter das Problem tatsächlich verursacht hat. Weitere Einzelheiten finden Sie im Abschnitt IDISPINFO.

Wie aus den obigen Listen ersichtlich ist, kann ein großer numerischer Statuscode kryptisch sein. Sie können den OBJRESULT-Code jedoch mithilfe der Funktion OBJRESULT$ in eine beschreibende Nachricht übersetzen. Dies kann besonders während der Anwendungsentwicklung und beim Debuggen sehr hilfreich sein.

PBXB64-Prüfung

Die registrierte Regression tests/pb/test_objresult_string.pb prüft, dass OBJRESULT mit S_OK beginnt und nach ungültigen OBJACTIVE-, CLSID$- und PROGID$-Hilfsaufrufen einen Nicht-Null-HRESULT enthält. Derselbe Test prüft OBJRESULT$-Text für aktuelle und explizite HRESULT-Werte.

Diese fokussierte Zertifizierung behauptet keine vollständige PBWin-COM/OOP-Unterstützung für METHOD, PROPERTY, IDispatch, Ereignisse, Vererbung oder Typbibliotheken.

Einschränkungen

Methoden und Eigenschaften einer benutzerdefinierten Schnittstelle (eine direkte Schnittstelle, die auf IUnknown statt IDispatch basiert) unterstützen keine OLE-Automatisierung und geben kein OBJRESULT (hResult) zurück.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

BASIC-Themen sollen Syntax, unterstuetzte Formen, Laufzeitverhalten, Migrationshinweise und mindestens ein vollstaendiges PBXB64-Beispiel enthalten. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • CLASS/END CLASS
  • CLSID$
  • IDISPINFO-Pseudoobjekt
  • GUID$
  • GUIDTXT$
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • LET-Anweisung (mit Objekten)
  • METHOD/END METHOD-Anweisungen
  • PROPERTY / END PROPERTY
  • OBJEKT
  • ZIEL
  • OBJEQUAL
  • OBJPTR
  • OBJRESULT$ " PBXB64-Compiler-Hilfe
  • PROGID$
  • What Is An HRESULT?
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


OCT$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

OCT$

Konvertieren Sie einen ganzzahligen Wert in eine Oktalzeichenfolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = OCT$( IntVal [, Digits , LeadSpaces , TrailSpaces ])

Beschreibung

Konvertieren Sie einen ganzzahligen Wert in eine Oktalzeichenfolge

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

IntVal ist ein ganzzahliger Ausdruck im Bereich einer 64-Bit-Quad-Ganzzahl (-9223372036854775808 bis +9223372036854775807). Jeder Bruchteil des Wertes wird gerundet. Die Ergebniszeichenfolge wird immer als Ganzzahl unter Verwendung aller signifikanten Ziffern in IntVal formatiert. Es wird niemals in wissenschaftlicher Notation ausgedrückt.

Wenn Digits 0 ist (oder nicht angegeben ist), werden dem numerischen Feld keine führenden Zeichen hinzugefügt. Wenn Digits eine positive Zahl größer als 0 ist, werden der Ergebniszeichenfolge führende Nullen vorangestellt, um die gewünschte Länge zu erreichen. Wenn Digits eine negative Zahl ist, werden führende Leerzeichen hinzugefügt, um die absolute Länge zu erreichen. Die Ziffern können im Bereich von -22 bis +22 liegen.

LeadSpaces specifies additional leading spaces to be prepended, regardless of the length of the numeric portion of the string.

TrailSpaces specifies additional trailing spaces to be appended to the end of the string.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BIN$
  • DEC$
  • FORMAT$
  • HEX$
  • STR$ ? PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • USING$
  • VAL ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


ODE_RK4 " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ODE_RK4 " PBXB64-Compiler-Hilfe

Skalarer ODE-L&ouml;ser unter Verwendung der klassischen Runge-Kutta-Methode 4. Ordnung (RK4).

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result = ODE_RK2(t0, y0, h, CODEPTR(deriv))
result = ODE_RK3(t0, y0, h, CODEPTR(deriv))
result = ODE_RK4(t0, y0, h, CODEPTR(deriv))
result = ODE_RK5(t0, y0, h, CODEPTR(deriv))

Beschreibung

Skalarer ODE-Löser unter Verwendung der klassischen Runge-Kutta-Methode 4. Ordnung (RK4).

Typ: Eingebaute Funktion | Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Parameter

Parameter | Typ | Beschreibung
t0 | DOUBLE | Anfangszeitwert.
y0 | DOUBLE | Anfangszustandswert bei t0.
h | DOUBLE | SchrittgröÃŸe (Zeitinkrement).
CODEPTR(deriv) | Funktionszeiger | Adresse eines PB FUNCTION das berechnet dy/dt.

Beschreibung

ODE_RK4 führt einen einzelnen RK4-Integrationsschritt für eine skalare gewöhnliche Differentialgleichung durch:

dy/dt = f(t, y)

Die Callback-Funktion deriv muss die Unterschrift haben:

FUNCTION deriv(t AS DOUBLE, y AS DOUBLE) AS DOUBLE
  deriv = ...  ' return dy/dt
END FUNCTION

VerwendenCODEPTR(deriv) um die Funktionsadresse an den Löser zu übergeben. Die Win64-Aufrufkonvention stellt sicher, dass PB FUNCTION Parameter und Rückgabewerte sind mit C-Funktionszeigern kompatibel.

Rückgabewert

Rückgaben DOUBLE — der Zustandswert bei t0 + h.

Description

ODE_RK4 belongs to the numerical helper surface. The help entry documents intended call shape and must not be read as broader numerical-library parity beyond tested helper behavior.

Validation Evidence

Validation evidence: Documented helper surface; add a focused PB validation program before claiming broader numerical parity.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION deriv(t AS DOUBLE, y AS DOUBLE) AS DOUBLE
  deriv = 0 - y   ' dy/dt = -y  (exponential decay)
END FUNCTION

FUNCTION PBMAIN() AS LONG
  LOCAL r2 AS DOUBLE, r3 AS DOUBLE, r4 AS DOUBLE, r5 AS DOUBLE
  r2 = ODE_RK2(0.0, 1.0, 0.1, CODEPTR(deriv))
  r3 = ODE_RK3(0.0, 1.0, 0.1, CODEPTR(deriv))
  r4 = ODE_RK4(0.0, 1.0, 0.1, CODEPTR(deriv))
  r5 = ODE_RK5(0.0, 1.0, 0.1, CODEPTR(deriv))
  PRINT "RK2="; r2
  PRINT "RK3="; r3
  PRINT "RK4="; r4
  PRINT "RK5="; r5
  PBMAIN = 0
END FUNCTION

Siehe auch

  • DEC128 " PBXB64-Compiler-Hilfe
  • RATIONAL " PBXB64-Compiler-Hilfe
  • GRUNDLEGENDE mathematische Funktionen
  • Hilfe zum PBXB64-Compiler


OemToChr$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

OemToChr$

&Uuml;bersetzt eine Bytefolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

a$ = OemToChr$( OemExpr$ )
a$$ = OemToChr$(GRAPHIC, OemExpr$ )

Beschreibung

Übersetzt eine Bytefolge

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

OemExpr$ enthält eine Reihe von Byte-Zeichen (8 Bit) im OEM-Format. OemToChr$ übersetzt es je nach Kontext des Quellcodes entweder in ANSI-Multibyte-äquivalente Zeichen oder WIDE (16-Bit) Unicode-Zeichen. PowerBASIC wählt immer die richtige Form, ohne dass der Programmierer eingreifen muss. Die Steuercodes CHR$(0) bis CHR$(31) und CHR$(127) werden eindeutig behandelt, da sie normalerweise als nicht druckbare Zeichen betrachtet werden. Standardmäßig werden sie nur kopiert, ohne Übersetzung.

GRAFIK

Wenn die Option GRAPHIC enthalten ist, bedeutet dies, dass Sie Steuercodes in Codes konvertieren möchten, die die im ursprünglichen IBM OEM-Zeichensatz definierten Grafiksymbole anzeigen. Die meisten dieser Codes sind nur als breite Unicode-Zeichen verfügbar.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • ChrToOem$
  • ChrToUtf8$
  • Utf8ToChr$
  • Hilfe zum PBXB64-Compiler


ON - ON-ERROR-Behandlung einleiten - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ON - ON-ERROR-Behandlung einleiten

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

ON ERROR GOTO handler

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Kontrollkeyword fuer ON-ERROR-Formen und verwandte Fehlerfluss-Anweisungen.

Praktische Verwendung

Verwenden Sie ON fuer kontrollierte Fehler- oder Sprungformen wie ON ERROR. Der genaue Zielteil folgt auf dieses Keyword und muss zur jeweiligen Syntaxform passen.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

ON ohne die passende Folgeform ist unvollstaendig und sollte nicht als fertig gelten. Pruefen Sie die konkrete Fehler- oder Sprungsyntax separat.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ON GOSUB - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ON GOSUB

Rufen Sie je nach Wert eines numerischen Ausdrucks eine von mehreren Unterroutinen auf.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ON n GOSUB { label | line_number } [, { label | line_number }] ...

Beschreibung

Rufen Sie je nach Wert eines numerischen Ausdrucks eine von mehreren Unterroutinen auf.

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

n ist ein numerischer Ausdruck im Bereich von 1 bis 255, und jede Beschriftung oder Zeilennummer identifiziert eine Anweisung, zu der verzweigt werden soll. Wenn diese Anweisung angetroffen wird, wird zum n-ten Label in der Liste verzweigt; Wenn beispielsweise n gleich 4 ist, erhält das vierte Label in der Liste die Kontrolle. Wenn n kleiner als eins oder größer als die Anzahl der Labels ist, findet keine Verzweigung statt und PowerBASIC setzt die Ausführung mit der Anweisung fort, die unmittelbar auf die ON GOSUB-Anweisung folgt.

Jede Unterroutine sollte mit RETURN enden, wodurch die Ausführung mit der Anweisung fortgesetzt wird, die unmittelbar auf die ON GOSUB-Anweisung folgt. ON GOSUB kann nur zu Labels oder Zeilennummern verzweigen, die denselben Gültigkeitsbereich wie die ON GOSUB-Anweisung haben.

Die SELECT- und IF-Blöcke führen ebenfalls Mehrfachverzweigungen durch und sind flexibler als ON GOSUB.

Beachten Sie, dass ON GOSUB (und ON GOTO) intern optimiert wurden, um eine höhere Laufzeitleistung zu erzielen, als dies mit früheren Versionen von PowerBASIC möglich war.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • GOSUB � PBXB64-Compiler-Hilfe
  • FUNCTION/END FUNCTION-Anweisungen
  • IF/END IF
  • METHOD/END METHOD-Anweisungen
  • ON GOTO
  • PROPERTY / END PROPERTY
  • RETURN
  • SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe
  • SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


ON GOTO - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ON GOTO

Senden Sie den Programmfluss basierend auf dem Wert eines booleschen Werts an eines von mehreren m&ouml;glichen Zielen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ON n GOTO { label | line_number } [, { label | line_number }] ...

Beschreibung

Senden Sie den Programmfluss basierend auf dem Wert eines booleschen Werts an eines von mehreren möglichen Zielen

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

n ist ein numerischer Ausdruck im Bereich von 1 bis 255, und label oder line_number identifiziert eine Anweisung im Programm, zu der verzweigt werden soll. Das n-te Label wird verzweigt; Wenn beispielsweise n gleich 4 ist, erhält das vierte Label in der Liste die Kontrolle. If n is less than one or greater than the number of labels in the list, program execution continues with the statement that immediately follows the ON GOTO statement.

ON GOTO verhält sich genau wie ON GOSUB , außer dass es ein GOTO statt eines GOSUB ausführt. Das bedeutet, dass sich das Programm nicht daran erinnert, woher die Verzweigung stammt. ON GOTO kann nur zu Beschriftungen oder Zeilennummern verzweigen, die denselben Gültigkeitsbereich wie die ON GOTO-Anweisung haben.

Die SELECT- und IF-Blöcke führen ebenfalls Mehrfachverzweigungen durch und sind flexibler als ON GOTO. Im GOTO-Eintrag finden Sie eine Diskussion darüber, wie Sie die Verwendung von GOTOs in Ihren Programmen vermeiden können.

Note that ON GOTO (and ON GOSUB) have been internally optimized to produce greater run-time performance than was possible with previous versions of PowerBASIC.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • GOTO
  • IF/END IF
  • ON GOSUB
  • SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


ON KEY - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ON KEY

Register a keyboard event hook that calls a PB subroutine on key down or key up.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ON KEY DOWN CALL SubName
ON KEY UP   CALL SubName
ON KEY DOWN CALL SubName(BYVAL vk AS LONG)
ON KEY UP   CALL SubName(BYVAL vk AS LONG)
ON KEY DOWN CALL SubName(BYVAL vk AS LONG, BYVAL ascCode AS LONG)
ON KEY UP   CALL SubName(BYVAL vk AS LONG, BYVAL ascCode AS LONG)

Beschreibung

Register a keyboard event hook that calls a PB subroutine on key down or key up.

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

DOWN

Installs a low-level keyboard hook that calls SubName whenever a key is pressed.

UP

Installs a low-level keyboard hook that calls SubName whenever a key is released.

SubName

The name of a PB SUB defined in the same module. The SUB may be parameterless, or accept one or two BYVAL AS LONG parameters:

  • 0 parameters - backward-compatible parameterless handler. No key information is passed.
  • 1 parameter - receives the Windows virtual-key code (VK code) of the pressed or released key. For example, 65 for the A key, 32 for Space, and 112 for F1.
  • 2 parameters - first parameter receives the VK code, second parameter receives the ASCII/character code converted from the VK code using the current keyboard layout. For letter and digit keys the two values coincide (e.g. both are 65 for unshifted A), but for shifted keys the second parameter reflects the shifted character (e.g. 33 for '!' when Shift+1 is pressed). Special keys (arrows, function keys, etc.) that have no ASCII equivalent return 0 in the second parameter.

The conversion from VK code to ASCII is performed internally by the runtime using MapVirtualKeyA with the current keyboard layout. Dead keys return 0 in the second parameter.

Parameterless handlers are still supported for backward compatibility. In that case, use global or shared state if the handler needs to communicate with the rest of the program.

The hook is installed during program startup and remains active until the process exits. Because the callback runs on a system thread, keep the handler short and do not perform blocking operations inside it.

Restrictions

Only a single handler per direction is supported. Registering a second handler for the same direction replaces the previous one.

The callback SUB, if it has parameters, must declare them as BYVAL AS LONG (or a compatible integer type: INTEGER, DWORD, BYTE, WORD, QUAD). BYREF parameters are not allowed.

Siehe auch

  • ON GOTO
  • ON GOSUB
  • EREIGNISSE
  • RAISEEVENT
  • Hilfe zum PBXB64-Compiler


ON MOUSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ON MOUSE

Register a low-level mouse hook that calls a PB subroutine on mouse events.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ON MOUSE CALL SubName
ON MOUSE MOVE CALL SubName
ON MOUSE DOWN CALL SubName
ON MOUSE UP CALL SubName
ON MOUSE WHEEL CALL SubName
ON MOUSE CALL SubName(BYVAL x AS LONG)
ON MOUSE CALL SubName(BYVAL x AS LONG, BYVAL y AS LONG)
ON MOUSE CALL SubName(BYVAL x AS LONG, BYVAL y AS LONG, BYVAL event AS LONG)

Beschreibung

Register a low-level mouse hook that calls a PB subroutine on mouse events.

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

MOVE

Calls SubName whenever the mouse cursor moves.

DOWN

Calls SubName whenever any mouse button is pressed (left, right, or middle). The event parameter tells you which button.

UP

Calls SubName whenever any mouse button is released. The event parameter tells you which button.

WHEEL

Calls SubName whenever the mouse wheel is scrolled.

no direction

ON MOUSE CALL SubName without a direction keyword catches all mouse events: move, all button down/up, and wheel.

SubName

The name of a PB SUB defined in the same module. The SUB may be parameterless or accept 1, 2, or 3 BYVAL AS LONG parameters:

  • 0 parameters — no mouse information is passed.
  • 1 parameter — receives the X screen coordinate of the mouse cursor.
  • 2 parameters — first receives X, second receives the Y screen coordinate.
  • 3 parameters — first = X, second = Y, third = event code. Event codes are:
    • 1 = MOVE
    • 2 = LBUTTONDOWN
    • 3 = LBUTTONUP
    • 4 = RBUTTONDOWN
    • 5 = RBUTTONUP
    • 6 = MBUTTONDOWN
    • 7 = MBUTTONUP
    • 8 = WHEEL

Coordinates are in screen pixels (not client-relative). The hook is installed during program startup and remains active until the process exits. Because the callback runs on a system thread, keep the handler short and do not perform blocking operations inside it.

Restrictions

Only a single handler is supported. Registering a second handler replaces the previous one.

The callback SUB, if it has parameters, must declare them as BYVAL AS LONG (or a compatible integer type: INTEGER, DWORD, BYTE, WORD, QUAD). BYREF parameters are not allowed.

Siehe auch

  • ON KEY
  • ON GOTO
  • ON GOSUB
  • Hilfe zum PBXB64-Compiler


Opcodes und Mnemoniken - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Opcodes und Mnemoniken

At the hardware level in an Intel or compatible processor, instructions are built directly into the CPU circuitry and these are represented by opcodes .

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

At the hardware level in an Intel or compatible processor, instructions are built directly into the CPU circuitry and these are represented by opcodes .

Typ:Schlüsselwort |Kategorie:Inline-Assembler

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

While assembly code can be written at the Byte level, it is a particularly complex method of writing code since it involves memorizing a very large number of opcodes. Darüber hinaus muss dieser Programmcode das numerische Datenformat (Little-Endian) von Intel verwenden. Bei Little-Endian werden numerische Multibyte-Werte in umgekehrter Reihenfolge zur üblichen menschlichen Darstellung gespeichert.

For example, to copy the 32-bit value &H56A700FE into the EAX register (MOV EAX, &H56A700FE), you must first find the opcode for the MOV EAX mnemonic (&HA1) followed by the data in reverse order (&HFE, &H00, &HA7, and &H56).

Im Hex-Format würde die gesamte Anweisung so aussehen:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Operator-Priorität - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Operator-Priorität

Beispielsweise ergibt der Ausdruck 3+6 / 3 5 und nicht 3. Die Division hat eine h&ouml;here Priorit&auml;t als die Addition, daher wird die Divisionsoperation (6 / 3) zuerst ausgef&uuml;hrt. Auch wenn der Compiler keinen Betrug bekommt

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Beispielsweise ergibt der Ausdruck 3+6 / 3 5 und nicht 3. Die Division hat eine höhere Priorität als die Addition, daher wird die Divisionsoperation (6 / 3) zuerst ausgeführt. Auch wenn der Compiler keinen Betrug bekommt

Typ:Betreiber |Kategorie:Betreiber

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Um Vorgänge gleicher Priorität abzuwickeln, geht PowerBASIC von links nach rechts vor. Beispielsweise wird im Ausdruck 4 - 3 + 6 die Subtraktion (4 - 3) vor der Addition (3 + 6) durchgeführt, wodurch der Zwischenausdruck 1 + 6 entsteht.

Operationen in Klammern haben höchste Priorität und werden immer zuerst ausgewertet. In Klammern wird die Standardpriorität verwendet. Verwenden Sie Klammern wie Knoblauch: großzügig, aber nicht im Übermaß.

Another example of the effect of Order of Precedence on an expression follows:

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' numeric_precedence_0
FUNCTION PBMAIN() AS LONG
  IF (1 + 2 * 3) <> (7) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


OPTION EXPLICIT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

OPTION EXPLICIT

Erzwingen Sie die explizite Deklaration aller

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

OPTION EXPLICIT

Beschreibung

Erzwingen Sie die explizite Deklaration aller

Typ:Anweisung |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Verwendung von OPTION EXPLICIT in einem Programm hat die gleiche Wirkung wie die Verwendung der Metaanweisung #DIM ALL. Das heißt, es erfordert, dass alle Variablen deklariert werden, bevor sie verwendet werden.

Wenn diese Option verwendet wird, generiert der Compiler einen Kompilierungsfehler, wenn eine Variable oder ein Array verwendet wird, ohne explizit deklariert zu werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


Optionsdialog - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Optionsdialog

In diesem Thema werden die verf&uuml;gbaren Optionen zum Anpassen der Ausgabe des vom PowerBASIC COM-Browser generierten Quellcodes beschrieben.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In diesem Thema werden die verfügbaren Optionen zum Anpassen der Ausgabe des vom PowerBASIC COM-Browser generierten Quellcodes beschrieben.

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Verwenden Sie immer ein Schnittstellenpräfix

Diese Option stellt allen Schnittstellennamen den im Textfeld „Schnittstellenpräfix“ angegebenen Text voran. Dies ist nützlich, wenn in einem Projekt mehrere Typbibliotheken verwendet werden und es zu Konflikten mit doppelten Schnittstellennamen kommt.

Nur wenn die Schnittstelle einen unzulässigen Namen enthält

Mit dieser Option werden Schnittstellennamen nur dann vorangestellt, wenn sie unzulässige Zeichen enthalten oder mit einem reservierten Schlüsselwort in Konflikt stehen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PATHNAME$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PATHNAME$

Analysieren Sie einen Pfad/Dateinamen, um Komponententeile zu extrahieren

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

fil$ = PATHNAME$( director , filespec$ )

Beschreibung

Analysieren Sie einen Pfad/Dateinamen, um Komponententeile zu extrahieren

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Funktion PATHNAME$ wertet einen Textpfad/Dateitextnamen aus und gibt einen angeforderten Teil des Namens zurück. Die Funktionalität besteht ausschließlich aus dem Parsen von Zeichenfolgen. Es wird kein Versuch unternommen, die Datei auf der Festplatte zu finden. Wenn Sie nach einer bestimmten Datei auf der Festplatte suchen möchten, sollten Sie die Begleitfunktion PATHSCAN$ verwenden.

Regisseur

Dies ist eines der folgenden Wörter, das zur Angabe des angeforderten Teils verwendet wird:

Gibt den vollständigen Pfad/Dateinamen zurück, genau wie im Parameter filespec$ angegeben. Dies ist eigentlich keine Operation, wird aber aus Symmetriegründen mit der Begleitfunktion PATHSCAN$ einbezogen.

Gibt den Pfadteil des Pfad-/Dateinamens zurück. Das ist der Text bis einschließlich des letzten Backslashs (\) oder Doppelpunkts (:).

Gibt den Namensteil des Pfad-/Dateinamens zurück. Das ist der Text rechts vom letzten Backslash (\) oder Doppelpunkt (:), der direkt vor dem letzten Punkt (.) endet.

Gibt den Erweiterungsteil des Pfad-/Dateinamens zurück. Das ist der letzte Punkt (.) in der Zeichenfolge plus der Text rechts davon.

Gibt die NAME- und EXTN-Teile zusammen zurück.

Dateispezifikation$

Ein Pfad/Dateiname, der nicht unbedingt auf der Festplatte vorhanden ist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIR$
  • EXE.Inst-Mitglied
  • PATHSCAN$ " PBXB64-Compiler-Hilfe
  • PARSE$ " PBXB64-Compiler-Hilfe
  • PARSECOUNT " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


PATHSCAN$ " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PATHSCAN$ " PBXB64-Compiler-Hilfe

Kompatibilitaetshilfe, die den uebergebenen Pfadtext derzeit unveraendert zurueckgibt.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

fil$ = PATHSCAN$( director , filespec$ [, pathspec$ ])

Beschreibung

Kompatibilitaetshilfe, die den uebergebenen Pfadtext derzeit unveraendert zurueckgibt.

Kind: Funktion | Category: General

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Beschreibung

Kompatibilitaetshilfe, die den uebergebenen Pfadtext derzeit unveraendert zurueckgibt. Die aktuelle PBXB64-Implementierung nimmt ein String-Argument und gibt eine Kopie dieses Strings zurueck.

Praktische Verwendung

Behandeln Sie PATHSCAN$ als Kompatibilitaetsschreibweise mit einem Ein-Argument-Vertrag.

Parameter und Ergebnisse

Argumente muessen den Datentypen, der Reihenfolge und den optionalen Teilen aus dem Syntaxblock folgen. Initialisieren Sie Zielvariablen vor dem Aufruf, damit unveraenderte Werte nach einem Fehler sichtbar bleiben.

Einschränkungen

Ein leerer Eingabestring liefert einen leeren String zurueck.

Verhalten

Die aktuelle PBXB64-Implementierung nimmt ein String-Argument und gibt eine Kopie dieses Strings zurueck.

Sie durchsucht das Dateisystem nicht, normalisiert keine Trennzeichen und zerlegt den Pfad nicht in Verzeichnis-/Name-/Erweiterungsanteile.

Wenn Sie Pfadkomponenten analysieren wollen, verwenden Sie PATHNAME$. Fuer echte Dateisystempruefungen verwenden Sie DIR$, ISFILE oder ISFOLDER.

Verwendungshinweise

Behandeln Sie PATHSCAN$ als Kompatibilitaetsschreibweise mit einem Ein-Argument-Vertrag.

Halten Sie die Tests an die aktuelle Implementierung gebunden. Wenn spaeter Suchverhalten ergaenzt wird, muessen Syntax und Hilfeseite einen echten Vertrag bekommen.

Grenzfaelle

Ein leerer Eingabestring liefert einen leeren String zurueck.

Weil die Hilfsfunktion die Eingabe kopiert, bleiben Laufwerkbuchstaben, UNC-Praefixe, Trennzeichen und abschliessende Punkte unveraendert erhalten.

Kompatibilitaetshinweise

Diese Hilfsfunktion existiert, damit aelterer Quelltext eine PATHSCAN$-Schreibweise behalten kann, waehrend PBXB64 den Vertrag derzeit bewusst einfach und deterministisch haelt.

Sie ist als Pass-through-Schritt nuetzlich, wenn der Pfad anderswo bereits zusammengesetzt wurde und nur noch ein benannter Uebergabepunkt gebraucht wird.

Da die Bytes erhalten bleiben, eignet sich die Funktion fuer das Rueckreichen von Pfadtext, einschliesslich relativer Segmente und abschliessender Trennzeichen.

Wenn spaeter echtes Verzeichnis-Suchen ergaenzt wird, muessen Syntax, Verhaltenshinweise, Tests und Dokumentation bewusst angepasst werden.

Test- und Dokumentationshinweise

Mit tests/pb/test_pathscan_identity.pb kompiliert und ausgefuehrt; Exitcode 0.

Validierungsbeleg

Mit tests/pb/test_pathscan_identity.pb kompiliert und ausgefuehrt; Exitcode 0. PATHSCAN$("C:\dir\file.txt")

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Siehe auch

  • DIR$
  • EXE.Inst-Mitglied
  • PATHNAME$
  • PARSE$ " PBXB64-Compiler-Hilfe
  • PARSECOUNT " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


PBLIBMAIN - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PBLIBMAIN - Hilfe zum PBXB64-Compiler

PBLIBMAIN f&uuml;hrt eine &auml;hnliche Aufgabe aus wie

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FUNCTION PBLIBMAIN [()] [AS LONG]

Beschreibung

PBLIBMAIN führt eine ähnliche Aufgabe aus wie

Typ:Funktion |Kategorie: Procedures

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Weitere Informationen finden Sie unter LIBMAIN / DLLMAIN.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DLLMAIN
  • PBMAIN " PBXB64-Compiler-Hilfe
  • THREAD CREATE
  • WINMAIN
  • Hilfe zum PBXB64-Compiler


PBXB64 - Befehlszeilenoptionen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PBXB64 - Befehlszeilenoptionen

PBXB64 akzeptiert Quelldateien in jeder unterst&uuml;tzten Sprache (.pb, .bas, .b64, .c, .h, .asm, .pil) in einer einzigen Befehlszeile. Flags steuern Ausgangsstufen, Optimierung, Diagnose und den C-Pr&auml;prozessor. F&uuml;r jede Option unten gibt es eine eigene Detailseite mit Beschreibungen im ausgegebenen Format und echten Beispielausgaben.

Kategorie: Allgemeine Referenz

Beschreibung

PBXB64 [options] <input files>

PBXB64 akzeptiert Quelldateien in jeder unterstützten Sprache (.pb, .bas, .b64, .c, .h, .asm, .pil) in einer einzigen Befehlszeile. Flags steuern Ausgangsstufen, Optimierung, Diagnose und den C-Präprozessor. Für jede Option unten gibt es eine eigene Detailseite mit Beschreibungen im ausgegebenen Format und echten Beispielausgaben.

Ausgabesteuerung

Option | Beschreibung
-o <file> | Legen Sie den Pfad für die ausführbare Ausgabedatei/das Objekt/die Assembly fest
-c | Nur kompilieren – COFF-Objektdatei erstellen (.obj)
-S | Nach Assemblygenerierung anhalten (.asm)
--emit-ast, --dump-ast | AST-Dump ausgeben (derzeit begrenzt für native Frontends)
--emit-ir | IR-Dump ausgeben und nach dem Frontend stoppen
--dump-ir | Sidecar-IR-Dump ausgeben und mit dem Kompilieren fortfahren
--dump-ir-before=<pass> | IR-Dump unmittelbar vor dem benannten Optimierungsdurchlauf ausgeben
--dump-ir-after=<pass> | IR-Dump unmittelbar nach dem benannten Optimierungsdurchlauf ausgeben
--emit-asm | Assemblyliste ausgeben
--emit-obj | Objektdateiemission erzwingen (Alias ​​für-c)
--emit-map | Linker-Map-Datei ausgeben
--emit-mir | In Kombination mit wird ein MIR-Dump ausgegeben--emit-asm / -S
--asm:<path> | Speichern Sie die generierte Baugruppe in einer Datei und fahren Sie fort
--dump-tokens | Lexer-Token-Stream ausgeben (geparst, noch nicht ausgegeben)

Pipeline-Steuerung

Option | Beschreibung
-fsyntax-only, --syntax-only |
--stop-after=<stage> |
--print-pipeline | Druckfähige Optimierungsdurchgänge

Überprüfung und Fehlerbehebung

Option | Beschreibung
--verify-ir | Führen Sie den IR-Verifizierer aus
--verify-mir, --verify-machine | Führen Sie den MIR-Verifizierer aus
--verify-after-each-pass | Überprüfen Sie die IR nach jedem Optimierungsdurchlauf
--trace-passes | Passnamen werden während der Ausführung gedruckt
-g, --debug | Debuginformationen ausgeben
--time-stages | Zeiterfassungsphasen
--stats | Drucken Sie IR/MIR-Statistiken

Optimierungsstufen

Option | Beschreibung
-O0 | Keine Optimierung (Standard, schnellste Kompilierung, debug-freundlich)
-O1 | Grundlegende Optimierungen: Eliminierung von totem Code, konstante Faltung
-O2 | Aggressiv: Inlining, mem2reg, GVN, CSE, Kraftreduzierung
-O3 | Maximale Optimierung (kann die Binärgröße erhöhen)
--NoOpt | Alle Optimierungen deaktivieren (Alias ​​für-O0)

Targeting und Verlinkung

Option | Beschreibung
--target <triple> | Ziel-Triple festlegen (Standard:x86_64-w64-windows-gnu)
--entry <symbol> | Überschreiben Sie das Standard-Einstiegspunktsymbol
-gui, --gui | Windows-GUI-Subsystem im PE-Header erzwingen
-con, --console | Windows-Konsolen-Subsystem im PE-Header erzwingen
--crt=<mode> | Wählen Sie die CRT-Richtlinie aus:auto|ucrt|msvcrt|none
--no-default-crt | Deaktivieren Sie automatische CRT-Importe

Information

Option | Beschreibung
-v, --verbose | Kompilierungsschritte und -pfade anzeigen
--version | Compilerversion drucken und beenden
-h, --help | Prägnante Hilfe anzeigen und beenden

Präprozessor (C-Frontend)

Option | Beschreibung
-E | Nur Vorverarbeitung – erweiterte Quelle ausgeben
-I <path> | Benutzer hinzufügen, Suchpfad einschließen
-isystem <path> | System-Include-Pfad hinzufügen (unterdrückt Warnungen)
-DNAME | Makro definierenNAME=1
-DNAME=value | Definieren Sie ein Makro mit explizitem Wert
-UNAME | Definieren Sie zuvor definierte Makros
-std=<mode> | C-Standard auswählen:c89|c99|c11|c17|gnu*(Standardc17)
-ffreestanding | Freistehende Umgebung
-fhosted | Gehosteter C-Modus (Standard)
-fno-builtin | Deaktivieren Sie integrierte Funktionsoptimierungen

Diagnose

Option | Beschreibung
-Wall | Aktivieren Sie alle allgemeinen Warnungen
-Wextra | Aktivieren Sie zusätzliche Warnungen
-Werror | Behandeln Sie Warnungen als Fehler
-pedantic | Strikte Einhaltung von Standards
V10-Tipp:Kombinieren-E -I core/include/c17 -DDEBUG=1 program.cum die vorverarbeitete Ausgabe zu überprüfen oder zu verwenden--emit-ir sample.cum die vom Frontend erzeugte IR zu überprüfen.
← Übersicht B64-Sprachreferenz → Beispiele ansehen
PBXB64 Compiler-Dokumentation · V10 · Zuletzt aktualisiert am 21.06.2026
Für Fragen und Beiträge:smart-package.com


PBXB64 - Beispielprogramme - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PBXB64 - Beispielprogramme

Vollst&auml;ndige, kompilierbare Beispiele f&uuml;r jedes Sprach-Frontend. Alle Beispiele zielen auf ausf&uuml;hrbare Windows x64 PE32+-Dateien ab. Kopieren Sie die Quelle in eine Datei mit der richtigen Erweiterung und f&uuml;hren Sie den angezeigten Compiler-Befehl aus.

Kategorie: Allgemeine Referenz

Beschreibung

Vollständige, kompilierbare Beispiele für jedes Sprach-Frontend. Alle Beispiele zielen auf ausführbare Windows x64 PE32+-Dateien ab. Kopieren Sie die Quelle in eine Datei mit der richtigen Erweiterung und führen Sie den angezeigten Compiler-Befehl aus.

B64 – Hallo Welt

fn main(): i32 {
    return 42;
}
PBXB64 hello.b64 -o hello.exe

B64 – Zeiger und Strukturen

struct Point { x: i32, y: i32 }

fn main(): i32 {
    let p: Point = Point { x: 10, y: 20 };
    let q: *Point = &p
    q.x = 30;
    return q.x + q.y;  // Returns 50
}
PBXB64 pointers.b64 -o pointers.exe

BASIC – Konsolenausgabe

FUNCTION PBMAIN() AS LONG
    PRINT "Hello from PBXB64!"
    PRINT "Answer:"; 42
    FUNCTION = 0
END FUNCTION
PBXB64 console.pb -o console.exe

BASIC – WinAPI-Integration

#INCLUDE "windows_core.pbi"

FUNCTION PBMAIN() AS LONG
    CALL MessageBoxA(0, "Hello", "PBXB64", 0)
    FUNCTION = 0
END FUNCTION
PBXB64 winapi.pb -o winapi.exe

C – Standard-E/A und Präprozessor

#include <stdio.h>
#define VERSION "V10"

int main(void) {
    printf("Hello from C %s\n", VERSION);
    return 0;
}
PBXB64 -I core/include/c17 -std=c17 program.c -o program.exe

C – Ablauf der Laufzeitsteuerung

int main(void) {
    int x = 2;
    switch (x) {
        case 1: return 10;
        case 2: return 20;
        default: return 0;
    }
}
PBXB64 -I core/include/c17 switch.c -o switch.exe

PILOT – Hallo Welt

Die PILOT-Unterstützung in PBXB64 ist derzeit beschränkt auf R: (Bemerkung), T: (Geben Sie eine Zeichenfolge in Anführungszeichen ein) und E: (Ende). Das folgende Beispiel verwendet nur implementierte Befehle.

R: This is a comment
T: "Hello from PILOT!"
E:
PBXB64 hello.pil -o hello.exe

Gemischte B64 + C-Verknüpfung

// sum.c
int add(int a, int b) { return a + b; }

// main.b64
fn main(): i32 {
    extern "sum.c" fn add(a: i32, b: i32): i32;
    return add(10, 20);  // Returns 30
}
PBXB64 main.b64 sum.c -o mixed.exe
Profi-Tipp:Verwenden--emit-ir um zu debuggen, wie das Frontend den Quellcode senkt, -S um die generierte Baugruppe zu überprüfen, oder -v für ausführliche Schritt-für-Schritt-Ausgabe.
← PILOT-Referenz Zurück zur Übersicht CLI-Optionen →
PBXB64 Compiler-Dokumentation · V10 · Zuletzt aktualisiert am 21.06.2026
Für Fragen und Beiträge:smart-package.com

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PBXB64 - C-Sprache (V10) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PBXB64 - C-Sprache (V10)

PBXB64 unterst&uuml;tzt eine wachsende C17-Untergruppe, die &uuml;ber die einheitliche IR mit B64/BASIC/PILOT interoperabel ist. V10 f&uuml;gt printf/varargs, indirekte Funktionszeiger und Float-Arithmetik hinzu.

Kategorie: Allgemeine Referenz

Beschreibung

PBXB64 unterstützt eine wachsende C17-Untergruppe, die über die einheitliche IR mit B64/BASIC/PILOT interoperabel ist. V10 fügt printf/varargs, indirekte Funktionszeiger und Float-Arithmetik hinzu.

Referenzseiten

Diese Seite ist die Uebersicht zum Frontend. Die verlinkten Einzelseiten enthalten Syntax, getestete Beispiele, Status und Grenzen fuer die jeweiligen Befehle oder Sprachkonstrukte.

  • Datentypen
  • Variablen
  • Funktionen
  • Kontrollfluss
  • Strukturen
  • Pointer und Arrays
  • Praeprozessor
  • Standardbibliothek

printf / Varargs (V10)

#include <stdio.h>

Bootstrap printf mit String-Literal-Format:

#include <stdio.h>

int main(void) {
    int n = 42;
    printf("V10 answer=%d hex=%x str=%s\n", n, n, "ok");
    return 0;
}
Format | Unterstützung
%d, %i | Vorzeichenbehaftete Ganzzahl
%u | Ganzzahl ohne Vorzeichen
%x, %X | Hexadezimal
%o | Oktal
%c | Charakter
%s | Zeichenfolge
%% | Wörtlicher Prozentsatz

Indirekte Funktionszeiger (V10)

call r/m64über x64-Backend
long long add(long long a, long long b) { return a + b; }
long long sub(long long a, long long b) { return a - b; }

int main(void) {
    long long (*fp)(long long, long long);
    int res = 0;
    fp = &add
    res = (int)fp(20, 22);
    fp = ⊂
    return res + (int)fp(50, 8) - 84;
}

Laufzeit: malloc / kostenlos (V10)

#include <stdlib.h>

int main(void) {
    int* p = (int*)malloc(sizeof(int));
    if (p) { *p = 42; free(p); }
    return 0;
}

Float-Arithmetik (V10)

Nur Kompilierungspfad.Float/Double-Arithmetik kompiliert und senkt über die IR.
double f(double a, double b) {
    return a * 2.0 + b / 4.0;
}

Präprozessor (V9/V10)

#define MAX 100
#if MAX > 50
    #define MODE 1
#endif

#ifdef __STDC__
    int ver = __STDC_VERSION__;  // 201710L
#endif

_Pragma("GCC diagnostic ignored")  // stripped safely
int line = __LINE__;                // integer
char* file = __FILE__;              // string literal

C17-Header

26 Kopfbälle beicore/include/c17/. Einschließen mit-I:

PBXB64 -I core/include/c17 program.c -o program.exe

Kontrollfluss

switch (x) { case 1: break; case 2: case 3: break; default: break; }
goto label; label: return 0;
return (x > 0) ? 1 : -1;
for (int i = 0; i < 10; i++, j += 2) { body }
if (x) { block } else { block }

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


PBXB64 - Sprach-Frontends - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PBXB64 - Sprach-Frontends

PBXB64 V15 besitzt zehn registrierte Sprach-Frontends, die &uuml;ber das einheitliche IR- und x64-Backend kompiliert werden. Der Qualifikationsumfang ist je Frontend verschieden; jede verlinkte Referenz nennt ihre getestete Grenze.

Kategorie: Allgemeine Referenz

Beschreibung

PBXB64 V15 besitzt zehn registrierte Sprach-Frontends, die über das einheitliche IR- und x64-Backend kompiliert werden. Der Qualifikationsumfang ist je Frontend verschieden; jede verlinkte Referenz nennt ihre getestete Grenze.

B64 (Primäre Systemsprache)

C-ähnliche Syntax mit manueller Speicherverwaltung, expliziten Zeigern und erstklassigen Strukturen. Entwickelt für die Systemprogrammierung, bei der Leistung und Kontrolle im Vordergrund stehen.

fn main(): i32 {
    let x: i32 = 42;
    let p: *i32 = &x
    *p = 100;
    return x;
}

B64-Sprachreferenz →

BASIC (PowerBASIC-kompatibel)

Modernisierter PowerBASIC-Dialekt mit V10-String-Lifetime-Management, PRINT-Trennersemantik, WinAPI-Integration, GUI/DDT, COMM, TCP/UDP, Threads, Grafiken und nativen H-Lib-Containern.

FUNCTION PBMAIN() AS LONG
    LOCAL s AS STRING
    s = "Hello from PBXB64"
    PRINT s
    FUNCTION = 0
END FUNCTION

BASIC-Sprachreferenz →

C-Teilmenge (C17 mit Präprozessor)

Kontrollierte C17-Teilmenge mit vollständigem Präprozessor, Schalter/Case/Goto, ternärem Operator, Funktionszeigern und 26 Standardbibliotheksheadern. Stellt außerdem die native H-Lib C-API bereit.

#include <stdio.h>
int main(void) {
    printf("Hello from C\n");
    return 0;
}

C-Sprachreferenz →

Assembly (nativ x64)

Intel-Syntax-Assembler mit direkter COFF/PE-Ausgabe. Unterstützt .asm/.s Dateien und lässt sich über Inline-ASM-Blöcke und separate Objektverknüpfung nahtlos in High-Level-Frontends integrieren.

section .text
global main
main:
    mov eax, 42
    ret

Assembler-Referenz →

PILOT (pädagogisch)

Kompatibilitätsqualifizierte Bildungssprache mit ausführbarer Ein-/Ausgabe, Ganzzahlarithmetik, Guards, Sprüngen, verschachtelten Unterprogrammen, Ton, Labels und der bidirektionalen V:-Brücke zu PowerBASIC-Globals. Dateierweiterung: .pil.

T: "Hello from PILOT!"
E:

PILOT-Sprachreferenz →

Forth

Nativer Standalone- und eingebetteter Forth-Teilumfang mit 174 im Quellcode registrierten Primitiven, strukturiertem Kontrollfluss, Datei-/Speicherwörtern, Floating Point, Exceptions, Execution Tokens und PB-Brücken.

Forth-Referenz →

COBOL

Begrenztes natives COBOL-Frontend mit exakten breiten Zahlen, ausgewählten Procedure-/Data-Formen und Linkage-/CALL-Interoperabilität.

COBOL-Referenz →

Rust

Qualifizierter V14-kompatibler Rust-Teilumfang für die dokumentierten Daten-, Funktions-, Closure-, Extern-/Static-, Lifetime- und Worker-Formen.

Rust-Referenz →

SPR (MiniRobot)

Runtime-geroutetes Befehlsfrontend mit $$-Variablen und VIP.-Brücke zu PB-QUAD- und STRING-Globals.

SPR-Referenz →

Logo

Objektvertrag-qualifiziertes Logo-/Turtle-Frontend für den vollständigen V14-Befehlssatz mit 62 Themen.

Logo-Referenz →

Sprachübergreifende Verlinkung: Die Frontends teilen IR-, Objekt- und Linkpipeline. Vertraglich sind nur die in der jeweiligen Frontend-Referenz dokumentierten Brücken- und ABI-Formen.
← Übersicht BASIC-Referenz → C-Referenz → B64 Referenz → PILOT-Guide → Datentypen → Beispiele ansehen
PBXB64 Compiler-Dokumentation · V15 · Zuletzt aktualisiert am 28.07.2026
Für Fragen und Beiträge:smart-package.com

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex


PEEK - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PEEK

Gibt a zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

numvar = PEEK([ datatype ,] address??? )
ansivar = PEEK$([STRINGZ,] address??? , count& )
widevar = PEEK$$([WSTRINGZ,] address??? , count& )

Beschreibung

Gibt a zurück

Typ:Funktion |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die PEEK-Funktionen und ergänzenden POKE-Anweisungen sind Low-Level-Methoden für den Zugriff auf einzelne Bytes im Speicher. Die Daten werden aus dem Speicher abgerufen, beginnend bei der angegebenen 32-Bit-Adresse??? .

PEEK ruft einen numerischen Wert ab einer angegebenen Speicheradresse ab.

PEEK$ ruft count& aufeinanderfolgende Bytes ab und gibt sie als String zurück. Wenn STRINGZ (oder ASCIIZ) angegeben ist, liest PEEK$ aufeinanderfolgende Zeichen bis zur angegebenen Größe aus dem Speicher, bis ein abschließendes $NUL ( CHR$ (0))-Byte gefunden wird. Da STRINGZ-Zeichenfolgen ein abschließendes $NUL enthalten müssen, beträgt die maximale Länge der zurückgegebenen Zeichenfolge 1 Zeichen weniger als count&.

PEEK$$ ruft die Anzahl aufeinanderfolgender 2-Byte-Zeichen ab und gibt sie als Breitzeichenfolge zurück. Wenn WSTRINGZ angegeben ist, liest PEEK$$ aufeinanderfolgende Zeichen bis zur angegebenen Größe aus dem Speicher, bis ein abschließendes $NUL (CHR$(0))-Zeichen gefunden wird. Da WSTRINGZ-Zeichenfolgen ein abschließendes $NUL enthalten müssen, beträgt die maximale Länge der zurückgegebenen Zeichenfolge 1 Zeichen weniger als count& .

Getesteter PBXB64-Umfang: examples/basic/test_peek_poke_string.pb validiert PEEK$(address, count) als exaktes Bytezaehlungs-Lesen, dessen Laenge auch bei eingebetteten NUL-Bytes erhalten bleibt. tests/pb/test_peek_poke_wide_string.pb validiert PEEK$$(address, count) als exaktes Lesen von UTF-16-Codeunits und PEEK$$(WSTRINGZ, address, count) als NUL-terminiertes Lesen. Die Beispiele sind in tests/validate.toml registriert und laufen in der pb_linkrun-Lane.

Im Gegensatz zu intuitiven Vorstellungen werden PEEK und POKE auf dem gleichen hohen Leistungsniveau ausgeführt wie Zeigervariablen. Sie bieten in vielen Situationen eine hervorragende Alternative zu Zeigern.

Datentyp

Der abzurufende numerische Datentyp, der einer von BYTE , WORD , DWORD , INTEGER , LONG , QUAD , SINGLE , DOUBLE , EXT , CUR , CUX sein kann. Wenn kein Datentyp angegeben ist, wird BYTE angenommen.

Adresse???

Eine gültige 32-Bit-Speicheradresse, die den Speicherort angibt, an dem der Datenabruf beginnen soll.

zählen&

Ein numerischer Ausdruck, der die Anzahl aufeinanderfolgender Zeichen angibt, die aus dem Speicher gelesen werden sollen.

Einschränkungen

Wenn Adresse??? (oder ein beliebiger Speicher im durch count& abgedeckten Bereich) auf eine ungültige Adresse verweist (Speicher, der der Anwendung nicht zugewiesen ist), generiert Windows eine allgemeine Schutzverletzung (GPF) und beendet die Anwendung. GPFs können nicht mit einem ON ERROR-Fehlerhandler abgefangen werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • POKE
  • STRPTR
  • VARPTR
  • Hilfe zum PBXB64-Compiler


Per Referenz oder Kopie übergebene Parameter - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Per Referenz oder Kopie übergebene Parameter

Wenn ein Parameter per Referenz &uuml;bergeben wird (die Standardmethode), &uuml;bergibt PowerBASIC einen 32-Bit-Zeiger auf den Stapel. Dieser Zeiger ist der tats&auml;chliche 32-Bit-Offset oder Speicherort der zu verwendenden Variablen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn ein Parameter per Referenz übergeben wird (die Standardmethode), übergibt PowerBASIC einen 32-Bit-Zeiger auf den Stapel. Dieser Zeiger ist der tatsächliche 32-Bit-Offset oder Speicherort der zu verwendenden Variablen

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

SUB MyProc(xyz&) ' Dies wird die erhöhen

' Parametervariable um eins

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PIC BIND - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PIC BIND

Typ: Anweisung | Kategorie: Data Types &amp; Variables

Kategorie: Allgemeine Referenz

Syntax

PIC BIND field, buffer$, offset, length

Beschreibung

Typ: Anweisung | Kategorie: Data Types & Variables

PBXB64-Status: VERFUEGBAR, getestete String-Satzbindung

PBXB64-Zertifizierung: [TESTED LIMITED]

Beschreibung

Bindet ein PICFIELD an einen BASIC-Satzstring. Wenn der Puffer ein einfacher STRING-Variablenname ist, aktualisiert PBXB64 den String-Slot nach PIC SET; so koennen feste Felder in einem BASIC-Satzpuffer gepflegt werden.

Parameter

offset ist 1-basiert. length muss mindestens so lang sein wie das Picture-Speicherfeld.

Validierungsbeleg

Abgedeckt durch tests/pb/test_picfield_bind.pb.

Einschraenkungen

Getestet ist die Bindung an dynamische BASIC-STRING-Variablen. Direkte Bindung an beliebige Speicher-Ausdruecke ist ein niedrigerer Kompatibilitaetspfad und sollte vom Aufrufer validiert werden.

Validierungshinweise

PIC BIND verbindet ein PICFIELD mit einem eigenen BASIC-Record-String, damit spaetere SET-Operationen den Puffer aktualisieren. Verwenden Sie den Befehl, wenn das Record-Layout wichtig ist und der Aufrufer die exakten String-Bytes sehen muss. Das Beispiel sollte belegen, dass ein spaeteres Schreiben den Record-Speicher selbst und nicht eine abgetrennte Kopie aendert.

Fehlerfaelle

Ein zu kurzer Puffer, ein ungueltiger Offset oder ein Nicht-String-Ziel muss den Bindepfad sofort abbrechen. Wenn der Aufrufer das Feld nach einer fehlgeschlagenen Bindung erneut nutzen will, sollte er das Handle neu aufbauen und nicht annehmen, dass der vorherige Speicher noch gueltig ist.


PIC CLEAR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PIC CLEAR

Typ: Anweisung | Kategorie: Data Types &amp; Variables

Kategorie: Allgemeine Referenz

Syntax

PIC CLEAR field

Beschreibung

Typ: Anweisung | Kategorie: Data Types & Variables

PBXB64-Status: VERFUEGBAR, getestet

PBXB64-Zertifizierung: [TESTED LIMITED]

Beschreibung

Setzt ein PICFIELD zurueck: Textfelder auf Leerzeichen, numerische DISPLAY-Felder auf Nullen. Signierte numerische Felder erhalten ein fuehrendes Pluszeichen.

Validierungsbeleg

Abgedeckt durch tests/pb/test_picfield_basic.pb.

Validierungshinweise

PIC CLEAR setzt die gespeicherten Bytes zurueck, laesst die Picture-Definition aber bestehen. Verwenden Sie den Befehl, wenn Sie dasselbe Handle fuer einen neuen Wert erneut nutzen wollen, ohne das Feld neu aufzubauen. Das Beispiel sollte die geloeschte Speicherform explizit zeigen, damit klar ist, welche Bytes nach dem Reset bleiben.

Fehlerfaelle

Ein geloeschtes Feld ist weder eine neue Allokation noch ein Konvertierungsergebnis. Wenn der Aufrufer eine neue Picture-Definition braucht, muss er PIC INIT erneut aufrufen statt anzunehmen, dass CLEAR irgendetwas neu aufgebaut hat.


PIC FREE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PIC FREE

Typ: Anweisung | Kategorie: Data Types &amp; Variables

Kategorie: Allgemeine Referenz

Syntax

PIC FREE field

Beschreibung

Typ: Anweisung | Kategorie: Data Types & Variables

PBXB64-Status: VERFUEGBAR, getestet

PBXB64-Zertifizierung: [TESTED LIMITED]

Beschreibung

Gibt einen mit PIC INIT angelegten PICFIELD-Handle frei und loescht die BASIC-Handlevariable.

Validierungsbeleg

Abgedeckt durch tests/pb/test_picfield_basic.pb und tests/pb/test_picfield_bind.pb.

Validierungshinweise

PIC FREE gibt das angelegte Feld-Handle nach der letzten Lese- oder Schreiboperation frei. Nach dem Freigeben ist die BASIC-Variable als ungueltig zu behandeln und darf nicht fuer weitere Operationen wiederverwendet werden. Das Beispiel sollte den letzten gueltigen Zugriff vor dem Cleanup zeigen und danach belegen, dass das Handle tot ist.

Fehlerfaelle

Nach FREE ist die BASIC-Variable toter Zustand und darf nicht mehr an SET-, GET-, VALID- oder PIC$-Aufrufe uebergeben werden. Ein doppeltes Freigeben, ein spaeter wiederverwendetes freigegebenes Handle oder Cleanup vor dem letzten Lesen/Schreiben ist ein Fehler im Aufrufer.


PIC GET - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PIC GET

Typ: Anweisung | Kategorie: Data Types &amp; Variables

Kategorie: Allgemeine Referenz

Syntax

PIC GET field TO target

Beschreibung

Typ: Anweisung | Kategorie: Data Types & Variables

PBXB64-Status: VERFUEGBAR, getestet

PBXB64-Zertifizierung: [TESTED LIMITED]

Beschreibung

Kopiert ein PICFIELD in ein BASIC-Ziel. String-Ziele erhalten die exakten DISPLAY-Bytes. Numerische Ziele erhalten den Zahlenwert mit der impliziten Dezimalskala.

Validierungsbeleg

Abgedeckt durch tests/pb/test_picfield_basic.pb und tests/pb/test_picfield_bind.pb.

Validierungshinweise

PIC GET liest den aktuellen Feldwert in ein BASIC-Ziel zurueck. String-Ziele erhalten die exakten DISPLAY-Bytes, waehrend numerische Ziele den skalierten Zahlenwert erhalten, den das Picture beschreibt. Das Beispiel sollte das gespeicherte Feld vor und nach dem Lesen zeigen, damit die Konvertierungsrichtung klar ist.

Fehlerfaelle

Wenn der Zieltyp nicht zur gespeicherten Darstellung passt, sollte der Aufrufer das Ergebnis nicht raten. Ein freigegebenes Feld, ein nicht initialisiertes Ziel oder ein Record-String, der nicht mehr zum Picture passt, ist als sofortiger Fehlerpfad zu behandeln.


PIC INIT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PIC INIT

Typ: Anweisung | Kategorie: Data Types &amp; Variables

Kategorie: Allgemeine Referenz

Syntax

PIC INIT field, picture$

Beschreibung

Typ: Anweisung | Kategorie: Data Types & Variables

PBXB64-Status: VERFUEGBAR, getestete begrenzte COBOL-DISPLAY-Picture-Bruecke

PBXB64-Zertifizierung: [TESTED LIMITED]

Beschreibung

Legt einen PICFIELD-Handle mit einem COBOL-artigen DISPLAY-Picture an oder ersetzt ihn. Textfelder starten mit Leerzeichen, numerische Felder mit Nullen und bei signierten Feldern mit fuehrendem +.

Parameter

field muss AS PICFIELD deklariert sein. picture$ ist z.B. "X(6)", "9(4)V99" oder "S9(5)V99".

Validierungsbeleg

Abgedeckt durch tests/pb/test_picfield_basic.pb und tests/pb/test_picfield_bind.pb.

Einschraenkungen

Nur der auf PICFIELD beschriebene DISPLAY-Teilbereich ist akzeptiert.

Validierungshinweise

PIC INIT legt das Handle an und bindet die Picture-Definition, die spaetere SET-, GET-, CLEAR-, VALID- und FREE-Operationen verwenden. Schlaegt die Initialisierung fehl, ist das Handle unbrauchbar und die weiteren Familienmitglieder duerfen darauf nicht mehr aufgerufen werden. Das Beispiel sollte eine erfolgreiche Initialisierung und eine anschliessende Pruefung desselben Speichers zeigen.

Fehlerfaelle

Ein ungueltiges Picture, ein falsches Deklarationsziel oder ein erneut verwendetes totes Handle sind als harter Fehler zu behandeln. Nach einer fehlgeschlagenen Initialisierung sollte der Aufrufer seinen Zustand selbst leeren und keine SET-, GET-, CLEAR-, VALID- oder FREE-Aufrufe mehr auf das fehlerhafte Handle ausfuehren.


PIC SET - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PIC SET

Typ: Anweisung | Kategorie: Data Types &amp; Variables

Kategorie: Allgemeine Referenz

Syntax

PIC SET field, value

Beschreibung

Typ: Anweisung | Kategorie: Data Types & Variables

PBXB64-Status: VERFUEGBAR, getestet

PBXB64-Zertifizierung: [TESTED LIMITED]

Beschreibung

Formatiert einen BASIC-Wert in ein PICFIELD. Text wird linksbuendig geschrieben und mit Leerzeichen aufgefuellt. Numerische Pictures uebernehmen Vorzeichen und Ziffern, richten Ziffern rechts aus und verwenden die implizite Skala aus V.

Validierungsbeleg

Abgedeckt durch tests/pb/test_picfield_basic.pb und tests/pb/test_picfield_bind.pb.

Einschraenkungen

Editierte Formatzeichen und Packed Decimal sind nicht implementiert.

Validierungshinweise

PIC SET schreibt einen BASIC-Wert in das fokussierte Feld und konvertiert ihn gemaess dem deklarierten Picture. Verwenden Sie den Befehl nur fuer den Zuweisungsschritt; er legt das Handle nicht an und gibt den Speicher nicht frei. Das Beispiel sollte die genauen Bytes des Konvertierungsschritts belegen, nicht nur einen numerischen Rueckweg.

Fehlerfaelle

Wenn das Picture den Quellwert nicht darstellen kann, sollte der Aufrufer das Ergebnis als ungueltig behandeln und das Feld sofort erneut pruefen. Ein fehlerhaftes Handle, ein freigegebenes Feld oder ein Wert, der die Zielbreite ueberschreitet, darf vom umgebenden Programm nie stillschweigend akzeptiert werden.


PIC$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PIC$

Kind: Function | Category: Data Types &amp; Variables

Kategorie: Allgemeine Referenz

Syntax

result$ = PIC$(field)
result$ = PICSTR$(field)

Beschreibung

Kind: Function | Category: Data Types & Variables

PBXB64 Status: AVAILABLE, tested

PBXB64 Certification: [TESTED LIMITED]

Beschreibung

PIC$ gibt die exakten DISPLAY-Bytes eines PICFIELD als BASIC-String zurueck. PICSTR$ ist ein Alias.

Validierungsbeleg

Abgedeckt durch tests/pb/test_picfield_basic.pb.

Validierungshinweise

PIC$ und das Alias PICSTR$ geben die exakten DISPLAY-Bytes als BASIC-String zurueck. Verwenden Sie diese Seite, wenn der Aufrufer die formatierte Speicherform statt des konvertierten Zahlenwerts braucht. Das Beispiel sollte die exakte Text- oder Zifferndarstellung des gespeicherten Felds belegen.

Fehlerfaelle

Wenn der Aufrufer eine numerische Konvertierung erwartet, sollte er statt PIC$ PICVAL oder PIC GET in ein numerisches Ziel verwenden. Ein freigegebenes Feld, ein fehlerhaftes Picture oder ein Puffer, der nicht mehr zum aktuellen Layout passt, darf nicht als gueltiger Schnappschuss der Zeichenfolge behandelt werden.


PICFIELD - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PICFIELD

Typ: Datentyp | Kategorie: Data Types &amp; Variables

Kategorie: Allgemeine Referenz

Syntax

LOCAL field AS PICFIELD
PIC INIT field, "S9(5)V99"

Beschreibung

Typ: Datentyp | Kategorie: Data Types & Variables

PBXB64-Status: VERFUEGBAR, getestete COBOL-DISPLAY-Picture-Bruecke

PBXB64-Zertifizierung: [TESTED LIMITED]

Beschreibung

PICFIELD ist ein undurchsichtiger BASIC-Handle fuer ein fokussiertes COBOL-artiges DISPLAY-Picture. Der Datentyp ist fuer COBOL-Interop, feste Satzpuffer, Import-/Export-Layouts und Dezimaltext wie S9(5)V99 gedacht.

Unterstuetzt sind Text-Pictures X(n) und A(n) sowie numerische Pictures 9(n), S9(n), 9(n)V9(m) und S9(n)V9(m). Numerische Speicherung ist DISPLAY-Text: optionales Vorzeichen und Dezimalziffern. Der implizite Dezimalpunkt aus V wird nicht gespeichert.

Befehle und Funktionen

Verwenden Sie PIC INIT zum Anlegen, PIC SET zum Setzen, PIC GET zum Auslesen, PIC BIND fuer BASIC-Satzstrings und PIC FREE zum Freigeben. PIC$, PICVAL und PICVALID liefern Ausdruckszugriff.

Validierungsbeleg

Abgedeckt durch tests/pb/test_picfield_basic.pb und tests/pb/test_picfield_bind.pb in der registrierten Lane pb_linkrun.

Einschraenkungen

Dies ist keine vollstaendige COBOL-PICTURE-Implementierung. Packed Decimal, binaere COMP-Felder, editierte Pictures, Waehrungssymbole, Vorzeichenpositionsvarianten, BLANK WHEN ZERO, OCCURS, REDEFINES und National-Character-Pictures sind noch nicht Teil dieser BASIC-Bruecke.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PICVAL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PICVAL

Typ: Funktion | Kategorie: Data Types &amp; Variables

Kategorie: Allgemeine Referenz

Syntax

n# = PICVAL(field)

Beschreibung

Typ: Funktion | Kategorie: Data Types & Variables

PBXB64-Status: VERFUEGBAR, getestet

PBXB64-Zertifizierung: [TESTED LIMITED]

Beschreibung

Wandelt ein numerisches PICFIELD in einen DOUBLE-Wert um. Die implizite Dezimalskala aus V wird angewendet.

Validierungsbeleg

Abgedeckt durch tests/pb/test_picfield_basic.pb und tests/pb/test_picfield_bind.pb.

Validierungshinweise

PICVAL konvertiert ein numerisches PICFIELD in ein BASIC-Numerikergebnis und wendet die implizite Dezimalskalierung des Pictures an. Verwenden Sie den Befehl nur fuer den numerischen Teil der Familie; Text-Pictures gehoeren auf den PIC$-Pfad. Das Beispiel sollte die exakte Round-Trip-Erwartung fuer die gespeicherten Ziffern zeigen.

Fehlerfaelle

Wenn das Feld noch nicht-numerischen Text enthaelt, sollte der Aufrufer es nicht mit PICVAL konvertieren und dann das Ergebnis fuer gueltig halten. Eine veraltete Bindung, ein freigegebenes Handle oder ein Picture, das nicht mehr zu den gespeicherten Ziffern passt, ist ein Fehler im Aufrufer.


PICVALID - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PICVALID

Typ: Funktion | Kategorie: Data Types &amp; Variables

Kategorie: Allgemeine Referenz

Syntax

ok& = PICVALID(field)

Beschreibung

Typ: Funktion | Kategorie: Data Types & Variables

PBXB64-Status: VERFUEGBAR, getestet

PBXB64-Zertifizierung: [TESTED LIMITED]

Beschreibung

Gibt ungleich Null zurueck, wenn ein PICFIELD-Handle gueltig ist und die aktuellen DISPLAY-Bytes den fokussierten Picture-Regeln entsprechen. Numerische Felder muessen Ziffern enthalten, bei signierten Pictures optional mit fuehrendem Vorzeichen.

Validierungsbeleg

Abgedeckt durch tests/pb/test_picfield_basic.pb.

Validierungshinweise

PICVALID prueft, ob die aktuellen Bytes noch zu den fokussierten Picture-Regeln passen. Es ist eine Gueltigkeitspruefung und kein Konvertierungsschritt; das Beispiel sollte daher den gueltigen Fall und mindestens eine ungueltige oder abgelehnte Form belegen. Der Aufrufer sollte das Ergebnis lesen, bevor er irgendetwas zurueckschreibt oder numerisch konvertiert.

Fehlerfaelle

Ein fehlerhaftes Byte-Muster, ein Vorzeichen an der falschen Stelle oder eine Breitenabweichung sollte den Aufrufer stoppen, bevor das Feld erneut verwendet wird. Das Beispiel sollte gueltiges Feld, ungueltiges Feld und den Rueckgabewert zeigen, damit der Aufrufer entscheiden kann, ob er fortfuehrt oder einen Eingabefehler meldet.


PLAY SOUND - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PLAY SOUND

Erzeugt einen einfachen Ton ueber den Computerlautsprecher.

Kategorie: Allgemeine Referenz

Syntax

PLAY SOUND Frequency&, Duration&

Beschreibung

Erzeugt einen einfachen Ton ueber den Computerlautsprecher.

Typ: Anweisung | Kategorie: Utilities

PBXB64-Status: VERFUEGBAR

PBXB64-Pruefung: [KOMPILIERT/VERKNUEPFT/AUSGEFUEHRT]

Beschreibung

Frequency& wird in Hertz angegeben und muss zwischen 37 und 32767 liegen. Duration& wird in Millisekunden angegeben und darf nicht negativ sein. Beide Operanden duerfen numerische Ausdruecke sein.

PBXB64 verwendet dafuer die Win32-Funktion Beep. Ungueltige Laufzeitwerte rufen die native Funktion nicht auf.

Validierung

tests/pb/test_play_sound.pb prueft Variablen- und Literaloperanden in den Make- und CMake-Link/Run-Lanes.

Siehe auch

  • PLAY WAVE
  • Hilfe zum PBXB64-Compiler


PLAY WAVE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PLAY WAVE

Spielen Sie einen Sound programmgesteuert ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PLAY WAVE ResourceID$ [, descriptors ...] [TO ResultVar& ]
PLAY WAVE END

Beschreibung

Spielen Sie einen Sound programmgesteuert ab.

Typ:Anweisung |Kategorie: Utilities

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-getestete Teilmenge: PBXB64 zertifiziert derzeit die Disk-Datei-Wiedergabe fuer einen Dateinamen-Ausdruck, deterministisches Fehlschlagen bei fehlender Datei und das Stoppen mit PLAY WAVE END. Die fokussierte Regression ist examples/basic/test_play_wave.pb. Im getesteten PBXB64-Laufzeitvertrag erhaelt TO result bei Erfolg 0 und bei Fehler einen Wert ungleich null.

Beschreibung

Mit der PLAY-Anweisung können Sie eine zuvor erstellte WAVE-Ressource oder WAVE-Datei abspielen. Im Allgemeinen ist es vorteilhaft, das Ressourcenformular zu verwenden. Der Zugriff ist in der Regel schneller und der Bedarf an zusätzlichen Dateien ist geringer. Die erste Form von PLAY WAVE startet den Sound, während PLAY WAVE END jeden gerade abgespielten Waveform-Sound stoppt.

ResourceID$ ist ein Zeichenfolgenausdruck, der entweder die Ressourcen-ID der Wellenformdaten oder die Festplattendatei angibt, in der sie gefunden werden können. Wenn die Ressourcen-ID numerisch ist, stellen Sie der Zahl einfach ein # voran, z. B. „#12345“. Wenn die Ressourcen-ID einen Punkt enthält, handelt es sich vermutlich um den Namen einer Festplattendatei. Andernfalls wird versucht, die Datei von einer Ressource zu laden. Wenn sie nicht gefunden wird, wird davon ausgegangen, dass es sich um eine Festplattendatei handelt. Wenn die Wellenformdaten nicht gefunden werden können, wird ein Fehler 53 (Datei nicht gefunden) generiert.

Wenn Sie die optionale TO-Klausel einschließen, wird der ResultVar& ein Erfolgswert zugewiesen. Wenn die Operation erfolgreich ist, wird der Wert True (ungleich Null) zugewiesen. Wenn dies fehlschlägt, wird der Wert False (Null) zugewiesen.

Die Standardmethode besteht darin, die Wellenformdaten im Hintergrund abzuspielen. Das heißt, die Play-Anweisung kehrt sofort zurück, sodass die Anwendung anderen Code ausführen kann, während der Sound abgespielt wird.

Standardmäßig hat der neue Sound Vorrang vor allen anderen derzeit abgespielten Sounds. Wenn PLAY WAVE ausgeführt wird, wird die Wiedergabe aller anderen Sounds sofort gestoppt. Der neue Sound wird abgespielt, um ihn zu ersetzen. Diese Standardmethode kann mit den später beschriebenen Optionen geändert werden.

Die optionalen Beschreibungswörter (eins oder mehrere) können hinzugefügt werden, um die Art und Weise zu steuern, wie der Ton abgespielt wird. Die verfügbaren Deskriptoren sind:

Loop

Der Ton wird wiederholt im Hintergrund abgespielt. Es wird endlos abgespielt, bis PLAY WAVE END ausgeführt wird oder das Programm beendet wird.

NoStop

Wenn ein anderer Sound abgespielt wird, wird der neue Sound verworfen und nicht abgespielt. Der Wert „Falsch“ (Null) wird an die Ergebnisvariable zurückgegeben, um Sie darüber zu informieren, dass der Vorgang fehlgeschlagen ist. Sie können nach Belieben erneut versuchen, den neuen Sound abzuspielen.

Synch

Der Ton wird im synchronen Modus abgespielt, der allgemein als Vordergrund bezeichnet wird. Die Anwendung wartet, bis der Ton beendet ist, bevor sie mit der Ausführung anderen Codes fortfährt. Der Ton und der Code sind synchronisiert.

YieldMS( TimeOut& )

Wenn ein anderer Ton abgespielt wird, gibt der neue Ton nach und ermöglicht die Vervollständigung des ersten Tons. Der numerische Ausdruck TimeOut& gibt an, wie viele Millisekunden (ungefähr) maximal gewartet werden muss, bevor aufgegeben wird. Wenn die Timeout-Zeit abläuft und der erste Sound noch abgespielt wird, wird der neue Sound abgebrochen. Wenn die Timeout-Periode Null (0) ist, wartet das Programm unbegrenzt lange, bis der erste Ton beendet ist. Der maximal zulässige TimeOut beträgt eine Stunde.

PBXB64-Qualifizierung: Das Frontend akzeptiert die Deskriptoren Loop, NoStop, Synch und YieldMS und leitet sie an den eingebetteten WinMM-Helfer weiter. Die fokussierte Regression deckt fehlende Dateien, Deskriptor-Parsing, das TO-Ergebnis und PLAY WAVE END ab. Vollstaendige aktive YieldMS-Arbitrierung sowie eine breite Qualifizierung von Ressourcen und Audio-Timing bleiben offen.

PBXB64-Deskriptorgrenzen: YieldMS wird in diesem fokussierten Abschnitt als Kompatibilitaetsdeskriptor akzeptiert, aber PBXB64 implementiert noch nicht die vollstaendige Timeout-/Yield-Schleife fuer bereits laufende Sounds. Audio-Timing mit vorhandener Datei, Ressourcen-ID-Wiedergabe und vollstaendige NoStop-Arbitrierung brauchen eigene fokussierte Validierung, bevor sie als vollstaendige PBWin-Paritaet gelten.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • #RESSOURCE
  • Hilfe zum PBXB64-Compiler


POISSONCDF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

POISSONCDF

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Kategorie: Allgemeine Referenz

Syntax

probability = POISSONCDF( k, lambda )

Beschreibung

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Semantik

Liefert P(X <= k) fuer eine Poisson-Verteilung mit nichtnegativem ganzzahligem k und endlicher, nichtnegativer Rate lambda. Kleine Raten verwenden eine Rekursion, groessere Raten eine Normalnaeherung mit Kontinuitaetskorrektur. Das Ergebnis ist DOUBLE.

Operanden und Grenzen

Alle normalen, festen Wide-, UNL- und UNF-Numerikoperanden verwenden den DOUBLE-Weg. Die Naeherungsgrenze ist ein expliziter numerischer Vertrag und keine beliebig genaue Verteilungsrechnung.


POISSONPMF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

POISSONPMF

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Kategorie: Allgemeine Referenz

Syntax

probability = POISSONPMF( k, lambda )

Beschreibung

Kategorie: Wahrscheinlichkeit und Statistik | Status: V21 verifiziert

Semantik

Liefert P(X = k) fuer eine Poisson-Verteilung mit ganzzahligem, nichtnegativem k und endlicher, nichtnegativer Rate lambda. Das Ergebnis ist DOUBLE.

Operanden und Grenzen

Normale Numerik, feste Wide-Integer, UNL und UNF werden ueber DOUBLE-Konvertierung akzeptiert. Der Count muss nach der Konvertierung eine exakte nichtnegative Ganzzahl sein; ungueltige Eingaben liefern ein nicht-endliches Ergebnis.


POKE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

POKE

Speichern Sie a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

POKE [ DataType ,] Address??? , DataValue [, DataValue ...]
POKE$ [STRINGZ,] Address??? , StringExpr
POKE$$ [WSTRINGZ,] Address??? , StringExpr

Beschreibung

Speichern Sie a

Typ:Anweisung |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die POKE-Anweisungen und ergänzenden PEEK-Funktionen sind Low-Level-Methoden für den Zugriff auf einzelne Bytes im Speicher. Die Daten werden ab der angegebenen 32-Bit-Adresse im Speicher gespeichert.

In seiner klassischen Form speichert die POKE-Anweisung ein einzelnes Byte (8 Bit), dessen Wert zwischen 0 und 255 liegt. In seiner erweiterten Form bietet POKE die Funktionalität eines dynamischen Zeigers: Der DataType-Parameter gibt den Datentyp und damit die Größe der Zieldaten an, die an die Zielspeicheradresse geschrieben werden sollen. Der Datentyp kann einer von BYTE, WORD, DWORD, INTEGER, LONG, QUAD, SINGLE, DOUBLE, EXT, CUR und CUX sein. Wenn kein DataType angegeben ist, wird BYTE angenommen. Wenn Sie mehr als einen DataValue angeben, werden diese an aufeinanderfolgenden Speicherorten gespeichert.

POKE$ speichert die Bytes von StringExpr in aufeinanderfolgenden Speicherbytes. Wenn STRINGZ (oder ASCIIZ) angegeben ist, schreibt POKE$ aufeinanderfolgende Zeichen bis zur angegebenen Größe in den Speicher, bis ein abschließendes $NUL-Byte in der Quellzeichenfolge gefunden wird. Wenn in der Zeichenfolge kein $NUL gefunden wird, wird automatisch eines angehängt. Es liegt in der Verantwortung des Programmierers, sicherzustellen, dass POKE$ den Zielspeicherbereich nicht überläuft, um Datenbeschädigung oder Schutzfehler zu vermeiden.

POKE$$ speichert die Zeichen von StringExpr als aufeinanderfolgende 2-Byte-Wörter im Speicher. Wenn WSTRINGZ angegeben ist, schreibt POKE$$ aufeinanderfolgende Breitzeichen bis zur angegebenen Größe, bis ein abschließendes $NUL in der Quellzeichenfolge gefunden wird. Wenn in der Zeichenfolge kein $NUL gefunden wird, wird automatisch eines hinzugefügt. Es liegt in der Verantwortung des Programmierers, sicherzustellen, dass POKE$$ den Zielspeicherbereich nicht überläuft, um Datenbeschädigungen oder Schutzfehler zu vermeiden.

Getesteter PBXB64-Umfang: examples/basic/test_peek_poke_string.pb validiert typisierte POKE(BYTE, address, value)-Byte-Schreibzugriffe und POKE$ address, string-Byte-String-Schreibzugriffe. tests/pb/test_peek_poke_wide_string.pb validiert POKE$$ address, wideString als UTF-16-Codeunit-Schreibzugriff ohne impliziten Terminator und POKE$$ WSTRINGZ, address, wideString als Schreibzugriff mit angehaengtem UTF-16-NUL-Terminator. Die Beispiele sind in tests/validate.toml registriert und laufen in der pb_linkrun-Lane.

Im Gegensatz zu intuitiven Vorstellungen werden PEEK und POKE auf dem gleichen hohen Leistungsniveau ausgeführt wie Zeigervariablen. Sie bieten in vielen Situationen eine hervorragende Alternative zu Zeigern.

Adresse???

Eine gültige 32-Bit-Speicheradresse, die den Speicherort angibt, an dem die Datenspeicherung beginnen soll.

Datenwert

Der Datenwert, der unter Adresse??? gespeichert werden soll .

StringExpr

Eine Zeichenfolgenkonstante, ein Literal oder ein Ausdruck, der die im Speicher zu speichernde Zeichenfolge angibt, beginnend bei Address??? .

Einschränkungen

Wenn POKE versucht, auf Speicher zuzugreifen, der der Anwendung nicht zugewiesen ist, generiert Windows eine allgemeine Schutzverletzung (GPF) und beendet die Anwendung. GPFs können nicht eingefangen werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • GLOBALMEM ALLOC
  • SPEICHERKOPIE " PBXB64-Compiler-Hilfe
  • PEEK
  • STRPTR
  • VARPTR
  • Hilfe zum PBXB64-Compiler


POWERARRAY-Objekt - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

POWERARRAY-Objekt

Das PowerArray-Objekt kapselt die Windows-SAFEARRAY-Struktur. Jedes Objekt enth&auml;lt genau ein SAFEARRAY und erm&ouml;glicht Ihnen das einfache Lesen, Schreiben und Bearbeiten der Elemente.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das PowerArray-Objekt kapselt die Windows-SAFEARRAY-Struktur. Jedes Objekt enthält genau ein SAFEARRAY und ermöglicht Ihnen das einfache Lesen, Schreiben und Bearbeiten der Elemente.

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Alle Array-Operationen werden mit METHOD- und PROPERTY-Aufrufen für ein PowerArray-Objekt ausgeführt. Wenn Sie ein PowerArray erstellen oder untersuchen, wird der spezifische Datentyp durch die folgenden VT-Codes identifiziert. Alle sind im Compiler vordefiniert. VT-Codes mit einer Nummer über 200 gelten nur für PowerBASIC. Andere Programmiersprachen erkennen sie nicht und führen zu undefinierten Ergebnissen.

%vt_i2 = 2 %vt_ui4 = 19

%vt_i4 = 3 %vt_i8 = 20

%vt_r4 = 4 %vt_int = 22

%vt_r8 = 5 %vt_uint = 23

%vt_cy = 6 %vt_ptr = 26

%vt_date = 7 %vt_userdefined = 29

%vt_bstr = 8 %vt_filetime = 64

%vt_dispatch = 9 %vt_astr = 201

%vt_bool = 11 %vt_stringfix = 203

%vt_variant = 12 %vt_wstringfix = 204

%vt_unknown = 13 %vt_stringz = 205

%vt_decimal = 14 %vt_wstringz = 206

%vt_i1 = 16 %vt_type = 211

%vt_ui1 = 17 %vt_ext = 221

%vt_ui2 = 18 %vt_curx = 222

Die Array-Abmessungen werden zum Zeitpunkt der Array-Erstellung durch Ausführen der DIM-Methode angegeben. Der ByRef Bounds-Parameter verweist auf einen PowerBounds-UDT, der im Compiler vordefiniert ist. Bound ist ein PowerBOUND UDT zur Verwendung mit RedimPreserve . Es ist auch im Compiler vordefiniert.

TYP PowerBounds

Elemente1 SO LANG

LowBound1 SO LANG

Elemente2 SO LANG

LowBound2 SO LANG

Elemente3 SO LANG

LowBound3 SO LANG

Elements4 SO LANG

LowBound4 SO LANG

END-TYP

TYP PowerBound

Elemente so lang

LowBound SO LANG

END-TYP

Diese Klasse heißt PowerArray und die Schnittstelle heißt IPowerArray. Sollte einer der folgenden Vorgänge fehlschlagen, gibt die Funktion OBJRESULT ein Ergebnis ungleich Null anstelle von %S_OK (Null) zurück.

IPowerArray-Methoden/Eigenschaften

METHODE ARRAYBASE () ALS DWORD <1>

Diese Methode gibt die Adresse des ersten Elements des Arrays zurück.

METHODE ARRAYDESC () ALS DWORD <2>

Diese Methode gibt die Adresse des SAFEARRAY-Deskriptors zurück.

PROPERTY GET ARRAYINFO () AS WString <3>

Sie können zu Informations- oder Dokumentationszwecken eine breite Textzeichenfolge an ein Array anhängen. Diese Get-Eigenschaft ruft die Infozeichenfolge ab, sofern eine vorhanden ist.

PROPERTY SET ARRAYINFO () = WString <3>

Sie können zu Informations- oder Dokumentationszwecken eine breite Textzeichenfolge an ein Array anhängen. Diese Set-Eigenschaft weist dem Array eine breite dynamische Zeichenfolge zu.

METHODENKLON (PowerArray) <4>

Der Parameter PowerArray ist ein weiteres Objekt derselben Klasse wie dieses Objekt, nämlich PowerArray. Es wird ein exaktes Duplikat des SafeArray im Parameter erstellt und in diesem Objekt gespeichert.

METHODE COPYFROMVARIANT (ByRef Variant) <5>

Es wird eine exakte Kopie des im Parameter Variant enthaltenen SafeArray erstellt. Die Array-Kopie wird in diesem PowerArray-Objekt gespeichert.

METHODE COPYTOVARIANT (ByRef Variant) <6>

In diesem Objekt wird eine exakte Kopie des SafeArray erstellt. Die Array-Kopie wird im Parameter Variant gespeichert. In einer Variante dürfen nur Arrays von Datenelementen gespeichert werden, die mit der Automatisierung kompatibel sind. Datentypen, die PowerBASIC-spezifisch sind, können nicht kopiert werden.

METHODE DIM (ByVal VT&, ByVal Subscripts&, ByRef Bounds, OPTIONAL ByVal SIZE) <9>

Dimensioniert (erstellt) ein neues Array. Der VT&-Parameter wird durch einen der in den Anmerkungen aufgeführten %VT-Werte angegeben. Subscripts& ist die Anzahl der Dimensionen (1 bis 4), Bounds ist ein PowerBounds-UDT, der mit der Untergrenze und Größe jeder Dimension vorab gefüllt ist. Der optionale Parameter SIZE gibt die Größe (in Bytes) jedes Elements an. SIZE wird nur mit %vt_stringfix, %vt_wstringfix, %vt_stringz, %vt_wstringz und %vt_type verwendet.

METHODE ERASE () <10>

Das enthaltene Array wird zerstört und das Objekt gilt dann als leer.

METHODE ELEMENTPTR (ByVal Index1& , Opt ByVal Index2& , _

Opt ByVal Index3& , Opt ByVal Index4& ) AS LONG <11>

Berechnet und ruft die Adresse des Datenelements ab, das durch die Indexparameter angegeben wird.

METHODE ELEMENTSIZE () <12>

Ruft die Speichergröße (in Bytes) jedes Datenelements des Arrays ab.

METHODE LBOUND ( Subscript& ) AS LONG <13>

Ruft die untere Grenzzahl für die durch den Parameter „Subscript&“ angegebene Dimension ab. Der erste Index ist 1, der zweite ist 2 usw.

METHODENSPERRE () <14>

Erhöht die Sperranzahl des SAFEARRAY. Sperren können verschachtelt werden, es muss jedoch die gleiche Anzahl an Entsperrungen ausgeführt werden.

METHODE MOVEFROMVARIANT (ByRef Variant) <17>

Überträgt den Besitz des im Variant-Parameter enthaltenen SafeArray auf dieses PowerArray-Objekt. Die Variante wird dann in %vt_empty geändert.

METHODE MOVETOVARIANT (ByRef Variant) <18>

Überträgt den Besitz des in diesem PowerArray-Objekt enthaltenen SafeArray auf den Variantenparameter. Das PowerArray-Objekt wird dann in leer geändert.

METHODE REDIM (ByVal VT&, ByVal Subscripts&, ByRef Bounds, OPTIONAL ByVal SIZE) <19>

Mit REDIM kann das SafeArray gelöscht und auf eine neue Größe neu dimensioniert werden. Es ist eigentlich nur eine Abkürzung für den zweistufigen Prozess ERASE, gefolgt von DIM. Der VT&-Parameter wird durch einen der in den Anmerkungen aufgeführten %VT-Werte angegeben. Subscripts& ist die Anzahl der Dimensionen (1 bis 4), Bounds ist ein PowerBounds-UDT, der mit der Untergrenze und Größe jeder Dimension vorab gefüllt ist. Der optionale Parameter SIZE gibt die Größe (in Bytes) jedes Elements an. SIZE wird nur mit %vt_stringfix, %vt_wstringfix, %vt_stringz, %vt_wstringz und %vt_type verwendet.

METHODE REDIMPRESERVE (ByRef Bound ) <20>

Mit REDIMPRESERVE kann die niedrigstwertige (ganz rechts stehende) Grenze auf eine neue Größe geändert werden. Die übrigen Datenelemente im Array bleiben erhalten. Bound ist ein PowerBound-UDT, der mit der Untergrenze und der Größe der zu ändernden Dimension vorgefüllt ist.

METHODE RESET () <21>

Alle Elemente im SafeArray werden auf ihren ursprünglichen Standardwert zurückgesetzt. Numerische Zeichen werden auf Null gesetzt, Zeichenfolgen auf die Länge Null, Varianten auf %vt_empty und Objektvariablen werden auf nichts gesetzt. Der Array-Speicher wird nicht freigegeben.

METHODE ABONNEMENTS () <22>

Ruft die Anzahl der Dimensionen (Indizes) für dieses Array ab.

METHODE UBOUND ( Subscript& ) AS LONG <23>

Ruft die obere Grenzzahl für die durch den Parameter „Subscript&“ angegebene Dimension ab. Der erste Index ist 1, der zweite ist 2 usw.

METHODE UNLOCK () <24>

Verringert die Sperranzahl des SAFEARRAY. Sperren können verschachtelt werden, es muss jedoch die gleiche Anzahl an Entsperrungen ausgeführt werden.

METHODE VALUEGET (ByRef GetVar , ByVal Index1& , Opt ByVal Index2& , _

Opt ByVal Index3& , Opt ByVal Index4& ) AS LONG <25>

Berechnet den Wert des durch die Indexparameter angegebenen Array-Elements und ruft ihn ab. Dieser Wert wird dann der GetVar-Variablen zugewiesen. Es liegt in der Verantwortung des Programmierers sicherzustellen, dass der Typ von GetVar genau mit dem Typ des Arrays übereinstimmt.

METHODE VALUESET (ByRef SetVar , ByVal Index1& , Opt ByVal Index2& , _

Opt ByVal Index3& , Opt ByVal Index4& ) AS LONG <26>

Weist den Wert der SetVar-Variablen dem Array-Element zu, das durch die Indexparameter angegeben wird. Es liegt in der Verantwortung des Programmierers sicherzustellen, dass der Typ von SetVar genau mit dem Typ des Arrays übereinstimmt.

METHODE VALUETYPE () <27>

Ruft den %VT-Code ab, der die in diesem Array enthaltenen Daten beschreibt. Die %VT-Codes sind im Abschnitt „Bemerkungen“ oben aufgeführt.

Das PowerArray-Objekt kapselt die Windows-SAFEARRAY-Struktur. Jedes Objekt enthält genau ein SAFEARRAY und ermöglicht Ihnen das einfache Lesen, Schreiben und Bearbeiten der Elemente.

Das SAFEARRAY gilt im Allgemeinen als der kleinste gemeinsame Nenner von Arrays. Es ist nicht so schnell wie ein Standard-PowerBASIC-Array, erfüllt aber einen hervorragenden Zweck: Es handelt sich um eine „Standard“-Form von Array-Daten, die zum Übertragen von Daten zwischen Programmen, Modulen und sogar DLLs verwendet werden kann, die mit verschiedenen Versionen des Compilers erstellt wurden. Abgesehen von der Möglichkeit hinzugefügter Datentypen gehen wir nicht davon aus, dass sich das interne Format in absehbarer Zeit ändern wird.

Ein SAFEARRAY ist häufig in einer VARIANT-Variablen enthalten. Normalerweise werden Sie jedoch feststellen, dass das Array durch einen 32-Bit-Zeiger auf seinen Array-Deskriptor referenziert und identifiziert wird.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • ARRAY ASSIGN
  • ARRAY DELETE
  • ARRAY INSERT
  • ARRAY-SCAN
  • ARRAY SORT
  • DIM ? PBXB64-Compiler-Hilfe
  • LBOUND
  • REDIM ? PBXB64-Compiler-Hilfe
  • UBOUND
  • Hilfe zum PBXB64-Compiler


PRESERVE - Arrayinhalte bei REDIM behalten - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PRESERVE - Arrayinhalte bei REDIM behalten

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

REDIM PRESERVE values(10)

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

REDIM-Klausel, die vorhandene dynamische Arrayinhalte beim Aendern der Groesse im unterstuetzten Rahmen beibehaelt.

Praktische Verwendung

Verwenden Sie PRESERVE nur als REDIM-Klausel, wenn bestehende Arrayinhalte erhalten bleiben sollen. Es ist kein freistehender Befehl.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

PRESERVE ausserhalb von REDIM ist nicht die hier dokumentierte Form. Ein Test muss zeigen, dass bestehende Inhalte erhalten bleiben und Randfaelle nicht stillschweigend zerstoert werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PRINT USING - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PRINT USING

Print formatted numeric, string, or date values using a picture mask.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PRINT USING "mask"; expr [, expr ...] [;]

Beschreibung

Print formatted numeric, string, or date values using a picture mask.

Kind: Statement | Category: Printing

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

mask

A string literal or variable containing the picture mask. Numeric masks may use #, 0, ,, ., $, and leading/trailing sign characters. String masks may use ! (first character only), & (full string), and backslash-delimited fixed-field masks. Date masks such as yyyy-mm-dd format a date string.

expr

The value to format. Numeric expressions are formatted by the numeric mask; string expressions by the string mask. Multiple expressions may be supplied, each consuming the next position in the mask string as appropriate.

;

A trailing semicolon suppresses the default CR/LF after the output, allowing the next PRINT to continue on the same line.

Beispiel

PRINT USING "$#,##0.00"; 1234.5
PRINT USING "!"; "Hello"
PRINT USING "yyyy-mm-dd"; "12/25/2024"

Siehe auch

  • PRINT# ? PBXB64-Compiler-Hilfe
  • USING$
  • FORMAT$
  • Hilfe zum PBXB64-Compiler


PRINTER$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PRINTER$

Rufen Sie Druckernamen und Druckerportnamen ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

device$ = PRINTER$([NAME | PORT], printernum& )

Beschreibung

Rufen Sie Druckernamen und Druckerportnamen ab.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Printernum& gibt die Druckernummer von 1 bis PRINTERCOUNT an. Wenn die Option NAME an der ersten Position angegeben ist, wird der Druckername zurückgegeben. Wenn stattdessen die Option PORT angegeben wird, wird der Portname (z. B. LPT1) zurückgegeben.

Beschreibung

DRUCKER$ gehoert zur Druckeroberflaeche. PRINTERCOUNT meldet die installierten Drucker, und PRINTER$ gibt Druckernamen oder Portnamen zurueck. Die Beispiele unten verwenden den aktuellen, getesteten Ueberpruefungsweg.

Validierungsbeleg

Validierungsbeleg: examples/basic/test_printer_api.pb prueft den Installationszaehler, die leere Rueckgabe bei fehlenden Druckern sowie die Namens- und Portabfrage ueber PRINTER$.

Laufzeitvoraussetzungen

Die Beispiele laufen auch ohne installierten Standarddrucker, aber ein echter Drucker liefert mehr Rueckgabedaten. Behandeln Sie einen Null- oder Leerwert als gueltigen Zustand und lesen Sie die konkrete Liste erst dann aus, wenn PRINTERCOUNT groesser als Null ist.

Siehe auch

  • LPRINT ATTACH
  • PRINTERCOUNT
  • XPRINT ATTACH
  • Hilfe zum PBXB64-Compiler


PRINTERCOUNT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PRINTERCOUNT

Rufen Sie die Anzahl der verf&uuml;gbaren (installierten) Drucker ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ncPrinters& = PRINTERCOUNT

Beschreibung

Rufen Sie die Anzahl der verfügbaren (installierten) Drucker ab.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DRUCKERANZAHL gehoert zur Druckeroberflaeche. PRINTERCOUNT meldet die installierten Drucker, und PRINTER$ gibt Druckernamen oder Portnamen zurueck. Die Beispiele unten verwenden den aktuellen, getesteten Ueberpruefungsweg.

Validierungsbeleg

Validierungsbeleg: examples/basic/test_printer_api.pb prueft den Installationszaehler, die leere Rueckgabe bei fehlenden Druckern sowie die Namens- und Portabfrage ueber PRINTER$.

Laufzeitvoraussetzungen

Die Beispiele laufen auch ohne installierten Standarddrucker, aber ein echter Drucker liefert mehr Rueckgabedaten. Behandeln Sie einen Null- oder Leerwert als gueltigen Zustand und lesen Sie die konkrete Liste erst dann aus, wenn PRINTERCOUNT groesser als Null ist.

Siehe auch

  • LPRINT ATTACH
  • PRINTER$
  • XPRINT ATTACH
  • Hilfe zum PBXB64-Compiler


Private und exportierte Prozeduren - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Private und exportierte Prozeduren

Es gibt zwei grundlegende Arten von Prozeduren in einer DLL: private und exportierte. Exportierte Prozeduren sind solche, die Anwendungen und anderen DLLs zur Verf&uuml;gung gestellt werden. Private oder lokale Verfahren werden unterst&uuml;tzt

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Es gibt zwei grundlegende Arten von Prozeduren in einer DLL: private und exportierte. Exportierte Prozeduren sind solche, die Anwendungen und anderen DLLs zur Verfügung gestellt werden. Private oder lokale Verfahren werden unterstützt

Typ:Schlüsselwort |Kategorie: Procedures

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Im folgenden Beispiel definiert die erste Prozedur ein exportiertes Sub, das zwei Argumente akzeptiert: einen String und einen Integer . Die zweite Prozedur definiert eine exportierte Funktion, die ein einzelnes Zeichenfolgenargument akzeptiert und eine Ganzzahl zurückgibt. Schließlich definiert die dritte Prozedur ein privates Sub, das ein einzelnes Integer-Argument akzeptiert. Die ersten beiden Routinen können von einer externen .EXE-Datei oder einer anderen DLL aufgerufen werden. Der Dritte ist es nicht.

SUB MySub (sArg AS STRING, BYVAL iArg AS INTEGER) EXPORT

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


PROFIL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PROFIL

Erfassen Sie einen Profilbericht mit detaillierten Angaben zur Gesamtausf&uuml;hrungsdauer der

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PROFILE diskfilename$

Beschreibung

Erfassen Sie einen Profilbericht mit detaillierten Angaben zur Gesamtausführungsdauer der

Typ:Anweisung |Kategorie: Utilities

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 implementiert die getesteten INI-Lese- und Schreibformen PROFILE SET und PROFILE GET ... TO. Die Laufzeit schreibt und liest Stringwerte ueber die Windows-Profile-APIs, normalisiert relative Dateipfade gegen das aktuelle Prozessverzeichnis, liefert fuer fehlende Schluessel eine leere Zeichenfolge und bettet die benoetigten Helfer in den Single-EXE-Laufzeitpfad ein.

Die PBWin-Form fuer automatische Laufzeitberichte PROFILE diskfilename$ ist als Kompatibilitaetskontext dokumentiert, aber PBXB64 erzeugt fuer diese breite Form noch keine PBWin-artige Prozedurzeit-Instrumentierung oder Berichte.

Zum Zeitpunkt der Ausführung der PROFILE-Anweisung wird eine standardmäßige sequentielle Datei mit dem angegebenen Dateinamen diskfilename$ erstellt. Um die besten Ergebnisse in ausführbaren Dateien zu erzielen, sollte die PROFILE-Anweisung die letzte Anweisung sein, die in der Funktion PBMAIN/WINMAIN ausgeführt wird.

Der Profilbericht enthält eine Liste aller Prozeduren innerhalb desselben Moduls (EXE oder DLL), die Häufigkeit ihrer Aufrufe und die insgesamt verstrichene Zeit (in Millisekunden), die für die Ausführung aller Instanzen der Prozedur aufgewendet wurde. Diese Statistiken erscheinen in der Festplattendatei in dieser bestimmten Reihenfolge in jeder Zeile:

<Prozedurname>, <Anrufanzahl>,

Der Profilbericht beschreibt nur Prozeduren, die sich physisch innerhalb des Moduls (EXE oder DLL) befinden, in dem sich die PROFILE-Anweisung befindet. Prozeduren in einer externen EXE- oder DLL-Datei werden nicht einzeln profiliert. Die zum Aufrufen anderer Prozeduren und DLL-/API-Funktionen benötigte Zeit ist jedoch in der kumulierten Ausführungszeit der aufrufenden Prozedur enthalten.

Es wird dringend empfohlen, alle anderen Anwendungen zu schließen, wenn Sie ein Profil für eine PowerBASIC-Anwendung erstellen. Wenn eine Anwendung profiliert wird, muss PowerBASIC eine beträchtliche Menge an zusätzlichem Code generieren, um alle erforderlichen Informationen zu sammeln. Dieser zusätzliche Code wird immer dann generiert, wenn eine gültige PROFILE-Anweisung in Ihrem Programm erscheint, unabhängig davon, ob sie tatsächlich ausgeführt wird.

Für den endgültigen Produktionscode verwenden Sie die Metaanweisung #TOOLS OFF, um höchste Leistungsniveaus sicherzustellen.

Interpretation eines Profilberichts

Die Ausführungszeit verschachtelter Prozeduren muss verstanden werden, um ein klares „Bild“ der Ausführungszeiten zu erhalten. Betrachten Sie beispielsweise die folgenden Ergebnisse:

Vorgehensweise

MySubA,

MySubB,

Auf den ersten Blick deuten diese Ergebnisse möglicherweise auf einen „Engpass“ in MySubA hin, da MySubA 11016 Millisekunden benötigte, um nur einen Aufruf auszuführen, während die durchschnittliche Zeit für MySubB nur etwa 100 Millisekunden pro Aufruf betrug (10014 mSek / 100 Aufrufe = 100,14 mSek).

Wenn MySubB jedoch tatsächlich von MySubA aufgerufen wird, müssen die Ergebnisse anders bewertet werden. Wir könnten zum Beispiel sagen: „MySubB hat 10014 Millisekunden der 11016 Millisekunden der in MySubA verbrachten Zeit benötigt.“ Oder anders ausgedrückt: „Von den 11016 Millisekunden, die MySubA für die Ausführung benötigte, wurden 10014 Millisekunden dieser Zeit für die Ausführung von MySubB aufgewendet.“

Durch Interpolation dieser Ergebnisse kann leicht berechnet werden, dass die Ausführung des Codes in MySubA nur 1002 Millisekunden dauerte, diese jedoch aufgrund der Abhängigkeit von MySubB auf 11016 Millisekunden anstieg.

Daher würde eine Verbesserung der Leistung von MySubB die Gesamtgeschwindigkeit von MySubA deutlich verbessern und die Profilergebnisse beider Funktionen würden entsprechend verbessert.

Einschränkungen

Die Profilerstellung ist „aktiviert“, wenn die erste Prozedur, die eine PROFILE-Anweisung enthält, mit der Ausführung beginnt. Alle anschließend innerhalb dieser Prozedur ausgeführten Prozeduren werden profiliert.

Es ist nicht möglich, die eigentlichen PBMAIN- oder WINMAIN-Funktionen zu profilieren. Wenn eine PROFILE-Anweisung innerhalb von PBMAIN/WINMAIN auftritt, werden alle Prozeduren, die von PBMAIN/LIBMAIN aufgerufen werden, normal profiliert.

Wenn PBMAIN/WINMAIN Code enthält, der eine Profilerstellung erfordert, benennen Sie die Funktion einfach um und erstellen Sie eine neue PBMAIN/WINMAIN-Funktion, die die umbenannte Funktion sofort aufruft und dann eine PROFILE-Anweisung ausführt. Siehe das Beispiel unten.

Bei Anwendungscode mit verschachtelten und langwierigen Prozeduraufrufen führt die Addition der Gesamtzahl der Millisekunden in der letzten Spalte einer PROFILE-Datenträgerdatei normalerweise zu einer Zahl, die weitaus größer ist als die tatsächliche Zeit, die Ihr Programm zur Ausführung benötigt hat.

Die Zeitauflösung des Profilberichts ist durch das vom Betriebssystem unterstützte Quantum begrenzt (Win95/98 beträgt 54 mSek. und WinNT/2000/XP beträgt 10 mSek.) und kann durch alle anderen gleichzeitig ausgeführten Anwendungen beeinflusst werden. Dennoch kann PROFILE einen guten Einblick darüber bieten, welcher Code möglicherweise die meiste CPU-Zeit verbraucht und wo Optimierungsbemühungen konzentriert werden sollten.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • #TOOLS
  • CALLSTK$
  • CALLSTKCOUNT
  • FUNCNAME$
  • TRACE
  • Hilfe zum PBXB64-Compiler


PROGID$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PROGID$

Gibt die eindeutige alphanumerische PROGID-Zeichenfolge zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

a$ = PROGID$( ClassID$ )

Beschreibung

Gibt die eindeutige alphanumerische PROGID-Zeichenfolge zurück

Typ:Funktion |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine PROGID-Zeichenfolge ist der eindeutige alphanumerische Textname, der einem bestimmten COM-Objekt/einer bestimmten COM-Komponente zugeordnet ist. Beispiel: „Word.Application.8“.

Mit der Funktion PROGID$ konvertieren Sie die 16-Byte (128-Bit) binäre Klassen-ID eines COM-Objekts/einer COM-Komponente in einen PROGID-String.

PROGID$ nimmt die (16-Byte-)Binärzeichenfolge ClassID$, die die GUID oder UUID eines COM-Objekts/einer COM-Komponente darstellt, und untersucht die Systemregistrierung, um die PROGID-Zeichenfolge zu ermitteln, die mit der ClassID$-Zeichenfolge verknüpft ist. ClassID$ kann eine dynamische Zeichenfolge oder eine Zeichenfolge fester Länge von mindestens 16 Bytes oder (normalerweise) eine GUID-Variable sein.

Wenn die ClassID$ nicht gefunden werden kann oder beim Suchvorgang ein Fehler auftritt, setzt PROGID$ die Systemvariable ERR nicht, sondern gibt eine leere Zeichenfolge zurück.

PROGID$ ist die Ergänzung zur CLSID$-Funktion. Durch die gemeinsame Nutzung dieser beiden Funktionen ist es möglich, die genaue Groß- und Kleinschreibung der PROGID aus der Systemregistrierung zu extrahieren. Siehe das Beispiel unten.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • CLSID$
  • GUID$
  • GUIDTXT$
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • Was ist COM?
  • LET-Anweisung (mit Objekten)
  • METHOD/END METHOD-Anweisungen
  • OBJEKT
  • ZIEL
  • OBJPTR
  • OBJRESULT
  • PROPERTY / END PROPERTY
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


PROGRESSBAR GET POS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PROGRESSBAR GET POS

Manipulate a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PROGRESSBAR GET POS hDlg , id& TO datav&
PROGRESSBAR GET RANGE hDlg , id& TO LoDatav& , HiDatav&
PROGRESSBAR SET POS hDlg , id& , position&
PROGRESSBAR SET RANGE hDlg , id& , lolimit& , hilimit&
PROGRESSBAR SET STEP hDlg , id& , stepval&
PROGRESSBAR STEP hDlg , id& [, incramt& ]

Beschreibung

Manipulate a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In jedem der folgenden Beispiele und Beschreibungen wird das PROGRESSBAR-Steuerelement, das Gegenstand der Anweisung ist, durch das Handle des Dialogfelds identifiziert, das Eigentümer des ProgressBar-Steuerelements ( hDlg ) ist, sowie durch den eindeutigen Steuerelementbezeichner, den Sie ihm bei der Erstellung in CONTROL ADD PROGRESSBAR gegeben haben. Um die Farbe des Balkens oder des Hintergrunds zu ändern, verwenden Sie CONTROL SET COLOR .

PROGRESSBAR GET POS hdlg , id& TO datav&

Die aktuelle Position der ProgressBar wird abgerufen und der durch datav& bezeichneten Variablen zugewiesen.

PROGRESSBAR GET RANGE hdlg , id& TO LoDatav& , HiDatav&

Der aktuelle Bereich der ProgressBar wird abgerufen und den durch LoDatav& und HiDatav& bezeichneten Variablen zugewiesen. Bei der Erstellung von ProgressBar liegt der Standardbereich zwischen 0 und 100.

PROGRESSBAR SET POS hDlg , id& , position&

Die aktuelle Position der ProgressBar wird auf den Wert des Parameters position& gesetzt und der Balken wird neu gezeichnet, um die neue Position widerzuspiegeln.

PROGRESSBAR SET RANGE hdlg , id& , lolimit& , hilimit&

Der Bereich für ProgressBar ist von lolimit& bis hilimit& angegeben. Wenn lolimit& größer als hilimit& ist, sind die Ergebnisse undefiniert.

PROGRESSBAR SET STEP hDlg , id& , step&

Der von PROGRESSBAR STEP zu verwendende Standardinkrementwert wird durch den Parameter „stepval&“ angegeben.

PROGRESSBAR STEP hDlg , id& [, incramt& ]

Der ProgressBar ist „gestuft“. Die aktuelle Position wird um einen Schritt vorgerückt und der Balken wird neu gezeichnet, um die neue Position widerzuspiegeln. Wenn der optionale incramt&-Ausdruck enthalten ist, wird die Position stattdessen um diesen Betrag erhöht. Die Standardschrittweite beträgt 10 und der Standardbereich liegt zwischen 0 und 100.

PBXB64-Implementierungshinweise

PBXB64 implementiert alle oben gezeigten dokumentierten PROGRESSBAR-Anweisungsformen. Der Compiler reduziert sie auf eingebettete Win32-Laufzeithilfsprogramme mit gemeinsamer Steuerung. Für die ausführbare Datei des Kunden sind keine externen Objektdateien erforderlich.

Die Regressionssuite umfasst SET RANGE, SET POS, GET POS, SET STEP, STEP, STEP mit explizitem Inkrement und GET RANGE.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG FORTSCHRITTSBAR HINZUFÜGEN
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • Hilfe zum PBXB64-Compiler


PROPERTY / END PROPERTY - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PROPERTY / END PROPERTY

Definieren Sie a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

[OVERRIDE] PROPERTY GET|SET name [< DispID >] [ALIAS " altname "] ( var AS type ...) [THREADSAFE] [AS type ]
[ statements ]
PROPERTY = expression
END PROPERTY

Beschreibung

Definieren Sie a

Typ:Anweisung |Kategorie: Procedures

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PROPERTY/END PROPERTY wird verwendet, um eine PROPERTY-Prozedur innerhalb einer Klasse zu definieren. Eigenschaften können nur über eine virtuelle Funktionstabelle für ein aktives Objekt aufgerufen werden. Eine PROPERTY ist ein spezieller Typ von METHOD , der nur zum Festlegen oder Abrufen von Daten in einem Objekt verwendet wird. Während die Arbeit einer EIGENSCHAFT problemlos mit einer StandardMETHODE durchgeführt werden könnte, ist diese Unterscheidung praktisch, um das Konzept der Kapselung von Instanzdaten innerhalb eines Objekts hervorzuheben. Es gibt zwei Formen von PROPERTY-Prozeduren: PROPERTY GET und PROPERTY SET. Wie aus den Namen hervorgeht, wird das erste Formular zum Abrufen eines Datenwerts vom Objekt verwendet, während das zweite Formular zum Zuweisen eines Werts verwendet wird. Eigenschaften müssen innerhalb eines CLASS-Blocks definiert werden und dürfen nur innerhalb eines DECLARE CLASS-Blocks deklariert werden. Eigenschaften sind definiert:

PROPERTY GET name [ALIAS „altname“] (BYVAL var AS type...) [THREADSAFE] AS type

[Anweisungn]

PROPERTY = Ausdruck

END EIGENTUM

PROPERTY SET name [ALIAS „altname“] (BYVAL var AS type...) [THREADSAFE]

[Anweisungn]

Variable = Wert

END EIGENTUM

Wenn Sie PROPERTY SET verwenden, wird der zuzuweisende Wert wie bei einer normalen Zuweisung an eine Variable rechts von einem Gleichheitszeichen übergeben:

Eigenschaften können nur über eine virtuelle Funktionstabelle für ein aktives Objekt aufgerufen werden. Eigenschaftsparameter können einen beliebigen Variablentyp haben.

ObjVar.Prop1 = NeuerWert

Eine EIGENSCHAFT kann als „schreibgeschützt“ oder „schreibgeschützt“ betrachtet werden, indem einfach eine der beiden Definitionen weggelassen wird. Wenn jedoch sowohl GET- als auch SET-Formulare für eine bestimmte Eigenschaft definiert sind, müssen alle Parameter und der Eigenschaftsdatentyp in beiden Formularen identisch sein und sie müssen gepaart sein. Das heißt, der PROPERTY SET muss unmittelbar auf den PROPERTY GET folgen.

Eigenschaftsparameter können einen beliebigen Variablentyp haben.

Sie können auf ein PROPERTY GET zugreifen mit:

DIM ObjVar AS MyInterface

LET ObjVar = NEWCOM Prgid$

1. ObjVar.Prop1(param) TO var

2. CALL ObjVar.Prop1(param) TO var

3. var = ObjVar.Prop1(param)

Sie können auf ein PROPERTY SET zugreifen mit:

DIM ObjVar AS MyInterface

LET ObjVar = NEWCOM Prgid$

1. ObjVar.Prop1(param) = expr

2. CALL ObjVar.Prop1(param) = expr

Beachten Sie, dass die Auswahl der Eigenschaftsprozedur syntaxgesteuert ist. Mit anderen Worten: Je nachdem, wie Sie den Namen verwenden, entscheidet PowerBASIC automatisch, ob die GET- oder SET-PROPERTY aufgerufen werden soll.

In jeder Methode und Eigenschaft definiert PowerBASIC automatisch eine Pseudovariable namens ME , die als Referenz auf das aktuelle Objekt behandelt wird. Mit ME ist es möglich, jede andere Methode oder Eigenschaft aufzurufen, die Mitglied der Klasse ist: var = ME. Methode1 (param)

Methoden können deklariert werden (unter Verwendung des AS-Typs ...), um einen String, einen beliebigen numerischen Typ, eine bestimmte Klasse von Objektvariablen (AS MyClass), einen Variant oder einen benutzerdefinierten Type zurückzugeben.

Typbibliotheken unterstützen nur die folgenden Daten Typen: BYTE, WORD, DWORD, INTEGER, LONG, QUAD, SINGLE, DOUBLE, CURRENCY, OBJECT, STRING und VARIANT. Wenn Methoden oder Eigenschaften Datentypen verwenden, die von Typbibliotheken nicht unterstützt werden, erhalten Sie einen Fehler 581 – Fehler beim Erstellen der Typbibliothek, wenn Sie die Metaanweisung #COM TLIB ON verwenden.

Zusätzlich zum expliziten Rückgabewert, den Sie deklarieren, verfügen alle COM-Methoden und -Eigenschaften über einen weiteren „versteckten Rückgabewert“, der kryptisch „hResult“ heißt. Während der Name ein Handle für ein Ergebnis implizieren würde, handelt es sich in Wirklichkeit überhaupt nicht um ein Handle, sondern nur um einen langen ganzzahligen Wert, der den Erfolg oder Misserfolg der Methode anzeigt. Nach dem Aufruf einer Methode oder Eigenschaft können Sie den hResult-Wert mit der PowerBASIC-Funktion OBJRESULT abrufen. Das höchstwertige Bit des Werts wird als Schweregradbit bezeichnet. Dieses Bit ist 0 (Wert ist positiv) für Erfolg oder 1 (Wert ist negativ) für Fehler. Die restlichen Bits werden zur Übermittlung von Fehlercodes und zusätzlichen Statusinformationen verwendet. Wenn Sie eine Objektmethode/-eigenschaft (entweder Dispatch oder Direct ) aufrufen und das Schweregradbit im zurückgegebenen hResult gesetzt ist, generiert PowerBASIC den Laufzeitfehler 99: Objektfehler. Wenn Sie eine Methode oder Eigenschaft erstellen, gibt PowerBASIC automatisch ein hResult von Null zurück, was einen Erfolg impliziert. Sie können einen hResult-Wert ungleich Null zurückgeben, indem Sie METHOD OBJRESULT = expr innerhalb einer Methode oder PROPERTY OBJRESULT = expr innerhalb einer Eigenschaft ausführen.

Jede Methode und Eigenschaft in einer dualen Schnittstelle benötigt einen positiven, langen ganzzahligen Wert, um sie zu identifizieren. Dieser ganzzahlige Wert wird als DispID (Dispatch-ID) bezeichnet und intern von COM-Diensten verwendet, um die richtige Funktion auf einer Dispatch-Schnittstelle aufzurufen. Sie können optional eine bestimmte DispID angeben, indem Sie sie direkt nach dem Methoden-/Eigenschaftsnamen in spitze Klammern einschließen:

METHODE MethodOne <76> ()

Wenn Sie keine DispID angeben, weist PowerBASIC einen zufälligen Wert für Sie zu. Dies ist für interne Objekte in Ordnung, kann jedoch bei veröffentlichten COM-Objekten zu einem Fehler führen, da sich die DispID bei jeder Kompilierung Ihres Programms ändern kann. Es ist besonders wichtig, dass Sie für jede Methode/Eigenschaft in einer COM-Ereignisschnittstelle eine DispID angeben.

Eigenschaften überschreiben

Sie können die Funktionalität einer bestimmten Methode oder Eigenschaft einer geerbten Basisklasse ergänzen oder ersetzen, indem Sie eine Ersetzung codieren, der das Wort OVERRIDE vorangestellt ist. Die überschreibende Methode muss denselben Namen und dieselbe Signatur (Parameter, Rückgabewert usw.) haben wie die Methode, die sie ersetzt.

BYREF- und BYVAL-Parameter

Eine Kopie des Datenwerts wird als Parameter auf dem Stapel abgelegt. Die Kopie wird vernichtet, wenn die PROPERTY endet. BYVAL-Parameter verwenden standardmäßig ein IN-Attribut, wenn keine explizite Richtung angegeben ist.

Als Parameter wird ein Zeiger auf die Daten auf dem Stapel platziert. Diese Option darf nicht mit einem internen PROPERTY-Parameter verwendet werden.

Richtungsattribute

PROPERTY-Parameter geben auch die Richtung an, in der Daten zwischen dem Aufrufer und dem Angerufenen übertragen werden:

Daten werden vom Aufrufer an die EIGENSCHAFT übergeben. Im Allgemeinen werden Sie feststellen, dass fast alle IN-Parameter BYVAL übergeben werden, und das wird dringend empfohlen. Es ist jedoch möglich, ihnen bei Bedarf BYREF zu übergeben.

Daten werden von der PROPERTY zurück an den Aufrufer weitergeleitet. Alle OUT-Parameter müssen BYREF übergeben werden.

Daten werden vom Aufrufer an die PROPERTY übergeben und die Ergebnisse werden im selben Parameter an den Aufrufer zurückgegeben. Alle INOUT-Parameter müssen BYREF übergeben werden.

In vielen Fällen kann die Richtung eines Parameters direkt aus dem BYVAL/BYREF-Attribut abgeleitet werden (BYVAL=IN, BYREF=OUT). Wir empfehlen jedoch, das Richtungsattribut als zusätzliche Möglichkeit zur Selbstdokumentation einzubeziehen. Vor jedem METHOD-Parameternamen kann entweder BYVAL/BYREF oder IN/OUT/INOUT in beliebiger Reihenfolge stehen.

Beachten Sie eine interessante Regel für COM-Objekte: IN-Parameter sind schreibgeschützt. Sie dürfen nicht verändert werden.

IN-Parameter werden von COM-Regeln als „konstant“ betrachtet und dürfen nicht geändert werden, da es sich um Werte handelt, die nicht an den Aufrufer zurückgegeben werden. Da dies jedoch keine Regel ist, die normalerweise auf ein Standard-SUB oder FUNCTION angewendet wird, kann es zu Programmierfehlern kommen, die sehr schwer zu finden und zu beheben sind. Aus diesem Grund schützt Sie PowerBASIC automatisch vor diesem Problem, ohne dass Ihrerseits Maßnahmen erforderlich sind. Beim Schreiben von METHOD- oder PROPERTY-Code in PowerBASIC können Sie BYVAL/IN-Parametern frei neue Werte zuweisen. Sie werden einfach verworfen, wenn die METHOD beendet wird. Natürlich schützt Sie nicht jede Programmiersprache auf diese Weise, daher müssen Sie vorsichtig sein, wenn Sie eine COM-METHODE in einem anderen Compiler erstellen.

Mit OPTIONAL/OPT

PROPERTY-Anweisungen können einen oder mehrere Parameter als optional angeben, indem sie dem Parameter entweder das Schlüsselwort OPTIONAL (oder die Abkürzung OPT) voranstellen. Wenn ein Parameter als optional deklariert wird, sind alle nachfolgenden Parameter in der Deklaration ebenfalls optional, unabhängig davon, ob sie eine explizite OPTIONAL- oder OPT-Direktive angeben oder nicht.

VARIANT-Variablen eignen sich besonders gut zur Verwendung als optionaler Parameter. Wenn der aufrufende Code einen optionalen VARIANT-Parameter (BYVAL oder BYREF) weglässt, ersetzen PowerBASIC (und die meisten anderen Compiler) eine Variante vom Typ %VT_ERROR, die einen Fehlerwert von %DISP_E_PARAMNOTFOUND (&H80020004) enthält. In diesem Fall können Sie diesen Wert direkt prüfen oder mit der Funktion ISMISSING ermitteln, ob der Parameter physisch übergeben wurde oder nicht.

Wenn optionale Parameter (außer VARIANT) im aufrufenden Code weggelassen werden, wird der Stapelbereich, der normalerweise für diese Parameter reserviert ist, mit Nullen gefüllt.

Wenn der Parameter als BYVAL-Parameter definiert ist, hat er den Wert Null. Für TYPE- oder UNION-Variablen, die BYVAL übergeben werden, übergibt der Compiler eine Zeichenfolge binärer Nullen der Länge SIZEOF ( Type_or_union_var ).

Wenn der Parameter als BYREF-Parameter definiert ist, ist VARPTR (Varname) gleich Null; Wenn dies zutrifft, führt jeder Versuch, Varname in Ihrem Code zu verwenden, zu einer allgemeinen Schutzverletzung oder einer Speicherbeschädigung. Sie sollten zunächst die Funktion ISMISSING() verwenden, um festzustellen, ob der Zugriff auf den Parameter sicher ist.

THREADSAFE-Optionsdeskriptor

Wenn Sie die Option THREADSAFE einschließen, erstellt PowerBASIC automatisch ein Semaphor, das jeweils nur einem Thread die Ausführung erlaubt. Andere müssen warten, bis der erste Thread die THREADSAFE-Prozedur verlässt, bevor sie beginnen dürfen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • #COM
  • CLASS/END CLASS
  • INSTANZ
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISMISSING
  • ISOBJECT
  • Was ist COM?
  • LET-Anweisung (mit Objekten)
  • ME-Pseudovariable
  • METHOD/END METHOD-Anweisungen
  • ZIEL
  • OBJPTR
  • OBJRESULT
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


PROZESS ERHALTEN PRIORITÃ"T " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PROZESS ERHALTEN PRIORITÃ"T " PBXB64-Compiler-Hilfe

Rufen Sie den Priorit&auml;tswert f&uuml;r den Strom ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PROCESS GET PRIORITY TO lResult&

Beschreibung

Rufen Sie den Prioritätswert für den Strom ab

Typ:Anweisung |Kategorie: Einfädeln

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PROCESS GET PRIORITY ruft den Prioritätswert für den aktuellen Prozess ab. Der abgerufene Prioritätswert wird der durch lResult& angegebenen Long- oder Dword-Variablen zugewiesen.

Der Prozessprioritätswert ist einer der folgenden:

%IDLE_PRIORITY_CLASS = &H00000040

Gibt einen Prozess an, dessen Threads nur dann ausgeführt werden, wenn das System im Leerlauf ist und von den Threads aller Prozesse, die in einer höheren Prioritätsklasse ausgeführt werden, vorrangig sind. Ein Beispiel ist ein Bildschirmschoner. Die Leerlaufprioritätsklasse wird von untergeordneten Prozessen geerbt.

%NORMAL_PRIORITY_CLASS = &H00000020

Zeigt einen normalen Prozess ohne besondere Planungsanforderungen an.

%HIGH_PRIORITY_CLASS = &H00000080

Gibt einen Prozess an, der zeitkritische Aufgaben ausführt, die sofort ausgeführt werden müssen, damit er ordnungsgemäÃŸ ausgeführt wird. Die Threads eines Klassenprozesses mit hoher Priorität haben Vorrang vor den Threads von Klassenprozessen mit normaler oder inaktiver Priorität. Ein Beispiel ist die Windows-Aufgabenliste, die unabhängig von der Auslastung des Betriebssystems schnell reagieren muss, wenn sie vom Benutzer aufgerufen wird. Seien Sie äuÃŸerst vorsichtig, wenn Sie die Klasse mit hoher Priorität verwenden, da eine CPU-gebundene Anwendung mit hoher Priorität nahezu alle verfügbaren Zyklen nutzen kann.

%REALTIME_PRIORITY_CLASS = &H00000100

Zeigt einen Prozess an, der die höchstmögliche Priorität hat. Die Threads eines Echtzeit-Prioritätsklassenprozesses haben Vorrang vor den Threads aller anderen Prozesse, einschlieÃŸlich Betriebssystemprozessen, die wichtige Aufgaben ausführen. Beispielsweise kann ein Echtzeitprozess, der länger als ein sehr kurzes Intervall ausgeführt wird, dazu führen, dass Festplatten-Caches nicht geleert werden oder die Maus nicht reagiert.

Description

PROCESS GET PRIORITY reads the current priority class or priority setting for the process or thread target. Use it as the readback companion to the process priority setters.

Validation Evidence

Validation evidence: The process-priority runtime tests cover the current readback contract and the supported priority-class values.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • PROZESS-SET-PRIORITÃ"T " PBXB64-Compiler-Hilfe
  • THREAD GET PRIORITY
  • Thread-Set-Priorität
  • Hilfe zum PBXB64-Compiler


PROZESS-SET-PRIORITÃ"T " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PROZESS-SET-PRIORITÃ"T " PBXB64-Compiler-Hilfe

Legt den Priorit&auml;tswert f&uuml;r den Strom fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PROCESS SET PRIORITY Priority&

Beschreibung

Legt den Prioritätswert für den Strom fest

Typ:Anweisung |Kategorie: Einfädeln

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PROCESS SET PRIORITY weist dem aktuellen Prozess einen neuen Prioritätswert zu.

Der Prozessprioritätswert muss einer der folgenden sein:

%IDLE_PRIORITY_CLASS = &H00000040

Gibt einen Prozess an, dessen Threads nur ausgeführt werden, wenn das System inaktiv ist und von den Threads aller Prozesse, die in einer Klasse mit höherer Priorität ausgeführt werden, vorrangig sind. Ein Beispiel ist ein Bildschirmschoner. Die Leerlaufprioritätsklasse wird von untergeordneten Prozessen geerbt.

%NORMAL_PRIORITY_CLASS = &H00000020

Zeigt einen normalen Prozess ohne besondere Planungsanforderungen an.

%HIGH_PRIORITY_CLASS = &H00000080

Gibt einen Prozess an, der zeitkritische Aufgaben ausführt, die sofort ausgeführt werden müssen, damit er ordnungsgemäÃŸ ausgeführt wird. Die Threads eines Klassenprozesses mit hoher Priorität haben Vorrang vor den Threads von Klassenprozessen mit normaler oder inaktiver Priorität. Ein Beispiel ist die Windows-Aufgabenliste, die unabhängig von der Auslastung des Betriebssystems schnell reagieren muss, wenn sie vom Benutzer aufgerufen wird. Seien Sie äuÃŸerst vorsichtig, wenn Sie die Klasse mit hoher Priorität verwenden, da eine CPU-gebundene Anwendung mit hoher Priorität nahezu alle verfügbaren Zyklen nutzen kann.

%REALTIME_PRIORITY_CLASS = &H00000100

Zeigt einen Prozess an, der die höchstmögliche Priorität hat. Die Threads eines Echtzeit-Prioritätsklassenprozesses haben Vorrang vor den Threads aller anderen Prozesse, einschlieÃŸlich Betriebssystemprozessen, die wichtige Aufgaben ausführen. Beispielsweise kann ein Echtzeitprozess, der länger als ein sehr kurzes Intervall ausgeführt wird, dazu führen, dass Festplatten-Caches nicht geleert werden oder die Maus nicht reagiert.

Description

PROCESS SET PRIORITY changes the priority class or priority setting for a process or thread target. Keep the target handle and the requested class together so the caller can restore the original state afterward.

Validation Evidence

Validation evidence: The process-priority runtime tests prove the setter path and the current rejection behavior for invalid targets.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • PROZESS ERHALTEN PRIORITÃ"T " PBXB64-Compiler-Hilfe
  • THREAD GET PRIORITY
  • Thread-Set-Priorität
  • Hilfe zum PBXB64-Compiler


PUT$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PUT$

Schreibt eine

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PUT$ [#] filenum& , StrgExpr

Beschreibung

Schreibt eine

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PUT$ wertet zunächst den String-Ausdruck aus. Wenn daraus eine WIDE-Unicode-Zeichenfolge resultiert, wird sie in ANSI-Byte-Zeichen konvertiert. PUT$ schreibt dann den ANSI-String in die durch FileNum& angegebene Datei an der aktuellen Dateizeigerposition. GET$ , PUT$ und SEEK bieten eine Low-Level-Alternative zu sequentiellen und wahlfreien Dateiverarbeitungstechniken, die es Ihnen ermöglichen, Dateien byteweise zu verarbeiten.

Die Datei filenum& muss im Binärmodus geöffnet worden sein. Bytes werden ab der aktuellen Dateizeigerposition geschrieben, die mit der SEEK-Anweisung festgelegt werden kann. Wenn die Datei zum ersten Mal geöffnet wird, befindet sich der Zeiger am Anfang der Datei (standardmäßig Position 1, sofern nicht BASE=0 in der OPEN-Anweisung angegeben wurde). Nach PUT$ wird die Position des Dateizeigers automatisch auf den Punkt vorgerückt, der unmittelbar auf die gerade geschriebenen Daten folgt. Mit SEEK können Sie die Position des Dateizeigers abrufen oder ändern.

Dateinum&

Die Dateinummer, unter der die Datei geöffnet wurde.

StrgExpr

Ein Zeichenfolgenausdruck, der in die Datei geschrieben wird.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • GET ? PBXB64-Compiler-Hilfe
  • GET$
  • GET$$
  • OPEN
  • PUT ? PBXB64-Compiler-Hilfe
  • PUT$$
  • SEEK ? PBXB64-Compiler-Hilfe
  • SETEOF
  • WRITE# ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


PUT$$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PUT$$

Schreibt a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PUT$$ [#] filenum& , StrgExpr

Beschreibung

Schreibt a

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PUT$$ wertet zunächst den String-Ausdruck aus. Wenn daraus eine ANSI-Zeichenfolge resultiert, wird diese in WIDE-Unicode-Zeichen konvertiert. PUT$$ schreibt dann die WIDE-Zeichenfolge in die durch FileNum& angegebene Datei an der aktuellen Dateizeigerposition. GET$$ und PUT$$ bieten eine Low-Level-Alternative zu sequentiellen und wahlfreien Dateiverarbeitungstechniken, die es Ihnen ermöglichen, Dateien Zeichen für Zeichen zu verarbeiten.

PBXB64 verifiziert beide Pfade in examples/basic/test_get_put_wide_string.pb: Ein mit WCHR$ aufgebauter WSTRING wird geschrieben und mit ASCW-Codeunit-Pruefungen zurueckgelesen, und ein ANSI-STRING-Ausdruck wird ueber PUT$$ geschrieben und als WIDE-Codeunits zurueckgelesen.

Die Datei filenum& muss im Binärmodus geöffnet worden sein. Zeichen werden ab der aktuellen Dateizeigerposition geschrieben, die mit der SEEK-Anweisung festgelegt werden kann. Wenn die Datei zum ersten Mal geöffnet wird, befindet sich der Zeiger am Anfang der Datei (standardmäßig Position 1, sofern nicht BASE=0 in der OPEN-Anweisung angegeben wurde). Nach PUT$$ wird die Position des Dateizeigers automatisch auf den Punkt vorgerückt, der unmittelbar auf die gerade geschriebenen Daten folgt. Mit SEEK können Sie die Position des Dateizeigers abrufen oder ändern.

Dateinum&

Die Dateinummer, unter der die Datei geöffnet wurde.

StrgExpr

Ein Zeichenfolgenausdruck, der in die Datei geschrieben wird.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Datei-Themen sollen den benoetigten Oeffnungsmodus, die Arbeit auf Datensaetzen oder Bytes, die erforderliche Uebereinstimmung von Handles und Bereichen mit vorherigen Operationen sowie Cleanup- oder Entsperrschritte nennen. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • GET ? PBXB64-Compiler-Hilfe
  • GET$
  • GET$$
  • OPEN
  • PUT ? PBXB64-Compiler-Hilfe
  • PUT$
  • SEEK ? PBXB64-Compiler-Hilfe
  • SETEOF
  • WRITE# ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


Quad-Ganzzahlen (&&) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Quad-Ganzzahlen (&&)

Quad-Ganzzahlen sind 64-Bit-Ganzzahlen (8 Byte) mit Vorzeichen (doppelt so viele Bits wie Long-Ganzzahlen) mit einem Bereich von -9,22x10^18 bis 9,22x10^18 (-2^63 bis 2^63 -1). Das Typspezifizierzeichen f&uuml;r eine Quad-Ganzzahl

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Quad-Ganzzahlen sind 64-Bit-Ganzzahlen (8 Byte) mit Vorzeichen (doppelt so viele Bits wie Long-Ganzzahlen) mit einem Bereich von -9,22x10^18 bis 9,22x10^18 (-2^63 bis 2^63 -1). Das Typspezifizierzeichen für eine Quad-Ganzzahl

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Quad-Integer-Variablen werden identifiziert, indem dem Variablennamen zwei kaufmännische Und-Zeichen folgen (d. h. var&&) oder indem die DEFQUD-Anweisung verwendet wird, wie in der vorherigen Diskussion von Integers beschrieben. Sie können Quad-Integer-Variablen auch mit dem Schlüsselwort QUAD mit der DIM-Anweisung deklarieren. Zum Beispiel:

Obwohl eine Quad-Ganzzahl tatsächlich eine Genauigkeit von 19 Stellen hat, können mit STR$ nur 18 Stellen Genauigkeit „angezeigt“ werden. Ein 19-stelliger Wert wird bei Verwendung mit STR$ in wissenschaftlicher Schreibweise auf 18 Ziffern gerundet. STR$ arbeitet standardmäßig mit bis zu 16 signifikanten Ziffern, daher muss die erweiterte Form von STR$ (z. B. STR$( var ,18)) verwendet werden, um die 17. und 18. Ziffer einer Quad-Ganzzahl für Anzeigezwecke zu generieren.

Ein C/C++ LARGE_INTEGER und ein Delphi int64 entsprechen beide einer PowerBASIC Quad-Ganzzahl.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


RADIANS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

RADIANS

Wandelt einen Winkel von Grad in Bogenmass um.

Kategorie: Allgemeine Referenz

Syntax

IF ABS(RADIANS(180.0) - 3.141592653589793) > 0.0001 THEN FUNCTION = 1

Beschreibung

Wandelt einen Winkel von Grad in Bogenmass um.

Syntax: y = RADIANS( degrees )

Semantik

RADIANS multipliziert mit pi/180. Der Winkel wird nicht normalisiert und nicht gewrappt.

Datentypen

Alle normalen numerischen PB-Typen sowie INT/UINT128/256/512, UNL und UNF werden akzeptiert. Ergebnis: DOUBLE.


RAISEEVENT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

RAISEEVENT

Rufen Sie an

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

RAISEEVENT ObjVar . Method ()

Beschreibung

Rufen Sie an

Typ:Anweisung |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die RAISEEVENT-Anweisung wird verwendet, um Event-Handler-Code aus einer Ereignisquelle aufzurufen. RAISEEVENT darf nur innerhalb einer Klasse erscheinen, die die Event Source-Schnittstelle deklariert. Das Konzept von RAISEEVENT ist der CALL-Anweisung sehr ähnlich, es darf jedoch nur zur Ausführung von Ereignisprozeduren verwendet werden:

RaiseEvent Status.Progress(10) ' weist darauf hin, dass der Code zu 10 % fertig ist

Es ist zu beachten, dass RAISEEVENT überhaupt nicht auf eine Objektvariable verweist, da es alle direkten V-Table-Ereignishandler aufruft, die diese Ereignisse derzeit abonniert haben. Stattdessen verweist es auf den Schnittstellennamen (in diesem Fall „Status“), gefolgt vom Namen der auszuführenden Ereignismethode (in diesem Fall „Progress“). Wenn Ihr Programm einen Dispatch-Ereignishandler verwendet, sollten Sie stattdessen die OBJECT RAISEEVENT-Anweisung verwenden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CLASS/END CLASS
  • EREIGNISQUELLE
  • EREIGNISSE
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • Was ist COM?
  • OBJEKT
  • What Is An Object Anyway?
  • What Are Connection Points?
  • Hilfe zum PBXB64-Compiler


RATIONAL " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

RATIONAL " PBXB64-Compiler-Hilfe

16-Byte-Typ f&uuml;r rationale Zahlen, der einen exakten Bruch als zwei vorzeichenbehaftete 64-Bit-Ganzzahlen (Z&auml;hler und Nenner) speichert.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LOCAL  var AS RATIONAL
STATIC var AS RATIONAL
GLOBAL var AS RATIONAL

Beschreibung

16-Byte-Typ für rationale Zahlen, der einen exakten Bruch als zwei vorzeichenbehaftete 64-Bit-Ganzzahlen (Zähler und Nenner) speichert.

Typ: Datentyp | Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

RATIONAL ist ein 16-Byte-Typ rationaler Zahlen, der einen exakten Bruch als vorzeichenbehafteten 64-Bit-Zähler und als vorzeichenbehafteten 64-Bit-Nenner speichert. Es ist ideal für die exakte Arithmetik mit Brüchen (z. B. 1/3, 22/7), bei denen binäre Gleitkommazahlen den Wert nicht genau darstellen können.

Der Typ wird als Referenz (Zeiger) an Laufzeitfunktionen übergeben. Benutzen VARPTR(var) um die Adresse beim Aufruf der integrierten Konvertierungsfunktionen zu erhalten.

Integrierte Funktionen

Function | Unterschrift | Beschreibung
RATIONAL_FROM_INT | RATIONAL_FROM_INT(num, den, VARPTR(r)) | Bilden Sie aus Zähler und Nenner ein Rationales.
RATIONAL_TO_DOUBLE | d = RATIONAL_TO_DOUBLE(VARPTR(r)) | Konvertieren Sie einen rationalen Wert zurück in DOUBLE.
RATIONAL_ADD | RATIONAL_ADD(VARPTR(a), VARPTR(b), VARPTR(out)) | Fügen Sie zwei rationale Zahlen hinzu und speichern Sie das Ergebnis in out.

Description

RATIONAL documents PBXB64's rational-number helper surface. Use it only for the forms shown on the page or backed by focused tests.

Validation Evidence

Validation evidence: Documented helper surface; concrete arithmetic claims require focused validation tests.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL r1 AS RATIONAL
  LOCAL r2 AS RATIONAL
  LOCAL d AS DOUBLE

  ' Create 1/3 as a rational
  RATIONAL_FROM_INT(1, 3, VARPTR(r1))
  d = RATIONAL_TO_DOUBLE(VARPTR(r1))
  PRINT "RATIONAL(1/3)="; d

  ' Create 1/6 and add to 1/3
  RATIONAL_FROM_INT(1, 6, VARPTR(r2))
  RATIONAL_ADD(VARPTR(r1), VARPTR(r2), VARPTR(r1))
  d = RATIONAL_TO_DOUBLE(VARPTR(r1))
  PRINT "RATIONAL(1/3+1/6)="; d

  FUNCTION = 0
END FUNCTION

Siehe auch

  • DEC128 " PBXB64-Compiler-Hilfe
  • CBYT
  • GRUNDLEGENDE mathematische Funktionen
  • Hilfe zum PBXB64-Compiler


READ$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

READ$

Zeichenfolge abrufen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

value$ = READ$( n %)

Beschreibung

Zeichenfolge abrufen

Typ:Funktion |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die READ$-Funktion wird verwendet, um ein bestimmtes String-Datenelement aus einer lokalen DATA-Liste abzurufen und die Daten im String-Format zurückzugeben. READ$ bietet eine einfache Technik für den wahlfreien Zugriff auf lokale DATEN.

Ein Integralausdruck, eine Konstante oder eine Variable, die eine Indexposition in der lokalen DATA-Liste angibt. n% = 1 für das erste Datenelement, n% = 2 für das zweite und so weiter. READ$ greift auf die DATA-Anweisungen in der Reihenfolge zu, in der sie im Quellprogramm erscheinen, von links nach rechts.

Wenn n% größer als DATACOUNT ist, gibt READ$ eine leere Zeichenfolge zurück, es tritt jedoch kein Laufzeitfehler auf.

Wert$

READ$ platziert die DATA-Zeichenfolge in value$.

Wenn die Ziel-DATA-Anweisung in Anführungszeichen gesetzt ist, behält READ$ alle darin enthaltenen führenden oder nachgestellten Leerzeichen bei; andernfalls schneidet READ$ führende und nachfolgende Leerzeichen ab und gibt eine gekürzte Zeichenfolge zurück. Weitere Informationen zur Formatierung von Datenelementen finden Sie unter DATA.

Wenn numerische Daten in DATA-Anweisungen gespeichert und mit READ$ abgerufen werden müssen, kann die VAL-Funktion verwendet werden, um die Rückgabewerte von READ$ in numerische Werte umzuwandeln.

Einschränkungen

Es gibt eine Grenze von 64 Kilobyte und 16384 separaten Datenelementen pro Sub , Function , Method oder Property , und es ist nicht möglich, DATA von außerhalb des Umfangs der aktuellen Prozedur zu lesen. Für die Verwendung von Doppelpunkten und Unterstrichen in DATA-Anweisungen gelten Einschränkungen. Weitere Informationen finden Sie unter DATA.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DATEN
  • DATACOUNT
  • Hilfe zum PBXB64-Compiler


Reduzierung des Stapel-Overheads - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Reduzierung des Stapel-Overheads

Es kann vorkommen, dass Sie wiederholt einen sehr kleinen SUB aufrufen m&ouml;chten, und dies kann zu einer Situation f&uuml;hren, in der der normalerweise geringe Stapelaufwand tats&auml;chlich zu einem Faktor f&uuml;r die Geschwindigkeit des SUB wird

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Es kann vorkommen, dass Sie wiederholt einen sehr kleinen SUB aufrufen möchten, und dies kann zu einer Situation führen, in der der normalerweise geringe Stapelaufwand tatsächlich zu einem Faktor für die Geschwindigkeit des SUB wird

Typ:Schlüsselwort |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Um in solchen Fällen die Leistung zu steigern, bietet PowerBASIC die oft übersehenen GOSUB/RETURN-Anweisungen an, die anstelle eines Aufrufs eines SUB/END SUB-Blocks verwendet werden können. Wenn die Reduzierung des Stapel-Overheads von entscheidender Bedeutung ist, können Sie eine Beschriftung im Code unterhalb des Endes Ihres normalen Codes erstellen (aber immer noch innerhalb des aktuellen Unter-/Funktions-/Methoden-/Eigenschaftsblocks).

Anschließend können Sie den Inline-Assembler-Code vom Ziel-SUB übernehmen und ihn direkt nach dem Label platzieren. Abschließend wird eine RETURN-Anweisung hinzugefügt, sodass die Ausführung bei der nächsten Anweisung nach dem GOSUB fortgesetzt wird. Ein solcher Code würde etwa so aussehen:

FUNCTION MyFunc() SO LONG

' Inline-Assembler-Code

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


REGEXPR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

REGEXPR

Scannen Sie eine Zeichenfolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

REGEXPR mask$ IN target $ [AT start& ] TO iPos& [, iLen& ]

Beschreibung

Scannen Sie eine Zeichenfolge

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

REGEXPR durchsucht das Ziel $ nach einem passenden Ausdruck, der in mask$ angegeben ist. Wenn es gefunden wird, wird die Position der Übereinstimmung in der iPos&-Variablen (indiziert auf die erste Zeichenposition) und optional die Länge des übereinstimmenden Ausdrucks in iLen& zurückgegeben.

Wenn eine Übereinstimmung erzielt wird, können die Ergebnisse von iPos& und iLen& sofort mit nachfolgenden Zeichenfolgeoperationen wie MID$ verwendet werden, um den übereinstimmenden Teil von Ziel $ zu extrahieren und/oder die Suche im Rest von Ziel $ fortzusetzen. Wenn kein passender Ausdruck gefunden wird, werden sowohl iPos& (und iLen&, falls angegeben) auf Null gesetzt.

Wenn angegeben, beginnt die Suche an der Zeichenposition target & in target $; start& muss jedoch zwischen 1 und der Länge von target $ liegen. Wenn start& kleiner als 1 ist, wird der Parameter start& ignoriert.

Während es möglich ist, dass mehr als eine Übereinstimmung in einer bestimmten Zielzeichenfolge gefunden wird, wählt REGEXPR zunächst eine oder mehrere Übereinstimmungen aus, die ganz links beginnen, und gibt dann die längste davon zurück. Verwenden Sie den speziellen Escape-Operator \s, um eine Übereinstimmung mit der kürzesten Übereinstimmung zu erzwingen (siehe unten).

Die Operatoren ^ und $ stimmen sowohl mit dem tatsächlichen Anfang/Ende der Zeichenfolge als auch mit den vorherigen/nächsten eingebetteten Zeilentrennzeichen ( CHR$ (13,10) oder $CRLF ) im Ziel $ überein. Dadurch kann REGEXPR die Zielzeichenfolge $ so behandeln, als ob sie eine Reihe „logischer Textzeilen“ enthält. In dieser Situation spielt die Position des Start- und Zeichens eine entscheidende Rolle bei der Identifizierung der logisch begrenzten Zeile, die von REGEXPR untersucht werden soll.

Standardmäßig wird bei Suchausdrücken davon ausgegangen, dass die Groß-/Kleinschreibung nicht beachtet wird, sodass die Groß- und Kleinschreibung ignoriert wird.

Der in mask$ angegebene reguläre Ausdruck (Platzhalter) kann eine Kombination aus Standardtextzeichen und/oder den Metazeichen enthalten, die wie folgt definiert sind:

Definition

(Punkt) Entspricht jedem Zeichen außer dem Zeilenende.

(Caret) Entspricht der tatsächlichen Zeilenanfangsposition oder dem vorangehenden Zeilen-Trennzeichenpaar (CHR$(13,10) oder $CRLF), bezogen auf die Start- und Zeichenposition. Die Zeilentrennzeichen selbst sind nicht im iLen&-Ergebnis enthalten. (Siehe auch [^] unten für die Verwendung innerhalb einer Zeichenklassendefinition).

(Dollar) Entspricht der Zeilenendeposition, die entweder das erste Zeilentrennzeichenpaar (CHR$(13,10) oder $CRLF) sein kann, das bei der Suche rechts von der Start&-Position gefunden wird, oder das tatsächliche Ende der Ziel-$-Zeichenfolge, je nachdem, was zuerst auftritt. Die Zeilentrennzeichen selbst sind nicht im iLen&-Ergebnis enthalten.

(Stil) Gibt den Wechsel an (ODER-Operator), sodass ein Ausdruck auf beiden Seiten übereinstimmen kann. Die Priorität ist von links nach rechts, wie im Ausdruck anzutreffen.

(Fragezeichen) Gibt an, dass keine oder eine Übereinstimmung mit dem vorhergehenden Untermuster zulässig ist. Kann nicht mit einem Tag verwendet werden.

(Plus) Gibt an, dass eine oder mehrere Übereinstimmungen des vorhergehenden Untermusters zulässig sind. Kann nicht mit einem Tag verwendet werden.

(Sternchen) Gibt an, dass null oder mehr Übereinstimmungen mit dem vorhergehenden Untermuster zulässig sind. Kann nicht mit einem Tag verwendet werden.

Charakterklassen

(eckige Klammern) Identifiziert eine benutzerdefinierte Zeichenklasse, die mit jedem Zeichen übereinstimmt: [abc] entspricht a, b oder c. Innerhalb einer Klassendefinition werden nur drei spezielle Metazeichen erkannt: das Caret ^ für ergänzte Zeichen, der Bindestrich – für eine Reihe von Zeichen oder eine der folgenden \ Backslash-Escape-Sequenzen:

\\ \- \] \e \f \n \q \r \t \v \x##

Jede andere Verwendung eines Backslashs innerhalb einer Klassendefinition führt zu einer undefinierten Operation, die vermieden werden sollte.

(Bindestrich) Der Bindestrich identifiziert einen Bereich von zu vergleichenden Zeichen. Beispielsweise stimmt [a-f] mit a, b, c, d, e oder f überein.

Zeichen in einem einzelnen Bereich müssen in der natürlichen Reihenfolge auftreten, wie sie im Zeichensatz erscheinen. Beispielsweise wird [f-a] mit nichts übereinstimmen.

Zeichenlisten und ein oder mehrere Zeichenbereiche können in einer einzelnen Klassendefinition gemischt werden. Der Anfang und das Ende eines Bereichs können durch ein Literalzeichen oder eine der Backslash-Escape-Sequenzen \ angegeben werden:

\\ \- \] \e \f \n \q \r \t \v \x##

Jede andere Verwendung eines Backslashs innerhalb einer Klassendefinition führt zu einer undefinierten Operation.

Mehrere Bereiche in einer Klasse sind gültig. Beispielsweise entspricht [a-d2-5] a, b, c, d, 2, 3, 4 oder 5.

Wenn der Bindestrich maskiert ist, wird er als Literal behandelt. Beispielsweise ist [a\-c] eine Liste, kein Bereich, und stimmt aufgrund der Backslash-Escape-Sequenz \ mit a, - oder c überein.

(Caret) Wenn das Caret als erstes Element in einer Klassendefinition erscheint, identifiziert es eine ergänzte Zeichenklasse, die nicht übereinstimmt. Beispielsweise entspricht [^abc] jedem Zeichen außer a, b oder c.

Für die ergänzte Klasse kann auch ein Bereich angegeben werden. Beispielsweise entspricht [^a-z] jedem Zeichen außer a bis z.

Ein Caretzeichen, das sich an einer anderen Position als der ersten befindet, wird als Literalzeichen behandelt.

Tags/Untermuster

(Klammern) Klammern werden verwendet, um einen Tag oder ein Untermuster innerhalb des vollständigen Suchmusters zu finden und die Übereinstimmung zu speichern. Das übereinstimmende Untermuster kann später in der Maske (oder in einer Ersetzungsoperation mit REGREPL) mit \01 bis \99 abgerufen werden, basierend auf der Position der öffnenden Klammern von links nach rechts.

Klammern können auch verwendet werden, um den Vorrang der Auswertung mit dem Alternationsoperator zu erzwingen. Beispielsweise würde „(Begin)|(End)File“ entweder mit „BeginFile“ oder „EndFile“ übereinstimmen, aber ohne die Tag-Bezeichnungen würde „Begin|EndFile“ nur entweder mit „BeginndFile“ oder „BegiEndFile“ übereinstimmen.

Entkommene Charaktere

(Backslash) . Der Escape-Operator (Einzelzeichen-Anführungszeichen). Das folgende Zeichen wird als Literalwert behandelt und nicht als Sonderzeichen interpretiert. Beachten Sie, dass das Zeichen nach dem Backslash tatsächlich ein Sonderzeichen sein muss, wie folgt:

Eine Wortgrenze. Der Anfang oder das Ende eines Wortes, wobei ein Wort als ein oder mehrere Zeichen definiert ist, die ein alphabetisches Zeichen (A-Z oder a-z), ein numerisches Zeichen (0-9) und einen Unterstrich umfassen. Beispielsweise wird „abc_123“ als einzelnes Wort und „abc-123“ als zwei Wörter betrachtet.

Groß-/Kleinschreibung beachtende Suche. Ohne den \c-Operator wird beim Abgleich standardmäßig die Groß-/Kleinschreibung ignoriert. Im Gegensatz zu einigen anderen Implementierungen regulärer Ausdrücke wird die Groß-/Kleinschreibung bei allen Operationen berücksichtigt, sogar bei einem Zeichenbereich wie „[6-Z]“. Der \c-Operator kann an jeder Position in der Maske erscheinen.

Escape-Zeichen: CHR$(27) oder $ESC.

Formfeed-Zeichen: CHR$(12) oder $FF .

Zeilenvorschubzeichen (oder Zeilenumbruchzeichen): CHR$(10) oder $LF .

Doppelte Anführungszeichen ("): CHR$(34) oder $DQ . \q wird eingefügt, um die Einbindung in eine Literalzeichenfolge zu erleichtern. Beispiel: "\qHello\q".

Wagenrücklaufzeichen: CHR$(13) oder $CR .

Kürzestes Übereinstimmungszeichen: Das Flag \s bewirkt, dass die kürzeste übereinstimmende Zeichenfolge zurückgegeben wird und nicht die längste (Standardeinstellung). Wenn Sie beispielsweise in „abcdabcabc“ nach der Maske „abc.*abc“ suchen, würde die Standardeinstellung Position 1 und Länge 10 zurückgeben. Wenn der Schalter \s gesetzt ist, wird Position 1 und Länge 7 zurückgegeben. Diese Option kann zu einer leichten Verlängerung der Verarbeitungszeit führen. Das Flag \s muss am Anfang der Maskenzeichenfolge stehen.

Horizontales Tabulatorzeichen: CHR$(9) oder $TAB .

Vertikales Tabulatorzeichen: CHR$(11) oder $VT .

Hex-Zeichencode: Zeigt an, dass ein ASCII-Code folgt, der aus zwei hexadezimalen Ziffern besteht. Beispiel: \xFF = CHR$(&HFF) (entspricht CHR$(255)). XX muss im Bereich von 0 bis 255 liegen.

Einschränkungen

Um die Leistung zu maximieren, vermeiden Sie die übermäßige Verwendung der Zeichen *, + und ? Metazeichen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • REGREPL
  • Hilfe zum PBXB64-Compiler


REGISTER - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

REGISTER

Zu definieren

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

REGISTER variable [AS type ] [, variable [AS type ]]

Beschreibung

Zu definieren

Typ:Anweisung |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit der REGISTER-Anweisung werden bestimmte lokale Variablen als Registervariablen definiert, d. h. Variablen, die direkt in bestimmten CPU-Registern und nicht im Anwendungsspeicher gespeichert werden. Da auf Daten in einem CPU-Register viel schneller und mit weniger Code zugegriffen werden kann, sind Registervariablen wertvolle Optimierungswerkzeuge.

Registervariablen sind immer lokal für die Prozedur, in der sie erscheinen. In der aktuellen Version von PowerBASIC kann es bis zu zwei Variablen der Integralklasse (Wort/Dword/Integer/Long) und bis zu vier Gleitkommazahlen mit erweiterter Genauigkeit geben. Es ist möglich, dass zukünftige Versionen des Compilers diese Grenzwerte ändern, sodass Sie eine unbegrenzte Anzahl davon deklarieren können. Alle „zusätzlichen“ Registervariablen werden während der Kompilierung automatisch als lokale Variablen neu klassifiziert.

Mit der REGISTER-Anweisung können Sie auswählen, welche Variablen als Registervariablen klassifiziert werden. Wenn Sie in einem bestimmten Verfahren keine Auswahl treffen, wird der Compiler versuchen, die Auswahl für Sie zu treffen. Standardmäßig weist der Compiler immer alle verfügbaren lokalen Variablen der Integralklasse zu. Float-Variablen mit erweiterter Genauigkeit werden nur in Funktionen automatisch zugewiesen, die keine externen Funktionsaufrufe enthalten.

Registervariablen der Integralklasse sind am effizientesten für Variablen, die häufig aktualisiert oder verwendet werden, wie z. B. For/Next-Schleifenzählervariablen und Variablen, die wiederholt als Array-Indizes verwendet werden.

Gleitkomma-Registervariablen sollten im Allgemeinen mit etwas mehr Vorsicht ausgewählt werden, da der Compiler bei jedem Aufruf einer Prozedur Code generieren muss, um sie im konventionellen Speicher zu speichern und wiederherzustellen. In einigen eher seltenen Fällen ist es möglich, dass Gleitkomma-Registervariablen tatsächlich die Ausführungsgeschwindigkeit verringern. Sie sind jedoch äußerst wertvoll bei intensiven Gleitkommaberechnungen in Funktionen, die nur wenige Verweise auf andere Prozeduren haben.

Aufgrund des Designs von FPUs (Fließkommaeinheiten) und der verfügbaren Befehlssätze bietet die erste in Ihrem Programm deklarierte Float-Registervariable weitaus mehr Optimierungsmöglichkeiten als die anderen. Wählen Sie sorgfältig die Variable aus, die in Gleitkommaausdrücken am häufigsten verwendet wird (d. h. auf der rechten Seite des Zuweisungsoperators „=“), um den größten Vorteil bei der Ausführungsgeschwindigkeit zu erzielen. Denken Sie außerdem daran, dass es in der Regel sinnvoll ist, Registervariablen Gleitkommakonstanten zuzuweisen, wenn diese in sich wiederholenden oder intensiven Berechnungen verwendet werden.

Bei Inline-Assembler-Gleitkomma-Opcodes in Funktionen, die Registervariablen aktivieren, müssen Sie vorsichtig sein. Gleitkomma-Registervariablen können bis zu vier der FPU-Register belegen, daher müssen Sie die Verwendung der x87-Register auf die verbleibenden vier beschränken. Darüber hinaus darf im Inline-Assembler-Code niemals namentlich auf Gleitkomma-Registervariablen verwiesen werden, da der Compiler die Registerpositionen nicht immer mit absoluter Sicherheit verfolgen kann.

Einschränkungen

VARPTR kann nicht für eine Registervariable verwendet werden.

PowerBASIC verhindert transparent die automatische Registerkonvertierung der in der TO-Klausel der Anweisungen DIALOG SHOW MODAL und DIALOG SHOW MODELESS verwendeten Variablen. Wenn die Zielvariable explizit als Registervariable deklariert ist, löst PowerBASIC beim Kompilieren den Fehler 491 („Ungültige Registervariable“) aus. Dies ist notwendig, da die in solchen Variablen gespeicherten Ergebniswerte aus dem Kontext anderer Prozeduren zugewiesen werden können und dies nur mit einer Speichervariablen erfolgen darf.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Siehe auch

  • Anhang C: Optimieren Ihres Codes - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


Register - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Register

Register sind ein spezieller Arbeitsbereich innerhalb des Prozessors. Register sind schneller als Speicheroperanden und f&uuml;r die Zusammenarbeit mit den Opcodes des Prozessors konzipiert.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Register sind ein spezieller Arbeitsbereich innerhalb des Prozessors. Register sind schneller als Speicheroperanden und für die Zusammenarbeit mit den Opcodes des Prozessors konzipiert.

Typ:Schlüsselwort |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Register in einem Intel- oder kompatiblen Prozessor sind beim Schreiben von Assembler eine sehr begrenzte Ressource. Im Wesentlichen gibt es acht Allzweckregister: EAX, EBX, ECX, EDX, ESI, EDI, ESP und EBP. In den meisten Fällen sollten ESP und EBP ungenutzt bleiben, da PowerBASIC sie für den Ein- und Ausgang von Prozeduren verwendet.

Das bedeutet, dass Sie in Ihrem Assemblercode sechs 32-Bit-Register sowie alle anderen für die Prozedur nützlichen Speicherorte verwenden können. ESI und EDI können in den meisten Fällen auf normale Weise verwendet werden, auf keines davon kann jedoch auf Byte-Ebene zugegriffen werden. Sie können das Low-WORD von ESI als SI und das Low-WORD von EDI als DI lesen.

Bei der Verwendung von Assembler ist es sehr wichtig, die Größe der Register und die Daten zu kennen, die Sie darin platzieren können. Ein 32-Bit-Intel-Prozessor oder ein kompatibler Prozessor verfügt über drei native Datengrößen, die von den normalen Integralanweisungen verwendet werden können: BYTE, WORD und DWORD, entsprechend 8-Bit, 16-Bit und 32-Bit.

Dies kann in der HEX-Notation dargestellt werden.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Register speichern - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Register speichern

Beim Schreiben von Assembler-Code in 32-Bit-Windows gibt es eine Konvention, die die Verwendung von Registern regelt, damit Programmierer vorhersehbar und v&ouml;llig zuverl&auml;ssig mit den Windows-API-Funktionen interagieren k&ouml;nnen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Beim Schreiben von Assembler-Code in 32-Bit-Windows gibt es eine Konvention, die die Verwendung von Registern regelt, damit Programmierer vorhersehbar und völlig zuverlässig mit den Windows-API-Funktionen interagieren können

Typ:Schlüsselwort |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Allerdings stellen die bei einem 80x86-Prozessor verfügbaren Register eine sehr begrenzte Ressource dar und werden von jeder laufenden Anwendung (Prozess) und auch vom Betriebssystem selbst genutzt. Daher ist eine zuverlässige Methode zur Verwendung von Registern für das Schreiben zuverlässigen Assemblercodes sehr wichtig.

Ein 80x86-Prozessor verfügt über acht allgemeine Integralregister: EAX, EBX, ECX, EDX, ESI, EDI, ESP und EBP. Von diesen werden ESP und EBP fast ausschließlich zur Verwaltung des Ein- und Ausstiegs in eine Prozedur verwendet, sodass praktisch nur sechs Allzweckregister für die Programmierung auf Anwendungsebene verfügbar sind.

Anschließend teilt die Windows-Konvention die verbleibenden Register auf, sodass drei (EAX, ECX und EDX) innerhalb der Sub-Funktion/Methode/Eigenschaft, die sie verwendet, frei geändert werden können, während die anderen drei durch die Prozedur erhalten bleiben müssen (EBX, ESI und EDI). Im Rahmen dieser Diskussion bezeichnen wir diese beiden Sätze als Scratch- bzw. Volatile-Register.

Zusammenfassend lässt sich sagen, dass PowerBASIC EBX, ESI und EDI automatisch auf Prozedurebene beibehält, der Programmierer jedoch dafür verantwortlich ist, sowohl die Scratch- als auch die flüchtigen Register innerhalb der Prozedur beizubehalten.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


REGISTERKARTE "STEUERUNG HINZUFÜGEN" - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

REGISTERKARTE "STEUERUNG HINZUFÜGEN" - Hilfe zum PBXB64-Compiler

F&uuml;gen Sie ein Tab-Steuerelement zu einem hinzu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD TAB, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD TAB, hDlg, id&, "",90,90,200,90, , , CALL PBCallback()

Beschreibung

Fügen Sie ein Tab-Steuerelement zu einem hinzu

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachrichten reagiert.

UI-Prüfung

Dialog- und Control-Seiten sollen das Control erzeugen, den dokumentierten Befehl anwenden und den geänderten Zustand über Getter, Notification oder sichtbares Ergebnis prüfen. Prüfen Sie Handle-Gültigkeit, bevor Nachrichten gesendet werden.

Nachrichten- und Lebensdauerregeln

Dokumentieren Sie Besitzerfenster, Control-ID, Lebensdauer von Child-Handles und ob der Befehl vor oder nach dem Anzeigen des Dialogs gültig ist.

x64-Hinweise

Verwenden Sie zeigergroße Handles und speichern Sie HWND, HDC oder Callback-Zeiger nicht in 32-Bit-Variablen.

PBXB64-Umsetzungshinweise

STEUERUNG REGISTERKARTE HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG REGISTERKARTE HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET FONT
  • TAB DELETE
  • Hilfe zum PBXB64-Compiler


REGREPL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

REGREPL

Scannen Sie eine Zeichenfolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

REGREPL mask$ IN target $ WITH repl$ [AT start& ] TO iPos& , newtarget$

Beschreibung

Scannen Sie eine Zeichenfolge

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

REGREPL durchsucht das Ziel $ nach einem passenden regulären Ausdruck, der in mask$ angegeben ist. Wenn eine Übereinstimmung erzielt wird, ersetzt REGREPL den übereinstimmenden Text durch den Inhalt von repl$ und weist den neuen Text newtarget$ zu. Darüber hinaus legt REGREPL iPos& so fest, dass es die Zeichenposition widerspiegelt, die unmittelbar auf den übereinstimmenden Text in newtarget$ folgt, sodass der Vorgang bei Bedarf wiederholt werden kann.

Wenn kein passender Ausdruck gefunden wird, wird iPos& auf Null gesetzt und newtarget$ erhält eine direkte Kopie von target$ . In beiden Fällen bleibt target$ unverändert.

mask$ darf Literalzeichen und Metazeichen (Platzhalter) enthalten, um den regulären Ausdruck zu bilden, und repl$ darf nur Literalzeichen und Tags enthalten, die durch \## angegeben werden. Jedes Tag von \01 bis \99 wird durch den Text ersetzt, der tatsächlich mit diesem Tag übereinstimmt. \00 wird durch den gesamten übereinstimmenden Text ersetzt.

Wenn angegeben, beginnt die Suche an der Zeichenposition start& in target$ ; start& muss jedoch zwischen 1 und der Länge von target$ liegen. Wenn start& kleiner als 1 ist, wird der Parameter start& ignoriert.

Während es möglich ist, dass mehr als eine Übereinstimmung in einer bestimmten Zielzeichenfolge gefunden wird, wählt REGREPL zunächst eine oder mehrere Übereinstimmungen aus, die ganz links beginnen, und gibt dann die längste davon zurück. Verwenden Sie den speziellen Escape-Operator \s, um eine Übereinstimmung mit der kürzesten Übereinstimmung zu erzwingen (siehe unten).

Die Operatoren ^ und $ stimmen sowohl mit dem tatsächlichen Anfang/Ende der Zeichenfolge als auch mit den vorherigen/nächsten eingebetteten Zeilentrennzeichen ( CHR$ (13,10) oder $CRLF ) in target$ überein. Dadurch kann REGREPL die Zeichenfolge target$ so behandeln, als ob sie eine Reihe „logischer Textzeilen“ enthält. In dieser Situation spielt die Position des Start- und Zeichens eine entscheidende Rolle bei der Identifizierung der logischen Trennlinie, die von REGREPL untersucht werden soll.

Standardmäßig wird bei Suchausdrücken davon ausgegangen, dass die Groß-/Kleinschreibung nicht beachtet wird, sodass die Groß- und Kleinschreibung ignoriert wird.

Der in mask$ angegebene reguläre Ausdruck (Platzhalter) kann eine Kombination aus Standardtextzeichen und/oder den Metazeichen enthalten, die wie folgt definiert sind:

Definition

(Punkt) Entspricht jedem Zeichen außer dem Zeilenende.

(Caret) Entspricht der tatsächlichen Zeilenanfangsposition oder dem vorangehenden Zeilen-Trennzeichenpaar (CHR$(13,10) oder $CRLF), bezogen auf die Start- und Zeichenposition. Die Zeilentrennzeichen selbst werden nicht durch repl$ ersetzt. (Siehe auch [^] unten für die Verwendung innerhalb einer Zeichenklassendefinition).

(Dollar) Entspricht der Zeilenendeposition, bei der es sich entweder um das erste Zeilentrennzeichenpaar (CHR$(13,10) oder $CRLF) handeln kann, das bei der Suche rechts von der Start&-Position gefunden wird, oder um das tatsächliche Ende der Ziel$-Zeichenfolge, je nachdem, was zuerst auftritt. Die Zeilentrennzeichen selbst werden nicht durch repl$ ersetzt.

(Stil) Gibt den Wechsel an (ODER-Operator), sodass ein Ausdruck auf beiden Seiten übereinstimmen kann. Die Priorität ist von links nach rechts, wie im Ausdruck anzutreffen.

(Fragezeichen) Gibt an, dass keine oder eine Übereinstimmung mit dem vorhergehenden Untermuster zulässig ist. Kann nicht mit einem Tag verwendet werden.

(Plus) Gibt an, dass eine oder mehrere Übereinstimmungen des vorhergehenden Untermusters zulässig sind. Kann nicht mit einem Tag verwendet werden.

(Sternchen) Gibt an, dass null oder mehr Übereinstimmungen mit dem vorhergehenden Untermuster zulässig sind. Kann nicht mit einem Tag verwendet werden.

Charakterklassen

(eckige Klammern) Identifiziert eine benutzerdefinierte Zeichenklasse, die mit jedem Zeichen übereinstimmt: [abc] entspricht a, b oder c. Innerhalb einer Klassendefinition werden nur drei spezielle Metazeichen erkannt: das Caretzeichen (^) für ergänzte Zeichen, der Bindestrich (-) für einen Zeichenbereich oder eine der folgenden Backslash-Escape-Sequenzen:

\\ \- \] \e \f \n \q \r \t \v \x##

Jede andere Verwendung eines Backslashs innerhalb einer Klassendefinition führt zu einer undefinierten Operation, die vermieden werden sollte.

(Bindestrich) Der Bindestrich identifiziert einen Bereich von zu vergleichenden Zeichen. Beispielsweise stimmt [a-f] mit a, b, c, d, e oder f überein.

Zeichen in einem einzelnen Bereich müssen in der natürlichen Reihenfolge auftreten, wie sie im Zeichensatz erscheinen. Beispielsweise wird [f-a] mit nichts übereinstimmen.

Zeichenlisten und ein oder mehrere Zeichenbereiche können in einer einzelnen Klassendefinition gemischt werden. Der Anfang und das Ende eines Bereichs können durch ein Literalzeichen oder eine der Backslash-Escape-Sequenzen \ angegeben werden:

\\ \- \] \e \f \n \q \r \t \v \x##

Jede andere Verwendung eines Backslashs innerhalb einer Klassendefinition führt zu einer undefinierten Operation.

Mehrere Bereiche in einer Klasse sind gültig. Beispielsweise entspricht [a-d2-5] a, b, c, d, 2, 3, 4 oder 5.

Wenn der Bindestrich maskiert ist, wird er als Literal behandelt. Beispielsweise ist [a\-c] eine Liste, kein Bereich, und stimmt aufgrund der Backslash-Escape-Sequenz \ mit a, - oder c überein.

(Caret) Wenn das Caret als erstes Element in einer Klassendefinition erscheint, identifiziert es eine ergänzte Zeichenklasse, die nicht übereinstimmt. Beispielsweise entspricht [^abc] jedem Zeichen außer a, b oder c.

Für die ergänzte Klasse kann auch ein Bereich angegeben werden. Beispielsweise entspricht [^a-z] jedem Zeichen außer a bis z.

Ein Caretzeichen, das sich an einer anderen Position als der ersten befindet, wird als Literalzeichen behandelt.

Tags/Untermuster

(Klammern) Klammern werden verwendet, um einen Tag oder ein Untermuster innerhalb des vollständigen Suchmusters zu finden und die Übereinstimmung zu speichern. Das passende Untermuster kann später in der Maske oder in einer Ersetzungsoperation mit \01 bis \99 abgerufen werden, basierend auf der Position der öffnenden Klammern von links nach rechts.

Klammern können auch verwendet werden, um den Vorrang der Auswertung mit dem Alternationsoperator zu erzwingen. Beispielsweise würde „(Begin)|(End)File“ entweder mit „BeginFile“ oder „EndFile“ übereinstimmen, aber ohne die Tag-Bezeichnungen würde „Begin|EndFile“ nur entweder mit „BeginndFile“ oder „BegiEndFile“ übereinstimmen.

Hinweis: Klammern dürfen nicht mit ? verwendet werden. + *, da jede Übereinstimmungswiederholung dazu führen kann, dass der Tag-Wert mehrdeutig ist. Um wiederholte Ausdrücke abzugleichen, verwenden Sie Klammern gefolgt von \01*.

Entkommene Charaktere

(Backslash) . Der Escape-Operator (Einzelzeichen-Anführungszeichen). Das folgende Zeichen wird als Literalwert behandelt und nicht als Sonderzeichen interpretiert. Beachten Sie, dass das Zeichen nach dem Backslash tatsächlich ein Sonderzeichen sein muss, wie folgt:

Eine Wortgrenze. Der Anfang oder das Ende eines Wortes, wobei ein Wort als ein oder mehrere Zeichen definiert ist, die ein alphabetisches Zeichen (A-Z oder a-z), ein numerisches Zeichen (0-9) und einen Unterstrich umfassen. Beispielsweise wird „abc_123“ als einzelnes Wort und „abc-123“ als zwei Wörter betrachtet.

Groß-/Kleinschreibung beachtende Suche. Ohne den \c-Operator wird beim Abgleich standardmäßig die Groß-/Kleinschreibung ignoriert. Im Gegensatz zu einigen anderen Implementierungen regulärer Ausdrücke wird die Groß-/Kleinschreibung bei allen Operationen berücksichtigt, sogar bei einem Zeichenbereich wie „[6-Z]“. Der \c-Operator kann an jeder Position in der Maske erscheinen.

Escape-Zeichen: CHR$(27) oder $ESC .

Formfeed-Zeichen: CHR$(12) oder $FF .

Zeilenvorschubzeichen (oder Zeilenumbruchzeichen): CHR$(10) oder $LF .

Doppelte Anführungszeichen ("): CHR$(34) oder $DQ . \q wird eingefügt, um die Einbindung in eine Literalzeichenfolge zu erleichtern. Beispiel: "\qHello\q".

Wagenrücklaufzeichen: CHR$(13) oder $CR .

Kürzestes Übereinstimmungszeichen: Das Flag \s bewirkt, dass die kürzeste übereinstimmende Zeichenfolge zurückgegeben wird und nicht die längste (Standardeinstellung). Wenn Sie beispielsweise in „abcdabcabc“ nach der Maske „abc.*abc“ suchen, würde die Standardeinstellung Position 1 und Länge 10 zurückgeben. Wenn der Schalter \s gesetzt ist, wird Position 1 und Länge 7 zurückgegeben. Diese Option kann zu einer leichten Verlängerung der Verarbeitungszeit führen. Das \S-Flag muss am Anfang der Maskenzeichenfolge stehen.

Horizontales Tabulatorzeichen: CHR$(9) oder $TAB .

Vertikales Tabulatorzeichen: CHR$(11) oder $VT .

Hex-Zeichencode: Zeigt an, dass ein ASCII-Code folgt, der aus zwei hexadezimalen Ziffern besteht. Beispiel: \xFF = CHR$(&HFF) (entspricht CHR$(255)). XX muss im Bereich von 0 bis 255 liegen.

Tag-Nummer: Wird als Zeichen ausgewertet, die mit der Tag-Nummer ## übereinstimmen (wobei ## im Bereich von 01 bis 99 liegt, in Dezimalzahl). Tags werden implizit von 01 bis 99 nummeriert, basierend auf der Position der linken Klammer von links nach rechts. „( )w\01“ würde mit „abcwabc“ oder „456w456“ übereinstimmen.

Tags können nicht vorwärtsverwiesen werden. Das heißt, wenn auf ein Tag verwiesen wird, das noch nicht definiert ist, wird davon ausgegangen, dass es keine Übereinstimmung gibt.

Einschränkungen

Um die Leistung zu maximieren, vermeiden Sie die übermäßige Verwendung der Zeichen *, + und ? Metazeichen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • REGEXPR
  • Hilfe zum PBXB64-Compiler


REM - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

REM

Geben Sie an, dass der Rest einer Zeile in Quellcodedateien als Bemerkung oder Kommentar betrachtet und aus dem kompilierten Code ausgeschlossen werden soll.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

REM comment text
' comment text
; comment in an Inline Assembler statement

Beschreibung

Geben Sie an, dass der Rest einer Zeile in Quellcodedateien als Bemerkung oder Kommentar betrachtet und aus dem kompilierten Code ausgeschlossen werden soll.

Typ:Anweisung |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der PowerBASIC-Compiler ignoriert Bemerkungen; Sie beanspruchen keinen Platz in Ihrem generierten Code, also verwenden Sie sie reichlich – nützliche Kommentare erhöhen die Lesbarkeit und Wartbarkeit des Quellcodes erheblich.

Kommentartext ist eine beliebige Zeichenfolge. Ein Kommentar kann in einer Zeile mit anderen Anweisungen stehen, er muss jedoch das letzte Element in dieser Zeile sein und ihm muss ein Doppelpunkt vorangehen. Beispielsweise wird die folgende Zuweisung nicht kompiliert oder ausgeführt, da der Compiler nicht erkennen kann, wo der Kommentar endet und die Anweisung beginnt:

REM addiert nun die Zahlen: a = b + c

Folgendes funktioniert:

a = b + c : REM addiere nun die Zahlen

Der Apostroph (') ist eine alternative Form von REM. Wenn Sie einen Apostroph verwenden, ist kein Doppelpunkt erforderlich, um die Bemerkung von den anderen Anweisungen in derselben Zeile zu trennen.

Wenn Sie den Inline-Assembler verwenden, verwenden Sie das Semikolon (;), um anzugeben, dass der Rest der Zeile ignoriert werden soll. Für Kommentare kann jedoch weiterhin ein Apostroph ( ' ) verwendet werden.

Die fokussierte PBXB64-Validierung prueft vollstaendige REM-Zeilen, inline : REM, Apostroph-Kommentare ausserhalb von Stringliteralen, Kommentare auf der Zielzeile einer fortgesetzten Anweisung, Ausdrucksmakros mit nachgestellten Kommentaren und Semikolon-Kommentare im Inline-Assembler.

Darüber hinaus behandelt der Compiler Text, der nach dem Zeilenfortsetzungszeichen erscheint, als Bemerkung. Wir empfehlen jedoch weiterhin, solchen Kommentaren ein REM- oder Apostroph-Symbol ( ' ) voranzustellen, um Bemerkungen klar vom eigentlichen Code zu unterscheiden. Zum Beispiel:

DECLARE FUNCTION Call32& _ Der Prototyp

LIB „CALL32.DLL“ _ Der DLL-Name

ALIAS "Call32" _ ' Der exportierte Name

(Param1 AS ANY, _ ' 1. Parameter

BYVAL id&) ' 2. Parameter

In Situationen, in denen ein großer Codeabschnitt REM-ausgeschnitten werden muss (und dennoch in der Quellcodedatei erhalten bleibt), ist es oft einfacher, den Code mit #IF 0/#ENDIF-Metaanweisungen einzuschließen. Zum Beispiel:

#IF 0 ' Die folgenden Zeilen ausschließen

Code und Text zwischen #IF 0 und #ENDIF

Metaanweisungen werden vom Compiler ignoriert.

DIM a$(1 TO 1000) ' Diese Zeile wird ebenfalls ignoriert.

INCR x& ' Wie ist diese Zeile!

#ENDIF

Da der #IF-Ausdruck als falsch (Null) ausgewertet wird, zwingt dies den Compiler dazu, den eingeschlossenen Codeblock vom Kompilierungsprozess auszuschließen, genau so, als ob jeder Zeile eine REM-Anweisung vorangestellt worden wäre.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Lange Schlangen
  • Hilfe zum PBXB64-Compiler


REMACRO - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

REMACRO

Ersetzt den K&ouml;rper und die Parameterliste eines vorhandenen Makros.

Kategorie: Allgemeine Referenz

Syntax

REMACRO macroname [( prm1 , prm2 , ...)] = replacementtext
REMACRO macroname [( prm1 , prm2 , ...)]
  [MACROTEMP ident1 [, ident2 , ...]]
  { replacementtext }
  END MACRO

Beschreibung

Ersetzt den Körper und die Parameterliste eines vorhandenen Makros.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

REMACRO definiert ein vorhandenes Makro neu. Das Makro muss bereits mit MACRO oder MACRO FUNCTION definiert worden sein; andernfalls meldet der Compiler einen Fehler. Sowohl einzeilige als auch mehrzeilige Formen werden unterstützt. Parameterlisten und MACROTEMP-Deklarationen werden ersetzt.

REMACRO aktiviert außerdem ein Makro wieder, das zuvor durch UNMACRO deaktiviert wurde.

PBXB64-Hinweise

Abgedeckt durch tests/pb/test_pp_remacro_unmacro.pb, einschließlich Ersetzung und erneuter Aktivierung nach UNMACRO.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


REMAIN$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

REMAIN$

Gibt den Teil einer Zeichenfolge zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

a$ = REMAIN$([ Start ,] MainStr , [ANY] MatchStr )

Beschreibung

Gibt den Teil einer Zeichenfolge zurück

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

REMAIN$ ist eine Ergänzung zur EXTRACT$-Funktion. MainStr wird nach der in MatchStr angegebenen Zeichenfolge durchsucht. Wenn gefunden, werden alle Zeichen nach MatchStr zurückgegeben. Wenn MatchStr in MainStr nicht vorhanden ist oder einer der String-Parameter null ist, wird ein null (Null-Länge) zurückgegeben.

Start ist eine optionale Startposition, um mit der Suche zu beginnen. Wenn Start nicht angegeben ist, wird Position 1 verwendet. Wenn Start Null ist, wird eine Nullzeichenfolge zurückgegeben. Wenn Start negativ ist, wird die Startposition von rechts nach links gezählt: Wenn -1, beginnt die Suche beim letzten Zeichen; wenn -2, der vorletzte und so weiter.

Wenn das Schlüsselwort ANY enthalten ist, gibt MatchStr eine Liste einzelner Zeichen an, nach denen einzeln gesucht werden soll. Eine Übereinstimmung mit einem dieser Zeichen führt dazu, dass die Operation bis zu diesem Zeichen ausgeführt wird.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • EXTRACT$
  • LEFT$ ? PBXB64-Compiler-Hilfe
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • MID$ ? PBXB64-Compiler-Hilfe
  • REMOVE$
  • REPLACE ? PBXB64-Compiler-Hilfe
  • RIGHT$ ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • TALLY " PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • ÃœBERPRÃœFEN " Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


REMOVE$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

REMOVE$

Gibt eine Kopie einer Zeichenfolge zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x$ = REMOVE$( MainString , [ANY] MatchString )

Beschreibung

Gibt eine Kopie einer Zeichenfolge zurück

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die REMOVE$-Funktion besteht aus folgenden Teilen:

MainString

Der Zeichenfolgenausdruck, aus dem Zeichen entfernt werden sollen.

MatchString

Der Zeichenfolgenausdruck, von dem alle Vorkommen entfernt werden sollen. Wenn MatchString nicht in MainString vorhanden ist, wird der gesamte MainString intakt zurückgegeben.

Wenn das Schlüsselwort ANY enthalten ist, gibt MatchString eine Liste einzelner Zeichen an, nach denen einzeln gesucht werden soll. Eine Übereinstimmung mit einem dieser Zeichen führt dazu, dass dieses Zeichen aus dem Ergebnis entfernt wird.

Einschränkungen

Bei REMOVE wird die Groß-/Kleinschreibung beachtet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CLIP$
  • EXTRACT$
  • INSTR ? PBXB64-Compiler-Hilfe
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • MID$ ? PBXB64-Compiler-Hilfe
  • REPLACE ? PBXB64-Compiler-Hilfe
  • RETAIN$
  • RIGHT$ ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • SHRINK$
  • TALLY " PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • UNWRAP$
  • ÃœBERPRÃœFEN " Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


REPEAT$ - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

REPEAT$ - Hilfe zum PBXB64-Compiler

Gibt eine Zeichenfolge zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = REPEAT$( count& , string_expr )

Beschreibung

Gibt eine Zeichenfolge zurück

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die REPEAT$-Funktion besteht aus folgenden Teilen:

zählen&

Ist ein Integralausdruck, eine Konstante oder eine Variable, der die Anzahl der Kopien von string_expr angibt, die in das Ergebnis einbezogen werden sollen. REPEAT$ ist STRING$ sehr ähnlich (das mehrere Kopien eines einzelnen Zeichens erstellt).

string_expr

Die zu duplizierende Zeichenfolge.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BUILD$
  • CHR$
  • GUID$
  • NUL$
  • SPACE$ - Hilfe zum PBXB64-Compiler
  • STRING$ - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


RESET - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

RESET

Legen Sie einen Skalar fest (kein Array)

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

RESET variable [, ...]
RESET array() [, ...]
RESET array(index) [, ...]

Beschreibung

Legen Sie einen Skalar fest (kein Array)

Typ:Anweisung |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn die Variable numerisch ist, wird sie auf Null gesetzt. Wenn die Variable eine dynamische Zeichenfolge ist, wird sie auf null („“; eine leere Zeichenfolge)“ gesetzt. Wenn es sich bei der Variablen um eine mit NULL endende Zeichenfolge handelt, wird das erste Byte auf NULL ( $NUL ) gesetzt. Wenn die Variable eine Zeichenfolge fester Länge oder ein benutzerdefinierter Typ/Union ist, werden alle Bytes in der Variablen auf Null oder CHR$ (0) gesetzt. Wenn die Variable eine Variante ist, wird sie gelöscht und auf den Datentyp %VT_EMPTY gesetzt.

Wenn array() numeric ist, werden alle Elemente auf Null gesetzt; andernfalls werden alle Elemente auf Null/Null gesetzt. Wenn in den Klammern ein Array-Indexwert angegeben wird, wird nur dieses Array-Element auf Null/Null gesetzt, als wäre es eine skalare Variable (keine Array-Variable).

RESET funktioniert auch mit absoluten Arrays und löscht den Inhalt auf Nullen oder leere Zeichenfolgen. Weitere Informationen zu absoluten Arrays finden Sie in der DIM-Anweisung.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ARRAYATTR
  • DIM ? PBXB64-Compiler-Hilfe
  • ERASE
  • LET
  • LET-Anweisung (mit Typen)
  • LET-Anweisung (mit Varianten)
  • REDIM ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


RESOURCE SAVE FILE ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

RESOURCE SAVE FILE ? PBXB64-Compiler-Hilfe

Schreibt eine eingebettete Ressource in eine Datei.

Kategorie: Allgemeine Referenz

Syntax

RESOURCE SAVE FILE "Typ", ResID, "Dateiname"

Beschreibung

Schreibt eine eingebettete Ressource in eine Datei.

Typ:Anweisung |Kategorie:Datei- und Ressourcen-E/A

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] f?r BITMAP, ICON, CURSOR und RCDATA.

Parameter

  • Typ - Ein Zeichenfolgenliteral oder -ausdruck mit dem Ressourcentyp. Unterst?tzt werden "BITMAP", "ICON", "CURSOR" und "RCDATA".
  • ResID - Die numerische Ressourcen-ID, die im zugeh?rigen #RESOURCE-Metabefehl verwendet wurde.
  • Dateiname - Pfad der zu erstellenden oder zu ?berschreibenden Ausgabedatei.

Beschreibung

RESOURCE SAVE FILE extrahiert eine mit #RESOURCE eingebettete Ressource und schreibt die Rohbytes in die angegebene Datei. Damit lassen sich Bin?rdaten, Symbole oder Cursor aus der ausf?hrbaren Datei auspacken.

Die Anweisung liefert keinen R?ckgabewert. Wenn die Ressource nicht gefunden wird oder die Datei nicht erstellt werden kann, schl?gt der Vorgang stillschweigend fehl.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


RESOURCE$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

RESOURCE$

Gibt vordefinierte Werte zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

r $ = RESOURCE$(RCDATA, ResID )
s$$ = RESOURCE$(STRING, ResID% )

Beschreibung

Gibt vordefinierte Werte zurück

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] für RCDATA- und STRING-Ressourcen.

Beschreibung

Sie können Daten mit der Metaanweisung #RESOURCE in Ihre EXE- oder DLL-Datei einbetten. Während die Daten in verschiedenen Datentypen dargestellt werden können, sind zwei so konzipiert, dass sie direkt für Ihre eigenen Zwecke abgerufen werden können: RCDATA und STRING. In beiden Fällen werden diese Daten als Zeichenfolge variabler Länge zurückgegeben, sodass Sie sie bearbeiten und nach Ihren Wünschen verwenden können. Die spezifische Ressource, die Sie abrufen möchten, wird durch die ResID angegeben. Wenn die von Ihnen angeforderte ID nicht vorhanden ist, wird eine Null-Zeichenfolge (Null-Länge) zurückgegeben.

RCDATA

Diese Ressource enthält Rohdaten jeglicher Art. Es wird immer Byte für Byte gespeichert, so wie es ursprünglich zum Zeitpunkt der Kompilierung erstellt wurde. Im Allgemeinen sollte dieser Datentyp einer ANSI-Stringvariablen zugewiesen werden, damit keine Unicode-Konvertierungen durchgeführt werden. Die ResID, die diese Ressource identifiziert, kann ein numerischer Wert zwischen 0 und 65535 oder eine alphanumerische Bezeichnung sein, die als Zeichenfolgenausdruck (Zeichenfolgenliteral, Variable usw.) an die Funktion übergeben wird.

STRING

Diese Ressource enthält vordefinierte Zeichenfolgen in einer Zeichenfolgentabelle. Jede Zeichenfolge wird durch eine Ressourcen-ID-Nummer im Bereich von 0 bis 65535 identifiziert. Diese Nummer wird als ResID% verwendet, um zu bestimmen, welche Zeichenfolge abgerufen wird. Aufgrund des Formats, in dem Windows die Zeichenfolgen in Tabellen speichert, dürfen nur ganzzahlige numerische IDs verwendet werden. Alle Ressourcenzeichenfolgen werden intern im breiten Unicode-Format gespeichert.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • #RESSOURCE
  • Hilfe zum PBXB64-Compiler


RETAIN$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

RETAIN$

Gibt eine Zeichenfolge zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

sResult$ = RETAIN$( mainstr$ , [ANY] matchstr$ )

Beschreibung

Gibt eine Zeichenfolge zurück

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

RETAIN$ gibt eine Zeichenfolge zurück, die aus null oder mehr Kopien des vollständigen Ausdrucks matchstr$ besteht, die in mainstr$ gefunden werden. Alle anderen Zeichen werden entfernt.

Wenn die Option ANY enthalten ist, gibt matchstr$ eine Liste einzelner Zeichen an, die beibehalten werden sollen, wenn sie in mainstr$ gefunden werden.

Einschränkungen

Wenn matchstr$ ein leerer String ist, gibt RETAIN$ einen leeren String zurück.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • EXTRACT$
  • REMAIN$
  • REMOVE$
  • REPLACE ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


RETURN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

RETURN

R&uuml;ckkehr von einem (

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Rückkehr von einem (

Typ:Anweisung |Kategorie: Procedures

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

RETURN beendet eine GOSUB-Unterroutine und uebergibt die Kontrolle an die Anweisung direkt nach dem aufrufenden GOSUB.

RETURN FLUSH entfernt die aktive GOSUB-Ruecksprungadresse, und der Programmablauf wird nach der RETURN FLUSH-Anweisung normal fortgesetzt. PBXB64 meldet RETURN FLUSH als Kompilierfehler, wenn kein aktiver GOSUB-Ruecksprungpunkt vorhanden ist.

PBXB64 verfolgt den aktiven GOSUB-Ruecksprungpunkt als vom Compiler erzeugten Kontrollflusszustand. Ein einfaches RETURN verzweigt zu dieser gespeicherten Fortsetzung und erhaelt die Bereinigung verschachtelter Anweisungen. RETURN FLUSH verwirft den offenen Ruecksprungpunkt bewusst und ist nur gueltig, solange ein solcher Punkt existiert; die negative Regression stellt sicher, dass der Compiler die Anweisung ausserhalb dieses Kontextes abweist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • CALL
  • GOSUB � PBXB64-Compiler-Hilfe
  • GOTO
  • BEI FEHLER ? PBXB64-Compiler-Hilfe
  • SUB/END SUB-Anweisungen ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


RGB - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

RGB

Erstellen Sie ein RGB

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

result& = RGB( red& , green& , blue& )
result& = RGB( bgrexpr& )

Beschreibung

Erstellen Sie ein RGB

Typ:Funktion |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein RGB-Wert ist ein langer ganzzahliger Wert im Bereich von 0 bis &H00FFFFFF. Es wird verwendet, um verschiedenen PowerBASIC-Funktionen und Windows-API-Funktionen eine sehr genaue Farbe anzugeben. Die untersten drei Bytes des Werts geben jeweils die Intensität einer Primärfarbe an, die zusammen die resultierende Farbe bilden. Byte 1 (unterstes) stellt die rote Komponente dar, Byte 2 die grüne und Byte 3 die blaue Komponente. Sie können jeweils einen Wert im Bereich von 0 bis 255 annehmen. Byte 4 (höchstes) ist immer 0. Bei Verwendung mit 3 Parametern erzeugt die Funktion RGB() aus den drei Komponentenwerten einen RGB-Wert.

Einige Windows-API-Funktionen, insbesondere solche, die auf Device Independent Bitmaps (DIB) verweisen, erfordern, dass die Farben in umgekehrter Reihenfolge angegeben werden (Blau-Grün-Rot statt Rot-Grün-Blau). Um die Leistung und Ausführungsgeschwindigkeit zu maximieren, verwenden PowerBASIC-Anweisungen und -Funktionen, die auf diese Strukturen verweisen, auch das BGR-Format. Dazu gehören GRAPHIC GET BITS und GRAPHIC SET BITS .

Bei Verwendung mit einem Parameter übersetzt diese Funktion einen BGR-Wert in sein RGB-Äquivalent, indem sie das erste Byte mit dem dritten Byte austauscht und das Ergebnis zurückgibt.

Der BGR-Wert von Rot beträgt beispielsweise &HFF0000. RGB() übersetzt es in &H0000FF. Der Aufruf von BGR() mit diesem Wert konvertiert ihn zurück in &HFF0000.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Built In RGB Color Equates
  • BGR
  • Hilfe zum PBXB64-Compiler


RMDIR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

RMDIR

L&ouml;schen Sie ein Festplattenverzeichnis (wie der DOS-Befehl RMDIR).

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

RMDIR path

Beschreibung

Löschen Sie ein Festplattenverzeichnis (wie der DOS-Befehl RMDIR).

Typ:Anweisung |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Pfad ist ein Verzeichnispfad, der eine Laufwerksspezifikation enthalten kann. RMDIR löscht das durch path angegebene Verzeichnis.

Diese Anweisung funktioniert wie die DOS-Befehle „RMDIR“ oder „RD“. Wie bei den DOS-Befehlen muss der Pfad ein gültiges, leeres Verzeichnis angeben, das nicht das Standardverzeichnis (aktuell) ist. Andernfalls tritt ein Laufzeitfehler 75 auf („Pfad-/Dateizugriffsfehler“).

RMDIR kann lange Dateinamen (LFNs) verwenden.

PBXB64 senkt RMDIR path$ auf den eingebetteten Helfer bestof_rmdir ab. Dieser ruft die Win32-API RemoveDirectoryA auf.

Einschränkungen

Die fokussierte PBXB64-Zertifizierung deckt das Entfernen leerer temporaerer Verzeichnisse ab. Nichtleere Verzeichnisse, Entfernen des aktuellen Verzeichnisses, Unicode-Pfade, ungueltige Pfade und PBWin-ERR-Paritaet bleiben breitere Datei-/Pfad-Kompatibilitaetsarbeit.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • CHDIR
  • KILL
  • MKDIR
  • Hilfe zum PBXB64-Compiler


ROTATE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ROTATE

Drehen Sie die Bits in einer ganzzahligen Klasse

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ROTATE {LEFT | RIGHT} ivar , count

Beschreibung

Drehen Sie die Bits in einer ganzzahligen Klasse

Typ:Anweisung |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ivar muss einer der Variablentypen der Integralklasse sein: Byte, Word, Integer, Double-word, Long-integer oder Quad-integer. count ist die Anzahl der Bits, um die ivar rotiert werden soll. ROTATE dreht alle Bits in ivar ohne besondere Berücksichtigung des Vorzeichenbits einer vorzeichenbehafteten Integralklassenvariablen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BITS
  • BIT
  • SHIFT
  • Hilfe zum PBXB64-Compiler


RSET$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

RSET$

Gibt eine Zeichenfolge zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

a$ = RSET$( string_expression , strlen& [USING ustring_expression ])

Beschreibung

Gibt eine Zeichenfolge zurück

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] für LSET$/RSET$-Funktionsformen und LSET/RSET USING; abgedeckt durch test_lset_rset_functions und test_lset_rset_using

Beschreibung

RSET$ richtet die Zeichenfolge string_expression rechtsbündig in eine Zeichenfolge mit strlen&-Zeichen aus.

Wenn ustring_expression null (leer) ist oder nicht angegeben ist, füllt RSET$ string_expression mit Leerzeichen auf. Andernfalls füllt RSET$ die Zeichenfolge mit dem ersten Zeichen von ustring_expression auf und verwendet weiterhin strlen& als Ergebnisbreite.

Wenn string_expression kürzer als strlen& ist, richtet RSET$ string_expression innerhalb der zugewiesenen String-Variablen ( a$ ) rechtsbündig aus und füllt die linke Seite wie oben beschrieben auf; andernfalls gibt RSET$ die strlen&-Bytes ganz links von string_expression zurück.

Bei der Funktionsform ist das optionale USING-Argument eine Fuellzeichenfolge. Bei der Anweisungsform RSET target = value USING mask wird die Maske als Feldbreitenangabe behandelt: & laesst die Zeichenfolge unveraendert, ! erzeugt ein Einzelzeichen, und alle anderen Maskenzeichen bestimmen die Ausgabebreite. Die vollstaendigen PowerBASIC-Maskensemantiken (richtungsabhaengige </> und zentrierte \...\) sind vereinfacht auf Links-/Rechtsausrichtung entsprechend der verwendeten Anweisung.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CSET$ ? PBXB64-Compiler-Hilfe
  • GET ? PBXB64-Compiler-Hilfe
  • LET
  • LSET$
  • PUT ? PBXB64-Compiler-Hilfe
  • RESET
  • STRINSERT$
  • TYPE SET
  • Hilfe zum PBXB64-Compiler


RUN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

RUN

Startet einen Kindprozess und gibt dessen Exit-Code zurueck.

Kategorie: Allgemeine Referenz

Syntax

exitCode& = RUN(command$)

Beschreibung

Startet einen Kindprozess und gibt dessen Exit-Code zurueck.

Typ: Runtime method | Kategorie: System

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED] fuer den fokussierten synchronen Start mit Exit-Code-Rueckgabe.

Beschreibung

RUN wird auf den eingebetteten Laufzeithelfer bestof_run gesenkt. PBXB64 startet den Befehl als Windows-Kindprozess, wartet auf dessen Ende und gibt den Exit-Code zurueck. Wenn der Prozess nicht gestartet werden kann, gibt der fokussierte Laufzeitvertrag -1 zurueck.

Praktische Verwendung

Verwenden Sie RUN fuer kleine, synchron pruefbare Befehle, bei denen der Prozess vor der Rueckgabe sauber beendet sein muss. Waehlen Sie einen Befehl, dessen Exit-Code und Nebenwirkungen im Test eindeutig beobachtbar bleiben.

Prozessverhalten

RUN startet den Befehl, wartet auf dessen Ende und schreibt den Exit-Code in den Zielausdruck zurueck.

Fehlerhinweise

Wenn die Prozesserzeugung fehlschlaegt, liefert der fokussierte Vertrag -1. Das Beispiel sollte daher einen Befehl verwenden, der auf dem Testsystem vorhanden ist.

Geprueftes Beispiel

Beispieldatei: examples/basic/test_delay_run_sysinfo.pb

Validierungsnachweis: In tests/validate.toml als test_delay_run_sysinfo registriert; fokussierte pb_linkrun-Validierung belegt die Weitergabe des Exit-Codes.

Einschraenkungen

Breitere PB-kompatible Formen fuer Shell-Quoting, Sichtbarkeit, No-Wait und Fehlerpolitik werden hier nicht beansprucht.

Fehlerfaelle

Wenn die Prozesserzeugung fehlschlaegt, liefert RUN -1. Shell-Quoting, Arbeitsverzeichnis und Verfuegbarkeit des Befehls sollten deshalb in einem eigenen Testfall stabil gemacht werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Rückrufe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Rückrufe

Ein Callback ist eine Funktion, die von Windows aufgerufen wird, wenn ein Ereignis eintritt. Wenn der Benutzer im vorherigen Beispiel eines modalen Dialogs auf die Schaltfl&auml;che &#8222;OK&ldquo; klickt, ruft Windows die Funktion &#8222;OkButton()&ldquo; auf. PowerBASICs D

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Callback ist eine Funktion, die von Windows aufgerufen wird, wenn ein Ereignis eintritt. Wenn der Benutzer im vorherigen Beispiel eines modalen Dialogs auf die Schaltfläche „OK“ klickt, ruft Windows die Funktion „OkButton()“ auf. PowerBASICs D

Typ:Schlüsselwort |Kategorie: Procedures

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Wenn Sie Visual Basic verwendet haben, sind Sie mit dem Konzept eines Control Callbacks vertraut, auch wenn es nicht so heißt. Ein Steuerrückruf ist eine Funktion, die aufgerufen wird, wenn ein %WM_COMMAND- oder %WM_NOTIFY-Ereignis für ein bestimmtes Steuerelement generiert wird. Im vorherigen Beispiel haben wir es so angeordnet, dass die Funktion OkButton() aufgerufen wurde, wenn auf die Schaltfläche OK geklickt wurde. Außerdem wurde beim Klicken auf die Schaltfläche „Abbrechen“ die Funktion „CancelButton()“ aufgerufen. Eine Control Callback-Funktion wird aktiviert, wenn Sie am Ende eine CONTROL ADD-Anweisung mit der Option CALL CtlProc ausführen.

CONTROL ADD BUTTON, hDlg, %IDOK, "OK", 34, 32, 40, 14, %BS_DEFAULT ODER %WS_TABSTOP CALL OkButton

CONTROL ADD BUTTON, hDlg, %IDCANCEL, "Cancel", 84, 32, 40, 14 CALL CancelButton

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Saving the Source Code - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Saving the Source Code

To save the PowerBASIC compatible source code, simply click the Save As button or select File -> Save As from the menu and the source code displayed in the Source Code view will be saved to disk. You

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

To save the PowerBASIC compatible source code, simply click the Save As button or select File -> Save As from the menu and the source code displayed in the Source Code view will be saved to disk. You

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The selected text in the Source Code window can also be save to the Windows clipboard, by selecting Edit -> Copy.

The PowerBASIC COM Browser User Interface

Back to command index


SAY - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SAY

SAPI-Sprachausgabe

Kategorie: Allgemeine Referenz

Syntax

SAY text$ TO result&

Beschreibung

SAPI-Sprachausgabe

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

SAY ist die eigene Seite fuer die getestete Sprachausgabe-Anweisung. PBXB64 senkt sie auf den eingebetteten SAPI/COM-Laufzeitpfad ab, uebergibt den angeforderten Text an die Sprachausgabe und speichert den Rueckgabecode in der vom Aufrufer uebergebenen Ergebnisvariablen.

Diese Seite dokumentiert einen getesteten Laufzeithelfer mit direktem Befehls-Lookup. Halten Sie das Beispiel auf die echte Aufrufform und den Rueckgabewert fokussiert.

Aufrufhinweise

Verwenden Sie SAY, wenn Sie einen sichtbaren Laufzeitpfad und einen Statuswert brauchen, nicht gepufferte Konsolenausgabe. Die fokussierte Validierung liefert 0 bei Erfolg und -1, wenn SAPI oder COM nicht verwendet werden koennen.

Fehlerfaelle

  • Wenn SAPI oder COM nicht verfuegbar ist, liefert der Laufzeitpfad -1 und das Beispiel dokumentiert diesen Rueckfall explizit.
  • Behandeln Sie SAY nicht als Konsolenausgabe; es ist ein Sprachausgabe-Helfer mit numerischem Rueckgabevertrag.

Grenzen

Hier wird nur das getestete PBXB64-Verhalten dokumentiert. Weitere Kodierungen, Objektformen, Netzwerkzustaende oder kryptografische Richtlinien benoetigen eigene Tests, bevor die Hilfeaussagen erweitert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SCAN$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SCAN$

Gibt das erste Zeichen in MainString zurueck, das auch in MatchString vorkommt.

Kategorie: Allgemeine Referenz

Syntax

result$ = SCAN$( MainString , MatchString )

Beschreibung

Gibt das erste Zeichen in MainString zurueck, das auch in MatchString vorkommt.

Kind: Funktion | Category: String-Funktionen

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Beschreibung

Gibt das erste Zeichen in MainString zurueck, das auch in MatchString vorkommt. SCAN$ durchlaeuft MainString von links nach rechts und gibt das erste Quellzeichen zurueck, das auch in MatchString vorhanden ist.

Praktische Verwendung

Verwenden Sie SCAN$, wenn Sie eine schnelle Mengenpruefung brauchen, die das passende Zeichen selbst und nicht nur eine Position zurueckgibt.

Parameter und Ergebnisse

Argumente muessen den Datentypen, der Reihenfolge und den optionalen Teilen aus dem Syntaxblock folgen. Initialisieren Sie Zielvariablen vor dem Aufruf, damit unveraenderte Werte nach einem Fehler sichtbar bleiben.

Einschränkungen

Wenn MainString oder MatchString leer ist, ist das Ergebnis leer.

Verhalten

SCAN$ durchlaeuft MainString von links nach rechts und gibt das erste Quellzeichen zurueck, das auch in MatchString vorhanden ist.

Das Ergebnis ist eine ein Zeichen lange Zeichenfolge. Wenn kein Quellzeichen zur Menge passt, liefert SCAN$ eine leere Zeichenfolge.

Der Vergleich ist fuer die aktuelle ANSI-String-Oberflaeche byteorientiert und unterscheidet Gross- und Kleinschreibung.

Verwendungshinweise

Verwenden Sie SCAN$, wenn Sie eine schnelle Mengenpruefung brauchen, die das passende Zeichen selbst und nicht nur eine Position zurueckgibt.

Wiederholte Zeichen in MatchString veraendern das Ergebnis nicht. Das erste passende Quellzeichen gewinnt.

Grenzfaelle

Wenn MainString oder MatchString leer ist, ist das Ergebnis leer.

Wenn Sie eine Position brauchen, verwenden Sie INSTR. Wenn Sie einen Zaehler brauchen, verwenden Sie TALLY. Wenn Sie die erste nicht passende Position brauchen, verwenden Sie VERIFY.

Test- und Dokumentationshinweise

Mit tests/pb/test_string_scan_tally_verify.pb kompiliert und ausgefuehrt; Exitcode 0.

Validierungsbeleg

Mit tests/pb/test_string_scan_tally_verify.pb kompiliert und ausgefuehrt; Exitcode 0. SCAN$(src, setchars)

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex


Schaltfläche "Hinzufügen" in der Symbolleiste - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Schaltfläche "Hinzufügen" in der Symbolleiste - Hilfe zum PBXB64-Compiler

A

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TOOLBAR ADD BUTTON hDlg , ID , image& , cmd& , style& , text$ [AT item& ] [CALL callback ]
TOOLBAR ADD SEPARATOR hDlg , ID , size& [, cmd& ] [AT item& ]
TOOLBAR DELETE BUTTON hDlg , id& , [BYCMD] item&
TOOLBAR GET STATE hDlg , ID , [BYCMD] item& TO datav&
TOOLBAR GET COUNT hDlg , ID TO datav&
TOOLBAR SET IMAGELIST hDlg , ID , hLst , ListType&
TOOLBAR SET STATE hDlg , ID , [BYCMD] item& , state&

Beschreibung

A

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein TOOLBAR-Steuerelement enthält eine oder mehrere Schaltflächen, von denen jede normalerweise einem Menüelement entspricht. Es wird im Allgemeinen oben im Clientbereich eines Dialogs platziert. Wenn der Benutzer eine Schaltfläche in der Symbolleiste „drückt“, reagiert das Programm auf die gleiche Weise, als ob der Befehl aus einem Menü ausgewählt worden wäre. Es dient lediglich als Verknüpfung zu allgemeinen Menübefehlen.

In jeder der folgenden Beschreibungen wird auf die TOOLBAR durch das Dialoghandle ( hDlg ) und die ID& verwiesen. In manchen Fällen wird eine bestimmte Schaltfläche mit dem Parameter item& ausgewählt. Wenn die Option BYCMD enthalten ist, gibt item& die Befehls-ID-Nummer der zu verwendenden Schaltfläche an. Wenn nicht, beschreibt item& die Schaltfläche anhand ihrer Position in der Symbolleiste. Da Trennzeichen vom Betriebssystem als eine besondere Klasse von Schaltflächen betrachtet werden, müssen sie bei der Berechnung einer Positionselementnummer gezählt werden. Positionen werden immer auf eins indiziert (1=erste, 2=zweite usw.).

TOOLBAR-TASTE HINZUFÜGEN hdlg , ID , image& , cmd& , style& , text$ [AT item& ] [CALL callback ]

Dieser Symbolleiste wurde eine Schaltfläche hinzugefügt. Das anzuzeigende Bild wird anhand des Parameters image& (1=erstes, 2=zweite usw.) aus der angehängten IMAGELIST ausgewählt. Der Parameter cmd& gibt die Befehls-ID-Nummer an, die ausgeführt werden soll (mit %WM_COMMAND), wenn die Schaltfläche gedrückt wird. Der Parameter style& beschreibt den Stil der Schaltfläche anhand der folgenden am häufigsten verwendeten Attribute:

%BTNS_AUTOSIZE

Die Breite der Schaltfläche wird vom System anhand des Textes und des Bildes berechnet.

%BTNS_BUTTON

Der Knopf verhält sich wie ein normaler Druckknopf.

%BTNS_CHECK

Die Schaltfläche verfügt über einen Dual-Status, der bei jedem Klick zwischen dem gedrückten und dem nicht gedrückten Zustand umschaltet.

%BTNS_GROUP

Definiert eine Gruppe von Schaltflächen. In Kombination mit dem Häkchenstil wird eine Schaltfläche erstellt, die gedrückt bleibt, bis eine andere Schaltfläche in der Gruppe gedrückt wird. Dies ähnelt einer Optionsschaltfläche oder einem Optionsfeld.

%BTNS_CHECKGROUP

Eine Kombination aus Karo- und Gruppenstilen.

%BTNS_DROPDOWN

Erstellt eine Dropdown-Schaltfläche, die beim Klicken eine Liste anzeigen kann. Dropdown-Schaltflächen senden eine %TBN_DROPDOWN-Benachrichtigung anstelle von %WM_COMMAND.

%BTNS_NOPREFIX

Dem Schaltflächentext ist kein Beschleunigerpräfix zugeordnet.

Der Parameter text$ gibt den Text an, der auf der Schaltfläche angezeigt werden soll.

Wenn die optionale „AT item&“-Klausel enthalten ist, wird die Schaltfläche an der angegebenen Position eingefügt (1=erste, 2=zweite usw.). Andernfalls wird es am Ende der Liste hinzugefügt.

Wenn die optionale Klausel „CALL callback“ enthalten ist, gibt sie den Namen einer Callback-Funktion an, die %WM_COMMAND-Nachrichten empfängt, wenn auf die Schaltfläche geklickt wird. Wenn nicht angegeben, werden diese Befehlsnachrichten an den in DIALOG SHOW angegebenen Dialog-Callback gesendet. Mithilfe der Nachrichtenweiterleitung nach Schaltfläche können Sie leicht feststellen, welche Schaltfläche das Ereignis ausgelöst hat.

Wenn die Callback-Funktion eine Nachricht verarbeitet, sollte sie TRUE (ungleich Null) zurückgeben, um zu verhindern, dass die Nachricht unnötigerweise an den Dialog-Callback (sofern vorhanden) übergeben wird. Der Dialogrückruf sollte auch TRUE zurückgeben, wenn die Benachrichtigungsnachricht von dieser Rückruffunktion verarbeitet wird. Andernfalls verarbeitet die DDT-Engine nicht verarbeitete Nachrichten.

Symbolleiste Trennzeichen hinzufügen HDlg, ID, Größe& [, cmd&] [AT-Element&]

Dieser Symbolleiste wird ein Trennzeichen hinzugefügt. Es trennt zwei Schaltflächen durch die in size& angegebene Anzahl von Pixeln. Es kann verwendet werden, um zwei benachbarte Schaltflächengruppen (%tbstyle_group) zu trennen und zu unterscheiden oder einfach nur das visuelle Erscheinungsbild zu verbessern. Wenn der optionale Parameter cmd& enthalten ist, handelt es sich um eine eindeutige numerische Kennung für dieses Trennzeichen. Natürlich kann ein Trennzeichen nicht wie eine Taste gedrückt werden, sodass es nicht im wahrsten Sinne des Wortes das Senden eines Befehls ermöglicht. Es kann jedoch später mit einer BYCMD-Option in TOOLBAR DELETE, TOOLBAR SET STATE usw. verwendet werden. Wenn die Klausel „AT item&“ enthalten ist, wird das Trennzeichen an der angegebenen Position eingefügt (1=erste, 2=zweite usw.). Andernfalls wird es am Ende der Liste hinzugefügt.

TOOLBAR-LÖSCHE-TASTE hdlg , ID , [BYCMD] item&

Eine durch item& angegebene Schaltfläche oder ein Trennzeichen wird aus der Symbolleiste gelöscht. Der Parameter item& kann positionell sein oder eine Befehls-ID-Nummer mit BYCMD darstellen.

TOOLBAR GET COUNT hdlg , ID to datav&

Die Anzahl der Schaltflächen (und Trennzeichen) auf der Symbolleiste wird abgerufen und der durch datav& angegebenen langen Ganzzahlvariablen zugewiesen.

TOOLBAR STATUS ERHALTEN hdlg , ID , [BYCMD] item& TO datav&

Die Zustandsdeskriptorbits für eine bestimmte Schaltfläche werden abgerufen und der durch datav& bezeichneten Variablen zugewiesen. Der Parameter item& gibt an, welche Schaltfläche überprüft werden soll – es kann sich um eine Position oder um die Befehls-ID-Nummer handeln, wenn sie mit BYCMD verwendet wird. Die Deskriptorbits können aus einem oder mehreren der folgenden bestehen:

%TBSTATE_DISABLED

Die Schaltfläche ist deaktiviert und ausgegraut. (Wert=0)

%TBSTATE_CHECKED

Die Schaltfläche ist aktiviert.

%TBSTATE_PRESSED

Der Knopf wird gedrückt.

%TBSTATE_ENABLED

Die Schaltfläche ist aktiviert.

%TBSTATE_HIDDEN

Die Schaltfläche ist ausgeblendet.

%TBSTATE_INDETERMINATE

Die Schaltfläche ist unbestimmt und ausgegraut.

%TBSTATE_MARKED

Die Schaltfläche ist hervorgehoben.

TOOLBAR SET IMAGELIST hdlg , ID , hLst , type&

Die von hLst angegebene IMAGELIST wird an dieses TOOLBAR-Steuerelement angehängt. Der Wert von ListType& gibt den Typ von IMAGELIST an:

Standardbilder

Deaktivierte Bilder

Heiße Bilder

Die in der IMAGELIST enthaltenen grafischen Bilder werden auf den Schaltflächen der Symbolleiste angezeigt. An jedes TOOLBAR-Steuerelement können bis zu drei IMAGELIST-Strukturen angehängt werden. Das anzuzeigende Bild wird durch die in TOOLBAR ADD BUTTON vorgenommene Spezifikation und den aktuellen Status der Schaltfläche bestimmt. Wenn das TOOLBAR-Steuerelement zerstört wird, werden alle angehängten IMAGELIST automatisch zerstört.

TOOLBAR SET STATE hDlg , ID , [BYCMD] item& , state&

Die Zustandsdeskriptorbits für die angegebene Schaltfläche werden aus dem Ausdruck state& angewendet. Der Parameter item& gibt an, welche Schaltfläche eingestellt werden soll – es kann sich um eine Position oder um die Befehls-ID-Nummer handeln, wenn sie mit BYCMD verwendet wird. Die Deskriptorbits state& können bestehen aus:

%TBSTATE_DISABLED

Die Schaltfläche ist deaktiviert und ausgegraut. (Wert=0)

%TBSTATE_CHECKED

Die Schaltfläche ist aktiviert.

%TBSTATE_PRESSED

Der Knopf wird gedrückt.

%TBSTATE_ENABLED

Die Schaltfläche ist aktiviert.

%TBSTATE_HIDDEN

Die Schaltfläche ist ausgeblendet.

%TBSTATE_INDETERMINATE

Die Schaltfläche ist unbestimmt und ausgegraut.

%TBSTATE_MARKED

Die Schaltfläche ist hervorgehoben.

PBXB64-Implementierungshinweise

PBXB64 implementiert und regressionstests TOOLBAR ADD BUTTON, ADD SEPARATOR, DELETE BUTTON, GET COUNT, GET STATE, SET IMAGELIST und SET STATE mit eingebetteten Common-Control-Laufzeithelfern. ADD BUTTON und ADD SEPARATOR unterstützen das Anhängen und einsbasierte AT-Einfügung; DELETE BUTTON, GET STATE und SET STATE unterstützen die Positions- und BYCMD-Elementauswahl; GET COUNT gibt die tatsächliche Anzahl der Symbolleistenschaltflächen/Trennzeichen zurück. Diese Formulare werden durch test_toolbar_separator.pb, test_toolbar_set_imagelist.pb und test_toolbar_button_state.pb abgedeckt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • Dynamic Dialog Tools (DDT)
  • STEUERUNG SYMBOLLEISTE HINZUFÜGEN
  • CONTROL SET FONT
  • IMAGELIST BITMAP HINZUFÜGEN
  • Hilfe zum PBXB64-Compiler


SCHRIFTART NEU - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SCHRIFTART NEU

Erstellen Sie eine neue Schriftart zur Verwendung mit CONTROL

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FONT NEW fontname$ [, points! , style& , charset& , pitch& , escapement& ] TO fhndl
Modern font (Pica, Courier...)

Beschreibung

Erstellen Sie eine neue Schriftart zur Verwendung mit CONTROL

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Dies ist die bevorzugte Methode zum Erstellen und Spezifizieren von Schriftarten in PowerBASIC. Mit FONT NEW können Sie im Voraus eine Gruppe von Schriftarten erstellen und mithilfe von CONTROL SET FONT, GRAPHIC SET FONT und XPRINT SET FONT problemlos zwischen ihnen wechseln.

Wenn die angeforderte Schriftart auf dem Computer nicht verfügbar ist, sucht Windows nach einer Ersatzschriftart, die den angegebenen Attributen (CharSet, Schriftfamilie usw.) ähnelt.

Sie können den Wert Null (0) für jeden der numerischen Parameter verwenden, um anzugeben, dass der Compiler den Standardwert für dieses Element verwenden soll. Wenn Parameter fehlen, ersetzt der Compiler alle verbleibenden Parameter durch den Standardwert.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CONTROL SET FONT
  • FONT END
  • GRAFIKDRUCK
  • GRAFIK-SET-SCHRIFTART
  • XPRINT PRINT
  • XPRINT SET FONT
  • Hilfe zum PBXB64-Compiler


SCROLLBAR SEITENGRÖSSE ERHALTEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SCROLLBAR SEITENGRÖSSE ERHALTEN

Manipulate a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SCROLLBAR GET PAGESIZE hDlg , id& TO datav&
SCROLLBAR GET POS hDlg , id& TO datav&
SCROLLBAR GET RANGE hDlg& , id& TO LoDatav& , HiDatav&
SCROLLBAR GET TRACKPOS hDlg , id& TO datav&
SCROLLBAR SET PAGESIZE hDlg , id& , pagesize&
SCROLLBAR SET POS hDlg , id& , position&
SCROLLBAR SET RANGE hDlg , id& , lolimit& , hilimit&

Beschreibung

Manipulate a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In jedem der folgenden Beispiele und Beschreibungen wird das SCROLLBAR-Steuerelement, das Gegenstand der Anweisung ist, durch das Handle des Dialogfelds identifiziert, das Eigentümer der ScrollBar ist ( hDlg ), und durch den eindeutigen Steuerelementbezeichner, den Sie ihm bei der Erstellung in CONTROL ADD SCROLLBAR gegeben haben. Um die Farbe des Balkens oder des Hintergrunds zu ändern, verwenden Sie CONTROL SET COLOR .

SCROLLBAR GET PAGESIZE hdlg , id& TO datav&

Die aktuelle Seitengröße der ScrollBar wird abgerufen und der durch datav& bezeichneten Variablen zugewiesen. Bei der Erstellung der ScrollBar beträgt die Standardseitengröße 10.

SCROLLBAR GET POS hdlg , id& TO datav&

Die aktuelle Position der ScrollBar wird abgerufen und der durch datav& bezeichneten Variablen zugewiesen. Bei der Erstellung der ScrollBar ist die Standardposition 0.

SCROLLBAR GET RANGE hdlg , id& TO LoDatav& , HiDatav&

Der aktuelle Bereich der ScrollBar wird abgerufen und den durch LoDatav& und HiDatav& bezeichneten Variablen zugewiesen. Bei der ScrollBar-Erstellung liegt der standardmäßige ScrollBar-Bereich zwischen 0 und 100.

SCROLLBAR GET TRACKPOS hdlg , id& TO datav&

Die aktuelle Position des vom Benutzer gezogenen Bildlauffelds wird abgerufen und der durch datav& angegebenen Variablen zugewiesen. Dies wird normalerweise gelesen, während auf die Meldungen %SB_THUMBPOSITION oder %SB_THUMBTRACK reagiert wird. Der TRACKPOS wird dann verwendet, um die Bildlaufposition mit SCROLLBAR SET POS zu verschieben.

SCROLLBAR SET SEITENGRÖSSE hdlg , id& , seitengröße&

Die aktuelle Seitengröße der ScrollBar wird auf den Wert des Parameters pagesize& gesetzt und die Leiste wird neu gezeichnet, um die neue Position widerzuspiegeln.

SCROLLBAR SET POS hDlg , id& , position&

Die aktuelle Position der ScrollBar wird auf den Wert des Parameters position& gesetzt und die Leiste wird neu gezeichnet, um die neue Position widerzuspiegeln.

SCROLLBAR SET RANGE hdlg , id& , lolimit& , hilimit&

Der Bereich für die ScrollBar ist von lolimit& bis hilimit& angegeben. Wenn lolimit& größer als hilimit& ist, sind die Ergebnisse undefiniert.

SCROLLBAR SET TRACKPOS hdlg , id& , trackpos&

Die aktuelle Tracking-Position wird auf trackpos& gesetzt und die sichtbare ScrollBar-Position wird mit diesem Wert synchronisiert.

PBXB64-Implementierungshinweise

PBXB64 implementiert alle oben gezeigten dokumentierten SCROLLBAR-Anweisungsformen. Der Compiler reduziert sie auf eingebettete Win32-Bildlaufleisten-Laufzeithilfsprogramme. Für die ausführbare Datei des Kunden sind keine externen Objektdateien erforderlich.

Die Regressionssuite umfasst SET RANGE, SET POS, GET POS, GET RANGE, SET PAGESIZE, GET PAGESIZE, GET TRACKPOS und SET TRACKPOS.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG SCROLLBAR HINZUFÜGEN
  • CONTROL SET COLOR
  • Hilfe zum PBXB64-Compiler


SELECT - SELECT-CASE-Block beginnen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SELECT - SELECT-CASE-Block beginnen

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

SELECT CASE value
CASE 1
END SELECT

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Beginnt einen SELECT-CASE-Kontrollblock. Das detaillierte CASE-Verhalten ist auf der SELECT-CASE-Seite dokumentiert.

Praktische Verwendung

Verwenden Sie SELECT als Einstieg in SELECT CASE-Formen, wenn mehrere CASE-Zweige auf einen Ausdruck pruefen sollen. Der eigentliche Block wird mit CASE und END SELECT vervollstaendigt.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

SELECT ohne CASE/END SELECT ist nur ein unvollstaendiger Anker. Wenn die Branching-Struktur fehlt, muss der Parser dies klar ablehnen.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Sequentielle Dateien - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Sequentielle Dateien

Sequentielle Dateitechniken bieten eine einfache M&ouml;glichkeit, Dateien zu lesen und zu schreiben. Die sequentiellen Dateibefehle von PowerBASIC manipulieren Textdateien: Dateien mit ANSI- oder WIDE-Zeichen mit Wagenr&uuml;cklauf/LIN

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Sequentielle Dateitechniken bieten eine einfache Möglichkeit, Dateien zu lesen und zu schreiben. Die sequentiellen Dateibefehle von PowerBASIC manipulieren Textdateien: Dateien mit ANSI- oder WIDE-Zeichen mit Wagenrücklauf/LIN

Typ:Schlüsselwort |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Der beste Grund für die Verwendung sequenzieller Dateien ist möglicherweise der Grad ihrer Portabilität auf andere Programme, Programmiersprachen und Computer. Aus diesem Grund können Sie sequentielle Dateien oft als den gemeinsamen Nenner der Datenverarbeitung betrachten, da sie von Textverarbeitungsprogrammen und Editoren (wie PowerBASIC) gelesen, von anderen Anwendungen (wie Datenbankmanagern) übernommen und über das Internet an andere Computer gesendet werden können.

Die Idee hinter sequentiellen Dateien ist einfach: Schreiben Sie in sie, als wären sie der Bildschirm, und lesen Sie von ihnen, als wären sie die Tastatur.

Erstellen Sie eine sequentielle Datei mit den folgenden Schritten:

AUSGABE: Wenn eine Datei nicht existiert, wird eine neue Datei erstellt. Wenn eine Datei bereits vorhanden ist, wird ihr Inhalt gelöscht und die Datei wird dann als neue Datei behandelt.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Serielle Kommunikation - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Serielle Kommunikation

&Uuml;berblick &uuml;ber die Programmierung der seriellen Schnittstelle (COMM).

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Überblick über die Programmierung der seriellen Schnittstelle (COMM).

Typ:Konzeptionell |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Überblick

Dieses Thema bietet Hintergrundinformationen und praktische Anleitungen. Eine detaillierte Syntax finden Sie auf den entsprechenden Befehlsseiten.

Beschreibung

Serielle Kommunikation gehoert zur seriellen Kommunikationsfamilie. Die aktuelle PBXB64-Oberflaeche prueft das Oeffnen, Senden, Lesen, Zeilenlesen, Reset und Schliessen eines Kommunikationshandles; reale Hardware ist nur fuer den erfolgreichen Pfad noetig.

Validierungsbeleg

Validierungsbeleg: tests/pb/test_comm_print_line_input.pb, tests/pb/test_comm_reset.pb, examples/basic/test_comm_open_missing.pb, und examples/basic/test_comm_flow_missing.pb belegen den aktuellen Handle- und Fehlerpfad. Der Beispielpfad ist absichtlich portable und faellt geschlossen, wenn kein gueltiger Port verfuegbar ist.

Laufzeitvoraussetzungen

Serielle Beispiele brauchen ein echtes COM-Geraet oder einen dokumentierten Loopback/Testadapter. Wenn ein realer Port verfuegbar ist, muessen COMM SET-Parameter vor dem Datentransfer gesetzt und das Handle danach mit COMM CLOSE freigegeben werden.

Siehe auch

  • Hilfe zum PBXB64-Compiler


SETATTR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SETATTR

Legen Sie die Dateisystemattribute einer Festplattendatei oder eines Verzeichnisses fest.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SETATTR filespec$ , attribute

Beschreibung

Legen Sie die Dateisystemattribute einer Festplattendatei oder eines Verzeichnisses fest.

Typ:Anweisung |Kategorie: Dateiverwaltung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

filespec$ gibt einen Dateinamen an (optional einschließlich eines Laufwerksbuchstabens und eines Verzeichnispfads). Attribut ist ein Standard-Betriebssystemattributcode:

Attribut

Beschreibung

Gleichsetzen

Normal

%NORMAL

Schreibgeschützt

%READONLY

Versteckt

%VERSTECKT

System

%SYSTEM

Archiviert

%ARCHIV

Der Attributcode einer bestimmten Datei oder eines bestimmten Verzeichnisses kann aus einer Kombination einzelner Attributwerte erstellt werden. Wenn Sie beispielsweise ein Attribut von 0 verwenden, ist filespec$ eine reguläre Datei: nicht schreibgeschützt, nicht versteckt, nicht systemisch und nicht archiviert.

PBXB64 senkt die Anweisung SETATTR path$, attr und die Funktionsform SETATTR(path$, attr) auf den eingebetteten Helfer bestof_setattr ab. Dieser ruft die Win32-API SetFileAttributesA auf. Die Funktionsform gibt bei Erfolg 0 und bei Fehler -1 zurueck.

Einschränkungen

Die fokussierte PBXB64-Zertifizierung deckt Schreibschutz- und Normal-Attribut-Rundlauf mit einer temporaeren Datei ab. Fehlerparitaet fuer ungueltige Pfade, Verzeichnisattribute, Unicode-Pfade und kombinierte Flag-Sonderfaelle bleiben breitere Datei-/Pfad-Arbeit.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIR$
  • FILEATTR
  • GETATTR
  • Hilfe zum PBXB64-Compiler


SETEOF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SETEOF

K&uuml;rzen oder erweitern Sie ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SETEOF [#] filenum&

Beschreibung

Kürzen oder erweitern Sie ein

Typ:Anweisung |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

SETEOF kürzt oder erweitert eine geöffnete Datei bis zu ihrer aktuellen Dateizeigerposition (Lesen/Schreiben), die explizit mit der SEEK-Anweisung festgelegt werden kann.

Im Gegensatz zu 16-Bit-Windows und DOS BASIC schneidet Win32 eine Datei nicht ab, wenn Sie einfach eine leere Zeichenfolge hineinschreiben. Daher wird die SETEOF-Anweisung bereitgestellt, um diesem Bedarf gerecht zu werden.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • CLOSE
  • FILEATTR
  • FLUSH
  • OPEN
  • SEEK ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


SHA1$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SHA1$

Berechnet einen SHA-1-Digest-String.

Kategorie: Allgemeine Referenz

Syntax

digest$ = SHA1$(text$)

Beschreibung

Berechnet einen SHA-1-Digest-String.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen deterministischen String-Helfer. Kodierungsfunktionen liefern transformierten Text zurueck, waehrend Hash-Funktionen feste, kleingeschriebene Hex-Digests liefern.

Grenzen

Dokumentieren Sie hier nur die getesteten Byte- oder String-Transformationen. Wenn es einen Rueckwaerts-Helfer gibt, pruefen Sie ihn separat, statt Symmetrie aus der Vorwaertsform abzuleiten.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

SHA1$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

SHA1$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer hashing-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input bytes, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


SHA256$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SHA256$

Berechnet einen SHA-256-Digest-String ueber den eingebetteten BCrypt-gestuetzten Laufzeitpfad.

Kategorie: Allgemeine Referenz

Syntax

digest$ = SHA256$(text$)

Beschreibung

Berechnet einen SHA-256-Digest-String ueber den eingebetteten BCrypt-gestuetzten Laufzeitpfad.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen deterministischen String-Helfer. Kodierungsfunktionen liefern transformierten Text zurueck, waehrend Hash-Funktionen feste, kleingeschriebene Hex-Digests liefern.

Grenzen

Dokumentieren Sie hier nur die getesteten Byte- oder String-Transformationen. Wenn es einen Rueckwaerts-Helfer gibt, pruefen Sie ihn separat, statt Symmetrie aus der Vorwaertsform abzuleiten.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

SHA256$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

SHA256$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer hashing-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input bytes, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


SHA512$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SHA512$

Berechnet einen SHA-512-Digest-String ueber den eingebetteten BCrypt-gestuetzten Laufzeitpfad.

Kategorie: Allgemeine Referenz

Syntax

digest$ = SHA512$(text$)

Beschreibung

Berechnet einen SHA-512-Digest-String ueber den eingebetteten BCrypt-gestuetzten Laufzeitpfad.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen deterministischen String-Helfer. Kodierungsfunktionen liefern transformierten Text zurueck, waehrend Hash-Funktionen feste, kleingeschriebene Hex-Digests liefern.

Grenzen

Dokumentieren Sie hier nur die getesteten Byte- oder String-Transformationen. Wenn es einen Rueckwaerts-Helfer gibt, pruefen Sie ihn separat, statt Symmetrie aus der Vorwaertsform abzuleiten.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

SHA512$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

SHA512$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer hashing-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input bytes, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


SHELL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SHELL

F&uuml;hren Sie ein ausf&uuml;hrbares Programm synchron aus. Der SHELLing-Thread des aufrufenden Programms wird angehalten, bis das SHELLed-Programm endet.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SHELL [HANDLES,] CmdString [, WndStyle , EXIT TO exitcode& ]

Beschreibung

Führen Sie ein ausführbares Programm synchron aus. Der SHELLing-Thread des aufrufenden Programms wird angehalten, bis das SHELLed-Programm endet.

Typ:Anweisung |Kategorie: Utilities

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die SHELL-Anweisung besteht aus folgenden Teilen:

GRIFFE

Wenn diese Option vorhanden ist, kann der untergeordnete Prozess die Windows-Dateihandles aller geöffneten Dateien im übergeordneten Prozess erben (und darauf zugreifen). Hierbei handelt es sich nicht um PowerBASIC-Dateinummern, sondern um Systemdatei-Handles, und Sie müssen OPEN HANDLE verwenden, um darauf zuzugreifen.

CmdString

Der Name des auszuführenden Programms („untergeordneter Prozess“) sowie alle erforderlichen Argumente oder Befehlszeilenschalter.

WndStyle

Eine Zahl, die dem Stil des Fensters entspricht, in dem das Programm ausgeführt werden soll. Wenn WndStyle weggelassen wird, wird das Programm normal mit Fokus geöffnet, genau wie bei WndStyle = 1.

Die folgende Tabelle identifiziert die Werte für WndStyle und den resultierenden Fensterstil:

WndStyle | Fensterstil
0 | Fenster ausblenden
1 | Normal mit Fokus (Standard)
2 | Mit Fokus minimiert
3 | Mit Fokus maximiert
4 | Normal ohne Fokus
6 | Ohne Fokus minimiert

PBXB64 implementiert diese sechs Fensterstile, das synchrone Warten auf den Kindprozess, die Handle-Vererbung mit HANDLES und das optionale EXIT-TO-Ziel. Ein Fehler beim Erzeugen des Prozesses liefert den Laufzeit-Fehlerwert; eine breitere Qualifizierung des ERR-Zustands bleibt separat.

Verwenden Sie ERR, um den Erfolg der SHELL-Funktion zu erkennen. Mit der Option HANDLES kann der untergeordnete Prozess die von Ihrem Programm geöffneten Dateihandles erben. Dies betrifft nur Windows-Handles, nicht PowerBASIC-Dateikennungen. Es handelt sich um eine erweiterte Option für diejenigen, die wissen, dass sie funktioniert und warum sie sie benötigen.

Exitcode&

Der Exit-Code des untergeordneten Prozesses (der von der WinMain-Funktion zurückgegebene Wert) wird der durch Exitcode& angegebenen Long-Integer-Variablen zugewiesen.

Einschränkungen

Die SHELL-Anweisung führt den untergeordneten Prozess synchron aus. Das heißt, SHELL gibt die Kontrolle nicht an Ihr Programm zurück, bis das untergeordnete Programm beendet ist.

Um interne DOS-Befehle wie DIR und COPY zu verwenden, müssen Sie den DOS-Befehlsprozessor ausführen und den DOS-Befehl als Parameter übergeben. Siehe das Beispiel unten.

Wenn der Programmname in CmdString keinen expliziten Pfad enthält, sucht Windows in den folgenden Pfaden nach der Datei: dem Verzeichnis, in dem sich das aktuelle Programm befindet, dem Standardverzeichnis, dem 32-Bit-Windows-Systemverzeichnis, dem 16-Bit-Windows-Systemverzeichnis, dem Windows-Verzeichnis und allen in der Umgebungsvariablen PATH aufgeführten Verzeichnissen.

Wenn die SHELL-Anweisung nicht erfolgreich ausgeführt wird, wird ein entsprechender Fehler generiert. Zur Erkennung kann die ERR-Funktion verwendet werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ERR-Systemvariable
  • Hilfe zum PBXB64-Compiler


SHIFT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SHIFT

Verschieben Sie die Bits in einem Integral

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SHIFT [SIGNED] {LEFT | RIGHT} ivar , countexpr

Beschreibung

Verschieben Sie die Bits in einem Integral

Typ:Anweisung |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

ivar muss einer der Variablentypen der Integralklasse sein: Byte, Word, Integer, Double-word, Long-integer oder Quad-integer. countexpr ist ein Ausdruck der Integralklasse, der die Anzahl der Bits angibt, um die ivar verschoben werden soll.

SHIFT verschiebt alle Bits in ivar ohne besondere Berücksichtigung des Vorzeichenbits einer vorzeichenbehafteten Integralklassenvariablen.

UNTERZEICHNET

Die Option SIGNED verschiebt alles, lässt jedoch nicht zu, dass sich das Vorzeichen (positiv oder negativ) des Werts ändert.

LINKS | RICHTIG

Die Option LEFT oder RIGHT bestimmt die Richtung der Bit-SHIFT-Operation. SHIFT LEFT verschiebt die Bits in Richtung des höherwertigen Endes von ivar und SHIFT RIGHT verschiebt Bits in Richtung des niederwertigen Endes von ivar .

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' numeric_shift_0
FUNCTION PBMAIN() AS LONG
  IF (1 SHL 0) <> (1) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • UND
  • BIT
  • NICHT ? PBXB64-Compiler-Hilfe
  • ODER
  • ROTATE
  • XOR ? PBXB64-Compiler-Hilfe


SHRINK$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SHRINK$

Eine Schnur verkleinern

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

NewString$ = SHRINK$( OldString$ )
NewString$ = SHRINK$( OldString$ , Mask$ )

Beschreibung

Eine Schnur verkleinern

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Zweck dieser Funktion besteht darin, eine Zeichenfolge mit aufeinanderfolgenden Datenelementen (Wörtern) zu erstellen, die durch ein konsistentes einzelnes Zeichen getrennt sind. Dies macht es sehr einfach, die Ergebnisse nach Bedarf zu analysieren.

In der ersten Form werden alle führenden und nachgestellten Leerzeichen vollständig entfernt. Alle Vorkommen von zwei oder mehr Leerzeichen werden in ein einzelnes Leerzeichen umgewandelt. Daher besteht die zurückgegebene neue Zeichenfolge aus null oder mehr Wörtern, die jeweils durch ein einzelnes Leerzeichen getrennt sind.

In der zweiten Form definiert Mask$ ein oder mehrere zu verkleinernde Trennzeichen. Alle führenden und nachgestellten Maskenzeichen werden vollständig entfernt. Alle Vorkommen eines oder mehrerer Maskenzeichen werden durch das erste Zeichen von Mask$ ersetzt. Daher besteht die zurückgegebene neue Zeichenfolge aus null oder mehr Wörtern, die jeweils durch das Zeichen an der ersten Position von Mask$ getrennt sind.

Leerzeichen werden im Allgemeinen als die vier üblichen nicht druckbaren Zeichen definiert: Leerzeichen, Tabulatorzeichen, Wagenrücklauf und Zeilenvorschub. Dies ist in PowerBASIC zur Vereinfachung als Zeichenfolgenäquivalent vordefiniert. Die ANSI-Version heißt $WHITESPACE , während die WIDE-Version $$WHITESPACE heißt. Dieses Equate eignet sich besonders gut zur Verwendung als Mask$ in dieser Funktion.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CLIP$
  • INSTR ? PBXB64-Compiler-Hilfe
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • REMOVE$
  • REPLACE ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • UNWRAP$
  • Hilfe zum PBXB64-Compiler


SINC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SINC

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = SINC( x )

Beschreibung

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Semantik

Liefert die normierte sinc-Funktion sin(pi*x)/(pi*x) als DOUBLE. Der hebbare Wert bei x = 0 ist als 1 definiert.

Operanden und Grenzen

Normale Numerik sowie alle festen Wide-Integer-Familien, UNL und UNF werden ueber DOUBLE-Konvertierung akzeptiert. Eine beliebig genaue Ausgabe wird nicht behauptet.


SINH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SINH

Gibt den hyperbolischen Sinus eines Arguments zurueck.

Kategorie: Allgemeine Referenz

Syntax

y = SINH( numeric_expression )

Beschreibung

Gibt den hyperbolischen Sinus eines Arguments zurueck.

Typ: Funktion | Kategorie: Mathematik und Numerik

PBXB64-Status: VERFUEGBAR

Beschreibung

SINH berechnet den hyperbolischen Sinus. Das Ergebnis ist ein Gleitkommawert.

PBXB64 akzeptiert INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL ueber den bestehenden Befehl. UNL wird intern weitergeleitet; ein neuer Befehlsname ist nicht erforderlich. Sehr grosse Integerwerte werden in den Gleitkomma-Bereich umgewandelt.

Validierung

tests/pb/test_math_wide_unl.pb prueft SINH mit Wide-Integer und UNL. Verwenden Sie den Test math_wide_unl aus tests/validate.toml.

Zurueck zum Befehlsindex


SIZEOF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SIZEOF

Gibt die Gesamtl&auml;nge oder die physische L&auml;nge eines beliebigen PowerBASIC zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x& = SIZEOF( target )

Beschreibung

Gibt die Gesamtlänge oder die physische Länge eines beliebigen PowerBASIC zurück

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Besonders nützlich zum Bestimmen der maximalen Länge einer Zeichenfolge mit fester Länge, einer auf Null endenden Zeichenfolge oder eines benutzerdefinierten Typs. Es bietet eine ähnliche Funktionalität wie LEN , das die aktuelle Länge eines Datenelements zurückgibt.

Ziel kann der Name eines beliebigen Variablentyps sein (String mit fester Länge, mit NULL endende Zeichenfolge, UDT-Variable oder -Definition (User-Defined Type) usw.).

Wenn Sie die Größe einer aufgefüllten (ausgerichteten) UDT-Variablen oder -Definition mit der SIZEOF- (oder LEN-)Anweisung messen, umfasst die gemessene Länge alle Auffüllungen, die der Struktur hinzugefügt wurden. Beispielsweise die folgende UDT-Struktur:

TYP LängeTestTyp DWORD

a AS INTEGER

END-TYP

' Mehr Code hier

DIM abc AS LengthTestType

x& = SIZEOF(abc) ' oder verwenden Sie SIZEOF(LengthTestType)

Gibt eine Länge von 4 Bytes in x& zurück, da der UDT mit 2 zusätzlichen Bytes aufgefüllt wurde, um die DWORD-Ausrichtung zu erzwingen. Beachten Sie, dass SIZEOF einzelner UDT-Mitglieder die wahre Größe des Mitglieds zurückgibt, ohne Berücksichtigung von Auffüllung oder Ausrichtung. Im vorherigen Beispiel gibt SIZEOF(abc.a) 2 zurück.

Bei Verwendung für eine dynamische Zeichenfolge (variable Länge) gibt SIZEOF 4 zurück, was der Größe des Zeichenfolgenhandles entspricht. Um die Länge der Zeichenfolgendaten in der dynamischen Zeichenfolge zu ermitteln, verwenden Sie die LEN-Funktion. SIZEOF gibt auch 4 für Zeigervariablen zurück, da ein Zeiger immer als DWORD gespeichert wird.

Hinweise

Bei Verwendung mit einem dereferenzierten Zeiger (d. h. SIZEOF(@p) gibt SIZEOF die Größe des Zielvariablentyps des Zeigers zurück, wie in der Anweisung DIM x AS y PTR [* pSize ] definiert.

Beispielsweise gibt SIZEOF bei einem dynamischen Zeichenfolgenzeiger den Wert 4 zurück. Wenn das Zeigerziel eine Zeichenfolge fester Länge, UDT, Union oder eine mit Null abgeschlossene Zeichenfolge ist, gibt SIZEOF die Größe der Zieldatenstruktur zurück. Wenn der Zeiger jedoch so deklariert ist, dass er auf einen NULL-terminierten Zeiger ohne spezifische Zielgröße verweist (d. h. DIM a AS STRINGZ PTR), gibt SIZEOF 0 zurück.

Wenn SIZEOF für eine BYREF STRINGZ-Zeichenfolge verwendet wird, die keine explizite Längenangabe hat, gibt SIZEOF ebenfalls 0 zurück. Beispiel:

SUB ProcessData(BYREF szText AS STRINGZ)

' Innerhalb dieses Sub gibt SIZEOF(szText) 0 zurück, da es keine explizite Längenangabe gibt

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • CHRBYTES
  • DIM ? PBXB64-Compiler-Hilfe
  • LEN ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


SLEEP - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SLEEP

Pausieren Sie den aktuellen Thread der Anwendung f&uuml;r eine angegebene Anzahl von Millisekunden (

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SLEEP m&

Beschreibung

Pausieren Sie den aktuellen Thread der Anwendung für eine angegebene Anzahl von Millisekunden (

Typ:Anweisung |Kategorie: Utilities

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

m& ist die Anzahl der Millisekunden (1 Millisekunde = 1/1000stel Sekunde), die die Anwendung anhalten soll. Nur der aktuelle Thread pausiert. Wenn andere Threads vorhanden sind, werden diese weiterhin ausgeführt. Während der SLEEP-Periode werden alle Zeitscheiben für den aktuellen Thread an andere Threads und Prozesse weitergegeben.

Wenn m& Null ist, wird der Rest der aktuellen Zeitscheibe aufgegeben. Wenn keine anderen Threads mit gleicher Priorität vorhanden sind, wird die Ausführung sofort fortgesetzt.

Die Zeitscheibendauer (auch Quantum genannt) kann von Version zu Windows-Version variieren und zwischen 20 mSek und 120 mSek liegen. Daher kann der Quantum die Leistung von Anwendungen beeinträchtigen, wenn SLEEP 0 überbeansprucht wird. Das heißt, eine übermäßige Verwendung von SLEEP 0 kann dazu führen, dass eine Anwendung einen Großteil ihrer verfügbaren Prozessorzeit aufgibt, was zu einem erheblichen Rückgang der Anwendungsleistung führt.

Wenn Code in einer engen Schleife ausgeführt wird, ist es durchaus möglich, 100 % der verfügbaren CPU-Zeit zu verbrauchen, daher ist die gelegentliche Verwendung von SLEEP 0 innerhalb einer engen Schleife oft vorteilhaft für die Gesamtleistung des Ziel-PCs. Beispielsweise ist es möglicherweise nicht erforderlich, SLEEP 0 für jede Iteration einer Schleife zu verwenden, sondern stattdessen jede zweite oder dritte.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • THREAD CREATE
  • TIMER
  • Hilfe zum PBXB64-Compiler


SLL-Beispiel - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SLL-Beispiel

Nachfolgend finden Sie ein sehr einfaches Beispiel einer Static Link Library (SLL). Dieses SLL-Einheitenmodul enth&auml;lt nur eine Funktion, die Millimeter in Zoll umrechnet.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Nachfolgend finden Sie ein sehr einfaches Beispiel einer Static Link Library (SLL). Dieses SLL-Einheitenmodul enthält nur eine Funktion, die Millimeter in Zoll umrechnet.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

#COMPILE SLL "conversion.sll"

FUNCTION MillimetersToInches(BYVAL mm AS DOUBLE) AS DOUBLE
    FUNCTION = mm * 0.03937#
END FUNCTION

Kompilieren Sie diese Quelle zuerst. PBXB64 schreibt conversion.sll als deterministisches COFF-Archiv.

#COMPILE EXE
#LINK "conversion.sll"

DECLARE FUNCTION MillimetersToInches(BYVAL mm AS DOUBLE) AS DOUBLE

FUNCTION PBMAIN() AS LONG
    IF MillimetersToInches(25.4#) < 0.99# THEN FUNCTION = 1: EXIT FUNCTION
    IF MillimetersToInches(25.4#) > 1.01# THEN FUNCTION = 2: EXIT FUNCTION
    FUNCTION = 0
END FUNCTION

Das Hostprogramm linkt die SLL mit #LINK. PBXB64-SLLs sind native COFF-Archive, keine alten PowerBASIC-SLL-Binaerdateien. Eine PBXB64-SLL kann auch eine andere PBXB64-native SLL linken und unterstuetzte lokale #RESOURCE-Eintraege in den finalen Host-Link uebernehmen.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


SPACE$ - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SPACE$ - Hilfe zum PBXB64-Compiler

Gibt eine Zeichenfolge zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = SPACE$( numeric_expression )

Beschreibung

Gibt eine Zeichenfolge zurück

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

numeric_expression ist ein nicht negativer Ausdruck, der angibt, wie viele Leerzeichen die Funktion zurückgeben soll. SPACE$ kann zum Formatieren oder Vorfüllen von Zeichenfolgen nützlich sein.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • BUILD$
  • CHR$
  • CSET$ ? PBXB64-Compiler-Hilfe
  • LSET$
  • NUL$
  • REPEAT$ - Hilfe zum PBXB64-Compiler
  • RSET$
  • STRING$ - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


Speicheranforderungen und -beschränkungen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Speicheranforderungen und -beschränkungen

Mit der LEN-Funktion k&ouml;nnen Sie die erforderliche Speichermenge f&uuml;r eine Variable eines benutzerdefinierten Typs ermitteln. Um beispielsweise die Anforderungen an eine Studentenakte zu ermitteln, verwenden Sie:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit der LEN-Funktion können Sie die erforderliche Speichermenge für eine Variable eines benutzerdefinierten Typs ermitteln. Um beispielsweise die Anforderungen an eine Studentenakte zu ermitteln, verwenden Sie:

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

RecordSize = LEN(Student)

Die Adresse einer Datensatzvariablen, wie sie von der VARPTR-Funktion zurückgegeben wird, ist die Adresse im Speicher des ersten Datenbytes im Datensatz. Sie können die Startadresse der Felder im Datensatz auch erhalten, indem Sie den vollständigen Namen des Felds (z. B. Student.IdNum) an die Funktion VARPTR übergeben.

Eine einzelne UDT-Struktur ist auf 16 MB (16.777.216 Byte) begrenzt. Lokal dimensionierte UDT-Strukturen sind auf den verfügbaren freien Stapelspeicherplatz begrenzt, typischerweise weniger als 1 MB. Wenn größere UDT-Strukturen erforderlich sind, verwenden Sie stattdessen eine STATIC- oder GLOBAL-Deklaration (da diese nicht auf dem Stack gespeichert werden). Die gleichen Regeln gelten für Unions (und LOCAL-Strings mit fester Länge und mit Nullterminierung).

Beachten Sie, dass die ARRAY-Anweisungen nicht direkt auf Arrays innerhalb von UDTs verwendet werden können. Sie können jedoch DIM..AT verwenden, um ein Array (vom gleichen Datentyp) an der Adresse des UDT-Arrays zu definieren und ARRAY-Anweisungen für dieses Array zu verwenden. Die ARRAY-Anweisungen können auf Arrays von UDT-Strukturen verwendet werden. Ein einzelnes Array innerhalb eines UDT kann bis zur vollen UDT-Größenbeschränkung von 16 MB belegen.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Speicheranforderungen und -beschränkungen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Speicheranforderungen und -beschränkungen

Eine einzelne Union-Struktur ist auf 16 MB (16.777.216 Byte) begrenzt. Lokal dimensionierte Union-Strukturen sind auf den verf&uuml;gbaren freien Stapelspeicherplatz begrenzt, typischerweise weniger als 1 MB. Wenn gr&ouml;&szlig;ere UDT s

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine einzelne Union-Struktur ist auf 16 MB (16.777.216 Byte) begrenzt. Lokal dimensionierte Union-Strukturen sind auf den verfügbaren freien Stapelspeicherplatz begrenzt, typischerweise weniger als 1 MB. Wenn größere UDT s

Typ:Struktur |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Benutzerdefinierte Typen (UDTs)


Speichern der FPU-Register - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Speichern der FPU-Register

W&auml;hrend die CPU &uuml;ber Register mit festen Namen (EAX usw.) verf&uuml;gt, verf&uuml;gt die FPU (Floating-Point Unit oder Co-Prozessor) &uuml;ber stapelartige Register, die entsprechend ihrer Position im Stapel nummeriert sind: ST(0) {t

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Während die CPU über Register mit festen Namen (EAX usw.) verfügt, verfügt die FPU (Floating-Point Unit oder Co-Prozessor) über stapelartige Register, die entsprechend ihrer Position im Stapel nummeriert sind: ST(0) {t

Typ:Schlüsselwort |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beachten Sie, dass der Begriff Laden verwendet wird, um das Platzieren eines Werts auf dem FPU-Stack zu beschreiben, er jedoch eher wie eine PUSH-Operation funktioniert. In PowerBASIC kommt es nicht darauf an, welche FPU-Register verfügbar sind, sondern dass dem Programmierer normalerweise vier Register (oder Stack-Slots) zur Verfügung stehen. Wenn mehr benötigt werden, sollte der Stapel gespeichert und entsprechend wiederhergestellt werden.

Um den gesamten FPU-Stack zu erhalten, kümmern sich die Mnemoniken FSAVE und FRSTOR um die Erhaltung bzw. Wiederherstellung des FPU-Stacks. Diese funktionieren ähnlich wie die PUSHFD- und POPFD-CPUs, sind jedoch notorisch langsam in der Ausführung und FPU-Programmierer vermeiden ihre Verwendung oft, es sei denn, dies ist notwendig. Sie können jedoch hilfreich sein, wenn Sie mit dem Schreiben von FPU-Code beginnen, da sie die Erhaltung und Wiederherstellung des FPU-Stacks gewährleisten.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Speichern von Registern auf Prozedurebene - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Speichern von Registern auf Prozedurebene

Um den Windows-Programmierkonventionen zu entsprechen, muss PowerBASIC eine &#8222;sichere&ldquo; Umgebung f&uuml;r den verf&uuml;gbaren Funktionsumfang bereitstellen. Dies wird durch die transparente Beibehaltung der drei Vo erreicht

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Um den Windows-Programmierkonventionen zu entsprechen, muss PowerBASIC eine „sichere“ Umgebung für den verfügbaren Funktionsumfang bereitstellen. Dies wird durch die transparente Beibehaltung der drei Vo erreicht

Typ:Schlüsselwort |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

! PUSH EBX ' Automatisch von PowerBASIC hinzugefügt

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


SPLIT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SPLIT

Teilt eine Zeichenfolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SPLIT [WORD] MainStr , Part1Len TO Part1Var , Part2Var

Beschreibung

Teilt eine Zeichenfolge

Typ:Anweisung |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

MainStr wird in zwei Teile geteilt, die dann den beiden durch Part1Var und Part2Var angegebenen String-Variablen zugewiesen werden. Part1Len ist ein

Ausdruck, der die Anzahl der Zeichen angibt, die Teil1 zugewiesen werden sollen, während die restlichen Zeichen Teil2 zugewiesen werden.

Wenn die WORD-Option enthalten ist, garantiert PowerBASIC, dass Teil1 nicht mit einem Teilwort endet. Dies erfordert möglicherweise, dass Part1Len auf einen kleineren Wert angepasst wird. In diesem Fall würden Part2Var diese Zeichen zum Ausgleich zugewiesen. Abhängig von der Art des Vorgangs kann es erforderlich sein, führende Leerzeichen aus Part2Var zu entfernen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • GRAFIK-SPLIT
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • XPRINT SPLIT
  • Hilfe zum PBXB64-Compiler


Späte Bindung - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Späte Bindung

Die Standardmethode von DISPATCH hei&szlig;t &#8222;Late Binding&ldquo;, da nichts im Voraus erledigt wird. Keine Methodendefinitionen. Keine Schnittstellensignaturen. Sie k&ouml;nnen so ziemlich einfach mit dem Schreiben von Code beginnen:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Standardmethode von DISPATCH heißt „Late Binding“, da nichts im Voraus erledigt wird. Keine Methodendefinitionen. Keine Schnittstellensignaturen. Sie können so ziemlich einfach mit dem Schreiben von Code beginnen:

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

LOKALE DispVar AS IDISPATCH

LET DispVar = NEWCOM "DispProgID"

OBJEKTAUFRUF DispVar.Method1(x&, y$)

Es ist einfach so einfach. Die erste Zeile deklariert eine Objektvariable, die die DISPATCH-Schnittstelle übernimmt, während die zweite Zeile ein Objekt erstellt und eine Referenz auf DispVar zuweist. Die dritte Zeile führt lediglich eine Methode für das neue Objekt aus.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


StackCollection - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

StackCollection

A collection object is a set of items which can be referred to as a unit. It provides a convenient way to refer to a related group of items as a single object. The items in a collection need only be related by the fact that they exist in the collection. They do not have to share the same data type.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

< ObjectVar >.membername( params )
RetVal = < ObjectVar >.membername( params )
< ObjectVar >.membername( params ) TO ReturnVariable

Beschreibung

A collection object is a set of items which can be referred to as a unit. It provides a convenient way to refer to a related group of items as a single object. The items in a collection need only be related by the fact that they exist in the collection. They do not have to share the same data type.

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Items in a PowerCollection may be retrieved by their key using the ITEM method. They may be retrieved sequentially using the NEXT or PREVIOUS method. Each key in a PowerCollection must be unique. Keys in a PowerCollection are case-sensitive. To access the keys in a case-insensitive manner, you must create and retrieve all keys as either upper case or lower case, but not mixed.

The Dispatch ID (DispID) for each member method is displayed within angle brackets.

Power Collection Methods

ADD <3> ( PowerKey AS WString, PowerItem AS Variant)

Die PowerItem-Variante wird am Ende der PowerCollection hinzugefügt. Es wird zum späteren Abruf mit der PowerKey-Zeichenfolge verknüpft. Wenn der Vorgang erfolgreich war, wird ein HResult von S_OK (0) zurückgegeben. Wenn dies aufgrund eines doppelten Schlüssels fehlschlägt, wird ein HResult von E_DUPLICATEKEY (&H800A01C9) zurückgegeben und ein Objektfehler (99) generiert.

CLEAR <4>

Alle PowerKeys und PowerItems werden aus dem entfernt PowerCollection.

CONTAINS <5> ( PowerKey AS WString) AS Long

Die PowerCollection wird gescannt, um festzustellen, ob der angegebene PowerKey vorhanden ist. Wenn es gefunden wird, wird die Indexnummer dieses Elements (Bereich von 1 – COUNT) zurückgegeben. Dieser Wert wird immer als true ausgewertet. Wenn nicht gefunden, wird der Wert false (0) zurückgegeben.

COUNT <6> AS Long

Die Anzahl der derzeit in der PowerCollection enthaltenen Datenelemente wird an den Aufrufer zurückgegeben.

ENTRY <7> ( Index AS Long, OUT PowerKey als WString, OUT PowerItem als Variant)

Der durch die Indexnummer angegebene PowerCollection-Eintrag wird in den beiden angegebenen OUT-Parametern an den Aufrufer zurückgegeben. Wenn die Indexnummer kleiner als eins oder größer als die Elementanzahl ist, ist die zurückgegebene Variante vom Typ leer (VT_EMPTY) und das OBJRESULT ist %S_FALSE (1).

FIRST <1> AS Long

Der aktuelle INDEX für die PowerCOLLECTION ist auf gesetzt eins (1), sodass nachfolgende Verweise auf die NEXT-Methode von Anfang an auf Mitgliedselemente zugreifen. Der vorherige Wert des INDEX wird an den Aufrufer zurückgegeben.

INDEX <8> ( Index AS Long) AS Long

Der aktuelle INDEX für die PowerCOLLECTION wird auf die angegebene Indexnummer gesetzt. Wenn der Parameter kleiner als eins oder größer als die aktuelle Anzahl von Datenelementen ist, wird der INDEX nicht geändert. Der vorherige Wert des INDEX wird an den Aufrufer zurückgegeben.

IndexVar& = ObjectVar .INDEX(0)

Das obige Beispiel ruft die aktuelle Indexnummer ab, ohne sie zu ändern, und weist sie der Variablen IndexVar& zu .

ITEM <9> ( PowerKey AS WString) AS Variant

Das mit dem angegebenen PowerKey verknüpfte PowerItem wird zurückgegeben. Wenn der angegebene Schlüssel nicht gefunden wird, ist die zurückgegebene Variante vom Typ leer (VT_EMPTY) und das OBJRESULT ist %S_FALSE (1).

LAST <10> AS Long

Der aktuelle INDEX für die PowerCOLLECTION wird auf das letzte Element gesetzt, damit nachfolgende Referenzen möglich sind Die PREVIOUS-Methode greift vom Ende auf Mitgliedselemente zu. Der vorherige Wert des INDEX wird an den Aufrufer zurückgegeben.

NEXT <2> AS Variant

Mit der NEXT-Methode können die PowerCollection-Datenelemente sequentiell abgerufen werden. Bei jedem Verweis auf NEXT wird das Datenelement an der durch INDEX angegebenen Position an den Aufrufer zurückgegeben und der INDEX wird erhöht. Wenn der Vorgang erfolgreich ist, wird OBJRESULT auf %S_OK (0) gesetzt. Wenn keine weiteren Datenelemente abzurufen sind, wird OBJRESULT auf %S_FALSE (1) gesetzt.

PREVIOUS <11> AS Variant

Mit der PREVIOUS-Methode können die PowerCollection-Datenelemente sequentiell abgerufen werden. Bei jedem Verweis auf PREVIOUS wird das Datenelement an der durch INDEX angegebenen Position an den Aufrufer zurückgegeben und der INDEX dekrementiert. Wenn der Vorgang erfolgreich ist, wird OBJRESULT auf %S_OK (0) gesetzt. Wenn keine weiteren Datenelemente abzurufen sind, wird OBJRESULT auf %S_FALSE (1) gesetzt.

REMOVE <12> ( PowerKey AS WString)

Der angegebene PowerKey und das damit verbundene PowerItem werden aus der PowerCollection entfernt. Die Indexnummer jedes Datenelements nach dem entfernten Element wird um eins dekrementiert. Wenn der angeforderte PowerKey nicht gefunden wird, gibt OBJRESULT %S_FALSE (1) zurück und es wird keine Operation ausgeführt.

REPLACE <13> ( PowerKey AS WString, PowerItem AS Variant)

Das mit dem angegebenen PowerKey verknüpfte PowerItem wird durch das neue angegebene PowerItem ersetzt. Wenn der angeforderte PowerKey nicht gefunden wird, gibt OBJRESULT %S_FALSE (1) zurück und es wird keine Operation ausgeführt.

SORT <14> (Flags AS Long)

Die Datenelemente in der PowerCollection werden basierend auf dem Text in den zugehörigen PowerKeys sortiert. Wenn der Parameter Flags Null (0) ist, werden die Elemente in aufsteigender Reihenfolge sortiert. Wenn eins (1), werden die Elemente in absteigender Reihenfolge sortiert.

LinkList Collection

Eine verknüpfte Listensammlung ist ein geordneter Satz von Datenelementen, auf die über ihre Position in der Liste und nicht über einen alphanumerischen Zeichenfolgenschlüssel zugegriffen wird. Jedes Datenelement wird als Variantenvariable übergeben und gespeichert. Sie können diese Datenelemente anhand ihrer Positionsnummer oder sequentiell in aufsteigender oder absteigender Reihenfolge abrufen.

Syntax

Die KLASSE ist „LinkListCollection“. Die SCHNITTSTELLE ist ILinkListCollection (eine DUAL-Schnittstelle).

< ObjectVar >.membername( params )

RetVal = < ObjectVar >.membername( params )

< ObjectVar >.membername( params ) TO ReturnVariable

Remarks

Elemente in einer LinkListCollection können anhand ihrer Positionsnummer mithilfe der ITEM-Methode abgerufen werden. Sie können nacheinander mit den Methoden NEXT oder PREVIOUS abgerufen werden.

The Dispatch ID (DispID) for each member method is displayed within angle brackets.

LinkList-Sammelmethoden

ADD <3> (PowerItem AS-Variante)

Die PowerItem-Variante wird am Ende der hinzugefügt LinkListCollection.

CLEAR <4>

Alle PowerItems werden aus der LinkListCollection entfernt.

COUNT <5> AS Long

Die Anzahl der derzeit in der LinkListCollection enthaltenen Datenelemente wird an die zurückgegeben caller.

FIRST <1> AS Long

Der aktuelle INDEX für die LinkListCOLLECTION ist auf eins (1) gesetzt, sodass nachfolgende Verweise auf die NEXT-Methode von Anfang an auf Mitgliedselemente zugreifen. Der vorherige Wert des INDEX wird an den Aufrufer zurückgegeben.

INDEX <6> ( Index AS Long) AS Long

Der aktuelle INDEX für die LinkListCOLLECTION wird auf die angegebene Indexnummer gesetzt. Wenn der Parameter kleiner als eins oder größer als die aktuelle Anzahl von Datenelementen ist, wird der INDEX nicht geändert. Der vorherige Wert des INDEX wird an den Aufrufer zurückgegeben.

IndexVar& = ObjectVar .INDEX(0)

Das obige Beispiel ruft die aktuelle Indexnummer ab, ohne sie zu ändern, und weist sie der Variablen IndexVar& zu .

INSERT <7> ( Index AS Long, PowerItem AS Variant)

Die PowerItem-Variante wird der Sammlung an der durch den Index angegebenen Position hinzugefügt. Wenn die Indexnummer kleiner als eins oder größer als die Anzahl ist, wird das Element am Ende der Liste hinzugefügt.

ITEM <8> ( Index AS Long) AS Variant

Das PowerItem an der durch Index angegebenen Position wird zurückgegeben. Wenn das angegebene Element nicht vorhanden ist, ist die zurückgegebene Variante vom Typ leer (VT_EMPTY) und das OBJRESULT ist %S_FALSE (1).

LAST <9> AS Long

Der aktuelle INDEX für die LinkListCOLLECTION wird auf das letzte Element gesetzt, sodass nachfolgend Verweise auf die PREVIOUS-Methode greifen vom Ende auf Mitgliedselemente zu. Der vorherige Wert des INDEX wird an den Aufrufer zurückgegeben.

NEXT <2> AS Variant

The NEXT method allows the LinkListCollection data items to be retrieved sequentially. Each time NEXT is referenced, the data item at the position specified by the INDEX is returned to the caller, and the INDEX is incremented. If the operation is successful, the OBJRESULT is set to %S_OK (0). When there are no more data items to retrieve, the OBJRESULT is set to %S_FALSE (1).

PREVIOUS <10> AS Variant

The PREVIOUS method allows the LinkListCollection data items to be retrieved sequentially. Each time PREVIOUS is referenced, the data item at the position specified by the INDEX is returned to the caller, and the INDEX is decremented. If the operation is successful, the OBJRESULT is set to %S_OK (0). When there are no more data items to retrieve, the OBJRESULT is set to %S_FALSE (1).

REMOVE <11> ( Index AS Long)

The PowerItem at the position specified by Index is removed from the LinkListCollection. The index number of each data item past the removed item is decremented by one. If the requested item is not present, OBJRESULT returns %S_FALSE (1) and no operation is performed.

REPLACE <12> (Index AS Long, PowerItem AS Variant)

The PowerItem at the position specified by Index is replaced by the new specified PowerItem . If the requested PowerItem is not present, OBJRESULT returns %S_FALSE (1) and no operation is performed.

Stack Collection

A Stack Collection is an ordered set of data items, which are accessed on a LIFO (Last-In / First-Out) basis. This collection follows the same algorithm as the machine stack on your Intel CPU. Each data item is passed and stored as a variant variable, using the PUSH and POP methods.

Syntax

The CLASS is "StackCollection". The INTERFACE is IStackCollection (a DUAL interface).

< ObjectVar >.membername( params )

RetVal = < ObjectVar >.membername( params )

< ObjectVar >.membername( params ) TO ReturnVariable

Remarks

The Dispatch ID (DispID) for each member method is displayed within angle brackets.

Stack Collection Methods

CLEAR <1>

All PowerItems are removed from the StackCollection.

COUNT <2> AS Long

The number of data items currently contained in the StackCollection is returned to the caller.

POP <3> AS Variant

The PowerItem at the "Stack-Top" (the item most recently added) is retrieved and returned to the caller. When there are no more data items to retrieve, the variant returned will be of type empty (VT_EMPTY), and the OBJRESULT will be %S_FALSE (1).

PUSH <4> (PowerItem AS Variant)

The specified PowerItem is added to the StackCollection at the "Stack-Top" position.

Queue Collection

A Queue Collection is an ordered set of data items, which are accessed on a FIFO (First-In / First-Out) basis. Each data item is passed and stored as a variant variable, using the ENQUEUE and DEQUEUE methods.

Syntax

The CLASS is "QueueCollection". The INTERFACE is IQueueCollection (a DUAL interface).

< ObjectVar >.membername( params )

RetVal = < ObjectVar >.membername( params )

< ObjectVar >.membername( params ) TO ReturnVariable

Remarks

The Dispatch ID (DispID) for each member method is displayed within angle brackets.

Queue Collection Methods

CLEAR <1>

All PowerItems are removed from the QueueCollection.

COUNT <2> AS Long

The number of data items currently contained in the QueueCollection is returned to the caller.

DEQUEUE <3> AS Variant

The PowerItem at the "oldest" position is retrieved and returned to the caller. When there are no more data items to retrieve, the variant returned will be of type empty (VT_EMPTY), and the OBJRESULT will be %S_FALSE (1).

ENQUEUE <4> ( PowerItem AS Variant)

The specified PowerItem is added to the QueueCollection at the "newest" position.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Siehe auch

  • FOR EACH/NEXT-Anweisungen
  • Hilfe zum PBXB64-Compiler


Standard-Variablentypisierung - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Standard-Variablentypisierung

In den meisten &auml;lteren Versionen von BASIC (einschlie&szlig;lich PowerBASIC f&uuml;r DOS) werden alle Variablen ohne TypeID (%, !, &amp; usw.) automatisch als Gleitkommavariablen mit einfacher Genauigkeit betrachtet. Andere Compiler haben

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In den meisten älteren Versionen von BASIC (einschließlich PowerBASIC für DOS) werden alle Variablen ohne TypeID (%, !, & usw.) automatisch als Gleitkommavariablen mit einfacher Genauigkeit betrachtet. Andere Compiler haben

Typ:Schlüsselwort |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Um diese Mehrdeutigkeit zu vermeiden, fordert PowerBASIC Sie stattdessen auf, diese Entscheidung zu treffen. Mit der DEF-Anweisung können Sie Ihren bevorzugten Standardvariablentyp angeben, der auf untypisierte Variablennamen angewendet werden soll. Um beispielsweise die Standardeinstellung mit einfacher Genauigkeit von PB/DOS nachzuahmen, fügen Sie einfach eine DEFSNG-Anweisung am Anfang Ihres Programms hinzu:

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.


STATUSBAR SET PARTS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STATUSBAR SET PARTS

Manipulate a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

STATUSBAR SET PARTS hDlg , id& , x& [, x& ...]
STATUSBAR SET TEXT hDlg , id& , item& , style& , text$

Beschreibung

Manipulate a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In jedem der folgenden Beispiele und Beschreibungen wird das STATUSBAR-Steuerelement, das Gegenstand der Anweisung ist, durch das Handle des Dialogs identifiziert, der das STATUSBAR-Steuerelement (hDlg) besitzt, und durch die eindeutige Steuerelement-ID, die Sie ihm bei der Erstellung in CONTROL ADD STATUSBAR gegeben haben.

Der Wert item& bezieht sich auf die Position des Textdatenelements in der STATUSBAR und ist immer auf eins indiziert. Die erste Zeichenfolge ist Position 1, die zweite ist Position 2 und so weiter.

STATUSBAR GET PARTS hdlg , id& TO count&

Die aktuelle Anzahl der Statusleistenabschnitte wird abgerufen und count& zugewiesen.

STATUSBAR GET TEXT hDlg , id& , item& TO text$

Der Text für den durch item& bezeichneten einbasierten Statusleistenabschnitt wird abgerufen und text$ zugewiesen.

STATUSBAR SET PARTS hDlg , id& , x& [, x& ...]

Das STATUSBAR-Steuerelement ist in bis zu 32 Abschnitte unterteilt, von denen jeder dazu verwendet werden kann, dem Benutzer bestimmte Statusdaten anzuzeigen. Die Anweisung enthält 1 bis 32 Breitenparameter ( x& ), die die Pixel- oder Dialogeinheitsgröße dieses Abschnitts angeben. Sie können für den letzten Parameter eine sehr große Zahl verwenden, um anzugeben, dass der Abschnitt bis zur rechten Seite des Fensters reichen soll.

STATUSBAR SET TEILE hdlg, id&

, 50, 50, 9999

Die obige Anweisung würde beispielsweise eine Statusleiste mit zwei Abschnitten zu je 50 Pixeln und einem dritten Abschnitt mit der verbleibenden Breite erstellen.

STATUSBAR SET TEXT hDlg , id& , item& , style& , text$

Der Text für das durch item& angegebene Datenelement wird durch den neuen Text in text$ ersetzt. Der Wert von item& = 1 für das erste Element, 2 für das zweite Element usw. Der Stilwert der Statusleiste kann der Standardwert Null (0) oder einer der anderen als Bitmaske gebildeten Stilwerte sein:

Null (0) Standardeinstellung

Text mit einem Rand, der unterhalb des Fensters angezeigt wird.

%SBT_NOBORDERS

Der Text wird ohne Ränder gezeichnet.

%SBT_POPOUT

Text mit einem Rand, der höher als das Fenster angezeigt wird.

PBXB64-Implementierungshinweise

PBXB64 implementiert alle oben gezeigten dokumentierten STATUSBAR-Anweisungsformen. SET PARTS akzeptiert Abschnittsbreiten von 1 bis 32, GET PARTS gibt die aktuelle Abschnittsanzahl zurück und GET/SET TEXT verwendet einsbasierte Elementnummern, wie in der PowerBASIC-Syntax beschrieben.

Der Compiler reduziert diese Formulare auf eingebettete Win32-Statusleisten-Laufzeithilfsprogramme. Für die ausführbare Datei des Kunden sind keine externen Objektdateien erforderlich. Die Regressionssuite deckt SET PARTS, SET TEXT, GET PARTS und GET TEXT über mehrere Statusleistenabschnitte ab.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD STATUSBAR
  • CONTROL SET FONT
  • Hilfe zum PBXB64-Compiler


STEP - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEP

Legen Sie das Inkrement f&uuml;r eine FOR-Schleife fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FOR counter = start TO end [STEP increment]

Beschreibung

Legen Sie das Inkrement für eine FOR-Schleife fest

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Das optionale STEP Klausel in aFORDie Anweisung gibt den Wert an, der nach jeder Iteration zum Zähler hinzugefügt wird. Wenn es weggelassen wird, erhöht sich der Zähler um 1. Ein Negativ STEP Wert zählt abwärts; die Schleifenbedingung wird entsprechend umgekehrt.

Generierter Assembler-Code

Bei einem negativen STEP verwendet der Schrittblock add mit einem vorzeichenerweiterten Soforttest und den Bedingungstestverwendungen setge statt setle:

pb_for_step_PBMAIN_0:
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, -1
    mov [rbp-24], rbx
    jmp pb_for_cond_PBMAIN_0

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL i AS LONG
    LOCAL sum AS LONG
    sum = 0
    FOR i = 10 TO 1 STEP -1
        sum = sum + i
    NEXT i
    FUNCTION = sum
END FUNCTION

Siehe auch

  • FOR � PBXB64-Compiler-Hilfe
  • WEITER
  • TO
  • GRUNDLEGENDER Kontrollfluss
  • Hilfe zum PBXB64-Compiler


Steuerelemente - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Steuerelemente

Ein Steuerelement ist ein spezielles Fenster, das eine Methode zur Interaktion mit dem Benutzer bereitstellt. Schaltfl&auml;chen, Kombinationsfelder, Listenfelder und Textfelder sind Beispiele f&uuml;r Steuerelemente. Immer wenn der Benutzer mit a interagiert

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Steuerelement ist ein spezielles Fenster, das eine Methode zur Interaktion mit dem Benutzer bereitstellt. Schaltflächen, Kombinationsfelder, Listenfelder und Textfelder sind Beispiele für Steuerelemente. Immer wenn der Benutzer mit a interagiert

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Wenn Sie einem Dialog ein Steuerelement hinzufügen, ist es wichtig, dass jedes Steuerelement über eine eindeutige numerische Kennung verfügt. Mithilfe dieser Kennung kann Ihre Anwendung erkennen, welches Steuerelement ein Ereignis sendet. Wenn Ihr Programm beispielsweise über zwei Schaltflächen verfügt, können Sie diese anhand der Steuerelement-ID unterscheiden.

Beim Erstellen jedes Steuerelements weist Windows ein eindeutiges Fensterhandle zu, um das Steuerelement zu identifizieren. Da Ihr Programm diese Handle-Werte nicht zuweist, kann Ihr Code sie nicht direkt zur Identifizierung einzelner Steuerelemente verwenden. Darüber hinaus wird jedes Mal, wenn ein Steuerelement zerstört und neu erstellt wird, ein neuer eindeutiger Handle-Wert zugewiesen, was die Aufgabe weiter verkompliziert. Die Steuerelement-ID überwindet diese Probleme, da der Programmierer die ID für jedes Steuerelement bestimmt.

Mit der CONTROL ADD-Anweisung werden Ihrem Dialog Steuerelemente hinzugefügt. Stellen Sie sicher, dass jedes von Ihnen erstellte Steuerelement über eine eindeutige numerische Kennung verfügt, damit Sie (und Windows) es von anderen Steuerelementen im Dialogfeld unterscheiden können.

Angesichts der ID eines Steuerelements stellt DDT die CONTROL HANDLE-Anweisung bereit, um den Fenster-Handle-Wert des Steuerelements abzurufen. Wenn eine bestimmte ID in einem Dialog dupliziert wird, kann CONTROL HANDLE nur das erste Steuerelement identifizieren, das mit der ID übereinstimmt, und die übrigen Steuerelemente werden im Wesentlichen ignoriert. Steuerelement-IDs können häufig für (statische) Beschriftungstextsteuerelemente dupliziert werden, sofern diese Steuerelemente (und ihre Inhalte, Farben oder Stile) zur Laufzeit nicht geändert werden. Wenn ein solches Label-Steuerelement geändert werden soll, muss seine Steuerelement-ID eindeutig sein.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Steuerelementstile - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Steuerelementstile

Beim Erstellen untergeordneter Steuerelemente f&uuml;r Ihre Dialoge k&ouml;nnen Sie nahezu jeden von Windows zugelassenen Steuerelementstil verwenden. Diese Stile beginnen meist mit dem Pr&auml;fix %WS_ (Fensterstil) und sind im enthalten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Beim Erstellen untergeordneter Steuerelemente für Ihre Dialoge können Sie nahezu jeden von Windows zugelassenen Steuerelementstil verwenden. Diese Stile beginnen meist mit dem Präfix %WS_ (Fensterstil) und sind im enthalten

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Wenn der Stilparameter in Ihren CONTROL ADD-Anweisungen auf 0 gesetzt ist, legt DDT automatisch Standardstile für Sie fest. Die Standardstile hängen von der Art des Steuerelements ab, das Sie Ihrem Dialogfeld hinzufügen. Beispielsweise erhält eine Schaltfläche den Stil %WS_TABSTOP.

Beachten Sie, dass DDT Ihren Steuerelementen immer bestimmte Stile zuweist, z. B. %WS_CHILD und %WS_VISIBLE, unabhängig von den von Ihnen angegebenen Stilen. Wenn Sie Ihren Stilparameter festlegen, können Sie diese beiden Stile getrost ignorieren und sich auf die wichtigeren Stile konzentrieren, die erforderlich sind. Dies hat den Vorteil, dass Ihr Code weniger unübersichtlich wird. Die Ausnahme bilden benutzerdefinierte Steuerelemente. In diesem Fall müssen Sie alle erforderlichen Stile explizit angeben.

Die „Tab-Reihenfolge“ der Steuerelemente (auch als „Z-Reihenfolge“ bezeichnet) wird durch die Reihenfolge bestimmt, in der DDT-Steuerelemente zur Laufzeit erstellt werden. Das heißt, das erste einem Dialog hinzugefügte Steuerelement ist das erste Steuerelement in der Z-Reihenfolge, das zweite hinzugefügte Steuerelement ist das zweite und so weiter. Wenn ein Dialogfeld zum ersten Mal angezeigt wird, wird der Tastaturfokus automatisch auf das erste Steuerelement in der Z-Reihenfolge gelegt, das den Stil %WS_TABSTOP hat. Jedes Mal, wenn die TAB-Taste anschließend gedrückt wird, wechselt der Tastaturfokus zum nächsten Steuerelement in der Tab-Reihenfolge. Um sicherzustellen, dass alle Steuerelemente in einem Dialog mit der TAB-Taste ausgewählt werden können, sollte jedes Steuerelement im Dialog den Stil %WS_TABSTOP enthalten. Die Z-Reihenfolge bestimmt auch die Reihenfolge, in der Steuerelemente in einem Dialog gezeichnet werden, um sicherzustellen, dass einander überlappende Steuerelemente auf vorhersehbare Weise gezeichnet werden können.

Steuerelemente, die deaktiviert sind (weil sie entweder den Stil %WS_DISABLED haben oder dynamisch mit CONTROL DISABLE deaktiviert wurden), werden übersprungen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


STEUERGRIFF - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERGRIFF

Ein Fenster zur&uuml;ckgeben

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL HANDLE hDlg , id& TO hCtl&

Beschreibung

Ein Fenster zurückgeben

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt. id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

Der zurückgegebene Wert ist ein Fensterhandle für das Steuerelement, das von Windows bei der ersten Erstellung des Steuerelements zugewiesen wurde und das Steuerelement eindeutig von allen anderen Steuerelementen identifiziert. Einige API-Funktionen erfordern einen Fensterhandle-Wert anstelle eines Steuerelement-ID-Werts.

PBXB64 löst das untergeordnete Fenster mit GetDlgItem auf und speichert das aktive HWND in hCtl&. Die fokussierte Testdatei tests/pb/test_control_handle.pb prueft, dass das zurueckgegebene Handle mit dem Handle aus CONTROL ADD identisch ist.

PBXB64-Umsetzungshinweise

STEUERGRIFF gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERGRIFF ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL SEND
  • WINDOW GET HANDLE " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


STEUERUNG BILD HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNG BILD HINZUFÜGEN

F&uuml;gen Sie einem Dialogfeld ein Bildsteuerelement (ohne Gr&ouml;&szlig;en&auml;nderung) hinzu. Dies wird normalerweise verwendet, um eine in einem gespeicherte Bitmap oder ein Symbol anzuzeigen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD IMAGE, hDlg , id& , image$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]

Beschreibung

Fügen Sie einem Dialogfeld ein Bildsteuerelement (ohne Größenänderung) hinzu. Dies wird normalerweise verwendet, um eine in einem gespeicherte Bitmap oder ein Symbol anzuzeigen

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Größe der im Bild verwendeten Bitmap oder des Symbols wird nicht an das Steuerelement angepasst. Wenn Ihr Steuerelement 64 Dialogeinheiten breit ist und Ihr Symbol oder Ihre Bitmap nur 32, ist die Hälfte des Bildes leer. Für beste Ergebnisse sollten die Symbole 32 x 32 Pixel groß sein.

Sobald ein Bildsteuerelement erstellt wurde, können die angezeigten Bilder mit der CONTROL SET IMAGE-Anweisung geändert werden, jedoch nur, wenn die Bilder dasselbe Format wie das Original haben. Wenn beispielsweise zunächst ein Bildsteuerelement mit einer Bitmap-Datei erstellt wurde, müssen alle nachfolgenden Bildänderungen ebenfalls Bitmap-Bilder sein. Muss das Bildformat jedoch zur Laufzeit geändert werden, etwa weil Icons statt Bitmaps angezeigt werden sollen, gibt es einige Möglichkeiten. Beispielsweise könnte die Anwendung für jedes Bildformat separate Steuerelemente verwenden oder das vorhandene Steuerelement zerstören und ein neues Steuerelement mit einem Bild im entgegengesetzten Format erstellen.

Ein Bildsteuerelement sendet nur dann Benachrichtigungsmeldungen an einen Rückruf, wenn der %SS_NOTIFY-Stil verwendet wird. Benachrichtigungsnachrichten werden an die Callback-Funktion gesendet, wobei CB.MSG = %WM_COMMAND ist, CB.CTL die ID ( id& ) des Steuerelements enthält und CB.CTLMSG die folgenden Werte enthält:

%STN_CLICKED

Wird gesendet, wenn der Benutzer mit der Maustaste auf das Bildsteuerelement klickt (es sei denn, das Bildsteuerelement wurde deaktiviert).

%STN_DBLCLK

Wird gesendet, wenn der Benutzer auf ein Bildsteuerelement doppelklickt (es sei denn, das Steuerelement wurde deaktiviert).

%STN_DISABLE

Wird gesendet, wenn eine Bildsteuerung deaktiviert wurde.

%STN_ENABLE

Wird gesendet, wenn eine Bildsteuerung aktiviert wurde.

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

PBXB64-Umsetzungshinweise

STEUERUNG BILD HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG BILD HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG GRAFIK HINZUFÜGEN
  • STEUERUNG IMAGEX HINZUFÜGEN
  • STEUERUNG IMGBUTTON HINZUFÜGEN
  • CONTROL ADD IMGBUTTONX
  • STEUERUNGSSET-BILD
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • Hilfe zum PBXB64-Compiler


STEUERUNG CHECKBOX HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNG CHECKBOX HINZUFÜGEN

F&uuml;gen Sie einem Dialogfeld ein automatisches Kontrollk&auml;stchen hinzu. Dies wird normalerweise verwendet, um eine Wahr/Falsch- oder Ein/Aus-Auswahl anzuzeigen, und kommt h&auml;ufig in Dialogen vor, die einem Benutzer eine Auswahl an Optionen bieten.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD CHECKBOX, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD CHECKBOX, hDlg, id&, txt$, 100, 100, 40, 14, , , _
CALL CheckboxCallback() ' Use default styles

Beschreibung

Fügen Sie einem Dialogfeld ein automatisches Kontrollkästchen hinzu. Dies wird normalerweise verwendet, um eine Wahr/Falsch- oder Ein/Aus-Auswahl anzuzeigen, und kommt häufig in Dialogen vor, die einem Benutzer eine Auswahl an Optionen bieten.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn das kaufmännische Und-Zeichen (&) im txt$-Parameter vorkommt, wird der folgende Buchstabe unterstrichen angezeigt. Dadurch wird eine Steuerungsbeschleunigung (Hotkey) hinzugefügt, die es dem Benutzer ermöglicht, direkt auf ein Steuerelement zu „klicken“, indem er einfach die ALT-Taste gedrückt hält, während er den angegebenen Hotkey drückt. Beispielsweise macht „O&ption“ ALT+p zum Hotkey.

Wenn der Benutzer auf ein Steuerelement klickt, wird eine Nachricht an die für das Steuerelement vorgesehene Rückruffunktion gesendet. Wenn keine Rückruffunktion angegeben ist, wird die Nachricht an den Rückruf für den Dialog gesendet.

Wenn der Steuerrückruf die Benachrichtigungsnachricht verarbeitet, sollte er TRUE (ungleich Null) zurückgeben, um zu verhindern, dass die Nachricht unnötig an den Dialogrückruf und schließlich an die DDT-Engine selbst weitergeleitet wird.

Benachrichtigungsnachrichten werden an die Callback-Funktion gesendet, wobei CB.MSG = %WM_COMMAND ist, CB.CTL die ID (id&) des Steuerelements enthält und CB.CTLMSG die folgenden Werte enthält:

%BN_CLICKED

Wird gesendet, wenn der Benutzer eine Maustaste klickt oder das Steuerelement mit dem Hotkey aktiviert (es sei denn, das Steuerelement wurde deaktiviert).

%BN_DISABLE

Wird gesendet, wenn ein Steuerelement deaktiviert ist.

%BN_KILLFOCUS

Wird gesendet, wenn ein Steuerelement den Tastaturfokus verliert. Das Steuerelement muss den %BS_NOTIFY-Stil enthalten.

%BN_SETFOCUS

Wird gesendet, wenn ein Steuerelement den Tastaturfokus erhält. Das Steuerelement muss den %BS_NOTIFY-Stil enthalten.

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

PBXB64-Umsetzungshinweise

STEUERN SIE DAS Kontrollkästchen „Hinzufügen“. gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERN SIE DAS Kontrollkästchen „Hinzufügen“. ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD CHECK3STATE
  • CONTROL ADD OPTION
  • CONTROL GET CHECK
  • CONTROL SET CHECK
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • Hilfe zum PBXB64-Compiler


STEUERUNG DEAKTIVIEREN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNG DEAKTIVIEREN

Deaktivieren Sie ein Steuerelement, damit es keine Steuerelemente mehr erh&auml;lt

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL DISABLE hDlg , id&

Beschreibung

Deaktivieren Sie ein Steuerelement, damit es keine Steuerelemente mehr erhält

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt. id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit einer CONTROL ADD-Anweisung zugewiesen wird.

Ein deaktiviertes Steuerelement erhält keine Meldungen, wenn es mit der Maus angeklickt oder mit der Tastatur ausgewählt wird. Die meisten, aber nicht alle Steuerelemente werden bei Deaktivierung neu als „grau“ dargestellt.

PBXB64-Umsetzungshinweise

STEUERUNG DEAKTIVIEREN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG DEAKTIVIEREN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL ENABLE
  • CONTROL KILL
  • Hilfe zum PBXB64-Compiler


STEUERUNG FORTSCHRITTSBAR HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNG FORTSCHRITTSBAR HINZUFÜGEN

F&uuml;gen Sie ein ProgressBar-Steuerelement zu a hinzu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD PROGRESSBAR, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD PROGRESSBAR, hDlg, id&, "",90,90,90,20, , , CALL PBCallback()

Beschreibung

Fügen Sie ein ProgressBar-Steuerelement zu a hinzu

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachrichten reagiert.

UI-Prüfung

Dialog- und Control-Seiten sollen das Control erzeugen, den dokumentierten Befehl anwenden und den geänderten Zustand über Getter, Notification oder sichtbares Ergebnis prüfen. Prüfen Sie Handle-Gültigkeit, bevor Nachrichten gesendet werden.

Nachrichten- und Lebensdauerregeln

Dokumentieren Sie Besitzerfenster, Control-ID, Lebensdauer von Child-Handles und ob der Befehl vor oder nach dem Anzeigen des Dialogs gültig ist.

x64-Hinweise

Verwenden Sie zeigergroße Handles und speichern Sie HWND, HDC oder Callback-Zeiger nicht in 32-Bit-Variablen.

PBXB64-Umsetzungshinweise

STEUERUNG FORTSCHRITTSBAR HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG FORTSCHRITTSBAR HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET COLOR
  • PROGRESSBAR GET POS
  • Hilfe zum PBXB64-Compiler


STEUERUNG GRAFIK HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNG GRAFIK HINZUFÜGEN

F&uuml;gen Sie einem Dialog ein statisches Grafiksteuerelement f&uuml;r Zeichnungen, Bilder, Text usw. hinzu.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD GRAPHIC, hDlg , ID , Txt$ , x , y , nWide , nHigh [, style ] [, exstyle ] [,CALL CallBack ]

Beschreibung

Fügen Sie einem Dialog ein statisches Grafiksteuerelement für Zeichnungen, Bilder, Text usw. hinzu.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Grafiksteuerelement wird normalerweise mit Grafikanweisungen zum Zeichnen von Diagrammen, Bildern, Text usw. verwendet. Nachdem Sie ein Grafiksteuerelement erstellt haben, verwenden Sie normalerweise GRAPHIC ATTACH, um es als Ziel nachfolgender GRAPHIC-Anweisungen auszuwählen. Wenn zum Zeitpunkt der Erstellung jedoch kein ausgewähltes Grafikziel vorhanden ist, wird das neue Grafiksteuerelement automatisch angehängt und ausgewählt.

Ein grafisches Steuerelement sendet nur dann Benachrichtigungsmeldungen an einen Rückruf, wenn der %SS_NOTIFY-Stil verwendet wird. Benachrichtigungsnachrichten werden an die Rückruffunktion gesendet, wobei CB.MSG = %WM_COMMAND ist, CB.CTL die ID ( id& ) des Steuerelements enthält und CB.CTLMSG einen der folgenden Werte enthält:

%STN_CLICKED

Wird gesendet, wenn der Benutzer mit der Maustaste auf das Grafiksteuerelement klickt (es sei denn, das Bildsteuerelement wurde deaktiviert).

%STN_DBLCLK

Wird gesendet, wenn der Benutzer auf ein Grafiksteuerelement doppelklickt (es sei denn, das Steuerelement wurde deaktiviert).

%STN_DISABLE

Wird gesendet, wenn ein Grafiksteuerelement deaktiviert wurde.

%STN_ENABLE

Wird gesendet, wenn ein Grafiksteuerelement aktiviert wurde.

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

Alle grafischen Anzeigen von PowerBASIC sind dauerhaft – sie werden automatisch neu gezeichnet, wenn sie geändert oder vorübergehend von einem anderen Fenster verdeckt werden.

PBXB64-Umsetzungshinweise

STEUERUNG GRAFIK HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG GRAFIK HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • GRAFISCHER ANHANG
  • GRAFIKFARBE
  • GRAFISCHE MAßSTAB
  • GRAFIK-SET-SCHRIFTART
  • GRAFISCHER STIL
  • GRAFISCHE BREITE
  • GRAFIKFENSTER - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


STEUERUNG HEADER HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNG HEADER HINZUFÜGEN

F&uuml;gen Sie ein Header-Steuerelement zu a hinzu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD HEADER, hDlg , ID , Txt$ , x , y , wide , high [, style ] [, exstyle ] [,CALL CallBack ]

Beschreibung

Fügen Sie ein Header-Steuerelement zu a hinzu

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Handle des Dialogs, in dem das Header-Steuerelement platziert wird. Der Dialog wird zum übergeordneten Element des Steuerelements.

Eine eindeutige numerische Kennung für dieses Steuerelement, die vom Programmierer angegeben wird. Es muss ein ganzzahliger Wert im Bereich von 1 bis 65535 sein. Diese ID wird aus Gründen der Klarheit des Codes normalerweise mit einem numerischen Gleichwert angegeben. Beispielsweise ist das Äquator %IDC_HEADER1 informativer als ein Literalwert wie 497. PowerBASIC empfiehlt, dass Bezeichnerwerte bei 100 beginnen sollten, um Konflikte mit den standardmäßig vordefinierten Bezeichnern zu vermeiden.

Text, der dem Header-Steuerelement zugeordnet werden soll. Ein Header-Steuerelement zeigt diesen Text nicht an, daher ist es üblich, diesen Wert auf ein leeres Null-Zeichenfolgenliteral ("" oder $NUL) festzulegen.

Integrale Ausdrücke, die die Position des Steuerelements im Dialog-Client-Bereich angeben. X ist die horizontale Position und Y ist die vertikale Position. 0,0 bezieht sich auf die obere linke Ecke des Dialogs. Koordinaten werden in denselben Begriffen (Pixel oder Dialogeinheiten) wie im übergeordneten Dialog angegeben.

breit, hoch

Integrale Ausdrücke, die die Gesamtbreite und -höhe des Kopfbereichs angeben.

Optionaler primärer Stil des Header-Steuerelements. Dieser Wert kann eine Kombination der folgenden Werte sein, kombiniert mit dem OR-Operator, um eine Bitmaske zu bilden. Wenn der Stil weggelassen wird, ist die Standardkombination %WS_CHILD ODER %WS_VISIBLE.

%WS_CHILD

Das Steuerelement ist ein untergeordnetes Fenster.

%WS_VISIBLE

Das Steuerelement ist sichtbar.

%WS_BORDER

Fügen Sie einen dünnen Linienrand um das Header-Steuerelement hinzu.

exstyle

Optionaler erweiterter Stil des Header-Steuerelements.

Rückruf

Optionaler Name einer Callback-Funktion, die alle %WM_COMMAND- und %WM_NOTIFY-Nachrichten für das Steuerelement empfängt. Sehen Sie sich die Metaanweisung #MESSAGES an, um auszuwählen, welche Nachrichten empfangen werden. Wenn kein Rückruf für das Steuerelement festgelegt ist, müssen Sie eine Dialog-Rückruffunktion erstellen, um Nachrichten von Ihrem Steuerelement zu verarbeiten.

Wenn die Callback-Funktion eine Nachricht verarbeitet, sollte sie TRUE (ungleich Null) zurückgeben, um zu verhindern, dass die Nachricht unnötigerweise an den Dialog-Callback (sofern vorhanden) übergeben wird. Der Dialogrückruf sollte auch TRUE zurückgeben, wenn die Benachrichtigungsnachricht von dieser Rückruffunktion verarbeitet wird. Andernfalls verarbeitet die DDT-Engine nicht verarbeitete Nachrichten.

PBXB64 unterstützt auch CONTROL SET HEADER für dieses Steuerelement. Es legt den Text der einsbasierten Artikelnummer fest und fügt bei Bedarf den Artikel ein. Die optionale TO-Variable erhält 1 bei Erfolg oder 0 bei Fehler.

PBXB64-Umsetzungshinweise

STEUERUNG HEADER HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG HEADER HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • HEADER GET COUNT
  • Hilfe zum PBXB64-Compiler


STEUERUNG HINZUFÜGEN-TASTE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNG HINZUFÜGEN-TASTE

F&uuml;gen Sie einem Dialogfeld eine Befehlsschaltfl&auml;che hinzu. Eine Befehlsschaltfl&auml;che ist eine Schaltfl&auml;che, die beim Klicken auf die Schaltfl&auml;che eine Aktion ausl&ouml;st. Ein h&auml;ufiges Beispiel f&uuml;r eine Befehlsschaltfl&auml;che ist die Schaltfl&auml;che &#8222;OK&ldquo; in einem Meldungsfelddialogfeld.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD BUTTON, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD BUTTON, hDlg, id&, txt$, 100, 100, 150, 200, , , _
CALL ButtonCallback() ' Use default styles

Beschreibung

Fügen Sie einem Dialogfeld eine Befehlsschaltfläche hinzu. Eine Befehlsschaltfläche ist eine Schaltfläche, die beim Klicken auf die Schaltfläche eine Aktion auslöst. Ein häufiges Beispiel für eine Befehlsschaltfläche ist die Schaltfläche „OK“ in einem Meldungsfelddialogfeld.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn das kaufmännische Und-Zeichen (&) im txt$-Parameter vorkommt, wird der folgende Buchstabe unterstrichen angezeigt. Dadurch wird eine Steuerungsbeschleunigung (Hotkey) hinzugefügt, die es dem Benutzer ermöglicht, direkt auf ein Steuerelement zu „klicken“, indem er einfach die ALT-Taste gedrückt hält, während er den angegebenen Hotkey drückt. Beispielsweise macht „Beenden“ ALT+x zum Hotkey.

Unter Windows XP und Windows 2000 müssen Sie möglicherweise die ALT-Taste drücken, bevor die Steuerungsbeschleuniger sichtbar werden. Sie können in den Windows-Anzeigeeinstellungen festlegen, ob Befehlsbeschleuniger bei Verwendung der ALT-Taste oder ständig sichtbar sind.

Sofern nicht der %BS_FLAT-Stil verwendet wird, wird die Schaltfläche im Dialog in einem dreidimensionalen Erscheinungsbild gezeichnet. Wenn der Benutzer auf eine Schaltfläche klickt, wird eine Nachricht an die für die Schaltfläche vorgesehene Rückruffunktion gesendet. Wenn keine Rückruffunktion angegeben ist, wird die Nachricht an den Rückruf für den Dialog gesendet.

Wenn die Steuerrückruffunktion eine Nachricht verarbeitet, sollte sie im Allgemeinen TRUE (ungleich Null) zurückgeben, um zu verhindern, dass die Nachricht unnötigerweise an den Dialogrückruf (falls vorhanden) übergeben wird. Der Dialog-Callback sollte auch TRUE zurückgeben, wenn die Benachrichtigungsnachricht von dieser Callback-Funktion verarbeitet wird. Andernfalls verarbeitet die DDT-Engine nicht verarbeitete Nachrichten.

PBXB64-Qualifikation: style& und exstyle& akzeptieren PB-Bitmaskenausdrücke wie %BS_DEFPUSHBUTTON OR %WS_TABSTOP und %WS_EX_CLIENTEDGE. Die resultierenden nativen Stilbits sind durch tests/pb/test_control_add_style_equates.pb abgedeckt.

Benachrichtigungsnachrichten werden an die Callback-Funktion gesendet, wobei CB.MSG = %WM_COMMAND ist, CB.CTL die ID (id&) des Steuerelements enthält und CB.CTLMSG die folgenden Werte enthält:

%BN_CLICKED

Wird gesendet, wenn der Benutzer auf eine Maustaste klickt oder die Schaltfläche mit dem Hotkey aktiviert (es sei denn, die Schaltfläche wurde deaktiviert).

%BN_DISABLE

Wird gesendet, wenn eine Schaltfläche deaktiviert ist.

%BN_KILLFOCUS

Wird gesendet, wenn eine Schaltfläche den Tastaturfokus verliert. Die Schaltfläche muss den %BS_NOTIFY-Stil enthalten.

%BN_SETFOCUS

Wird gesendet, wenn eine Schaltfläche den Tastaturfokus erhält. Die Schaltfläche muss den %BS_NOTIFY-Stil enthalten.

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

PBXB64-Umsetzungshinweise

STEUERUNG HINZUFÜGEN-TASTE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG HINZUFÜGEN-TASTE ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET TEXT
  • CONTROL SET FONT
  • CONTROL SET TEXT
  • Hilfe zum PBXB64-Compiler


STEUERUNG IMAGEX HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNG IMAGEX HINZUFÜGEN

F&uuml;gen Sie einem Dialogfeld ein Steuerelement f&uuml;r gestreckte Bilder hinzu. Dies wird normalerweise zum Anzeigen von Bitmaps und Symbolen verwendet, die automatisch gestreckt oder komprimiert werden, um den Clientbereich der Steuerelemente auszuf&uuml;llen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD IMAGEX, hDlg , id& , image$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]

Beschreibung

Fügen Sie einem Dialogfeld ein Steuerelement für gestreckte Bilder hinzu. Dies wird normalerweise zum Anzeigen von Bitmaps und Symbolen verwendet, die automatisch gestreckt oder komprimiert werden, um den Clientbereich der Steuerelemente auszufüllen.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Größe der im Bild verwendeten Bitmap oder des Symbols wird an das Steuerelement angepasst. Wenn Ihr Steuerelement 64 Dialogeinheiten breit ist und Ihr Symbol oder Ihre Bitmap nur 32, wird es gestreckt, um das gesamte Steuerelement abzudecken. Für beste Ergebnisse sollten die Symbole 32 x 32 Pixel groß sein.

Ein Bildsteuerelement sendet nur dann Benachrichtigungsmeldungen an einen Rückruf, wenn der %SS_NOTIFY-Stil verwendet wird. Benachrichtigungsnachrichten werden an die Callback-Funktion gesendet, wobei CB.MSG = %WM_COMMAND ist, CB.CTL die ID ( id& ) des Steuerelements enthält und CB.CTLMSG die folgenden Werte enthält:

%STN_CLICKED

Wird gesendet, wenn der Benutzer mit der Maustaste auf das Bildsteuerelement klickt (es sei denn, das Bildsteuerelement wurde deaktiviert).

%STN_DBLCLK

Wird gesendet, wenn der Benutzer auf ein Bildsteuerelement doppelklickt (es sei denn, das Steuerelement wurde deaktiviert).

%STN_DISABLE

Wird gesendet, wenn eine Bildsteuerung deaktiviert wurde.

%STN_ENABLE

Wird gesendet, wenn eine Bildsteuerung aktiviert wurde.

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

Einschränkungen

Unter Windows 95/98/ME kann der Versuch, ein Symbol deutlich über 64 x 64 zu strecken, aufgrund interner Beschränkungen fehlschlagen, die zwischen den jeweiligen Windows-Versionen variieren. Bitmaps sind hiervon nicht betroffen. Windows NT/2000/XP-Systeme erlegen weder für Symbole noch für Bitmaps vergleichbare Einschränkungen auf.

PBXB64-Umsetzungshinweise

STEUERUNG BILD HINZUFÜGENX gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG BILD HINZUFÜGENX ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG GRAFIK HINZUFÜGEN
  • STEUERUNG BILD HINZUFÜGEN
  • STEUERUNG IMGBUTTON HINZUFÜGEN
  • CONTROL ADD IMGBUTTONX
  • STEUERUNGSSET-BILD
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • Hilfe zum PBXB64-Compiler


STEUERUNG IMGBUTTON HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNG IMGBUTTON HINZUFÜGEN

F&uuml;gen Sie einem Dialog eine Bildschaltfl&auml;che hinzu. Bildschaltfl&auml;chen werden h&auml;ufig verwendet, um das Erscheinungsbild eines Dialogs zu verbessern.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD IMGBUTTON, hDlg , id& , image$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD IMGBUTTON, hDlg, id&, txt$, 100, 100, 150, 200, , , _
CALL ImgButtonCallback() ' Use default styles

Beschreibung

Fügen Sie einem Dialog eine Bildschaltfläche hinzu. Bildschaltflächen werden häufig verwendet, um das Erscheinungsbild eines Dialogs zu verbessern.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Größe der in der Schaltfläche verwendeten Bitmap oder des Symbols wird nicht an die Schaltfläche angepasst. Wenn Ihre Schaltfläche 64 Dialogeinheiten breit ist und Ihr Symbol oder Ihre Bitmap nur 32, ist die Hälfte der Schaltfläche leer. Für beste Ergebnisse sollten die Symbole 32 x 32 Pixel groß sein.

Eine Bildschaltfläche wird in einem dreidimensionalen Erscheinungsbild im Dialogfeld gezeichnet, sofern nicht der %BS_FLAT-Stil angegeben ist. Wenn der Benutzer auf die Bildschaltfläche klickt, wird eine Nachricht an die Rückruffunktion der Schaltfläche gesendet. Wenn keine Rückruffunktion angegeben ist, wird die Nachricht an den Rückruf für den Dialog gesendet.

Benachrichtigungsnachrichten werden an die Callback-Funktion gesendet, wobei CB.MSG = %WM_COMMAND ist, CB.CTL die ID ( id& ) des Steuerelements enthält und CB.CTLMSG die folgenden Werte enthält:

%BN_CLICKED

Wird gesendet, wenn der Benutzer auf eine Maustaste klickt oder die Schaltfläche mit dem Hotkey aktiviert (es sei denn, die Schaltfläche wurde deaktiviert).

%BN_DISABLE

Wird gesendet, wenn eine Schaltfläche deaktiviert ist.

%BN_KILLFOCUS

Wird gesendet, wenn eine Schaltfläche den Tastaturfokus verliert. Die Schaltfläche muss den %BS_NOTIFY-Stil enthalten.

%BN_SETFOCUS

Wird gesendet, wenn eine Schaltfläche den Tastaturfokus erhält. Die Schaltfläche muss den %BS_NOTIFY-Stil enthalten.

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachricht reagiert.

PBXB64-Umsetzungshinweise

STEUERN SIE DIE IMGBUTTON HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERN SIE DIE IMGBUTTON HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG GRAFIK HINZUFÜGEN
  • STEUERUNG BILD HINZUFÜGEN
  • STEUERUNG IMAGEX HINZUFÜGEN
  • CONTROL ADD IMGBUTTONX
  • STEUERUNGSSET-BILD
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • Hilfe zum PBXB64-Compiler


STEUERUNG NORMALISIEREN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNG NORMALISIEREN

Machen Sie eine Kontrolle

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL NORMALIZE HDlg , ID&

Beschreibung

Machen Sie eine Kontrolle

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die durch die HDlg/ID&-Kombination identifizierte Steuerung wird sichtbar gemacht.

HDlg ist das Handle des Dialogs, der das Steuerelement besitzt. ID& ist die eindeutige Kontrollkennung, die der Kontrolle mit CONTROL ADD zugewiesen wird.

UI-Prüfung

Dialog- und Control-Seiten sollen das Control erzeugen, den dokumentierten Befehl anwenden und den geänderten Zustand über Getter, Notification oder sichtbares Ergebnis prüfen. Prüfen Sie Handle-Gültigkeit, bevor Nachrichten gesendet werden.

Nachrichten- und Lebensdauerregeln

Dokumentieren Sie Besitzerfenster, Control-ID, Lebensdauer von Child-Handles und ob der Befehl vor oder nach dem Anzeigen des Dialogs gültig ist.

x64-Hinweise

Verwenden Sie zeigergroße Handles und speichern Sie HWND, HDC oder Callback-Zeiger nicht in 32-Bit-Variablen.

PBXB64-Umsetzungshinweise

STEUERUNG NORMALISIEREN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG NORMALISIEREN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • CONTROL HIDE
  • STEUERUNGSSATZGRÖSSE
  • DIALOG HIDE
  • DIALOG NORMALISIEREN
  • Hilfe zum PBXB64-Compiler


STEUERUNG SCROLLBAR HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNG SCROLLBAR HINZUFÜGEN

F&uuml;gen Sie ein hinzu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD SCROLLBAR, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD SCROLLBAR, hDlg, id&, txt$, 100, 100, 150, 14, , , _
CALL Scrollbar1Callback() ' Use default styles

Beschreibung

Fügen Sie ein hinzu

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn das kaufmännische Und-Zeichen (&) im txt$-Parameter erscheint, wird der folgende Buchstabe zu einem Steuerbeschleuniger (Hotkey), damit der Benutzer die Bildlaufleistensteuerung direkt auswählen kann, indem er einfach die ALT-Taste gedrückt hält, während er den angegebenen Hotkey drückt. Beispielsweise macht „&9“ ALT+9 zum Hotkey. Der tatsächliche Text in txt$ wird in einem Bildlaufleisten-Steuerelement nicht angezeigt.

Wenn der Benutzer auf eine Bildlaufleiste klickt, den Daumen zieht (auch Bildlauffeld genannt) oder über die Tastatur ein Bildlaufereignis auslöst, wird eine Nachricht an die für das Steuerelement vorgesehene Rückruffunktion gesendet. Wenn keine Rückruffunktion angegeben ist, wird die Nachricht an den Rückruf für den Dialog gesendet.

Die folgenden Benachrichtigungen werden an die Callback-Funktion gesendet:

%WM_HSCROLL

Wird gesendet, wenn der Benutzer eine horizontale Bildlaufleiste anpasst.

%WM_VSCROLL

Wird gesendet, wenn der Benutzer eine vertikale Bildlaufleiste anpasst.

Wenn eine Rückruffunktion eine %WM_HSCROLL- oder %WM_VSCROLL-Nachricht empfängt, sollte sie die Einstellungen der Bildlaufleistensteuerung über die GetScrollInfo-API und SCROLLBAR SET POS-Funktionsaufrufe abrufen und festlegen. Stellen Sie sicher, dass Sie bei diesen API-Funktionen das Flag %SB_CTL und nicht die Flags %SB_HORZ oder %SB_VERT verwenden.

PBXB64 erzeugt SCROLLBAR als natives SCROLLBAR-Steuerelement. Wenn style& und exstyle& weggelassen werden, ist %SBS_HORZ der Standard, wenn das Steuerelement mindestens so breit wie hoch ist, und %SBS_VERT, wenn es hoeher als breit ist; der Standardwert fuer exstyle& ist %WS_EX_LEFT. Bei einem Control-Callback bezeichnet CB.CTL die Bildlaufleiste und CB.CTLMSG enthaelt den Low-Word-Anforderungscode.

Validierungsnachweis: tests/pb/test_control_add_line_scrollbar.pb prueft die native Erzeugung, den hoehenabhaengigen vertikalen Standard, %WM_VSCROLL-Routing sowie CB.CTL und CB.CTLMSG.

PBXB64-Umsetzungshinweise

STEUERUNG SCROLLBAR HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG SCROLLBAR HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERGRIFF
  • CONTROL SEND
  • CONTROL SET COLOR
  • SCROLLBAR SEITENGRÖSSE ERHALTEN
  • Hilfe zum PBXB64-Compiler


STEUERUNG SYMBOLLEISTE HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNG SYMBOLLEISTE HINZUFÜGEN

F&uuml;gen Sie ein ToolBar-Steuerelement zu einem hinzu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD TOOLBAR, hDlg , ID , Txt$ , x , y , nWide , nHigh [, style ] [, exstyle& ] [,CALL callback ]
CONTROL ADD TOOLBAR, hDlg, id&, "", 1, 1, 1, 1, , , CALL TBCallback()

Beschreibung

Fügen Sie ein ToolBar-Steuerelement zu einem hinzu

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn eine Rückruffunktion eine Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Benachrichtigungsnachrichten reagiert.

PBXB64-Umsetzungshinweise

STEUERUNG SYMBOLLEISTE HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG SYMBOLLEISTE HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • Dynamic Dialog Tools (DDT)
  • CONTROL SET FONT
  • Schaltfläche "Hinzufügen" in der Symbolleiste - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


STEUERUNG TREEVIEW HINZUFÜGEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNG TREEVIEW HINZUFÜGEN

F&uuml;gen Sie ein TreeView-Steuerelement zu einem hinzu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL ADD TREEVIEW, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD TREEVIEW, hDlg, id&, "", 100, 100, 150, 200, , , CALL TVCallback()

Beschreibung

Fügen Sie ein TreeView-Steuerelement zu einem hinzu

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn eine Rückruffunktion eine %WM_COMMAND-Nachricht empfängt, sollte sie den Wert von CB.CTL und CB.CTLMSG explizit testen, um sicherzustellen, dass sie angemessen auf die Nachrichten reagiert.

PBXB64-Umsetzungshinweise

STEUERUNG TREEVIEW HINZUFÜGEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG TREEVIEW HINZUFÜGEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • TREEVIEW DELETE
  • Hilfe zum PBXB64-Compiler


STEUERUNGSSATZGRÖSSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNGSSATZGRÖSSE

&Auml;ndern Sie die Gr&ouml;&szlig;e eines Steuerelements

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET SIZE hDlg , id& , nWide& , nHigh&

Beschreibung

Ändern Sie die Größe eines Steuerelements

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Abhängig von der Art der verwendeten Rahmen kann die Gesamtgröße größer als die Clientgröße sein. Der Clientbereich ist der Teil innerhalb der Grenzen eines Steuerelements, der je nach Stil und Exstyle bei der Erstellung variiert. Die Gesamtgröße umfasst die Ränder. Bei einem Steuerelement ohne Rahmen sind die Clientgröße und die Gesamtgröße gleich. Bei einem Steuerelement mit dem %WS_BORDER-Stil ist der Clientbereich jedoch normalerweise einige Pixel kleiner als die Gesamtgröße.

Handle des Dialogs, der das Steuerelement besitzt.

nWide&, nHigh&

Integrale numerische Ausdrücke, die die gewünschte Größe der Gesamtfläche angeben. Breite und Höhe werden in Pixeln oder Dialogeinheiten angegeben, je nachdem, welches System beim Erstellen des übergeordneten Dialogs verwendet wurde.

PBXB64 aendert die vollstaendige Fenstergrösse mit SetWindowPos und erhaelt Position sowie Z-Reihenfolge. Die fokussierte Testdatei tests/pb/test_control_geometry.pb prueft die angeforderten Gesamtmasse.

Grafische Steuerelemente

Ab dieser Version von PowerBASIC kann die Größe von GRAFIKSTEUERN mit CONTROL SET CLIENT , GRAPHIC SET CLIENT , CONTROL SET SIZE und GRAPHIC SET SIZE geändert werden.

Wenn Sie die Größe eines Grafiksteuerelements ändern, wird die ursprüngliche Bitmap Pixel für Pixel in das neu verkleinerte Steuerelement kopiert. Jeder erweiterte Bereich wird mit der aktuellen Hintergrundfarbe gefüllt. Ihr Programm greift auf normale Weise darauf zurück, um eine Bitmap in der neuen Größe zu erstellen.

Wenn ein Clip-Bereich zum Erstellen von Rändern eingerichtet wurde, wird dieser zurückgesetzt. Wenn skalierte Koordinaten festgelegt wurden, werden diese ebenfalls zurückgesetzt, da keine der beiden für die geänderte Größe angemessen wäre. Sie können diese Attribute mit GRAPHIC SCALE oder GRAPHIC SET CLIP wieder aktivieren, basierend auf der neuen Größe des Zeichenbereichs.

PBXB64-Umsetzungshinweise

CONTROL SET-GRÖSSE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

CONTROL SET-GRÖSSE ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • CONTROL GET LOC
  • CONTROL GET SIZE
  • CONTROL SET LOC
  • GRAPHIC SET CLIENT
  • GRAFIKSATZGRÖSSE
  • Hilfe zum PBXB64-Compiler


STEUERUNGSSET-BILD - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STEUERUNGSSET-BILD

&Auml;ndern Sie das Symbol oder die Bitmap, die in einem angezeigt wird

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CONTROL SET IMAGE hDlg , id& , newimage$

Beschreibung

Ändern Sie das Symbol oder die Bitmap, die in einem angezeigt wird

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

hDlg bezieht sich auf den Dialog, der das Steuerelement besitzt.

id& ist die eindeutige Steuerelement-ID, die dem Steuerelement mit der CONTROL ADD IMAGE-Anweisung zugewiesen wurde.

newimage$ gibt den Namen der Bitmap oder des Symbols in der Ressourcendatei an. Wenn die Bildressource einen ganzzahligen Bezeichner verwendet, sollte newimage$ mit einem Zahlensymbol (#) beginnen, gefolgt vom ganzzahligen Bezeichner im ASCII-Format. Beispiel: „#998“. Andernfalls sollte der Textbezeichnername verwendet werden.

Einschränkungen

Bilder können nur mit Bildern des gleichen Typs ausgetauscht werden. Das heißt, wenn das Steuerelement eine Bitmap anzeigt, muss das Ersatzbild ebenfalls eine Bitmap sein. Wenn das Steuerelement ein Symbol anzeigt, muss das Ersatzbild ebenfalls ein Symbol sein. Für beste Ergebnisse sollten die Symbole 32 x 32 Pixel groß sein.

Wenn ein Bild geändert wird, gibt CONTROL SET IMAGE automatisch das alte Bild aus dem Speicher frei. In früheren Versionen von PowerBASIC lag die Pflicht beim Programmierer, das alte Image-Handle freizugeben.

PBXB64-Umsetzungshinweise

STEUERUNG BILD EINSTELLEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

STEUERUNG BILD EINSTELLEN ist ein DDT-Control-Befehl fuer ein Dialog-Control. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende Control-ID bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Callback-Routing

CONTROL ADD verteilt Benachrichtigungen an den zugewiesenen Callback des Controls oder des Dialogs. Typische Pfade sind WM_COMMAND fuer klassische Steuerelemente und WM_NOTIFY fuer Common-Controls; der Testcode sollte deshalb immer die Nachricht, die Control-ID und die passenden Callback-Hilfen CB.CTL und CB.CTLMSG pruefen.

Stil- und ID-Regeln

Die Werte style& und exstyle& bestimmen Aussehen und Verhalten des erzeugten Controls. Halten Sie Control-IDs innerhalb des Dialogs eindeutig, und pruefen Sie bei Custom Controls immer, ob die erwartete Stil-Kombination von der jeweiligen Control-Klasse wirklich unterstuetzt wird.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG GRAFIK HINZUFÜGEN
  • STEUERUNG BILD HINZUFÜGEN
  • STEUERUNG IMAGEX HINZUFÜGEN
  • STEUERUNG IMGBUTTON HINZUFÜGEN
  • CONTROL ADD IMGBUTTONX
  • CONTROL GET CLIENT
  • CONTROL GET SIZE
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • Hilfe zum PBXB64-Compiler


STRDELETE$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STRDELETE$

L&ouml;schen Sie eine angegebene Anzahl von Zeichen aus a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = STRDELETE$( string_expression , start& , count& )

Beschreibung

Löschen Sie eine angegebene Anzahl von Zeichen aus a

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Gibt einen String basierend auf dem Kopieren von string_expression zurück, wobei count& Zeichen jedoch ab Position start& gelöscht werden. Das erste Zeichen in der Zeichenfolge ist Position 1 usw.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • CLIP$
  • STRINSERT$
  • STRREVERSE$ - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


STRING$ - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STRING$ - Hilfe zum PBXB64-Compiler

Gibt eine Zeichenfolge zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = STRING$( Count& , Character% )
s$ = STRING$( Count& , Character$ )
s$$ = STRING$$( Count& , Character% )
s$$ = STRING$$( Count& , Character$$ )

Beschreibung

Gibt eine Zeichenfolge zurück

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Funktion erstellt eine Zeichenfolge, die aus mehreren Kopien eines bestimmten Zeichens besteht. Die Form STRING$() erstellt eine Zeichenfolge aus ANSI-Zeichen (1 Byte) oder Codes im Bereich von 0 bis 255. Die Form STRING$$() erstellt eine WSTRING-Zeichenfolge aus WIDE-UTF-16-Codeunits im Bereich von 0 bis 65535.

Verwenden Sie STRING$ fuer ANSI-Ergebnisse und STRING$$ fuer WIDE-Ergebnisse. STRING$$ ist fuer numerische Codeunit-Argumente, WSTRING-Zeichenargumente, auf denselben Bytewert erweiterte ANSI-Zeichenargumente und leere WSTRING-Ergebnisse bei null oder negativen Zaehlern getestet.

STRING$ mit einem numerischen Argument gibt Count& Kopien des Zeichens mit dem Zeichencode von Character% zurueck. STRING$ mit einem String-Argument gibt Count& Kopien des ersten Zeichens in Character$ zurueck. STRING$$ folgt derselben Zaehlregel und gibt eine WSTRING-Zeichenfolge zurueck.

Die folgenden Funktionen geben alle eine Zeichenfolge mit 8 Leerzeichen zurück:

A$ = STRING$(8, 32)

A$ = STRING$(8, " ")

A$ = STRING$(8, $SPC)

A$ = SPACE$(8)

A$ = REPEAT$(8, " ")

A$ = REPEAT$(8, $SPC)

Verwenden Sie REPEAT$, um mehrere Kopien einer aus mehreren Zeichen bestehenden Zeichenfolge zu erstellen, und SPACE$, um eine Zeichenfolge aus Leerzeichen zurückzugeben.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • ASC ? PBXB64-Compiler-Hilfe
  • BUILD$
  • CHR$
  • NUL$
  • REPEAT$ - Hilfe zum PBXB64-Compiler
  • SPACE$ - Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


String-Arrays - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

String-Arrays

Die Elemente von String-Arrays enthalten Strings anstelle von . Jede Zeichenfolge kann eine andere L&auml;nge haben. Beispielsweise erstellt DIM Words$(50) eine Folge von 51 unabh&auml;ngigen String-Variablen:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Elemente von String-Arrays enthalten Strings anstelle von . Jede Zeichenfolge kann eine andere Länge haben. Beispielsweise erstellt DIM Words$(50) eine Folge von 51 unabhängigen String-Variablen:

Typ:Schlüsselwort |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Wörter$(0) = „Daniel mag Katzen.“ ' 18-stellige Zeichenfolge

Wörter$(1) = "" ' eine Nullzeichenfolge

Wörter$(2) = „Nicki ist ein süßes Kind.“ ' 23-stellige Zeichenfolge

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


String-Operationsbefehle - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

String-Operationsbefehle

Die folgenden Funktionen manipulieren und verwalten String-Daten:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die folgenden Funktionen manipulieren und verwalten String-Daten:

Typ:Schlüsselwort |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Übersetzen Sie eine Unicode-Zeichenfolge in eine ANSI-Zeichenfolge.

Weisen Sie aufeinanderfolgenden Elementen eines Arrays eine Reihe von Werten zu.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


STRINGZ / ASCIIZ - NUL-terminierten String deklarieren - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STRINGZ / ASCIIZ - NUL-terminierten String deklarieren

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

LOCAL z AS ASCIIZ * 260

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Fester Puffer-Stringtyp mit Nullterminator-Semantik fuer API-Kompatibilitaet.

Praktische Verwendung

Verwenden Sie diese Schreibweise fuer feste Puffer mit NUL-Ende, typischerweise fuer API-kompatible Strings. Die Deklaration muss die Zielgroesse mit angeben, damit Trunkierung und Terminierung prufbar bleiben.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwechseln Sie diese Typkeywords nicht mit freien Bezeichnern oder Laufzeitwerten. Wenn der Zielkontext die Type-Position nicht erwartet, muss die Quelle entsprechend angepasst werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


STRINSERT$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STRINSERT$

F&uuml;gen Sie eine Zeichenfolge ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = STRINSERT$( MainStr$ , NewStr$ , position& )

Beschreibung

Fügen Sie eine Zeichenfolge ein

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Gibt eine Zeichenfolge zurück, die aus dem Zeichenfolgenausdruck MainStr$ besteht, wobei an Position & der Zeichenfolgenausdruck NewStr$ eingefügt ist. Wenn position& größer als die Länge von MainStr$ ist, wird NewStr$ an MainStr$ angehängt. Das erste Zeichen in der Zeichenfolge ist Position 1 usw.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • BUILD$
  • CLIP$
  • CSET$ ? PBXB64-Compiler-Hilfe
  • LSET$
  • RSET$
  • STRDELETE$
  • STRREVERSE$ - Hilfe zum PBXB64-Compiler
  • WRAP$
  • Hilfe zum PBXB64-Compiler


STRPTR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STRPTR

Gibt das 32-Bit zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

xPtr = STRPTR( StringVar )

Beschreibung

Gibt das 32-Bit zurück

Typ:Funktion |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

StringVar ist der Name einer String-Variablen. STRPTR gibt die 32-Bit-Adresse im Speicher zurück, wo der Inhalt von StringVar gespeichert ist.

Beachten Sie, dass sich STRPTR von VARPTR unterscheidet. Bei Verwendung mit einer String-Variablen gibt VARPTR die Adresse des String-Handles zurück, während STRPTR die Adresse der tatsächlichen String-Daten zurückgibt. Ebenso ist ein STRING POINTER (oder STRING PTR) ein Zeiger auf ein String-Handle – dieser wichtige Unterschied sollte bei der Arbeit mit den Operationen VARPTR und STRPTR berücksichtigt werden.

STRPTR darf nicht mit Zeichenfolgen fester Länge oder mit NULL-terminierten Zeichenfolgen verwendet werden, da diese keine Zeichenfolgenhandles verwenden. Verwenden Sie VARPTR mit Zeichenfolgen fester Länge und mit Nullterminierung.

Wenn der Inhalt einer dynamischen Zeichenfolge geändert wird, ändert sich auch die Adresse der Zeichenfolgendaten, das Zeichenfolgenhandle bleibt jedoch an derselben Stelle. Daher ist es wichtig, dass Ihr Code alle Zeiger aktualisiert, die direkt auf die Speicherorte der Zeichenfolgendaten zielen.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • CODEPTR
  • POKE
  • PEEK
  • VARPTR
  • Hilfe zum PBXB64-Compiler


STRREVERSE$ - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

STRREVERSE$ - Hilfe zum PBXB64-Compiler

Kehren Sie den Inhalt einer Zeichenfolge um

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = STRREVERSE$( MainStr$ )

Beschreibung

Kehren Sie den Inhalt einer Zeichenfolge um

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Kehrt den Inhalt von MainStr$ um und gibt das Ergebnis zurück.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • STRDELETE$
  • STRINSERT$
  • Hilfe zum PBXB64-Compiler


Strukturierte Programmierung - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Strukturierte Programmierung

F&uuml;r die meisten Anwendungen verwenden gute Programmierer einen organisierten Programmieransatz, der als strukturierte Programmierung bezeichnet wird. Die urspr&uuml;nglich interpretierten BASICs unterst&uuml;tzten diese Art der Programmierung nicht wirklich. Allerdings

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Für die meisten Anwendungen verwenden gute Programmierer einen organisierten Programmieransatz, der als strukturierte Programmierung bezeichnet wird. Die ursprünglich interpretierten BASICs unterstützten diese Art der Programmierung nicht wirklich. Allerdings

Typ:Schlüsselwort |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Strukturierte Programmierung basiert auf der Theorie, dass Modularisierung zu besseren Programmen führt. Modularisierung bedeutet, Anweisungn zusammenzufassen (Module zu erstellen), die in irgendeiner Beziehung zueinander stehen. Mit anderen Worten: Sie unterteilen Ihr Programm in logische Funktionsabschnitte. Dies erleichtert das Schreiben, Debuggen und Verstehen des Programms.

Idealerweise sollten Module nicht länger als eine Seite sein. Diese scheinbar willkürliche Einschränkung erleichtert das Erfassen des gesamten Moduls auf einen Blick. Es ist einfacher, eine Reihe von zehn einseitigen Modulen zu verstehen als ein einzelnes zehnseitiges Programm.

Bei einigen Projekten sind Sie nach dieser ersten Trennung bereit, das Programm zu schreiben. Bei komplizierteren Problemen müssen Sie die Module möglicherweise in Teilstücke zerlegen. Dieser Prozess wird fortgesetzt, bis Sie das Material so weit verfeinert haben, dass Sie den Code schreiben können, der Ihren Vorstellungen entspricht. Dieser gesamte Prozess wird in Büchern oft als „Top-Down-Design“ beschrieben, da man mit einer allgemeinen Beschreibung beginnt und auf eine spezifischere Beschreibung hinarbeitet.

Sobald Sie die logische Organisation haben, können Sie mit der Gestaltung der Gesamtstruktur Ihres Programms beginnen. Bei kurzen, einfachen Programmen können diese Schritte nur wenige Minuten dauern. Bei komplexen Programmen kann es Monate dauern.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


SWAP - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SWAP

Tauschen Sie die Werte von zwei aus

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SWAP var1 , var2

Beschreibung

Tauschen Sie die Werte von zwei aus

Typ:Anweisung |Kategorie:Mathematik und Numerik

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

TAUSCHEN gehoert zur Kategorie General. Diese Seite beschreibt den PBXB64-Dokumentationsstand fuer diesen Eintrag; verwenden Sie die Grenzen und Belege auf dieser Seite statt historischer PBWin-Annahmen.

Praktische Verwendung

TAUSCHEN gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.


SWITCH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SWITCH

Gibt einen Wert aus einer Reihe von Werten basierend auf a zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

var = SWITCH( expr1 , val1 [[, expr2 , val2 ], ...])
var& = SWITCH&( expr1 , val1& [[, expr2 , val2& ], ...])
var$ = SWITCH$( expr1 , val1$ [[, expr2 , val2$ ], ...])

Beschreibung

Gibt einen Wert aus einer Reihe von Werten basierend auf a zurück

Typ:Funktion |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] für numerisches SWITCH; SWITCH$ implementiert und getestet

Beschreibung

SWITCH erwartet Werte jeden numerischen Typs. SWITCH& erwartet Werte, die für den Typ Long-Integer optimiert sind. SWITCH$ erwartet Werte vom Typ String.

Wenn expr1 TRUE auswertet, wird val1 zurückgegeben, wenn expr2 TRUE auswertet, wird val2 zurückgegeben usw.

Jeder Steuerausdruck in der Reihe wird als typischer boolescher PowerBASIC-Ausdruck ausgewertet, der bei Bedarf eine Auswertung des Kurzschlussausdrucks ermöglicht. Um eine bitweise Auswertung eines Ausdrucks zu erzwingen, schließen Sie ihn in Klammern ein. Die Wertparameter können Ausdrücke, Literale oder Variablen des entsprechenden Datentyps für die verwendete SWITCH-Funktion sein.

SWITCH gibt den passenden Wertparameter aus der ersten TRUE-Auswertung der Steuerausdrücke zurück, ausgewertet von links nach rechts in der Liste. Daher wäre es ratsam, die wahrscheinlichsten Auswahlmöglichkeiten ganz oben auf der SWITCH-Liste zu platzieren, um größtmögliche Effizienz zu erzielen. Wenn kein Ausdruck TRUE ergibt, wird Null (0) zurückgegeben.

Einschränkungen

Der Compiler erzeugt bedingte Sprünge, sodass nur die erste TRUE-Bedingung und der zugehörige Wert bei einfachen Literal- und Variablenargumenten ausgeführt werden. Da Funktionsargumente vor dem SWITCH/SWITCH$-Aufruf ausgewertet werden, können Ausdrücke mit Funktionsaufrufen und Seiteneffekten dennoch für übersprungene Bedingungen und Werte ausgewertet werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • CHOOSE
  • IF/END IF
  • IIF
  • SELECT CASE/END SELECT ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


Syntax Benutzerdefinierte Farbauswahl - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Syntax Benutzerdefinierte Farbauswahl

Grundfarben

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Grundfarben

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Vom Bildschirmtreiber festgelegter Satz von Grundfarben.

Zeigt alle benutzerdefinierten Farben an, die Sie bereits definiert haben. Um eine benutzerdefinierte Farbe zu ändern, klicken Sie darauf und dann auf die Schaltfläche „Benutzerdefinierte Farben definieren“. Wenn Sie die Farbe ausgewählt haben, klicken Sie auf die Schaltfläche „Zu benutzerdefinierten Farben hinzufügen“. Um eine neue benutzerdefinierte Farbe zu definieren, klicken Sie auf eine leere benutzerdefinierte Farbe und dann auf die Schaltfläche „Benutzerdefinierte Farben definieren“. Wählen Sie die neue Farbe aus und klicken Sie dann auf die Schaltfläche „Zu benutzerdefinierten Farben hinzufügen“.


SYSINFO - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

SYSINFO

Liefert ausgewaehlte Windows-Systeminformationswerte.

Kategorie: Allgemeine Referenz

Syntax

value&& = SYSINFO(index&)

Beschreibung

Liefert ausgewaehlte Windows-Systeminformationswerte.

Typ: Runtime method | Kategorie: System

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED] fuer Indizes 0 bis 6 und den Rueckgabewert 0 fuer nicht unterstuetzte Indizes.

Beschreibung

SYSINFO wird auf den eingebetteten Laufzeithelfer bestof_sysinfo gesenkt. PBXB64 zertifiziert aktuell diese fokussierte Indexzuordnung:

Praktische Verwendung

Verwenden Sie SYSINFO fuer feste Indexabfragen, wenn ein Programm Systemdaten als Snapshot benoetigt. Vergleichen Sie die Rueckgabe direkt mit einem erwarteten Wert oder einem kleinen, dokumentierten Bereich.

Index | Wert
0 | Anzahl der Prozessoren
1 | Systemseitengroesse
2 | Allokationsgranularitaet
3 | Prozessorarchitektur-Code plus eins
4 | Prozessortyp
5 | Gesamter physischer Speicher in Bytes
6 | Verfuegbarer physischer Speicher in Bytes

Nicht unterstuetzte Indizes geben 0 zurueck.

Geprueftes Beispiel

Beispieldatei: examples/basic/test_delay_run_sysinfo.pb

Validierungsnachweis: In tests/validate.toml als test_delay_run_sysinfo registriert; fokussierte pb_linkrun-Validierung belegt die Indizes 0 bis 6 und den Rueckgabewert 0 fuer nicht unterstuetzte Indizes.

Fehlerfaelle

Indizes ausserhalb des zertifizierten Bereichs liefern 0. Ein Test sollte Index und Wert gemeinsam dokumentieren, damit sich echte Systemunterschiede von Fehlerfaellen trennen lassen.

Einschraenkungen

Eine breitere PB-kompatible SYSINFO-Feldzuordnung ist noch nicht zertifiziert.

Indexregeln

Die dokumentierten Indizes sind feste numerische Abfragen. Behandeln Sie den Rueckgabewert als Snapshot des aktuellen Systemzustands zum Zeitpunkt des Aufrufs.

Fehlerhinweise

Nicht unterstuetzte Indizes geben 0 zurueck. Das Beispiel belegt sowohl gueltige Indexwerte als auch den Fallback fuer nicht unterstuetzte Indizes.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TAB DELETE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TAB DELETE

A

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TAB DELETE hDlg , ID& , PageNum&
TAB GET COUNT hDlg , ID& TO CountVar&
TAB GET DIALOG hDlg , ID& , PageNum& TO PageDlgVar&
TAB GET IMAGE hDlg , ID& , PageNum& TO ImageVar&
TAB GET PAGE PageDlg TO PageNumVar&
TAB GET SELECT hDlg , ID& TO PageNumVar&
TAB GET TEXT hDlg , ID& , PageNum& TO TextVar$
TAB INSERT PAGE hDlg , ID& , PageNum& , Image& , Text$ [CALL CallBack ] TO PageDlgVar&
TAB RESET hDlg , ID&
TAB SELECT hDlg , ID& , PageNum&
TAB SET IMAGE hDlg , ID& , PageNum& , Image&
TAB SET IMAGELIST hDlg , ID& , hLst
TAB SET TEXT hDlg , ID& , PageNum& , Text$
Function Form:
CountVar& = TAB(COUNT, hDlg , ID& )
PageDlgVar& = TAB(DIALOG, hDlg , ID& , PageNum& )
ImageVar& = TAB(IMAGE, hDlg , ID& , PageNum& )
PageNumVar& = TAB(PAGE, PageDlg& )
PageNumVar& = TAB(SELECT, hDlg , ID& )
TextVar$ = TAB$(TEXT, hDlg , ID& , PageNum& )

Beschreibung

A

Typ:Anweisung |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In jeder der folgenden Beschreibungen wird das Tab-Steuerelement, das Gegenstand der Anweisung ist, durch das Handle des Dialogs identifiziert, der das Tab-Steuerelement (hDlg) besitzt, und durch die eindeutige Steuerelement-ID, die Sie ihm bei der Erstellung in CONTROL ADD TAB gegeben haben. Immer wenn auf eine TAB-Seitennummer oder eine IMAGELIST-Bildnummer verwiesen wird, wird diese auf eins indiziert. Das heißt, das erste Element ist 1, das zweite Element ist 2 usw. Variationen von TAB, die einen einzelnen Wert zurückgeben, können in der optionalen Funktionsform geschrieben werden, wie oben gezeigt. Diese Funktionen können in einen Ausdruck beliebiger Komplexität eingebettet werden.

TAB DELETE hdlg , ID& , PageNum&

Die durch den Parameter PageNum& angegebene Seite wird aus dem Tab Control gelöscht.

TAB GET COUNT hdlg , id& TO CountVar&

Die Anzahl der Seiten im TAB-Steuerelement wird abgerufen und der durch CountVar& angegebenen langen Ganzzahlvariablen zugewiesen.

TAB GET DIALOG hDlg , ID& , PageNum& TO PageDlgVar&

Das Handle des untergeordneten Dialogs, der an eine TAB-Steuerelementseite angehängt ist, wird abgerufen und der durch PageDlgVar& bezeichneten Variablen zugewiesen. Das zurückzugebende Dialoghandle wird durch den Wert des Parameters PageNum& bestimmt. Wenn diese Seite/dieser Dialog nicht existiert, wird der Wert Null zurückgegeben.

TAB GET IMAGE hdlg , ID& , PageNum& TO ImageVar&

Der Index des auf der angegebenen TAB-Seite angezeigten Bildes wird abgerufen und der durch ImageVar& angegebenen Variablen zugewiesen. Wird kein Bild angezeigt, wird der Wert Null (0) zugewiesen.

TAB GET PAGE PageDlg TO PageNumVar&

Bei gegebenem Handle eines TAB-Seitendialogs wird die PageNum abgerufen und der durch PageNumVar& angegebenen Variablen zugewiesen. Dies kann besonders nützlich sein, wenn Sie CallBack-Nachrichten für Registerkartendialoge verarbeiten. Wenn Sie außerdem Eltern- und ID-Informationen benötigen, können Sie WINDOW GET verwenden.

TAB GET SELECT

hDlg , id& TO SelectVar&

Der Index der aktuell ausgewählten Seite im Tab Control wird abgerufen und der durch SelectVar& angegebenen Variablen zugewiesen. Wenn keine aktuelle Auswahl vorhanden ist, wird der Wert Null (0) zugewiesen.

TAB GET TEXT hDlg , ID& , PageNum& TO TextVar$

Der auf der angegebenen Seitenregisterkarte angezeigte Text wird abgerufen und der durch TextVar$ angegebenen Variablen zugewiesen.

TAB INSERT PAGE hdlg , ID& , PageNum& , Image& , Text$ [CALL CallBack ] TO PageDlgVar&

Diesem TAB-Steuerelement wird eine Seite hinzugefügt. Der Parameter PageNum& gibt die Position der einzufügenden Seite an. Ein optionales Bild, das im Registerkartenbereich angezeigt werden soll, wird basierend auf dem Parameter Image& aus der angehängten IMAGELIST ausgewählt. Setzen Sie Image& auf 0, wenn kein Bild gewünscht wird. Der Parameter Text$ gibt den Text an, der im Registerkartenbereich angezeigt werden soll. CallBack ist der Name einer Callback-Prozedur, die für den Seitendialog verwendet werden soll. Das Handle des neu erstellten Dialogs wird der durch PageDlgVar& bezeichneten Variablen zugewiesen.

TAB RESET hDlg , id&

Alle Seiten im angegebenen Tab Control werden gelöscht.

TAB SELECT hdlg , ID& , PageNum&

Die durch den Parameter PageNum& angegebene Seite wird als ausgewählte Seite für das TAB-Steuerelement ausgewählt und der zugehörige Dialog wird angezeigt.

TAB SET IMAGE hdlg , ID& , PageNum& , Image&

Das durch den Parameter Image& angegebene Bild wird auf der durch den Parameter PageNum& angegebenen Seitenregisterkarte angezeigt.

TAB SET IMAGELIST hdlg , ID& , hLst

Die von hLst angegebene IMAGELIST wird an dieses TAB-Steuerelement angehängt. Die in der IMAGELIST enthaltenen grafischen Bilder werden auf den Registerkarten dieses Steuerelements angezeigt. Das anzuzeigende Bild wird durch die in TAB INSERT PAGE oder TAB SET IMAGE getroffene Angabe bestimmt. Wenn das TAB-Steuerelement zerstört wird, werden alle angehängten IMAGELIST automatisch zerstört.

TAB SET TEXT hdlg , ID& , PageNum& , Text$

Der Text im Parameter Text$ wird auf der Registerkarte der durch PageNum& angegebenen Seite angezeigt.

PBXB64-Implementierungshinweise

PBXB64 V15 zertifiziert die echten Win32-Common-Control-Formulare TAB INSERT PAGE, TAB DELETE, TAB RESET, TAB GET COUNT, TAB GET DIALOG, TAB GET PAGE, TAB GET IMAGE, TAB GET SELECT, TAB GET TEXT, TAB SELECT, TAB SET IMAGE, TAB SET TEXT und TAB SET IMAGELIST. TAB INSERT PAGE erstellt ein echtes Dialoghandle für untergeordnete Seiten, das mit TAB GET DIALOG abgerufen und mit TAB GET PAGE wieder zugeordnet werden kann. TAB DELETE entfernt die ausgewählte Seiten-Dialog-Zuordnung und verschiebt spätere Seitenzuordnungen um eins nach unten; TAB RESET entfernt alle Seitenzuordnungen für das Steuerelement.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • REGISTERKARTE "STEUERUNG HINZUFÜGEN" - Hilfe zum PBXB64-Compiler
  • CONTROL SET FONT
  • IMAGELIST BITMAP HINZUFÜGEN
  • Hilfe zum PBXB64-Compiler


TAGARRAY() - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TAGARRAY()

Liefert den Tag-Array-Wert zu einem PB-logischen Index nach numerischer Tag-Array-Sortierung.

Kategorie: Allgemeine Referenz

Syntax

tag& = TAGARRAY(tags(), index)

Beschreibung

Liefert den Tag-Array-Wert zu einem PB-logischen Index nach numerischer Tag-Array-Sortierung.

Kind: PowerBASIC feature | Category: PowerBASIC / Tested Feature

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Seite beschreibt das PBXB64-Verhalten, das durch die aktuelle Validierungsmatrix abgedeckt ist. Verwenden Sie die hier gezeigte Syntax fuer Regressionstests; weitergehende PowerBASIC-Formen gelten als separate Kompatibilitaetsarbeit, sofern keine andere Seite sie dokumentiert.

Unterstuetzter Umfang

Die dokumentierte Teilmenge ist absichtlich genau: Beispiele verwenden bevorzugt skalare LONG-Werte, Array-Beispiele benutzen normale PB-logische Indizes, und laufzeitabhaengige Operationen sollen immer den Rueckgabestatus pruefen. Wenn ein Feature sowohl Anweisungs- als auch Funktionsschreibweise besitzt, beschreibt diese Seite den funktionsorientierten Seiteneintrag und verweist auf die breitere BASIC-Referenz.

Grenzen

Nicht gezeigte PowerBASIC-Varianten duerfen aus dieser Seite nicht als unterstuetzt abgeleitet werden. Formen, die hier nicht stehen, benoetigen eigene Implementierung, Diagnostik, Tests und Hilfetext, bevor sie als abgeschlossen beschrieben werden.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


TALLY " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TALLY " PBXB64-Compiler-Hilfe

Zaehlt nicht ueberlappende Vorkommen eines Teilstrings oder beliebiger Zeichen aus einer Menge.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x& = TALLY( MainString , [ANY] MatchString )

Beschreibung

Zaehlt nicht ueberlappende Vorkommen eines Teilstrings oder beliebiger Zeichen aus einer Menge.

Kind: Funktion | Category: String-Funktionen

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Beschreibung

Zaehlt nicht ueberlappende Vorkommen eines Teilstrings oder beliebiger Zeichen aus einer Menge. TALLY zaehlt nicht ueberlappende Treffer von MatchString in MainString von links nach rechts.

Praktische Verwendung

Verwenden Sie die normale Form fuer wiederholte Token-Zaehler und die ANY-Form fuer Zeichenmengen.

Parameter und Ergebnisse

Argumente muessen den Datentypen, der Reihenfolge und den optionalen Teilen aus dem Syntaxblock folgen. Initialisieren Sie Zielvariablen vor dem Aufruf, damit unveraenderte Werte nach einem Fehler sichtbar bleiben.

Einschränkungen

Wiederholte Zeichen in MatchString erhoehen den ANY-Zaehler nicht.

Verhalten

TALLY zaehlt nicht ueberlappende Treffer von MatchString in MainString von links nach rechts.

Mit ANY wird MatchString als Menge einzelner Zeichen behandelt und jedes Quellzeichen pro Position hoechstens einmal gezaehlt.

Wenn Quellstring oder Suchstring leer ist, ist das Ergebnis null.

Verwendungshinweise

Verwenden Sie die normale Form fuer wiederholte Token-Zaehler und die ANY-Form fuer Zeichenmengen.

Die Funktion ist gross-/kleinschreibungsabhaengig. Wenn Sie ueberlappende Treffer oder Mustervergleich brauchen, verwenden Sie eine andere Routine.

Grenzfaelle

Wiederholte Zeichen in MatchString erhoehen den ANY-Zaehler nicht.

Nach jedem normalen Treffer springt der Scan um die Laenge von MatchString weiter, daher werden ueberlappende Treffer nicht gezaehlt.

Test- und Dokumentationshinweise

Mit tests/pb/test_string_scan_tally_verify.pb kompiliert und ausgefuehrt; Exitcode 0.

Validierungsbeleg

Mit tests/pb/test_string_scan_tally_verify.pb kompiliert und ausgefuehrt; Exitcode 0. TALLY(src, "ss") und TALLY(src, ANY setchars)

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Siehe auch

  • INSTR ? PBXB64-Compiler-Hilfe
  • JOIN$
  • LCASE$ ? PBXB64-Compiler-Hilfe
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • MID$ ? PBXB64-Compiler-Hilfe
  • PARSE$ " PBXB64-Compiler-Hilfe
  • PARSECOUNT " PBXB64-Compiler-Hilfe
  • REMOVE$
  • REPLACE ? PBXB64-Compiler-Hilfe
  • RIGHT$ ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • UCASE$ ? PBXB64-Compiler-Hilfe
  • ÃœBERPRÃœFEN " Hilfe zum PBXB64-Compiler
  • Hilfe zum PBXB64-Compiler


TANH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TANH

Gibt den hyperbolischen Tangens eines Arguments zurueck.

Kategorie: Allgemeine Referenz

Syntax

y = TANH( numeric_expression )

Beschreibung

Gibt den hyperbolischen Tangens eines Arguments zurueck.

Typ: Funktion | Kategorie: Mathematik und Numerik

PBXB64-Status: VERFUEGBAR

Beschreibung

TANH berechnet den hyperbolischen Tangens. Das Ergebnis ist ein Gleitkommawert.

PBXB64 akzeptiert INT128, UINT128, INT256, UINT256, INT512, UINT512 und UNL ueber den bestehenden Befehl. UNL wird intern weitergeleitet; ein neuer Befehlsname ist nicht erforderlich. Sehr grosse Integerwerte werden in den Gleitkomma-Bereich umgewandelt.

Validierung

tests/pb/test_math_wide_unl.pb prueft TANH mit Wide-Integer und UNL. Verwenden Sie den Test math_wide_unl aus tests/validate.toml.

Zurueck zum Befehlsindex


TCP ACCEPT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TCP ACCEPT

Akzeptieren Sie eine eingehende Kommunikationsanfrage von einer bestimmten Person

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TCP ACCEPT [#] fNum& AS newfNum&

Beschreibung

Akzeptieren Sie eine eingehende Kommunikationsanfrage von einer bestimmten Person

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Akzeptieren Sie eine eingehende Verbindungsanforderung an den fNum&-Socket und erstellen Sie ein neues fNum&-Socket-Handle, um mit der neuen Verbindung zu kommunizieren.

TCP ACCEPT ist nur gültig, wenn Sockets mit TCP OPEN SERVER geöffnet werden.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • TCP- und UDP-Kommunikation
  • TCP CLOSE
  • TCP-ZEILEINGANG
  • TCP NOTIFY
  • TCP OPEN
  • TCP PRINT
  • TCP RECV
  • TCP SEND
  • UDP OPEN
  • Hilfe zum PBXB64-Compiler


TCP CLOSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TCP CLOSE

Schlie&szlig;en Sie eine zuvor ge&ouml;ffnete Datei

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TCP CLOSE [#] fNum&

Beschreibung

Schließen Sie eine zuvor geöffnete Datei

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Schließen Sie den zuvor geöffneten TCP/IP-Port, der durch fNum& angegeben wurde.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • TCP- und UDP-Kommunikation
  • TCP ACCEPT
  • TCP-ZEILEINGANG
  • TCP NOTIFY
  • TCP OPEN
  • TCP PRINT
  • TCP RECV
  • TCP SEND
  • UDP CLOSE
  • Hilfe zum PBXB64-Compiler


TCP NOTIFY - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TCP NOTIFY

Bestimmen Sie welche

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TCP NOTIFY [#] fNum& , {SEND | RECV | ACCEPT | CONNECT | CLOSE} TO hWnd& AS wMsg&

Beschreibung

Bestimmen Sie welche

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Gibt an, welche Ereignisse (SEND, RECV, ACCEPT, CONNECT und CLOSE) eine wMsg&-Benachrichtigungsmeldung an die Fensterprozedur (Callback) des GUI-Fensters oder -Dialogs generieren, dessen Fensterhandle in hWnd& enthalten ist.

Ihr Programm definiert den wMsg&-Wert, und dieser Wert sollte gleich oder größer als %WM_USER + 500 sein, um Konflikte mit anderen (allgemeinen) Rückrufnachrichtenwerten zu vermeiden.

Wenn die benannte Rückruffunktion die wMsg&-Benachrichtigung empfängt, identifiziert der Parameter wParam& das Betriebssystem-Handle des Sockets (siehe FILEATTR ), das niederwertige Wort von lParam& gibt den Code des Ereignisses an (siehe Tabelle unten) und das höherwertige Wort von lParam& enthält den Fehlercode (falls vorhanden).

LO(WORD, lParam& )

Definition

%FD_READ

Daten stehen zum Lesen aus dem Socket zur Verfügung.

%FD_WRITE

Der Socket ist zum Schreiben von Daten bereit.

%FD_ACCEPT

Der Socket ist in der Lage, eine neue Verbindung anzunehmen.

%FD_CONNECT

Die Verbindung wurde hergestellt.

%FD_CLOSE

Der Socket wurde geschlossen.

Benachrichtigungsnachrichten kommen nicht in unverminderten oder kontinuierlichen Strömen an. Das heißt, sobald eine bestimmte Benachrichtigungsnachricht eintrifft, wird sie nicht erneut gesendet, bis auf die ursprüngliche Nachricht reagiert wird. Wenn beispielsweise eine %FD_READ-Benachrichtigung empfangen wird, wird sie erst erneut gesendet, nachdem eine TCP-RECV-Anweisung ausgeführt wurde.

Die Winsock-Fehlercodes werden in WINSOCK2.INC mit dem Präfix %WSAE aufgeführt.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • TCP- und UDP-Kommunikation
  • TCP ACCEPT
  • TCP CLOSE
  • TCP-ZEILEINGANG
  • TCP OPEN
  • TCP PRINT
  • TCP RECV
  • TCP SEND
  • UDP NOTIFY
  • Hilfe zum PBXB64-Compiler


TCP OPEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TCP OPEN

Erm&ouml;glichen Sie einer Anwendung die Kommunikation mit a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TCP OPEN {PORT p& | srvc$ } AT address$ AS [#] fNum& [TIMEOUT timeoutval& ]
TCP OPEN SERVER [ADDR ip& ] {PORT p& | srvc$ } AS [#] fNum& [TIMEOUT timeoutval& ]

Beschreibung

Ermöglichen Sie einer Anwendung die Kommunikation mit a

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Öffnen Sie einen TCP/IP-Port oder -Dienst für die Kommunikation, entweder als Client oder als Server.

SERVER

Wenn der Schlüsselwortserver enthalten ist, wird der TCP-Port als TCP/IP-Server geöffnet; andernfalls wird es als TCP/IP-Client geöffnet.

ADDR-IP&

Wenn Sie als Server das optionale ADDR ip& angeben, überwacht der TCP-Server Verbindungen an der angegebenen IP&-Adresse. Andernfalls wird standardmäßig die primäre IP-Adresse des Computers verwendet.

Hafenp&

Als Client identifiziert PORT den Server-Port, mit dem der Client versucht, eine Verbindung herzustellen. Als Server gibt PORT den Port an, den der Server auf Verbindungsanfragen überwacht. Sie können entweder eine Portnummer oder einen Dienstnamen angeben, jedoch nicht beides.

Wenn die Portnummer nicht angegeben ist, muss stattdessen ein Dienstname angegeben werden. Ein Dienstname hat die Form „http“, „smtp“ oder „ftp“ usw. Sie können entweder eine Portnummer oder einen Dienstnamen angeben, jedoch nicht beides.

AT-Adresse$

Als Client identifiziert Adresse $ die Adresse, mit der eine Verbindung hergestellt werden soll. Adresse $ kann eine Domäne wie „powerbasic.com“ oder eine gepunktete IP-Adresse in Zeichenfolgenform wie „127.0.0.1“ sein.

Eine Dateinummer wie z. B. #1 oder eine Variable mit einem Wert, der mit der FREEFILE-Funktion erhalten wurde.

AUSZEIT

Mit dem optionalen TIMEOUT-Wert können Sie in Millisekunden (mSek) angeben, wie lange ein TCP-Vorgang vom Typ SEND, RECV, PRINT oder LINE auf den Abschluss warten soll. Wenn die angegebene Anzahl von Millisekunden ohne Antwort verstreicht, schlägt der TCP-Vorgang fehl und die Systemvariable ERR wird so gesetzt, dass sie einen Laufzeitfehler 24 („Geräte-Timeout“) anzeigt. Das Standard-Timeout beträgt 60.000 Millisekunden (60 Sekunden).

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • TCP- und UDP-Kommunikation
  • FREEFILE
  • TCP ACCEPT
  • TCP CLOSE
  • TCP-ZEILEINGANG
  • TCP NOTIFY
  • TCP PRINT
  • TCP RECV
  • TCP SEND
  • UDP OPEN
  • Hilfe zum PBXB64-Compiler


TCP PRINT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TCP PRINT

Schreiben Sie eine Zeichenfolge an einen Nominierten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TCP PRINT [#] fNum& , string_expression [;]

Beschreibung

Schreiben Sie eine Zeichenfolge an einen Nominierten

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Schreiben Sie die Daten in string_expression in den fNum& TCP/IP-Port. Wenn das optionale Semikolon nicht angegeben ist, wird auch ein Wagenrücklauf- und Zeilenvorschubpaar ( $CRLF oder CHR$ (13,10)) gesendet.

Die TCP-PRINT-Anweisung kehrt erst zurück, wenn string_expression gesendet wurde oder ein Fehler auftritt. Das heißt, TCP PRINT ist eine synchrone oder „blockierende“ Anweisung. Wenn eine Zeitüberschreitung auftritt, wird ERR so eingestellt, dass ein Laufzeitfehler 24 („Geräte-Zeitüberschreitung“) angezeigt wird. Informationen zum Festlegen des TCP-Socket-Timeout-Werts finden Sie unter TCP OPEN.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • TCP- und UDP-Kommunikation
  • TCP ACCEPT
  • TCP CLOSE
  • TCP-ZEILEINGANG
  • TCP NOTIFY
  • TCP OPEN
  • TCP RECV
  • TCP SEND
  • UDP OPEN
  • Hilfe zum PBXB64-Compiler


TCP RECV - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TCP RECV

Empfangen Sie Daten von einem angegebenen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TCP RECV [#] fNum& , count& , Buffer$

Beschreibung

Empfangen Sie Daten von einem angegebenen

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Empfangen Sie count& Bytes vom fNum& TCP/IP-Port und platzieren Sie sie in Buffer$ . Wenn count& Bytes nicht verfügbar sind, empfängt Buffer$ alle verfügbaren Bytes und EOF ( fNum& ) gibt TRUE (ungleich Null) zurück.

Eine TCP-RECV-Schleife wird normalerweise in einer Schleife zum Abrufen eines Datenstroms verwendet und sollte beendet werden, wenn Buffer$ einen leeren Wert zurückgibt, wenn EOF(fNum&) TRUE zurückgibt oder wenn ERR gesetzt wird. Wenn eine Zeitüberschreitung auftritt, wird ERR so eingestellt, dass ein Laufzeitfehler 24 („Geräte-Zeitüberschreitung“) angezeigt wird. Informationen zum Festlegen des TCP-Socket-Timeout-Werts finden Sie unter TCP OPEN.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • TCP- und UDP-Kommunikation
  • EOF
  • TCP ACCEPT
  • TCP CLOSE
  • TCP-ZEILEINGANG
  • TCP NOTIFY
  • TCP OPEN
  • TCP PRINT
  • TCP SEND
  • UDP RECV
  • Hilfe zum PBXB64-Compiler


TCP SEND - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TCP SEND

Schreiben Sie eine Zeichenfolge an einen Nominierten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TCP SEND [#] fNum& , string_expression

Beschreibung

Schreiben Sie eine Zeichenfolge an einen Nominierten

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Schreiben Sie den angegebenen string_expression in den durch fNum& angegebenen TCP/IP-Port.

Die TCP-SEND-Anweisung kehrt erst zurück, wenn string_expression gesendet wurde oder ein Fehler auftritt. Das heißt, TCP SEND ist eine synchrone oder „blockierende“ Anweisung. Wenn eine Zeitüberschreitung auftritt, wird ERR so eingestellt, dass ein Laufzeitfehler 24 („Geräte-Zeitüberschreitung“) angezeigt wird. Informationen zum Festlegen des TCP-Socket-Timeout-Werts finden Sie unter TCP OPEN.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • TCP- und UDP-Kommunikation
  • TCP ACCEPT
  • TCP CLOSE
  • TCP-ZEILEINGANG
  • TCP NOTIFY
  • TCP OPEN
  • TCP PRINT
  • TCP RECV
  • UDP SEND
  • Hilfe zum PBXB64-Compiler


TCP- und UDP-Kommunikation - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TCP- und UDP-Kommunikation

&Uuml;berblick &uuml;ber TCP- und UDP-Netzwerke in PBXB64.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Überblick über TCP- und UDP-Netzwerke in PBXB64.

Typ:Konzeptionell |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Überblick

Dieses Thema bietet Hintergrundinformationen und praktische Anleitungen. Eine detaillierte Syntax finden Sie auf den entsprechenden Befehlsseiten.

Beschreibung

TCP- und UDP-Kommunikation ist die Uebersichtsseite fuer TCP- und UDP-Kommunikation. Die zugehoerigen Einzelseiten dokumentieren das Oeffnen, Senden, Empfangen, Zeilenlesen und Schliessen; diese Seite nennt den gemeinsamen Vertragsrahmen.

Validierungsbeleg

Validierungsbeleg: tests/pb/test_tcp_open_server_port.pb und tests/pb/test_tcp_print_line_input.pb belegen den aktuellen TCP-Handle-Pfad. Die Familie bleibt bewusst auf die aktuell getesteten Verbindungs- und I/O-Formen beschraenkt.

Laufzeitvoraussetzungen

Netzwerkbeispiele koennen Firewall-Berechtigungen und freie Ports brauchen. Bei UDP ist keine Verbindungsstaatlichkeit wie bei TCP anzunehmen; die Uebersichtsseite sollte deshalb immer auf die konkrete Einzelseite verweisen, die den getesteten Pfad belegt.

Siehe auch

  • Hilfe zum PBXB64-Compiler


TCP-ZEILEINGANG - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TCP-ZEILEINGANG

Empfangen Sie eine Textzeile von einem angegebenen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TCP LINE [INPUT] [#] fNum& , Buffer$

Beschreibung

Empfangen Sie eine Textzeile von einem angegebenen

Typ:Anweisung |Kategorie:Datei-E/A

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Empfangen Sie eine Textzeile vom fNum& TCP/IP-Port und platzieren Sie die Daten in Buffer$ . Wenn keine Bytes verfügbar sind, ist Buffer$ leer (eine Nullzeichenfolge). Wenn TCP LINE keine vollständige Textzeile empfangen hat (beendet durch ein $CRLF-Zeichenpaar), gibt EOF ( fNum& ) TRUE (ungleich Null) zurück.

Wenn eine Zeitüberschreitung auftritt, wird ERR so eingestellt, dass ein Laufzeitfehler 24 („Geräte-Zeitüberschreitung“) angezeigt wird. Informationen zum Festlegen des TCP-Socket-Timeout-Werts finden Sie unter TCP OPEN.

Die EOF-Funktion kann auch mit TCP LINE (und COMM LINE ) verwendet werden, um zu erkennen, dass eine unvollständige Zeile empfangen wurde. Normalerweise liest die TCP-LINE-Anweisung Daten, bis ein $CRLF-Zeichenpaar gefunden wird. In diesem Fall gibt EOF false (Null) zurück. Selbst wenn jedoch kein $CRLF gefunden wurde, kehrt TCP LINE zurück, wenn keine zusätzlichen Daten verfügbar sind. In diesem Fall gibt TCP LINE alle angesammelten Daten zurück und setzt EOF auf logisch TRUE (ungleich Null).

In vielen Fällen wäre es ratsam, EOF nach jeder TCP-LINE-Anweisung zu testen, um zu überprüfen, ob eine vollständige Zeile empfangen wurde. In manchen Fällen möchten Sie die Anweisung möglicherweise noch einmal oder mehrmals ausführen und dabei die Daten kombinieren, um eine vollständige Textzeile zu erhalten.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • TCP- und UDP-Kommunikation
  • EOF
  • TCP ACCEPT
  • TCP CLOSE
  • TCP NOTIFY
  • TCP OPEN
  • TCP PRINT
  • TCP RECV
  • TCP SEND
  • UDP RECV
  • Hilfe zum PBXB64-Compiler


Text_Contains - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Text_Contains

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Text_Contains(value AS STRING, part AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Text_Contains ist ein normaler, unterstrichener BASIC-Befehl der Familie Text. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP-Aequivalent: local text utility

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Text sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Text_Contains(0)
  FUNCTION = 0
END FUNCTION


Text_EndsWith - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Text_EndsWith

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Text_EndsWith(value AS STRING, part AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Text_EndsWith ist ein normaler, unterstrichener BASIC-Befehl der Familie Text. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP-Aequivalent: local text utility

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Text sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Text_EndsWith(0)
  FUNCTION = 0
END FUNCTION


Text_Lower - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Text_Lower

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Text_Lower(value AS STRING, optional separator AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP-Aequivalent: local text utility

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Text sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Text_Lower("{}")
  FUNCTION = 0
END FUNCTION


Text_PadLeft - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Text_PadLeft

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Text_PadLeft(value AS STRING, width AS LONG, optional fill AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Text_PadLeft ist ein normaler, unterstrichener BASIC-Befehl der Familie Text. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP-Aequivalent: local text utility

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Text sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Text_PadLeft(0)
  FUNCTION = 0
END FUNCTION


Text_PadRight - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Text_PadRight

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Text_PadRight(value AS STRING, width AS LONG, optional fill AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Text_PadRight ist ein normaler, unterstrichener BASIC-Befehl der Familie Text. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP-Aequivalent: local text utility

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Text sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Text_PadRight(0)
  FUNCTION = 0
END FUNCTION


Text_SplitLines - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Text_SplitLines

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Text_SplitLines(value AS STRING, optional separator AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Text_SplitLines ist ein normaler, unterstrichener BASIC-Befehl der Familie Text. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP-Aequivalent: local text utility

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Text sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Text_SplitLines("{}")
  FUNCTION = 0
END FUNCTION


Text_StartsWith - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Text_StartsWith

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Text_StartsWith(value AS STRING, part AS STRING) AS LONG

Beschreibung

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Text_StartsWith ist ein normaler, unterstrichener BASIC-Befehl der Familie Text. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert LONG.

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP-Aequivalent: local text utility

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Text sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Text_StartsWith(0)
  FUNCTION = 0
END FUNCTION


Text_Upper - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Text_Upper

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Kategorie: Allgemeine Referenz

Syntax

FUNCTION Text_Upper(value AS STRING, optional separator AS STRING) AS STRING

Beschreibung

Typ: Funktion | Familie: Text | PBXB64-Status: IMPLEMENTIERT, LOKALER ADAPTER

Beschreibung

Text_Upper ist ein normaler, unterstrichener BASIC-Befehl der Familie Text. Die Suche ist ohne Punktnotation und ohne separaten Parserzweig. Der Befehl verwendet die im Vertrag angegebene PB-Signatur und liefert STRING (UTF-8).

Verhalten

Die Operation arbeitet lokal an Dokumenten, Text, Protokollbeschreibungen, Dateien oder Konfiguration. Netzwerk- und Providerbefehle erzeugen nur einen lokalen Adapterzustand; sie senden keine externe Anfrage. Ungueltige Handles, Pfade, Typen oder JSON-Werte melden einen Fehler und liefern keinen stillen Erfolg.

Quelle und MCP-Abbildung

Quellabbildung: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP-Aequivalent: local text utility

Nebenwirkung: pure. Eingaben werden an der PB-Grenze typgeprueft.

Fehlerfaelle

  • Ein fehlendes oder ungueltiges Argument wird als Kompilierfehler oder Laufzeitfehler gemeldet.
  • Ein nicht existierender JSON-Pfad oder ein ungueltiger Handle ergibt einen fehlgeschlagenen Status beziehungsweise eine leere Ergebniszeichenkette.
  • Externe Netzwerk- oder Provideraktionen sind absichtlich nicht Teil dieses lokalen Adapters.

Verwandte Befehle

Siehe weitere Seiten der Familie Text sowie die JSON-, MCP-, HTTP-, Datei-, Text-, Provider- und Konfigurationsreferenzen im Befehlsindex.

Zurueck zum Befehlsindex

Beispiel

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Text_Upper("{}")
  FUNCTION = 0
END FUNCTION


Textbefehle - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Textbefehle

Die folgenden Befehle k&ouml;nnen mit einem Textfenster verwendet werden:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die folgenden Befehle können mit einem Textfenster verwendet werden:

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Legt die Cursorposition fest oder ruft sie ab.

Löscht das Textfenster und bewegt sich zur Einfügemarke in die obere linke Ecke.

Beschreibung

Textbefehle gehoert zur Kategorie General. Diese Seite beschreibt den PBXB64-Dokumentationsstand fuer diesen Eintrag; verwenden Sie die Grenzen und Belege auf dieser Seite statt historischer PBWin-Annahmen.

Praktische Verwendung

Textbefehle gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.


TEXTBOX / TBOX - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TEXTBOX / TBOX

Erstellt oder verwaltet ein einzeiliges oder mehrzeiliges Textfeld-Steuerelement in einem DDT-Dialogfeld.

Kategorie: Allgemeine Referenz

Syntax

TBOX message$

Beschreibung

Erstellt oder verwaltet ein einzeiliges oder mehrzeiliges Textfeld-Steuerelement in einem DDT-Dialogfeld.

Typ:Anweisung |Kategorie: DDT und Grafik/Steuerung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


THEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

THEN

Trennt die Bedingung vom K&ouml;rper in IF und ELSEIF

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

IF condition THEN [single_statement]
IF condition THEN
  [statements]
END IF

ELSEIF condition THEN
  [statements]

Beschreibung

Trennt die Bedingung vom Körper in IF und ELSEIF

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerTHEN Das Schlüsselwort beendet den Bedingungsausdruck in einem IFoderELSEIF Anweisung. In einzeiliger Form folgt die Anweisung, die ausgeführt werden soll, wenn die Bedingung wahr ist. In Blockform folgen eine oder mehrere Anweisungen, die mit enden END IF.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 10
    IF x > 5 THEN FUNCTION = 1 ELSE FUNCTION = 0
END FUNCTION

Siehe auch

  • IF � PBXB64-Compiler-Hilfe
  • ELSEIF
  • ELSE
  • GRUNDLEGENDER Kontrollfluss
  • Hilfe zum PBXB64-Compiler


THREAD CREATE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

THREAD CREATE

Erstellen Sie einen Windows-Thread, bei dem es sich um ein kleineres &#8222;Programm im Programm&ldquo; handelt, das gleichzeitig mit dem Haupt-Thread und anderen Threads im selben Anwendungsprogramm ausgef&uuml;hrt wird. Threads bieten einer Anwendung leistungsstarke M&ouml;glichkeiten, mehrere Aufgaben gleichzeitig auszuf&uuml;hren.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

THREAD CREATE FuncName ( param ) [ StackSize ,] [SUSPEND] TO hThread

Beschreibung

Erstellen Sie einen Windows-Thread, bei dem es sich um ein kleineres „Programm im Programm“ handelt, das gleichzeitig mit dem Haupt-Thread und anderen Threads im selben Anwendungsprogramm ausgeführt wird. Threads bieten einer Anwendung leistungsstarke Möglichkeiten, mehrere Aufgaben gleichzeitig auszuführen.

Typ:Anweisung |Kategorie: Einfädeln

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

THREAD CREATE erstellt und beginnt mit der Ausführung einer neuen Thread-Funktion, die durch FuncName identifiziert wird. FuncName wird ohne Anführungszeichen angegeben. Diese Funktion muss genau einen Long-Integer- oder Double-Word-Parameter (DWORD) als Wert ( BYVAL ) annehmen. Zum Beispiel:

THREAD-FUNCTION MyThreadFunction(BYVAL x AS LONG) AS LONG

' Thread-Code steht hier

ENDFUNKTION

' Mehr Code hier

THREAD CREATE MyThreadFunction(var&) TO hThread???

Der an den Thread übergebene 32-Bit-Parameter kann verwendet werden, um einen Wert wie eine vom Programmierer definierte ID oder ein Fensterhandle zu übergeben, um „Fortschritts“-Meldungen zurück an ein GUI-Fenster/Dialogfeld zu senden, das in einem anderen Thread ausgeführt wird. Eine häufigere Verwendung des Parameters besteht darin, die Adresse an einen UDT oder eine andere Datenstruktur zu übergeben. Durch die Übergabe einer Adresse auf diese Weise kann der Thread mithilfe eines Zeigers auf große Datenmengen zugreifen, die sich außerhalb des Threads befinden. Zum Beispiel:

THREAD-FUNCTION MyThread(BYVAL y AS DWORD) AS DWORD

DIM x AS MyUDT POINTER

x = y ' Setzt den Zeiger aus dem DWORD-Parameter

' Von hier aus können wir auf alle UDT-Mitgliedselemente zugreifen

' unter Verwendung der standardmäßigen @x-Zeigersyntax

ENDFUNKTION

' Mehr Code hier

DIM x AS MyUDT, hThread???

' Initialisieren Sie hier die Mitglieder von x

THREAD CREATE MyThread( VARPTR(x) ) TO hThread???

' Mehr Code hier

Beachten Sie, dass auf diese Weise übergebene Daten den Hinweisen (unten) zu GLOBAL- und STATIC-Variablen unterliegen, um Synchronisierungsprobleme beim Kontextwechsel zu vermeiden.

Der Rückgabewert der Thread-Funktion wird mit der THREAD STATUS-Anweisung abgerufen (sobald der Thread die Ausführung abgeschlossen hat).

StackSize

Ein langer ganzzahliger Ausdruck, um die angeforderte Größe des Stapels für diesen neu erstellten Thread anzugeben. Dieser Wert sollte immer in Schritten von 64 KB (65536) angegeben werden. Wenn dieser Parameter weggelassen wird, wird die Größe des Stapels für den Hauptthread verwendet.

AUSSETZEN

Die Ausführung des Threads beginnt sofort, es sei denn, die Option SUSPEND ist enthalten. In diesem Fall wird der Suspend-Zähler für den Thread zunächst auf 1 gesetzt und der Thread wird zunächst angehalten. Die THREAD RESUME-Anweisung wird verwendet, um den Suspend-Zähler eines Threads um 1 zu verringern. Wenn der Suspend-Zähler 0 erreicht, beginnt der Thread mit der Ausführung (setzt sie fort). Um den Suspend-Status eines Threads zu steuern, muss der Thread-Handle-Wert so lange beibehalten werden, bis der Thread geschlossen oder unüberwacht ausgeführt werden kann.

hThread

Bei Erfolg gibt THREAD CREATE ein Doppelwort-Handle (oder eine lange Ganzzahl) in hThread zurück oder Null (0), wenn der Thread nicht gestartet wurde. Dieses Handle wird zusammen mit den anderen Thread-Anweisungen verwendet, um den Suspend-Zähler zu steuern und das Thread-Handle freizugeben usw. Weitere Informationen zum Überwachen, Schließen und Warten auf den Abschluss von Threads finden Sie auch unter THREAD CLOSE.

Funktionsname

Der Name der Thread-Funktion, die als Thread ausgeführt werden soll. Eine Thread-Funktion muss genau der folgenden Syntax entsprechen:

THREAD-FUNCTION ThreadFuncName (BYVAL param AS {LONG | DWORD}) AS {LONG | DWORD}

Einschränkungen

Die THREAD CREATE-Anweisung erzeugt keine Laufzeitfehler; Alle Ausnahmen werden als Null gemeldet, die im Rückgabewert hThread gespeichert ist. Allerdings muss sich die Ziel-Thread-Funktion im selben kompilierten Modul befinden wie die THREAD CREATE-Anweisung. Das heißt, eine Thread-Funktion ist möglicherweise keine importierte Funktion.

Darüber hinaus darf eine Thread-Funktion nicht direkt aufgerufen oder ausgeführt werden, außer durch eine THREAD CREATE-Anweisung. Diese Einschränkung wird auferlegt, um sicherzustellen, dass die PowerBASIC-Laufzeitbibliothek jederzeit einen Thread-sicheren Zustand beibehalten, internen Thread-lokalen Speicher korrekt zuweisen und freigeben kann und die verschiedenen Thread-Funktionen (z. B. THREADCOUNT) genaue Werte zurückgeben können.

Es kann vorkommen, dass eine Funktion sowohl direkt aufgerufen als auch als Thread-Funktion verwendet werden muss. Die einfachste Lösung besteht darin, eine kleine Wrapper-Funktion für die Funktion zu erstellen und dann THREAD CREATE mit der Wrapper-Funktion zu verwenden, wenn ein Thread erforderlich ist, oder die ursprüngliche Funktion direkt weiter aufzurufen, wenn kein separater Thread erforderlich ist. Zum Beispiel:

FUNCTION WorkerFunc(BYVAL x AS LONG) AS LONG

' Code hier

ENDFUNKTION

THREAD-FUNCTION WorkerThread(BYVAL x AS LONG) AS LONG

FUNCTION = WorkerFunc(x)

ENDFUNKTION

' Mehr Code hier

' Führen Sie die Worker-Funktion direkt aus, also:

lResult& = WorkerFunc(var&)

' Führen Sie den Arbeitsthread als Thread aus, mit

' die Wrapper-Funktion:

THREAD CREATE WorkerThread(var&) TO hThread???

Mit der Funktion THREADID kann ein Thread seine eigene ID ermitteln. Hinweis: Eine Thread-ID ist nicht mit einem Thread-Handle austauschbar.

Threads werden asynchron initialisiert und gestartet. Daher ist es ratsam, dem Betriebssystem etwas Zeit für die Thread-Initialisierung zu geben, bevor Sie die Funktion THREADCOUNT zum Überwachen des Threads verwenden.

Sobald ein Thread beendet wurde, ist es nicht möglich, denselben Thread, der von hThread identifiziert wurde, neu zu starten. Es kann jedoch ein neuer Thread mit derselben Funktion initiiert werden (die natürlich einen neuen hThread-Handle-Wert bereitstellt). Darüber hinaus kann dieselbe Thread-Funktion mehrmals gestartet werden, um eine Reihe identischer Threads zu erstellen, die denselben Code ausführen.

Beim Erstellen jedes Threads wird ihm ein eigener „privater“ Stapelrahmen zugewiesen. Daher sind LOCAL- und REGISTER-Variablen für jeden Thread privat und automatisch „threadsicher“.

Seien Sie vorsichtig, wenn Sie GLOBAL- und STATIC-Variablen verwenden, auf die möglicherweise mehrere Threads gleichzeitig zugreifen. Wenn ein Thread gerade dabei ist, Daten zu speichern, während ein anderer Thread mit dem Lesen desselben Speicherblocks beginnt, kann dies dazu führen, dass der zweite Thread nur teilweise aktualisierte (d. h. ungültige) Daten liest. Der Punkt, an dem ein Thread angehalten wird, damit ein anderer ausgeführt werden kann, wird als „Kontextwechsel“ bezeichnet. In diesen Situationen kann die Verwendung der Synchronisierungsfunktionen von Windows (z. B. kritische Abschnitte und Mutexe) verwendet werden, um threadsicheren Code zu erstellen.

Es wird davon ausgegangen, dass Thread-sicherer Code vom Kontextwechsel nicht betroffen ist, unabhängig davon, wann der Kontextwechsel stattfindet. Lokale Variablen, die in einem „privaten“ Stapelrahmen gespeichert sind, sind von der Kontextumschaltung nicht betroffen.

Der von jedem Thread erstellte lokale Variablenspeicher wird automatisch freigegeben, wenn die Thread-Funktion beendet wird, auf die gleiche Weise wie bei einem normalen Sub , Function, Method oder Property . Das Thread-Handle muss jedoch explizit mit einer THREAD CLOSE-Anweisung freigegeben werden. Das THREAD CLOSE kann jederzeit erfolgen, da es nur das Thread-Handle freigibt und keine weiteren Auswirkungen auf den laufenden Thread hat. Wenn der Thread-Ergebniswert nicht erforderlich ist (oder der Thread-Status nicht geändert werden muss), kann THREAD CLOSE unmittelbar nach der THREAD CREATE-Anweisung verwendet werden, sodass der Thread seinen Lauf weiterführen kann.

Weitere Informationen zu Threading- und Synchronisierungstechniken finden Sie unter MSDN http://msdn.microsoft.com.

Die PowerBASIC-Laufzeitbibliothek ist threadsicher und reentrant.

PBXB64-Beispiel

Das folgende Programm wurde mit PBXB64 getestet und kompiliert:

' PBXB64 Minimal Test: THREAD CREATE / STATUS / CLOSE
' Exercises basic threading primitives with a simple worker

#COMPILE EXE
#DIM ALL

THREAD FUNCTION Worker(BYVAL param AS LONG) AS LONG
    FUNCTION = param * 2
END FUNCTION

FUNCTION PBMAIN() AS LONG
    LOCAL hThread AS DWORD
    LOCAL status AS LONG
    LOCAL result AS LONG

    ' Create thread with parameter 21
    THREAD CREATE Worker(21) TO hThread

    ' Wait for completion via STATUS
    DO
        THREAD STATUS hThread TO status
    LOOP WHILE status = 0

    ' Retrieve result and close
    THREAD CLOSE hThread TO result

    ' result should be 42 (21 * 2)
    IF result <> 42 THEN
        FUNCTION = 1
    ELSE
        FUNCTION = 0
    END IF
END FUNCTION

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • FUNCTION/END FUNCTION-Anweisungen
  • Thread schließen - Hilfe zum PBXB64-Compiler
  • THREAD-Codegruppe
  • Thread-Set-Priorität
  • IPowerThread.Close-Methode
  • Thread-Fortsetzung
  • THREAD-STATUS
  • THREAD SUSPEND
  • THREADCOUNT
  • THREADED
  • THREADID
  • Hilfe zum PBXB64-Compiler


THREAD GET PRIORITY - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

THREAD GET PRIORITY

Rufen Sie den Priorit&auml;tswert f&uuml;r einen Thread ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

THREAD GET PRIORITY hThread TO lResult&

Beschreibung

Rufen Sie den Prioritätswert für einen Thread ab

Typ:Anweisung |Kategorie: Einfädeln

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

THREAD GET PRIORITY ruft den Prioritätswert für den Thread ab, der durch das Thread-Handle ( hThread ) angegeben wird. Das Thread-Handle wird von der THREAD CREATE-Anweisung zum Zeitpunkt der Thread-Erstellung zurückgegeben. Wenn hThread Null (0) ist, wird der Thread angenommen, der gerade ausgeführt wird. Der abgerufene Prioritätswert wird der durch lResult& angegebenen Long- oder Dword-Variablen zugewiesen. Eine Thread-ID kann nicht anstelle eines Thread-Handles verwendet werden.

Der Thread-Prioritätswert ist einer der folgenden:

%THREAD_PRIORITY_IDLE = -15

%THREAD_PRIORITY_LOWEST = -2

%THREAD_PRIORITY_BELOW_NORMAL = -1

%THREAD_PRIORITY_NORMAL = 0

%THREAD_PRIORITY_ABOVE_NORMAL = +1

%THREAD_PRIORITY_HIGHEST = +2

%THREAD_PRIORITY_TIME_CRITICAL= +15

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • PROZESS ERHALTEN PRIORITÃ"T " PBXB64-Compiler-Hilfe
  • PROZESS-SET-PRIORITÃ"T " PBXB64-Compiler-Hilfe
  • THREAD-Codegruppe
  • THREAD CREATE
  • IPowerThread.Close-Methode
  • Thread-Set-Priorität
  • Hilfe zum PBXB64-Compiler


Thread schließen - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Thread schließen - Hilfe zum PBXB64-Compiler

Lassen Sie den Griff eines laufenden Threads los.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

THREAD CLOSE hThread TO lResult&

Beschreibung

Lassen Sie den Griff eines laufenden Threads los.

Typ:Anweisung |Kategorie: Einfädeln

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

THREAD CLOSE gibt das Thread-Handle des Threads frei, der durch den DWORD-Wert hThread identifiziert wird (siehe THREAD CREATE ).

Bei Erfolg ist lResult& TRUE (ungleich Null); andernfalls ist es FALSE (Null). Wenn ein Thread nach Abschluss nicht geschlossen wird, belegt er weiterhin Speicher und CPU-Ressourcen. Beachten Sie, dass THREAD CLOSE einen Thread nicht stoppt, wenn er noch läuft; Es gibt einfach das Handle des Threads frei (d. h. die Ressourcen, die zum Verfolgen des Threads verwendet werden) und der Thread selbst wird weiter ausgeführt.

Sobald ein Thread-Handle freigegeben wird, wird der in hThread gespeicherte Wert undefiniert. Auf dieser Grundlage sollten Thread-Handles erst dann freigegeben werden, wenn kein weiterer Bedarf mehr besteht, den Thread-Status zu testen oder den Suspend-Zähler für einen Thread zu ändern. Wenn ein Thread nicht überwacht werden muss, kann sein Handle sofort nach der THREAD CREATE-Anweisung freigegeben werden, und die Thread-Ressourcen werden automatisch freigegeben, wenn der Thread auf natürliche Weise beendet wird. Best Practice schlägt vor, dass nach der Freigabe eines Thread-Handles die Thread-Handle-Variable auf 0 gesetzt werden sollte, um sie von anderen gültigen Thread-Handle-Variablen zu unterscheiden.

Sobald ein Thread beendet wurde, ist es nicht möglich, denselben Thread neu zu starten (wie durch hThread gekennzeichnet). Es kann jedoch ein neuer Thread mit derselben Ziel-Thread-Funktion ausgeführt werden, was zu einem neuen Thread-Handle führt, das den neuen Thread identifiziert.

Einschränkungen

THREAD CLOSE wird immer erfolgreich ausgeführt, sofern hThread einen gültigen Thread-Handle-Wert enthält. THREAD CLOSE erzeugt keine Laufzeitfehler; Alle Ausnahmen werden im Rückgabewert lResult& gemeldet.

Mit der WaitForSingleObject-API-Funktion kann gewartet werden, bis die Ausführung eines nominierten Threads abgeschlossen ist. Ebenso kann die WaitForMultipleObjects-API verwendet werden, um zu warten, bis ein, zwei oder alle sekundären Threads (maximal 64 oder %MAXIMUM_WAIT_OBJECTS) abgeschlossen sind, bevor fortgefahren wird. Solche Funktionen können sehr nützlich sein, wenn ein Programm eine Reihe von „Worker“-Threads zur Datenverarbeitung erstellt und der primäre Thread dann im Leerlauf bleiben kann, bis alle Worker-Threads ihre gesamte Arbeit abgeschlossen haben. An diesem Punkt kann der primäre Thread die Ergebnisse der Arbeitsthreads usw. sammeln.

Es ist auch nützlich zu verstehen, dass diese Art von Wartefunktionen sehr effizient sind und während des Wartens fast keine CPU-Zeit oder Ressourcen verbrauchen. Es muss jedoch darauf geachtet werden, einen Stillstand oder eine kreisförmige Aussetzung zu vermeiden. Beispielsweise könnte ein Deadlock-Zustand auftreten, wenn Thread A angehalten wird, während er auf Thread B wartet, der wiederum einen Suspend-Zähler hat, der möglicherweise nur von Thread A angepasst werden kann. Ebenso kann eine Endlosschleife in einem Thread auch jeden anderen Thread anhalten, der auf seine Beendigung wartet.

THREADCOUNT meldet weiterhin eine Thread-Liste, die Threads umfasst, deren Handle bereits freigegeben wurde. Ein Thread-ID-Wert darf nicht austauschbar mit einem Thread-Handle-Wert verwendet werden.

PBXB64-Beispiel

Das folgende Programm wurde mit PBXB64 getestet und kompiliert:

' PBXB64 Test: THREAD CLOSE without result
' Tests releasing a thread handle without retrieving result

#COMPILE EXE
#DIM ALL

THREAD FUNCTION Worker(BYVAL param AS LONG) AS LONG
    FUNCTION = param * 4
END FUNCTION

FUNCTION PBMAIN() AS LONG
    LOCAL hThread AS DWORD

    THREAD CREATE Worker(5) TO hThread

    ' Just close without TO
    THREAD CLOSE hThread

    FUNCTION = 0
END FUNCTION

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • FUNCTION/END FUNCTION-Anweisungen
  • THREAD-Codegruppe
  • THREAD CREATE
  • IPowerThread.Close-Methode
  • Thread-Fortsetzung
  • THREAD-STATUS
  • THREAD SUSPEND
  • THREADCOUNT
  • THREADED
  • THREADID
  • Hilfe zum PBXB64-Compiler


THREAD SUSPEND - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

THREAD SUSPEND

Unterbrechen Sie die Ausf&uuml;hrung eines Windows-Threads.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

THREAD SUSPEND hThread TO lResult&

Beschreibung

Unterbrechen Sie die Ausführung eines Windows-Threads.

Typ:Anweisung |Kategorie: Einfädeln

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

THREAD SUSPEND fügt 1 zum Suspend-Zähler des durch hThread angegebenen Threads hinzu (siehe THREAD CREATE ). Wenn dies erfolgreich ist, ist der lResult&-Wert der vorherige Suspend-Zähler des Threads; andernfalls ist es -1. Ein Thread wird immer angehalten, wenn er einen Suspend-Zähler von 1 oder höher hat.

Um den Suspend-Zähler eines Threads zu verringern, verwenden Sie die THREAD RESUME-Anweisung. Ein angehaltener Thread nimmt die Ausführung erst dann wieder auf, wenn sein Suspend-Zähler auf 0 dekrementiert wird.

Einschränkungen

Die THREAD SUSPEND-Anweisung erzeugt keine Laufzeitfehler; Alle Ausnahmen werden im Rückgabewert lResult& gemeldet. Eine Thread-ID kann nicht austauschbar mit einem Thread-Handle verwendet werden. Ein Thread kann sich selbst anhalten, indem er seinen eigenen Suspend-Zähler erhöht.

PBXB64-Beispiel

Das folgende Programm wurde mit PBXB64 getestet und kompiliert:

' PBXB64 Test: THREAD SUSPEND / RESUME
' Tests pausing and resuming a thread

#COMPILE EXE
#DIM ALL

THREAD FUNCTION Worker(BYVAL param AS LONG) AS LONG
    SLEEP 100
    FUNCTION = param + 10
END FUNCTION

FUNCTION PBMAIN() AS LONG
    LOCAL hThread AS DWORD
    LOCAL result AS LONG
    LOCAL n AS LONG

    THREAD CREATE Worker(5) TO hThread

    ' Suspend immediately (thread hasn't finished yet)
    THREAD SUSPEND hThread TO n
    IF n = -1 THEN FUNCTION = 1 : EXIT FUNCTION

    ' Resume
    THREAD RESUME hThread TO n
    IF n = -1 THEN FUNCTION = 2 : EXIT FUNCTION

    ' Wait for completion and close
    THREAD CLOSE hThread TO result

    IF result <> 15 THEN
        FUNCTION = 3
    ELSE
        FUNCTION = 0
    END IF
END FUNCTION

Siehe auch

  • FUNCTION/END FUNCTION-Anweisungen
  • Thread schließen - Hilfe zum PBXB64-Compiler
  • THREAD-Codegruppe
  • THREAD CREATE
  • IPowerThread.Close-Methode
  • Thread-Fortsetzung
  • THREAD-STATUS
  • THREADCOUNT
  • THREADED
  • THREADID
  • Hilfe zum PBXB64-Compiler


THREAD-Codegruppe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

THREAD-Codegruppe

Der Thread

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

THREAD DirectorWord [ params ]
THREAD DirectorWord [ params ] TO ReturnVariable(s)

Beschreibung

Der Thread

Typ:Schlüsselwort |Kategorie: Einfädeln

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Windows-Thread ist ein kleineres „Programm innerhalb eines Programms“, das gleichzeitig mit dem Haupt-Thread und anderen Threads im selben Anwendungsprogramm ausgeführt wird. Threads bieten einer Anwendung leistungsstarke Möglichkeiten, mehrere Aufgaben gleichzeitig auszuführen.

Mit dem Aufkommen von Multi-Core-CPUs und Multi-CPU-Computern ist es eindeutig wünschenswert, alle Informationen über einen bestimmten Thread in einer einzigen Komponente zu kapseln. Aus diesem Grund hat PowerBASIC das Konzept eines THREAD OBJECT eingeführt. Während die THREAD-Codegruppe noch einige Zeit unterstützt wird, empfehlen wir, dass jeder neue Code ausschließlich THREAD-OBJEKTE verwendet. Sie bieten dem Programmierer eine viel größere Kontrolle und eine viel bessere Handhabung der Thread-Parameter.

Einschränkungen

Funktionen aus der Thread-Code-Gruppe und THREAD-OBJEKTEN können in derselben Anwendung koexistieren. Es ist jedoch wichtig, dass sie nicht vermischt werden und auf denselben Thread verweisen.

Praktische Verwendung

THREAD-Codegruppe gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Siehe auch

  • FUNCTION/END FUNCTION-Anweisungen
  • Thread schließen - Hilfe zum PBXB64-Compiler
  • THREAD CREATE
  • Thread-Set-Priorität
  • IPowerThread.Close-Methode
  • Thread-Fortsetzung
  • THREAD-STATUS
  • THREAD SUSPEND
  • THREADCOUNT
  • THREADED
  • THREADID
  • THREADSAFE-Optionsdeskriptor
  • Hilfe zum PBXB64-Compiler


Thread-Fortsetzung - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Thread-Fortsetzung

Setzen Sie die Ausf&uuml;hrung eines Windows-Threads fort.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

THREAD RESUME hThread TO lResult&

Beschreibung

Setzen Sie die Ausführung eines Windows-Threads fort.

Typ:Anweisung |Kategorie: Einfädeln

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

THREAD RESUME verringert die Suspend-Zählung des Threads, der durch den in hThread gespeicherten 32-Bit-DWORD-Wert identifiziert wird (siehe THREAD CREATE ). Wenn dies erfolgreich ist, ist der lResult&-Wert der vorherige Suspend-Zähler des Threads; andernfalls ist es -1.

Die Ausführung eines angehaltenen Threads wird fortgesetzt, wenn der Suspend-Zähler eines Threads auf Null verringert wird. Wenn die SUSPEND-Option in der zugehörigen THREAD CREATE-Anweisung enthalten ist, hat der Thread einen anfänglichen Suspend-Zähler von 1. In diesem Fall beginnt die Ausführung des Threads erst, wenn eine THREAD RESUME-Anweisung ausgeführt wird, wobei das in hThread gespeicherte Thread-Handle zur Identifizierung des Threads verwendet wird.

Einschränkungen

Die THREAD RESUME-Anweisung erzeugt keine Laufzeitfehler; Alle Ausnahmen werden im Rückgabewert lResult& gemeldet. Eine Thread-ID kann nicht austauschbar mit einem Thread-Handle verwendet werden. Ein Thread kann sich selbst anhalten, indem er seinen eigenen Suspend-Zähler erhöht, aber logischerweise kann er seinen eigenen Suspend-Zähler nicht verringern.

PBXB64-Beispiel

Das folgende Programm wurde mit PBXB64 getestet und kompiliert:

' PBXB64 Test: THREAD SUSPEND / RESUME
' Tests pausing and resuming a thread

#COMPILE EXE
#DIM ALL

THREAD FUNCTION Worker(BYVAL param AS LONG) AS LONG
    SLEEP 100
    FUNCTION = param + 10
END FUNCTION

FUNCTION PBMAIN() AS LONG
    LOCAL hThread AS DWORD
    LOCAL result AS LONG
    LOCAL n AS LONG

    THREAD CREATE Worker(5) TO hThread

    ' Suspend immediately (thread hasn't finished yet)
    THREAD SUSPEND hThread TO n
    IF n = -1 THEN FUNCTION = 1 : EXIT FUNCTION

    ' Resume
    THREAD RESUME hThread TO n
    IF n = -1 THEN FUNCTION = 2 : EXIT FUNCTION

    ' Wait for completion and close
    THREAD CLOSE hThread TO result

    IF result <> 15 THEN
        FUNCTION = 3
    ELSE
        FUNCTION = 0
    END IF
END FUNCTION

Siehe auch

  • FUNCTION/END FUNCTION-Anweisungen
  • Thread schließen - Hilfe zum PBXB64-Compiler
  • THREAD-Codegruppe
  • THREAD CREATE
  • IPowerThread.Close-Methode
  • THREAD-STATUS
  • THREAD SUSPEND
  • THREADCOUNT
  • THREADED
  • THREADID
  • Hilfe zum PBXB64-Compiler


Thread-Kontrolle - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Thread-Kontrolle

Die folgenden Funktionen werden zum Erstellen und Verwalten von Threads verwendet:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die folgenden Funktionen werden zum Erstellen und Verwalten von Threads verwendet:

Typ:Schlüsselwort |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Gibt das Thread-Handle dieses Threads frei.

Vergleicht das angegebene Objekt, um festzustellen, ob es auf dasselbe Objekt wie dieses Objekt verweist.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Thread-Set-Priorität - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Thread-Set-Priorität

Legt den Priorit&auml;tswert f&uuml;r einen Thread fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

THREAD SET PRIORITY hThread , Priority&

Beschreibung

Legt den Prioritätswert für einen Thread fest

Typ:Anweisung |Kategorie: Einfädeln

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

THREAD SET PRIORITY weist dem durch das Thread-Handle ( hThread ) angegebenen Thread einen neuen Prioritätswert zu. Das Thread-Handle wird von der THREAD CREATE-Anweisung zum Zeitpunkt der Thread-Erstellung zurückgegeben. Wenn hThread Null (0) ist, wird der Thread angenommen, der gerade ausgeführt wird. Eine Thread-ID kann nicht anstelle eines Thread-Handles verwendet werden.

Der Thread-Prioritätswert muss einer der folgenden sein:

%THREAD_PRIORITY_IDLE = -15

%THREAD_PRIORITY_LOWEST = -2

%THREAD_PRIORITY_BELOW_NORMAL = -1

%THREAD_PRIORITY_NORMAL = 0

%THREAD_PRIORITY_ABOVE_NORMAL = +1

%THREAD_PRIORITY_HIGHEST = +2

%THREAD_PRIORITY_TIME_CRITICAL= +15

PBXB64-Beispiel

Das folgende Programm wurde mit PBXB64 getestet und kompiliert:

' PBXB64 Test: THREAD SET PRIORITY
' Tests setting thread priority

#COMPILE EXE
#DIM ALL

THREAD FUNCTION Worker(BYVAL param AS LONG) AS LONG
    FUNCTION = param * 3
END FUNCTION

FUNCTION PBMAIN() AS LONG
    LOCAL hThread AS DWORD
    LOCAL result AS LONG
    LOCAL ok AS LONG

    THREAD CREATE Worker(7) TO hThread

    ' Set priority to above normal (+1)
    THREAD SET PRIORITY hThread, %THREAD_PRIORITY_ABOVE_NORMAL

    ' Wait and close
    THREAD CLOSE hThread TO result

    IF result <> 21 THEN
        FUNCTION = 1
    ELSE
        FUNCTION = 0
    END IF
END FUNCTION

Praktische Verwendung

Thread-Set-Priorität gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Siehe auch

  • PROZESS ERHALTEN PRIORITÃ"T " PBXB64-Compiler-Hilfe
  • PROZESS-SET-PRIORITÃ"T " PBXB64-Compiler-Hilfe
  • THREAD-Codegruppe
  • THREAD CREATE
  • THREAD GET PRIORITY
  • IPowerThread.Close-Methode
  • Hilfe zum PBXB64-Compiler


THREAD-STATUS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

THREAD-STATUS

Rufen Sie den Status eines Windows-Threads ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

THREAD STATUS hThread TO lResult&

Beschreibung

Rufen Sie den Status eines Windows-Threads ab.

Typ:Anweisung |Kategorie: Einfädeln

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

THREAD STATUS weist lResult& den Status des Threads zu, der durch den DWORD-Wert in hThread (siehe THREAD CREATE ) identifiziert wird.

Wenn die Funktion fehlschlägt, wird lResult& auf Null gesetzt. Wenn der Thread noch läuft, wird der Systemwert &H103 zugewiesen. Wenn der Thread beendet wurde und das Thread-Handle noch nicht geschlossen wurde, wird der Rückgabewert der Thread-Funktion lResult& zugewiesen. Um darauf zu warten, dass ein oder mehrere Threads die Ausführung abschließen, verwenden Sie die API-Funktionen WaitForSingleObject oder WaitForMultipleObjects – weitere Informationen finden Sie unter THREAD CLOSE.

Die Anzahl der aktuell laufenden Threads in einem Modul kann mit der Funktion THREADCOUNT ermittelt werden.

Einschränkungen

Die THREAD STATUS-Anweisung erzeugt keine Laufzeitfehler; Alle Ausnahmen werden im Rückgabewert lResult& gemeldet. Eine Thread-ID kann nicht anstelle eines Thread-Handles verwendet werden.

PBXB64-Beispiel

Das folgende Programm wurde mit PBXB64 getestet und kompiliert:

' Thread STATUS test
#COMPILE EXE
#DIM ALL

THREAD FUNCTION Worker(BYVAL param AS LONG) AS LONG
    FUNCTION = param * 2
END FUNCTION

FUNCTION PBMAIN() AS LONG
    LOCAL hThread AS DWORD
    LOCAL status AS LONG
    LOCAL result AS LONG

    THREAD CREATE Worker(21) TO hThread

    DO
        THREAD STATUS hThread TO status
    LOOP WHILE status = 0

    THREAD CLOSE hThread TO result

    IF result <> 42 THEN
        FUNCTION = 1
    ELSE
        FUNCTION = 0
    END IF
END FUNCTION

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • FUNCTION/END FUNCTION-Anweisungen
  • Thread schließen - Hilfe zum PBXB64-Compiler
  • THREAD-Codegruppe
  • THREAD CREATE
  • IPowerThread.Close-Methode
  • Thread-Fortsetzung
  • THREAD SUSPEND
  • THREADCOUNT
  • THREADED
  • THREADID
  • Hilfe zum PBXB64-Compiler


THREADCOUNT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

THREADCOUNT

Gibt die Anzahl der von PowerBASIC erstellten aktiven Threads zur&uuml;ck, die in einem Modul vorhanden sind.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

lCount& = THREADCOUNT

Beschreibung

Gibt die Anzahl der von PowerBASIC erstellten aktiven Threads zurück, die in einem Modul vorhanden sind.

Typ:Funktion |Kategorie: Einfädeln

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Anwendungen geben einen THREADCOUNT von mindestens 1 zurück, der dem „primären“ Anwendungsthread zugeordnet wird. Zusätzliche Threads, die von der Anwendung oder dem Modul mit der Funktion THREAD CREATE erstellt wurden, werden ebenfalls in die von THREADCOUNT zurückgegebene Liste einbezogen.

THREADCOUNT kann nützlich sein, wenn ein „steuernder Thread“ den Status einer Sammlung von „Arbeitsthreads“ abfragen muss, während diese eine Reihe von Aufgaben erledigen. Allerdings ist Vorsicht geboten, wenn möglicherweise auch andere (nicht verwandte) Threads im selben Modul laufen – in solchen Fällen ist die Verwendung von THREAD STATUS die bevorzugte Lösung. Wenn eine Abfrage nicht gewünscht ist, kann auch die API-Funktion WaitForMultipleObjects nützlich sein – weitere Informationen finden Sie unter THREAD CLOSE.

Einschränkungen

THREADCOUNT umfasst Threads, deren Thread-Handle mit THREAD CLOSE freigegeben wurde, die aber noch laufen.

Threads werden asynchron initialisiert und gestartet. Daher ist es ratsam, dem Betriebssystem etwas Zeit für die Thread-Initialisierung zu geben, bevor Sie die Funktion THREADCOUNT zum Überwachen des Threads verwenden.

Eine Thread-Funktion darf nicht direkt aufgerufen oder ausgeführt werden, außer durch eine THREAD CREATE-Anweisung. Diese Einschränkung wird auferlegt, um sicherzustellen, dass die PowerBASIC-Laufzeitbibliothek jederzeit einen Thread-sicheren Zustand beibehalten, internen Thread-lokalen Speicher korrekt zuweisen und freigeben kann und Funktionen wie THREADCOUNT genaue Werte zurückgeben können. Weitere Informationen und Lösungen finden Sie unter THREAD CREATE.

PBXB64-Beispiel

Das folgende Programm wurde mit PBXB64 getestet und kompiliert:

' PBXB64 Test: THREADCOUNT
' Tests retrieving thread count

#COMPILE EXE
#DIM ALL

THREAD FUNCTION Worker(BYVAL param AS LONG) AS LONG
    SLEEP 50
    FUNCTION = param
END FUNCTION

FUNCTION PBMAIN() AS LONG
    LOCAL hThread AS DWORD
    LOCAL count1 AS LONG
    LOCAL count2 AS LONG
    LOCAL result AS LONG

    count1 = THREADCOUNT

    ' At least 1 (main thread) should exist
    IF count1 < 1 THEN FUNCTION = 1 : EXIT FUNCTION

    THREAD CREATE Worker(1) TO hThread

    count2 = THREADCOUNT

    ' After creating a thread, count should be >= count1
    IF count2 < count1 THEN FUNCTION = 2 : EXIT FUNCTION

    THREAD CLOSE hThread TO result

    FUNCTION = 0
END FUNCTION

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • FUNCTION/END FUNCTION-Anweisungen
  • Thread schließen - Hilfe zum PBXB64-Compiler
  • THREAD-Codegruppe
  • THREAD CREATE
  • IPowerThread.Close-Methode
  • Thread-Fortsetzung
  • THREAD-STATUS
  • THREAD SUSPEND
  • THREADED
  • THREADID
  • Hilfe zum PBXB64-Compiler


THREADED - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

THREADED

Deklarieren Sie Thread-lokale Variablen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

THREADED variable [()] [AS type ] [, variable [()]]
THREADED variable [()] [, variable [()]] [, ...] AS type

Beschreibung

Deklarieren Sie Thread-lokale Variablen.

Typ:Anweisung |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Thread-Variablen gelten global für alle Sub-, Function-, Method- und Property-Variablen, werden jedoch nicht von Threads gemeinsam genutzt. Jeder Thread verfügt über einen eigenen unabhängigen Satz threadlokaler Variablen.

Um ein Array als Thread-Variable zu deklarieren, verwenden Sie einen leeren Satz Klammern in der Variablenliste: Anschließend können Sie das Array mit der DIM-Anweisung dimensionieren.

THREADED MyArray%()

THREADED StringArray() AS STRING

Die THREADED-Anweisung kann optional eine Liste von Variablen akzeptieren, die alle durch das ihnen folgende Typdeskriptor-Schlüsselwort definiert werden. Zum Beispiel:

Threaded aaa, bbb, ccc als Ganzzahl

THREADED vptr, aptr() AS LONG PTR

Einschränkungen

Der DEF-Typ hat keine Auswirkung auf Variablen, die durch eine THREADED-Anweisung definiert werden.

PBXB64-Beispiel

Das folgende Programm wurde mit PBXB64 getestet und kompiliert:

' PBXB64 Test: THREADED FUNCTION prefix
' Tests THREADED FUNCTION declaration syntax

#COMPILE EXE
#DIM ALL

THREADED FUNCTION Worker(BYVAL param AS LONG) AS LONG
    FUNCTION = param + 100
END FUNCTION

FUNCTION PBMAIN() AS LONG
    LOCAL hThread AS DWORD
    LOCAL result AS LONG

    THREAD CREATE Worker(23) TO hThread
    THREAD CLOSE hThread TO result

    IF result <> 123 THEN
        FUNCTION = 1
    ELSE
        FUNCTION = 0
    END IF
END FUNCTION

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • GLOBAL ? PBXB64-Compiler-Hilfe
  • INSTANZ
  • LOCAL � PBXB64-Compiler-Hilfe
  • STATIC ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


THREADID - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

THREADID

Geben Sie a zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

thrdID& = THREADID

Beschreibung

Geben Sie a zurück

Typ:Funktion |Kategorie: Einfädeln

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Thread-ID-Wert wird für den Thread zurückgegeben, der gerade ausgeführt wird. Die Thread-ID ist für die Verwendung mit den verschiedenen (erweiterten) Thread-bezogenen API-Funktionen von Windows vorgesehen.

Einschränkungen

Der Thread-ID-Wert kann nicht austauschbar mit dem von THREAD CREATE zurückgegebenen Thread-Handle verwendet werden.

PBXB64-Beispiel

Das folgende Programm wurde mit PBXB64 getestet und kompiliert:

' PBXB64 Test: THREAD ID
' Tests retrieving current thread ID

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    LOCAL id AS LONG

    id = THREADID

    ' Thread ID should be non-zero for any valid thread
    IF id = 0 THEN
        FUNCTION = 1
    ELSE
        FUNCTION = 0
    END IF
END FUNCTION

Praktische Verwendung

Thread-ID gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.

Siehe auch

  • FUNCTION/END FUNCTION-Anweisungen
  • Thread schließen - Hilfe zum PBXB64-Compiler
  • THREAD CREATE
  • Thread-Fortsetzung
  • THREAD-STATUS
  • THREAD SUSPEND
  • THREADED
  • Hilfe zum PBXB64-Compiler


THREADSAFE-Optionsdeskriptor - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

THREADSAFE-Optionsdeskriptor

Erkl&auml;rt die THREADSAFE-Option f&uuml;r Prozeduren.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Erklärt die THREADSAFE-Option für Prozeduren.

Typ:Konzeptionell |Kategorie: Einfädeln

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Überblick

Dieses Thema bietet Hintergrundinformationen und praktische Anleitungen. Eine detaillierte Syntax finden Sie auf den entsprechenden Befehlsseiten.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Hilfe zum PBXB64-Compiler


TIME$-Systemvariable - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TIME$-Systemvariable

Lesen und/oder stellen Sie die Systemzeit ein.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = TIME$
TIME$ = string_expression

Beschreibung

Lesen und/oder stellen Sie die Systemzeit ein.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Systemvariable TIME$ enthält eine achtstellige Zeichenfolge, die die Zeit der Systemuhr in der Form „hh:mm:ss“ darstellt, wobei hh für Stunden (im 24-Stunden-Militärformat), mm für Minuten und ss für Sekunden steht.

Durch die Zuweisung von string_expression zu TIME$ wird die Systemuhr zurückgesetzt. string_expression muss Zeitinformationen im militärischen Format (24 Stunden) enthalten. Minuten- und Sekundenangaben können weggelassen werden. Zum Beispiel:

TIME$ = "12" 'stellt die Uhr auf 12 Uhr mittags

TIME$ = "13:01" 'stellt die Uhr auf 13:01 Uhr

TIME$ = "13:01:30" 'stellt die Uhr auf 30 Sekunden nach 13:01 Uhr ein

TIME$ = "0:01" 'Uhr auf 1 Minute nach Mitternacht einstellen

Verwenden Sie die TIMER-Funktion, um die Anzahl der Sekunden zurückzugeben, die seit Mitternacht vergangen sind.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • DATE$-Systemvariable
  • MONTHNAME$
  • IPowerTime.AddDays-Methode
  • TIMER
  • TIX - Hochaufloesender Timer
  • Hilfe zum PBXB64-Compiler


TIMEBASE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TIMEBASE

Gibt die H&auml;ufigkeit oder den aktuellen Wert des hochaufl&ouml;senden Leistungsindikators zur&uuml;ck.

Kategorie: Allgemeine Referenz

Syntax

TIMEBASE = value
ticks = TIMEBASE

Beschreibung

Gibt die Häufigkeit oder den aktuellen Wert des hochauflösenden Leistungsindikators zurück.

Typ:Funktion |Kategorie: Betriebssystem und Umgebung / Datum und Uhrzeit

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TIMER - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TIMER

Gibt die Anzahl der Sekunden zur&uuml;ck, die seit Mitternacht vergangen sind.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = TIMER

Beschreibung

Gibt die Anzahl der Sekunden zurück, die seit Mitternacht vergangen sind.

Typ:Funktion |Kategorie: Utilities

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

TIMER gibt die Anzahl der Sekunden seit Mitternacht als Gleitkommawert mit doppelter Genauigkeit zurück. Die Auflösung beträgt etwa 1/100 Sekunde auf NT-basierten Plattformen bzw. 1/18 Sekunde auf früheren Plattformen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DATE$-Systemvariable
  • TIME$-Systemvariable
  • TIX - Hochaufloesender Timer
  • Hilfe zum PBXB64-Compiler


TIX - Hochaufloesender Timer - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TIX - Hochaufloesender Timer

TIX liest den eingebetteten PBXB64-Laufzeithelfer und liefert einen vorzeichenbehafteten 64-Bit-Wert des x64-Prozessor-Zeitstempelzaehlers (RDTSC). Die Anweisung ist fuer relative Laufzeitmessungen innerhalb eines Prozesses gedacht.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TIX QuadVar
TIX END QuadVar

Beschreibung

TIX liest den eingebetteten PBXB64-Laufzeithelfer und liefert einen vorzeichenbehafteten 64-Bit-Wert des x64-Prozessor-Zeitstempelzaehlers (RDTSC). Die Anweisung ist fuer relative Laufzeitmessungen innerhalb eines Prozesses gedacht.

Typ: Funktion und Anweisung | Kategorie: System & Umgebung

PBXB64-Status: VERFUEGBAR — fokussierte Implementierung, kein Stub

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Ausdrucksform TIX liefert den aktuellen Timer-Tick als QUAD-grossen Integerwert. Diese Form passt zu Quellen, die den Timer wie eine Funktion lesen, zum Beispiel started&& = TIX.

Die Anweisungsform TIX QuadVar liest denselben Timer und weist den aktuellen Wert dem numerischen Ziel zu. Das Ziel sollte ein QUAD oder ein anderer numerischer Typ sein, der einen 64-Bit-Tickwert aufnehmen kann.

TIX END QuadVar liest den aktuellen Timer, subtrahiert den bereits in QuadVar gespeicherten vorherigen Wert und schreibt die verstrichene Tickdifferenz in dasselbe Ziel zurueck. Dies ist die PBWin-artige Start/Ende-Messform.

PBXB64 senkt alle drei Formen derzeit auf den eingebetteten Laufzeithelfer bestof_tix ab. Der Helfer wird vom Compiler in Single-EXE-Ausgaben eingebunden; ein loses Laufzeitobjekt oder eine externe Hilfsbibliothek ist nicht erforderlich.

Praktische Verwendung

Verwenden Sie TIX fuer relative Messungen, etwa um zwei Schleifen zu vergleichen, eine kurze Routine zu messen oder zu pruefen, ob eine Warteoperation tatsaechlich Zeit verbraucht hat. Absolute Werte sollten nicht zwischen verschiedenen Prozessen, Systemstarts oder Rechnern verglichen werden.

Die Einheit ist der Wert des Prozessor-Zeitstempelzaehlers. Verwenden Sie absolute Werte nicht fuer Vergleiche zwischen Rechnern oder als feste CPU-Frequenz. Wenn ein Programm Sekunden benoetigt, verwenden Sie TIMER oder kalibrieren Sie den Plattformtimer ausdruecklich im Anwendungscode.

started&& = TIX
SLEEP 10
finished&& = TIX
TIX elapsed&&
SLEEP 10
TIX END elapsed&&

Parameter und Ergebnisse

QuadVar ist ein zuweisbares numerisches BASIC-Ziel, das vom normalen PBXB64-Zuweisungspfad unterstuetzt wird. Der Laufzeithelfer liefert den aktuellen RDTSC-Wert; eine feste Frequenzumrechnung oder ein Vergleich absoluter Werte zwischen Rechnern ist nicht Bestandteil der Anweisung.

Validierungsbeleg

Registrierter Test: examples/basic/test_tix.pb ist in tests/validate.toml unter pb_linkrun registriert. Er beweist, dass die Ausdrucksform TIX ueber einen kurzen Schlaf monoton bleibt, dass TIX target einen nicht negativen Tickwert speichert und dass TIX END target eine positive verstrichene Differenz speichert.

Erwartetes Ergebnis: das registrierte Programm gibt OK aus und endet mit Exit-Code 0.

Test- und Dokumentationshinweise

Diese Seite dokumentiert absichtlich keine feste Tickfrequenz. Tests sollen die Reihenfolge und positive Differenzen pruefen, nicht einen fest verdrahteten absoluten Tickwert oder eine bestimmte CPU-Frequenz.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN() AS LONG
    LOCAL n AS LONG
    LOCAL cycles&& AS QUAD
    cycles&& = 0
    TIX cycles&&
    FOR n = 1 TO 1000000
        ' work
    NEXT n
    TIX END cycles&&
    PRINT "1M iterations took"; cycles&&; "ticks"
    FUNCTION = 0
END FUNCTION

Siehe auch

  • TIMER
  • Hilfe zum PBXB64-Compiler


TO - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TO

Trennt den Start- und Endwert in einer FOR-Klausel

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FOR counter = start TO end [STEP increment]

Beschreibung

Trennt den Start- und Endwert in einer FOR-Klausel

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerTO Schlüsselwort erscheint zwischen dem Anfangswert und dem Grenzwert in a FOR Anweisung. Es wird auch in verwendet SELECT CASE Bereiche (CASE low TO high).

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL i AS LONG
    FOR i = 1 TO 5
        PRINT i
    NEXT i
END FUNCTION

Siehe auch

  • FOR � PBXB64-Compiler-Hilfe
  • WEITER
  • STEP
  • CASE
  • GRUNDLEGENDER Kontrollfluss
  • Hilfe zum PBXB64-Compiler


TRACE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TRACE

Schreibt explizite Trace-Zeilen in eine benannte Trace-Datei.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TRACE NEW fname$
TRACE ON
TRACE PRINT string_expr
TRACE OFF
TRACE CLOSE

Beschreibung

Schreibt explizite Trace-Zeilen in eine benannte Trace-Datei.

Typ: Anweisung | Kategorie: Allgemein

PBXB64-Status: VERFUEGBAR, getestete begrenzte Trace-Datei-Oberflaeche

PBXB64-Zertifizierung: [TESTED LIMITED]

Beschreibung

TRACE erstellt eine benannte Trace-Datei und erlaubt einem Programm, explizite Trace-Zeilen zu schreiben, solange Tracing eingeschaltet ist. Die getestete Ausgabe wird in die mit TRACE NEW fname$ angegebene Datei geschrieben.

TRACE kann mit TRACE ON und TRACE OFF gestartet und gestoppt werden. PBXB64 akzeptiert auch die Aliase TRON und TROFF. TRACE PRINT schreibt den Wert von string_expr nur, solange Tracing eingeschaltet ist.

Die fuenf getesteten Formen sind:

TRACE NEW fname$

Erstellt oder ueberschreibt die angegebene Trace-Datei und schaltet Tracing zunaechst aus.

TRACE ON

Aktiviert explizite TRACE PRINT-Ausgaben. TRON hat dieselbe Wirkung.

TRACE PRINT string_expr

Schreibt den Wert von string_expr als Zeile in die Trace-Datei, wenn Tracing eingeschaltet ist.

TRACE OFF

Stoppt voruebergehend TRACE PRINT-Ausgaben. TROFF hat dieselbe Wirkung.

TRACE CLOSE

Schliesst die Trace-Datei und trennt sie vom Trace-Datenstrom.

Beispiel:

TRACE NEW "run.trace"
TRACE ON
TRACE PRINT "startup"
TRACE OFF
TRACE PRINT "not written"
TRON
TRACE PRINT "after alias"
TROFF
TRACE CLOSE

Die getestete Ausgabe enthaelt die eingeschalteten TRACE PRINT-Zeilen und laesst die ausgeschaltete Zeile weg. Dieses Verhalten wird durch tests/pb/test_trace_file_state.pb abgedeckt.

Einschraenkungen

PBXB64 implementiert derzeit nur explizite Trace-Datei-Zeilen. Automatische Prozedur-Eintritts- und Austrittszeilen, Label-Zeilen, Parameterlisten, Laufzeitfehler-Zeilen und thread-lokale Trace-Streams sind noch nicht implementiert.

#TOOLS OFF unterdrueckt die getesteten TRACE- und PROFILE-Absenkungspfade im aktuellen Compilerbereich, so dass deaktivierte Tool-Anweisungen nicht in das kompilierte Programm gelangen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • #TOOLS
  • CALLSTK$
  • CALLSTKCOUNT
  • FUNCNAME$
  • PROFIL
  • Hilfe zum PBXB64-Compiler


TREEVIEW DELETE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TREEVIEW DELETE

A

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TREEVIEW DELETE hDlg , id& , hItem
TREEVIEW GET BOLD hDlg , id& , hItem TO datav&
TREEVIEW GET CHECK hDlg , id& , hItem TO datav&
TREEVIEW GET CHILD hDlg , id& , hItem TO datav&
TREEVIEW GET COUNT hDlg , id& TO datav&
TREEVIEW GET EXPANDED hDlg , id& , hItem TO datav&
TREEVIEW GET NEXT hDlg , id& , hItem TO datav&
TREEVIEW GET PARENT hDlg , id& , hItem TO datav&
TREEVIEW GET PREVIOUS hDlg , id& , hItem TO datav&
TREEVIEW GET ROOT hDlg , id& TO datav&
TREEVIEW GET SELECT hDlg , id& TO datav&
TREEVIEW GET TEXT hDlg , id& , hItem TO txtv$
TREEVIEW GET USER hDlg , id& , hItem TO datav&
TREEVIEW INSERT ITEM hDlg , id& , hPrnt , hIAftr , image& , simage& , txt$ TO hItem
TREEVIEW RESET hDlg , id&
TREEVIEW SELECT hDlg , id& , hItem
TREEVIEW SET BOLD hDlg , id& , hItem , flag&
TREEVIEW SET CHECK hDlg , id& , hItem , flag&
TREEVIEW SET EXPANDED hDlg , id& , hItem , flag&
TREEVIEW SET IMAGELIST hDlg , id& , hLst
TREEVIEW SET TEXT hDlg , id& , hItem , txt$
TREEVIEW SET USER hDlg , id& , hItem , NumExpr
TREEVIEW UNSELECT hDlg , id&
hItem

Beschreibung

A

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

TREEVIEW DELETE hdlg , id& , hItem

Das durch das Handle hItem angegebene Datenelement wird aus dem TREEVIEW-Steuerelement gelöscht.

TREEVIEW GET BOLD hDlg , id& , hItem TO datav&

Das fettgedruckte Attribut für das Datenelement hItem wird abgerufen und der Variablen datav& zugewiesen. Wenn das Element fett gedruckt ist, wird der Wert wahr (-1) zugewiesen. Wenn nicht fett, wird der Wert false (0) zugewiesen.

TREEVIEW GET CHECK hdlg , id& , hItem TO datav&

Das Häkchenattribut für das Datenelement hItem wird abgerufen und der Variablen datav& zugewiesen. Wenn die Checkbox aktiviert ist, wird der Wert wahr (-1) zugewiesen. Wenn nicht aktiviert, wird der Wert false (0) zugewiesen.

TREEVIEW GET CHILD hDlg , id& , hItem TO datav&

Das durch hItem angegebene übergeordnete Datenelement wird nach untergeordneten Datenelementen durchsucht. Wenn welche gefunden werden, wird das Handle des ersten untergeordneten Elements der durch datav& angegebenen Variablen zugewiesen. Wenn keine gefunden werden, wird datav& der Wert Null (0) zugewiesen.

TREEVIEW GET COUNT hdlg , id& TO datav&

Die Anzahl der Datenelemente in TREEVIEW wird abgerufen und der durch datav& angegebenen langen Ganzzahlvariablen zugewiesen.

TREEVIEW GET EXPANDED hdlg , id& , hItem TO datav&

Das erweiterte Attribut für das Datenelement hItem wird abgerufen und der Variablen datav& zugewiesen. Wenn das Element erweitert wird und seine untergeordneten Datenelemente angezeigt werden, wird der Wert wahr (-1) zugewiesen. Wenn das Element ausgeblendet ist, wird der Wert false (0) zugewiesen.

TREEVIEW GET NEXT hDlg , id& , hItem TO datav&

Das durch hItem angegebene Datenelement wird nach gleichgeordneten Datenelementen durchsucht. Das Handle des nächsten Geschwisters wird der durch datav& angegebenen Variablen zugewiesen. Wenn kein nächstes Geschwisterelement gefunden wird, wird datav& der Wert Null (0) zugewiesen.

TREEVIEW GET PARENT hdlg , id& , hItem TO datav&

Das durch hItem angegebene Datenelement wird nach seinem übergeordneten Datenelement durchsucht. Das Handle des übergeordneten Elements wird der durch datav& angegebenen Variablen zugewiesen. Wenn kein übergeordnetes Element gefunden wird, wird datav& der Wert Null (0) zugewiesen.

TREEVIEW GET PREVIOUS hdlg , id& , hItem TO datav&

Das durch hItem angegebene Datenelement wird nach gleichgeordneten Datenelementen durchsucht. Das Handle des vorherigen Geschwisters wird der durch datav& angegebenen Variablen zugewiesen. Wenn kein vorheriges Geschwisterelement gefunden wird, wird datav& der Wert Null (0) zugewiesen.

TREEVIEW GET ROOT hdlg , id& TO datav&

Das Handle des allerersten Datenelements (ganz oben) in TREEVIEW wird abgerufen und der durch datav& angegebenen Variablen zugewiesen.

TREEVIEW GET SELECT hdlg , id& TO datav&

Das Handle des aktuell in TREEVIEW ausgewählten Datenelements wird abgerufen und der durch datav& angegebenen Variablen zugewiesen. Wenn keine aktuelle Auswahl vorhanden ist, wird der Wert Null (0) zugewiesen.

TREEVIEW GET TEXT hDlg , id& , hItem TO txtv$

Der Text eines bestimmten Datenelements (angegeben durch das Handle hItem ) wird aus dem TREEVIEW-Steuerelement abgerufen und der durch txtv$ angegebenen Zeichenfolgenvariablen zugewiesen.

TREEVIEW GET USER hdlg , id& , hItem TO datav&

Jedem Element in einer TREEVIEW kann nach Ermessen des Programmierers ein langer ganzzahliger Benutzerwert zugeordnet sein. Dieser Benutzerwert wird mit TREEVIEW SET USER zugewiesen und mit TREEVIEW GET USER abgerufen. Der Parameter hItem gibt das Handle des Benutzerelements an, auf das zugegriffen werden soll. Der zurückgegebene Benutzerwert wird der durch datav& angegebenen Long-Integer-Variablen zugewiesen. Zusätzlich zu diesen TREEVIEW-Benutzerwerten bietet jedes DDT-Steuerelement zusätzlich acht Benutzerwerte, auf die mit CONTROL GET USER und CONTROL SET USER zugegriffen werden kann.

TREEVIEW INSERT ITEM hdlg , id& , hPrnt , hIAftr , image& , selimage& , txt$ TO hItem

Zu diesem TREEVIEW-Steuerelement wird ein neues Datenelement hinzugefügt. Der Parameter hPrnt gibt das übergeordnete Element dieses Elements an oder Null, wenn das Element im Stammverzeichnis eingefügt werden soll. Der Parameter hIAftr gibt das Handle des Elements an, nach dem dieses neue Element eingefügt werden soll, oder %TVI_FIRST (am Anfang), %TVI_LAST (am Ende), %TVI_SORT (alphabetische Reihenfolge). Wenn eine IMAGELIST angehängt wurde, geben die Parameter image& und selimage& an, welches Bild angezeigt werden soll (1=erstes, 2=zweite usw.) für normale und ausgewählte Elemente. Wenn kein Bild benötigt wird, sollten die Werte 0 verwendet werden. Der Parameter txt$ bezeichnet die Textzeichenfolge, die angezeigt werden soll. Wenn der Vorgang erfolgreich ist, wird das Handle für das neue Datenelement der durch hItem angegebenen Variablen zugewiesen. Wenn die Operation fehlschlägt, wird hItem der Wert Null zugewiesen.

TREEVIEW RESET hdlg , id&

Alle Datenelemente werden aus dem angegebenen TREEVIEW-Steuerelement gelöscht.

TREEVIEW SELECT hDlg , id& , hItem

Das durch das Handle hItem angegebene Datenelement wird als ausgewählter Text für das TREEVIEW-Steuerelement ausgewählt und der ausgewählte Text wird an eine sichtbare Position gescrollt.

TREEVIEW SET BOLD hDlg , id& , hItem , flag&

Das fette Attribut für das durch hItem angegebene Datenelement wird basierend auf dem Wert des Flag&-Parameters festgelegt. Wenn flag& wahr ist (ungleich Null), wird es fett angezeigt. Wenn Flag& falsch (Null) ist, wird es im normalen Format angezeigt.

TREEVIEW SET CHECK hDlg , id& , hItem , flag&

Das optionale Kontrollkästchen für das durch hItem angegebene Datenelement wird basierend auf dem Wert des Parameters flag& gesetzt. Wenn Flag& wahr ist (ungleich Null), wird es überprüft. Wenn Flag& falsch (Null) ist, ist es deaktiviert.

TREEVIEW SET EXPANDED hDlg , id& , hItem , flag&

Das erweiterte Attribut für das durch hItem angegebene Datenelement wird basierend auf dem Wert des Flag&-Parameters festgelegt. Wenn Flag& wahr ist (ungleich Null), wird es im erweiterten Format angezeigt, wobei seine untergeordneten Elemente sichtbar sind. Wenn Flag& falsch (Null) ist, wird es im reduzierten Format angezeigt.

TREEVIEW SET IMAGELIST hdlg , id& , hLst

Die von hLst angegebene IMAGELIST wird an dieses TREEVIEW-Steuerelement angehängt. Die darin enthaltenen Bilder werden bei Bedarf zu jedem Datenelement angezeigt. Wenn das TREEVIEW-Steuerelement zerstört wird, werden alle angehängten IMAGELIST automatisch zerstört.

TREEVIEW SET TEXT hDlg , id& , hItem , txt$

Der Text eines bestimmten Datenelements (angegeben durch das Handle hItem ) wird durch den Text im Zeichenfolgenausdruck txt$ ersetzt.

TREEVIEW SET USER hDlg , id& , hItem , NumExpr

Jedem Element in einer TREEVIEW kann nach Ermessen des Programmierers ein langer ganzzahliger Benutzerwert zugeordnet sein. Dieser Benutzerwert wird mit TREEVIEW SET USER zugewiesen und mit TREEVIEW GET USER abgerufen. Der Parameter hItem gibt das Handle des Benutzerelements an, auf das zugegriffen werden soll, während NumExpr der Benutzerwert ist, der für einen späteren Abruf gespeichert wird. Zusätzlich zu diesen TREEVIEW-Benutzerwerten bietet jedes DDT-Steuerelement zusätzlich acht Benutzerwerte, auf die mit CONTROL GET USER und CONTROL SET USER zugegriffen werden kann.

TREEVIEW UNSELECT hdlg , id&

Alle Elemente im TREEVIEW-Steuerelement werden auf einen nicht ausgewählten Status gesetzt.

PBXB64-Implementierungshinweise

PBXB64 V10 zertifiziert die echten Win32-Common-Control-Formulare TREEVIEW INSERT ITEM, TREEVIEW GET COUNT, TREEVIEW SET BOLD, TREEVIEW GET BOLD, TREEVIEW SET CHECK, TREEVIEW GET CHECK und TREEVIEW SET IMAGELIST. Diese Formulare werden durch Link-and-Run-Regressionen gegen tatsächliche TreeView-Steuerelemente abgedeckt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Dynamic Dialog Tools (DDT)
  • STEUERUNG TREEVIEW HINZUFÜGEN
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • IMAGELIST BITMAP HINZUFÜGEN
  • Hilfe zum PBXB64-Compiler


Tricks des Stacks - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Tricks des Stacks

Der Stapel l&auml;sst sich sehr flexibel schieben und platzen lassen. Es gibt ein paar Tricks, die bei der Verwendung des Stacks sehr n&uuml;tzlich sind: Sie k&ouml;nnen einen 32-Bit-Wert &uuml;bertragen und dann zwei 16-Bit-Werte &uuml;bertragen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Stapel lässt sich sehr flexibel schieben und platzen lassen. Es gibt ein paar Tricks, die bei der Verwendung des Stacks sehr nützlich sind: Sie können einen 32-Bit-Wert übertragen und dann zwei 16-Bit-Werte übertragen.

Typ:Schlüsselwort |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

'Schiebt einen 32-Bit-Wert auf den Stapel

' Nehmen Sie nun zwei 16-Bit-Werte vom Stapel

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


Tricks zum Erhalt von Registern - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Tricks zum Erhalt von Registern

Wenn Sie gemischten Assembler-/API-Code entwickeln und nicht wissen, welche Register in den API-Funktionen verwendet werden, k&ouml;nnen Sie auf zwei Paare von Assembler-Anweisungen zur&uuml;ckgreifen, die alle Usua beibehalten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn Sie gemischten Assembler-/API-Code entwickeln und nicht wissen, welche Register in den API-Funktionen verwendet werden, können Sie auf zwei Paare von Assembler-Anweisungen zurückgreifen, die alle Usua beibehalten

Typ:Schlüsselwort |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Das erste Mnemonikpaar, PUSHAD und POPAD, speichert und stellt die Register in einem Block wieder her. Mit diesen Mnemoniken können Sie beispielsweise den Wert eines Registers mitten im Assemblercode mit einem MessageBox-API-Aufruf anzeigen.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


TRIGAMMA - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TRIGAMMA

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Kategorie: Allgemeine Referenz

Syntax

result = TRIGAMMA( x )

Beschreibung

Kategorie: Numerische Spezialfunktionen | Status: V20 verifiziert

Semantik

Liefert die reelle Trigamma-Funktion psi'(x), die zweite logarithmische Ableitung von Gamma(x), als DOUBLE. Der aktuelle reelle Bereich ist endlich x > 0.

Operanden und Grenzen

Normale Numerik sowie INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden ueber DOUBLE-Konvertierung akzeptiert. Beliebig genaue Polygamma-Ausgaben sind nicht zugesichert.


TRUE - Boolesches TRUE-Literal - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TRUE - Boolesches TRUE-Literal

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

IF flag = TRUE THEN

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

PB-Wahrheitsliteral. PB-logisch wahr wird als -1 dargestellt, wo PB-Wahrheitswerte erforderlich sind.

Praktische Verwendung

Verwenden Sie TRUE nur in der gezeigten Kontrollfluss- oder Ausdrucksposition. Der Test sollte die komplette Umgebungsform enthalten, damit der Scanner und der Parser die Position korrekt erkennen.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Diese Keywords haben nur in ihren erkannten Sprachpositionen die beabsichtigte Bedeutung. Ausserhalb dieser Positionen sollte der Parser nicht stillschweigend eine andere Semantik annehmen.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TURTLE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TURTLE

Kategorie: BASIC-Grafikbruecke zur LOGO-Turtle-Laufzeit

Kategorie: Allgemeine Referenz

Syntax

GRAPHIC WINDOW titel$, x, y, breite, hoehe [TO handle]
TURTLE befehl [argumente]

Beschreibung

Kategorie: BASIC-Grafikbruecke zur LOGO-Turtle-Laufzeit

Unterstuetzte BASIC-Befehle

FD/FORWARD, BK/BACK, RT/RIGHT, LT/LEFT, PU/PENUP, PD/PENDOWN, PE/PENERASE, PPT/PENPAINT, HT/HIDETURTLE, ST/SHOWTURTLE, CS/CLEARSCREEN, CLEAN, HOME, FILL, SETPC, SETBG, SETXY x, y, SETH, PENSIZE, LABEL string$, SETTURTLE, TURTLESIZE und VECTORTURTLE.

Jeder BASIC-TURTLE-Befehl bindet das aktuelle GRAPHIC WINDOW an die LOGO-Turtle-Laufzeit. Turtle-Linien und Markierungen werden in diese GRAPHIC-Zeichenflaeche gezeichnet; GRAPHIC GET PIXEL kann das Ergebnis pruefen. GRAPHIC CLOSE gibt das Turtle-Ziel frei.

Grenzen

TURTLE TARGET, TURTLE EVAL, TURTLE BEGIN/END und eingebettete LOGO-Prozeduren sind in V15 keine BASIC-TURTLE-Syntax und liefern eine Diagnose. Verwenden Sie das LOGO-Frontend fuer LOGO-Sprachkonstrukte wie REPEAT, MAKE und TO-Prozeduren.

Validierung: test_basic_turtle_graphics kompiliert und startet die Bruecke, prueft einen Turtle-gezeichneten Pixel mit GRAPHIC GET PIXEL und verwendet Bild- sowie Vektor-Markierungen.


TXT Pseudo Object - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT Pseudo Object

The TXT pseudo object represents text-related helper operations in older PowerBASIC documentation. In PBXB64 help it is documented as a compatibility topic for reading legacy code and examples.

Kategorie: Allgemeine Referenz

Beschreibung

The TXT pseudo object represents text-related helper operations in older PowerBASIC documentation. In PBXB64 help it is documented as a compatibility topic for reading legacy code and examples.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

When porting TXT-style code, replace implicit behavior with explicit string variables, buffer lengths, and API calls where possible.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Zurück zum Befehlsindex

Kind: Reference topic | Category: TXT Runtime Helpers

PBXB64 Status: AVAILABLE

Description

Overview for TXT pseudo-object helpers. The individual TXT.* pages document the tested string and text-handle forms.

Validation Evidence

Validation evidence: Covered by tests/pb/test_txt_editor_methods.pb and generated TXT method pages.


TXT.ADDTEXT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.ADDTEXT

Haengt ueber die TXT-Helfer-Laufzeit einen String an einen anderen an.

Kategorie: Allgemeine Referenz

Syntax

result$ = TXT.ADDTEXT(text$, suffix$)

Beschreibung

Haengt ueber die TXT-Helfer-Laufzeit einen String an einen anderen an.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.ATTRIBUTE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.ATTRIBUTE

Liefert im aktuell getesteten begrenzten Kompatibilitaets-Subset 0.

Kategorie: Allgemeine Referenz

Syntax

attr& = TXT.ATTRIBUTE(text$, name$)

Beschreibung

Liefert im aktuell getesteten begrenzten Kompatibilitaets-Subset 0.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.CLOSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.CLOSE

Schliesst ein offenes TXT-Handle und gibt zugehoerigen Laufzeitzustand frei.

Kategorie: Allgemeine Referenz

Syntax

TXT.CLOSE handle&

Beschreibung

Schliesst ein offenes TXT-Handle und gibt zugehoerigen Laufzeitzustand frei.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.COLOR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.COLOR

Akzeptiert ein Farbargument und gibt im aktuellen String-Helfer-Subset den uebergebenen Text zurueck.

Kategorie: Allgemeine Referenz

Syntax

text$ = TXT.COLOR(text$, color&)

Beschreibung

Akzeptiert ein Farbargument und gibt im aktuellen String-Helfer-Subset den uebergebenen Text zurueck.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.COUNT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.COUNT

Liefert den vom TXT-Helfer gepflegten Zaehler fuer die geoeffnete Textquelle.

Kategorie: Allgemeine Referenz

Syntax

count& = TXT.COUNT(handle&)

Beschreibung

Liefert den vom TXT-Helfer gepflegten Zaehler fuer die geoeffnete Textquelle.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.DELETE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.DELETE

Loescht einen 1-basierten Textbereich.

Kategorie: Allgemeine Referenz

Syntax

result$ = TXT.DELETE(text$, start&, count&)

Beschreibung

Loescht einen 1-basierten Textbereich.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.FIND - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.FIND

Liefert eine 1-basierte Fundposition oder 0, wenn der Text nicht gefunden wird.

Kategorie: Allgemeine Referenz

Syntax

pos& = TXT.FIND(text$, find$)

Beschreibung

Liefert eine 1-basierte Fundposition oder 0, wenn der Text nicht gefunden wird.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.FONT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.FONT

Akzeptiert Schriftargumente und gibt im aktuellen String-Helfer-Subset den uebergebenen Text zurueck.

Kategorie: Allgemeine Referenz

Syntax

text$ = TXT.FONT(text$, face$, size&)

Beschreibung

Akzeptiert Schriftargumente und gibt im aktuellen String-Helfer-Subset den uebergebenen Text zurueck.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.INDEX - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.INDEX

Liefert eine 1-basierte Fundposition oder 0, wenn der Text nicht gefunden wird.

Kategorie: Allgemeine Referenz

Syntax

idx& = TXT.INDEX(text$, find$)

Beschreibung

Liefert eine 1-basierte Fundposition oder 0, wenn der Text nicht gefunden wird.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.INPUT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.INPUT

Liest Text aus einem TXT-Handle in eine eigene dynamische STRING-Variable.

Kategorie: Allgemeine Referenz

Syntax

TXT.INPUT handle&, target$

Beschreibung

Liest Text aus einem TXT-Handle in eine eigene dynamische STRING-Variable.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.INSERT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.INSERT

Fuegt Text an einer 1-basierten Position ein.

Kategorie: Allgemeine Referenz

Syntax

result$ = TXT.INSERT(text$, position&, insert$)

Beschreibung

Fuegt Text an einer 1-basierten Position ein.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.LINE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.LINE

Liefert eine CR/LF-getrennte Zeile aus einem String. Zeilennummern sind 1-basiert.

Kategorie: Allgemeine Referenz

Syntax

line$ = TXT.LINE(text$, line&)

Beschreibung

Liefert eine CR/LF-getrennte Zeile aus einem String. Zeilennummern sind 1-basiert.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.OPEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.OPEN

Oeffnet eine Textdatei ueber das TXT-Pseudoobjekt fuer INPUT, OUTPUT oder APPEND.

Kategorie: Allgemeine Referenz

Syntax

TXT.OPEN path$, mode$ TO handle&

Beschreibung

Oeffnet eine Textdatei ueber das TXT-Pseudoobjekt fuer INPUT, OUTPUT oder APPEND.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.PRINT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.PRINT

Schreibt eine Zeile oder einen Textabschnitt ueber ein offenes TXT-Handle.

Kategorie: Allgemeine Referenz

Syntax

TXT.PRINT handle&, text$

Beschreibung

Schreibt eine Zeile oder einen Textabschnitt ueber ein offenes TXT-Handle.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


TXT.REPLACE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.REPLACE

Fuehrt globale, nicht ueberlappende String-Ersetzung aus.

Kategorie: Allgemeine Referenz

Syntax

result$ = TXT.REPLACE(text$, old$, new$)

Beschreibung

Fuehrt globale, nicht ueberlappende String-Ersetzung aus.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.SELECT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.SELECT

Liefert einen 1-basierten Teilstring aus dem uebergebenen Text.

Kategorie: Allgemeine Referenz

Syntax

part$ = TXT.SELECT(text$, start&, count&)

Beschreibung

Liefert einen 1-basierten Teilstring aus dem uebergebenen Text.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TXT.SELTEXT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TXT.SELTEXT

Gibt im aktuellen String-Helfer-Subset den uebergebenen Text zurueck.

Kategorie: Allgemeine Referenz

Syntax

text$ = TXT.SELTEXT(text$)

Beschreibung

Gibt im aktuellen String-Helfer-Subset den uebergebenen Text zurueck.

Kind: Runtime method | Category: Memory / TXT / COM Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese Methode besitzt eine eigene Seite, weil sie durch die Validierungsmatrix abgedeckt ist und eine sichtbare Befehlsoberflaeche darstellt. Beispiele sollen klein bleiben und Rueckgabewerte pruefen, wenn die Laufzeit fehlschlagen kann. Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Verwendung im Programm

Die TXT-Helferfamilie arbeitet mit eigenen Text-Handles und normalen Strings. Verwenden Sie die dokumentierten 1-basierten Positionen und die exakte Oeffnen/Schliessen-Reihenfolge, damit Beispiele Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand beweisen koennen. Behandeln Sie das Handle als Zustandstraeger und die String-Argumente als Nutzdaten.

Fehlerfaelle

TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

Textfluss

Verwenden Sie die TXT-Familie mit eigenen Text-Handles und normalen Strings, mit den dokumentierten 1-basierten Positionen und der Oeffnen/Schliessen-Reihenfolge. Das Beispiel sollte Lebensdauer, Ruecklesen und Rueckgabewerte ohne Benutzerzustand zeigen.

Fehlerhinweise

Der Helfer kann fehlschlagen, wenn das TXT-Handle geschlossen ist, die Position ausserhalb des Bereichs liegt oder der Aufrufer die falsche Mutationssemantik erwartet. Die Seite sollte angeben, ob die Funktion den Eingabestring, das Handle oder beide aendert.

Grenzen

Diese Seite dokumentiert die aktuell getestete PBXB64-Teilmenge. Weitere Objektmethoden-Schreibweisen, GUI-Editor-Integrationsdetails oder Windows-Speicher-Sonderfaelle benoetigen eigene Tests, bevor sie als vollstaendig dokumentiert werden. TXT-Helferbeispiele sollen angeben, ob die Operation den uebergebenen String, das TXT-Handle oder beides aendert, ob Zeilenenden erhalten bleiben und was bei Leertext oder nicht gefundenen Positionen passiert. Wenn ein Helfer eine Position meldet, soll die Seite sagen, ob sie 1-basiert ist und ob 0 'nicht gefunden' bedeutet.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TYPE SET - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

TYPE SET

Weisen Sie den Wert von a zu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TYPE SET typevar = { typevar | ByteStringExpr$ } [USING ustring_expression ]

Beschreibung

Weisen Sie den Wert von a zu

Typ:Anweisung |Kategorie:Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

TYPE SET dient in erster Linie dazu, den Wert eines benutzerdefinierten Typs (UDT) einer anderen Klasse benutzerdefinierter Typen zuzuweisen. Darüber hinaus kann TYPE SET verwendet werden, um einem UDT einen Zeichenfolgenausdruck ( ByteStringExpr$ ) zuzuweisen, obwohl es im Allgemeinen nicht geeignet ist, eine breite Unicode-Zeichenfolge zuzuweisen.

Alle nach der Zuweisung verbleibenden Byte-Positionen werden in der Zieltypvariable mit dem ersten Zeichen des USING-String-Ausdrucks oder mit binären Nullen, falls nicht angegeben, aufgefüllt (aufgefüllt).

PBXB64 implementation: String-zu-UDT-Byte-Kopie, Null oder USING Auffüllen und UDT-zu-UDT-Byte-Kopieren sind im nativen Compilerpfad implementiert.

Test: test_type_set.pb.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • CSET$ ? PBXB64-Compiler-Hilfe
  • LET-Anweisung (mit Typen)
  • LSET$
  • RSET$
  • TYP/ENDTYP ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


UBOUND - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UBOUND

Geben Sie den gr&ouml;&szlig;tm&ouml;glichen Betrag zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = UBOUND( array [( dimension )])
y = UBOUND( array , dimension )

Beschreibung

Geben Sie den größtmöglichen Betrag zurück

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

array ist das interessierende Array. Dimension ist ein ganzzahliger Wert oder Ausdruck von 1 bis zur Anzahl der Dimensionen im Array; Es gibt an, welcher obere Grenzwert der Dimension zurückgegeben wird. Wenn Sie die Dimension weglassen, wird standardmäßig 1 (die erste Dimension) verwendet. Um die Untergrenze der Dimension eines Arrays zu ermitteln, verwenden Sie die Funktion LBOUND. Verwenden Sie LBOUND und UBOUND zusammen, um die Größe eines Arrays zu bestimmen. UBOUND eines nicht dimensionierten Arrays gibt -1 zurück, sodass UBOUND(array) - LBOUND(array) + 1 Null (0) für ein solches Array ergibt.

Einschränkungen

UBOUND kann nicht für Arrays innerhalb benutzerdefinierter Typen verwendet werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ARRAYATTR
  • DIM ? PBXB64-Compiler-Hilfe
  • LBOUND
  • REDIM ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


UCODE$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UCODE$

&Uuml;bersetzt

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

a$ = UCODE$( AnsiStrExpression [, CodePage& ])

Beschreibung

Übersetzt

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Version von PowerBASIC führt alle Konvertierungen zwischen ANSI-Strings und UNICODE-Strings automatisch durch. Zum Beispiel:

MyWideString$$ = MyAnsiString$

In diesem Fall werden die ANSI-Zeichen beim Speichern in MyWideString$ transparent in WIDE UNICODE-Zeichen konvertiert. Sie sollten hier keine UCODE$-Funktion einfügen. Die einfache Tatsache, dass die Variablen unterschiedlichen Typs sind (ANSI/WIDE), führt dazu, dass der Compiler alle Konvertierungen für Sie durchführt, wann immer sie benötigt werden.

Natürlich war diese automatische Konvertierung in früheren Versionen des Compilers nicht verfügbar. In der Vergangenheit wurden keine WIDE-UNICODE-Variablen angeboten, daher war es notwendig, breite Zeichen in Standard-Byte-Strings zu erzwingen, wenn UNICODE benötigt wurde. Die Funktionen ACODE$ und UCODE$ werden ausschließlich zu diesem Zweck verwendet: zur Unterstützung älterer Programme, die Zeichenfolgen auf diese Weise berechnet haben.

Neue PowerBASIC-Programme und Updates Ihrer älteren PowerBASIC-Programme sollten die neuen WIDE UNICODE-Variablen verwenden, die jetzt verfügbar sind.

UCODE$ geht davon aus, dass die AnsiStrExpression ANSI-Bytezeichen enthält, die in einer ANSI-Bytezeichenfolge gespeichert sind. Es wandelt sie in WIDE UNICODE-Zeichen um und gibt sie als ANSI-Byte-String zurück. Um eine UNICODE-Bytezeichenfolge in eine ANSI-Bytezeichenfolge umzuwandeln, verwenden Sie die Funktion ACODE$.

Wenn der optionale Parameter CodePage& vorhanden ist, stellt er die Codepage dar, die für den Konvertierungsprozess verwendet werden soll. Wenn nicht angegeben, wird die Standardcodepage für das Gebietsschema des ausführenden Computers verwendet.

Unicode-Zeichenfolgen erfordern zwei Bytes zur Darstellung eines Unicode-Zeichens, während ANSI-Zeichenfolgen (das native PowerBASIC-Zeichenfolgenformat) ein Byte zur Darstellung eines Zeichens verwenden. Daher gibt UCODE$ eine Zeichenfolge zurück, die doppelt so viele Bytes wie die ANSI-Zeichenfolge hat, aber die gleiche Anzahl an Zeichen darstellt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ACODE$
  • UCODEPAGE
  • Hilfe zum PBXB64-Compiler


UCODEPAGE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UCODEPAGE

Legen Sie die Standard-Codepage fest, die verwendet wird

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

UCODEPAGE ANSI|OEM| NumExpr [TO PrevPage& ]

Beschreibung

Legen Sie die Standard-Codepage fest, die verwendet wird

Typ:Anweisung |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PowerBASIC führt viele Konvertierungen zwischen ANSI- und UNICODE-Zeichenfolgen (Breitzeichen) durch. UCODEPAGE gibt die CodePage an, die für diese Übersetzungen verwendet werden soll. Der Standardwert ist UCODEPAGE ANSI, der die ANSI-Codepage des Systems für Ihren Computer verwendet. UCODEPAGE OEM verwendet die System-OEM-Codepage für Ihren Computer, während ein numerischer Ausdruck eine bestimmte Codepage Ihrer Wahl angeben kann.

Wenn die optionale TO-Klausel verwendet wird, wird die Nummer der vorherigen Standard-CodePage der durch PrevPage& angegebenen Long-Integer-Variablen zugewiesen. Indem Sie die vorherige Codepage speichern, können Sie sie bei Bedarf später wiederherstellen.

Diese Anweisung ändert nicht die von Ihrem Computer verwendete Codepage. Es gibt an, welche Codepage PowerBASIC für ANSI/UNICODE-Konvertierungen verwenden soll.

Standardmäßig wird die ANSI-Codepage des Systems verwendet, um die Zeichenübersetzung abzubilden. Dies funktioniert im Allgemeinen sehr gut, da es die übliche Codepage für Ihre Primärsprache darstellt. Wenn Sie jedoch eine CONSOLE-Anwendung kompilieren, die die höherwertigen ANSI-Codes CHR$ (128) bis CHR$(255) zum Zeichnen von Linien und einige internationale Zeichen verwendet, sollten Sie eine OEM-Codepage deklarieren, indem Sie UCODEPAGE OEM am Anfang Ihrer MAIN-Funktion platzieren.

Die CodePage-Spezifikation wird Thread für Thread gepflegt. Beim Programmstart ist die Standard-ANSI-CodePage des Systems. Wenn ein neuer Thread gestartet wird, erbt er die vom Hauptthread verwendete CodePage.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • ACODE$
  • UCODE$
  • Hilfe zum PBXB64-Compiler


UDP CLOSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UDP CLOSE

Schlie&szlig;en Sie eine zuvor ge&ouml;ffnete Datei

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

UDP CLOSE [#] fNum&

Beschreibung

Schließen Sie eine zuvor geöffnete Datei

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Schließen Sie den zuvor geöffneten UDP/IP-Port, der durch fNum& angegeben wurde.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • TCP- und UDP-Kommunikation
  • TCP CLOSE
  • UDP NOTIFY
  • UDP OPEN
  • UDP RECV
  • UDP SEND
  • Hilfe zum PBXB64-Compiler


UDP NOTIFY - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UDP NOTIFY

Bestimmen Sie welche

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

UDP NOTIFY [#] fNum& , {SEND | RECV | CLOSE} TO hWnd& AS wMsg&

Beschreibung

Bestimmen Sie welche

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Gibt an, welche Ereignisse (SEND, RECV und CLOSE) eine wMsg&-Benachrichtigungsnachricht generieren, die an die Fenster-/Dialogprozedur (CALLBACK) gesendet wird, die durch das Fensterhandle hWnd& identifiziert wird.

Ihr Programm definiert den wMsg&-Wert. Dieser Wert sollte gleich oder größer als %WM_USER + 500 sein, um Konflikte mit gängigen Windows-Rückrufnachrichtenwerten zu vermeiden.

Wenn die benannte Callback-Funktion die wMsg&-Benachrichtigung empfängt, identifiziert der wParam&-Parameter das Betriebssystem-Handle des Sockets (siehe FILEATTR ). Das niederwertige Wort von lParam& gibt den Code des Ereignisses an (siehe Tabelle unten), und das höherwertige Wort von lParam& enthält den Fehlercode (falls vorhanden).

LO(WORD, lParam& )

Definition

%FD_READ

Daten stehen zum Lesen aus dem Socket zur Verfügung.

%FD_WRITE

Der Socket ist zum Schreiben von Daten bereit.

%FD_CLOSE

Der Socket wurde geschlossen.

Benachrichtigungsnachrichten kommen nicht in unverminderten oder kontinuierlichen Strömen an. Das heißt, sobald eine bestimmte Benachrichtigungsnachricht eintrifft, wird sie nicht erneut gesendet, bis auf die ursprüngliche Nachricht reagiert wird. Wenn beispielsweise eine %FD_READ-Benachrichtigung für einen bestimmten Socket empfangen wird, wird sie erst erneut gesendet, nachdem eine UDP-RECV-Anweisung ausgeführt wurde.

Die Winsock-Fehlercodes werden in WINSOCK2.INC mit dem Präfix %WSAE aufgeführt.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • FILEATTR
  • TCP- und UDP-Kommunikation
  • TCP NOTIFY
  • UDP CLOSE
  • UDP OPEN
  • UDP RECV
  • UDP SEND
  • Hilfe zum PBXB64-Compiler


UDP OPEN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UDP OPEN

Erstellen Sie einen Socket f&uuml;r eine Anwendung, um mit a zu kommunizieren

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

UDP OPEN [PORT p& ] AS [#] fNum& [TIMEOUT timeoutval& ]

Beschreibung

Erstellen Sie einen Socket für eine Anwendung, um mit a zu kommunizieren

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Öffnen Sie einen UDP-Socket (Port oder Dienst) für die UDP-Kommunikation. FNum& ist eine Dateinummer wie z. B. #1 oder eine Variable mit einem Wert, der mit der Funktion FREEFILE erhalten wurde.

Wenn PORT p& angegeben ist, wird der Socket als Server geöffnet, der UDP-Daten empfangen kann. Verwenden Sie die UDP NOTIFY-Anweisung, um Serverbenachrichtigungen vom Socket zu empfangen, damit die Daten abgerufen werden können. Zu den gängigen Portnummern gehören 7 (Echo, siehe RFC 862); 37 (Zeit, siehe RFC868); und 123 (NTP – RFC1305).

AUSZEIT

Mit der Option TIMEOUT können Sie angeben, wie lange (in Millisekunden (mSek)) ein UDP-SEND/RECV-Vorgang auf den Abschluss warten soll. Wenn die angegebene Anzahl von Millisekunden verstreicht, schlägt der UDP-Vorgang fehl und die Systemvariable ERR wird so eingestellt, dass sie einen Laufzeitfehler 24 („Geräte-Timeout“) anzeigt. Das Standard-Timeout beträgt 60.000 Millisekunden (60 Sekunden).

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • TCP- und UDP-Kommunikation
  • FREEFILE
  • TCP OPEN
  • UDP CLOSE
  • UDP NOTIFY
  • UDP RECV
  • UDP SEND
  • Hilfe zum PBXB64-Compiler


UDP RECV - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UDP RECV

Empfangen Sie Daten von einem zuvor ge&ouml;ffneten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

UDP RECV [#] fNum& , FROM ip& , pNum& , Buffer$

Beschreibung

Empfangen Sie Daten von einem zuvor geöffneten

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Empfangen Sie alle Bytes vom zuvor geöffneten UDP-Port, der durch fNum& angegeben wurde, und platzieren Sie sie in Buffer$ . Die IP-Adresse, die das UDP-Paket gesendet hat, wird in die Variable ip& eingefügt, und die Portnummer wird in die Variable pNum& eingefügt.

ip& und pNum& können anschließend verwendet werden, um als Reaktion auf empfangene Daten Daten zurückzusenden.

UDP RECV ist eine blockierende Anweisung. Das heißt, die Ausführung wird erst fortgesetzt, wenn entweder Daten aus dem Socket abgerufen werden oder die Zeitüberschreitungsperiode abgelaufen ist.

Tritt ein Timeout auf, wird ein Laufzeitfehler 24 („Device Timeout“) generiert und in der Systemvariablen ERR abgelegt. Informationen zum Festlegen des UDP-Socket-Timeout-Werts finden Sie unter UDP OPEN.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • TCP- und UDP-Kommunikation
  • TCP RECV
  • UDP CLOSE
  • UDP NOTIFY
  • UDP OPEN
  • UDP SEND
  • Hilfe zum PBXB64-Compiler


UDP SEND - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UDP SEND

Senden Sie eine Zeichenfolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

UDP SEND [#] fNum& , AT ip& , pNum& , string_expression

Beschreibung

Senden Sie eine Zeichenfolge

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Schreiben Sie den angegebenen string_expression an den UDP/IP-Port pNum& an der in ip& angegebenen IP-Adresse und verwenden Sie dabei die durch fNum& angegebene UDP-Verbindung.

Kommunikationsprüfung

Serielle, TCP- und UDP-Seiten sollen Endpoint-Aufbau, Blocking-Verhalten, Timeout-Verhalten, Pufferbesitz und Cleanup nennen. Ein vollständiges Beispiel deckt Open/Create, Senden oder Empfangen, Close und einen vorhersagbaren Fehler wie einen ungültigen Endpoint ab.

Laufzeitvoraussetzungen

Netzwerkbeispiele können Firewall-Berechtigungen und freie Ports benötigen. Serielle Beispiele erfordern ein vorhandenes COM-Gerät oder einen dokumentierten Loopback/Testadapter.

Diagnosen

Erfassen Sie Rückgabewerte und Windows-Fehlercodes, wo verfügbar, damit Kommunikationsfehler auswertbar statt still sind.

Umfangshinweise

Wenn die Seite eine Familie statt eines einzelnen Befehls beschreibt, nennen Sie das konkrete Senden, Empfangen, Prüfen, Verbinden oder Schließen, das das Verhalten belegt, und sagen Sie, ob derselbe Socket oder Handle nach dem Aufruf weiterverwendet werden darf. Dadurch wird die Seite zu einem nutzbaren Laufzeitvertrag statt zu einem allgemeinen Protokollhinweis.

Siehe auch

  • TCP- und UDP-Kommunikation
  • TCP SEND
  • UDP CLOSE
  • UDP NOTIFY
  • UDP OPEN
  • UDP RECV
  • Hilfe zum PBXB64-Compiler


UDT-Beispiele - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UDT-Beispiele

Vollst&auml;ndige, kopier- und einf&uuml;gbare Beispiele f&uuml;r TYPE/END TYPE, Mitgliedszugriff, Arrays von UDTs, verschachtelte UDTs, Bitfelder und UNION.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Vollständige, kopier- und einfügbare Beispiele für TYPE/END TYPE, Mitgliedszugriff, Arrays von UDTs, verschachtelte UDTs, Bitfelder und UNION.

Typ: Beispiele | Kategorie: Grundlegende Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Beispiel

#COMPILE EXE
#DIM ALL

TYPE StudentRec
  ID        AS LONG
  Name      AS STRING * 32
  Score     AS SINGLE
END TYPE

FUNCTION PBMAIN() AS LONG
  LOCAL s AS StudentRec
  s.ID    = 42
  s.Name  = "Alice Smith"
  s.Score = 95.5

  PRINT s.ID; ", "; s.Name; ", "; s.Score

  FUNCTION = 0
END FUNCTION

Siehe auch

  • TYP/ENDTYP ? PBXB64-Compiler-Hilfe
  • Benutzerdefinierte Typen (UDTs)
  • UNION/END UNION
  • DIM ? PBXB64-Compiler-Hilfe
  • LEN ? PBXB64-Compiler-Hilfe
  • SIZEOF
  • Hilfe zum PBXB64-Compiler


Uebersicht - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Uebersicht

PBXB64 ist ein nativer Windows-x64-Multi-Frontend-Compiler in C. Die registrierten Sprach-Frontends verwenden gemeinsam Compiler-IR, Optimierer, x64-Backend, Objektschreiber und Linker.

Kategorie: Allgemeine Referenz

Beschreibung

PBXB64 ist ein nativer Windows-x64-Multi-Frontend-Compiler in C. Die registrierten Sprach-Frontends verwenden gemeinsam Compiler-IR, Optimierer, x64-Backend, Objektschreiber und Linker.

Sprach-Frontends

Frontend | V15-Qualifikationsgrenze
PowerBASIC-kompatibles BASIC | Fuer die registrierte Testoberflaeche qualifiziert; keine Behauptung vollstaendiger PB11-Paritaet.
B64 | Kompatibilitaetsqualifiziert und auf die dokumentierte Oberflaeche eingefroren.
C | Partielles C17-orientiertes Frontend mit bekannten Float-Integrationsluecken.
x64-Assembler | Qualifizierte eigenstaendige und eingebettete Assembler-Oberflaeche.
PILOT | Kompatibilitaetsqualifizierter PBXB64-Dialekt einschliesslich A, U, S, Arithmetik und V-Bruecken.
FORTH | Partielles Frontend mit 174 im Quellcode registrierten Primitiven und parsergesteuerten Kontroll-/Definitionswoertern.
COBOL | Begrenzter nativer Teilumfang; keine vollstaendige COBOL-Implementierung.
Rust | Fuer den dokumentierten V14-kompatiblen Teilumfang qualifiziert.
Logo | Vollstaendiger V14-Objektvertrag; Laufzeit separat unqualifiziert.
SPR | Alle dokumentierten Routen vorhanden; Laufzeit- und Brueckenqualifikation bleiben begrenzt.

V15-Dokumentationsvertrag

Die englischen und deutschen Quellbaeume enthalten dieselben 2.775 Themendateinamen. Jede kompilierte CHM enthaelt beide vollstaendigen Baeume, wobei diese Sprache die Standardsprache ist. Frontend-Statusangaben werden aus Live-Quellcode, kanonischen Tests und aktuellem Komponentenstatus abgeleitet. Hilfetext allein beweist niemals eine Implementierung.

Wichtige V15-Erweiterungen

  • BASIC-DLL-/Export- und Import-Library-Ausgabe, StringX, REGEXPR/REGREPL, TIMEBASE, ROTATE, GUI-/Druckerteile, SAY, COM/OOP und IDISPINFO.
  • PILOT-Eingabe, verschachtelte Aufrufe, Signalton, Arithmetik und bidirektionale numerische/String-PB-GLOBAL-Bruecken.
  • FORTH-Datei-E/A, Speicherverwaltung, Gleitkomma, CATCH/THROW, EXECUTE, PB-F32/F64-Interop und externe Brueckenfamilien.
  • Quellcodeaktuelle Uebersichten fuer COBOL, Rust, Logo, SPR, B64, C und ASM.


UNB - Unlimited-Binary-Complex-Speicher verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNB - Unlimited-Binary-Complex-Speicher verwenden

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

LOCAL b AS UNB

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Stringgestuetztes Unlimited-Binary-/Complex-Familienmitglied der PBXB64-UN-Runtime.

Praktische Verwendung

Verwenden Sie diese Schreibweise in Deklarationen oder Typpositionen, in denen die entsprechende Unlimited-/String-Kompatibilitaet erwartet wird. Die semantischen Details sollten mit einem eigenen Laufzeitnachweis belegt werden.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwechseln Sie diese Typkeywords nicht mit freien Bezeichnern oder Laufzeitwerten. Wenn der Zielkontext die Type-Position nicht erwartet, muss die Quelle entsprechend angepasst werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UNBASE64$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNBASE64$

Dekodiert Base64-Text zur urspruenglichen Byte-Zeichenkette.

Kategorie: Allgemeine Referenz

Syntax

plain$ = UNBASE64$(encoded$)

Beschreibung

Dekodiert Base64-Text zur urspruenglichen Byte-Zeichenkette.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen deterministischen String-Helfer. Kodierungsfunktionen liefern transformierten Text zurueck, waehrend Hash-Funktionen feste, kleingeschriebene Hex-Digests liefern.

Grenzen

Dokumentieren Sie hier nur die getesteten Byte- oder String-Transformationen. Wenn es einen Rueckwaerts-Helfer gibt, pruefen Sie ihn separat, statt Symmetrie aus der Vorwaertsform abzuleiten.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

UNBASE64$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

UNBASE64$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


UNC - Unlimited-Complex-Speicher verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNC - Unlimited-Complex-Speicher verwenden

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

LOCAL c AS UNC

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Stringgestuetzter Unlimited-Complex-Datentyp mit VALUNC- und UNC$-Konvertierungen.

Praktische Verwendung

Verwenden Sie diese Schreibweise in Deklarationen oder Typpositionen, in denen die entsprechende Unlimited-/String-Kompatibilitaet erwartet wird. Die semantischen Details sollten mit einem eigenen Laufzeitnachweis belegt werden.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwechseln Sie diese Typkeywords nicht mit freien Bezeichnern oder Laufzeitwerten. Wenn der Zielkontext die Type-Position nicht erwartet, muss die Quelle entsprechend angepasst werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UNESCAPE$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNESCAPE$

Hebt die Web-Textmaskierung von ESCAPE$ auf.

Kategorie: Allgemeine Referenz

Syntax

text$ = UNESCAPE$(escaped$)

Beschreibung

Hebt die Web-Textmaskierung von ESCAPE$ auf.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen deterministischen String-Helfer. Kodierungsfunktionen liefern transformierten Text zurueck, waehrend Hash-Funktionen feste, kleingeschriebene Hex-Digests liefern.

Grenzen

Dokumentieren Sie hier nur die getesteten Byte- oder String-Transformationen. Wenn es einen Rueckwaerts-Helfer gibt, pruefen Sie ihn separat, statt Symmetrie aus der Vorwaertsform abzuleiten.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

UNESCAPE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

UNESCAPE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


UNF - Unlimited-Float-Speicher verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNF - Unlimited-Float-Speicher verwenden

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

LOCAL f AS UNF

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Stringgestuetztes Mitglied der Unlimited-Floating-/Decimal-Familie.

Praktische Verwendung

Verwenden Sie diese Schreibweise in Deklarationen oder Typpositionen, in denen die entsprechende Unlimited-/String-Kompatibilitaet erwartet wird. Die semantischen Details sollten mit einem eigenen Laufzeitnachweis belegt werden.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwechseln Sie diese Typkeywords nicht mit freien Bezeichnern oder Laufzeitwerten. Wenn der Zielkontext die Type-Position nicht erwartet, muss die Quelle entsprechend angepasst werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UNFABS$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFABS$

Kategorie: exakte Dezimal-UNF-Operationen | Status: V23 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFABS$( value )

Beschreibung

Kategorie: exakte Dezimal-UNF-Operationen | Status: V23 verifiziert

Semantik

Liefert den Absolutwert als kanonische Dezimalzeichenkette. Die vorhandenen Dezimalstellen bleiben erhalten; eine Umwandlung in Gleitkomma findet nicht statt.

Operanden

Normale Numerik, INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden akzeptiert. Null wird ohne Vorzeichen ausgegeben.


UNFACOS$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFACOS$

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFACOS$( wert )

Beschreibung

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Semantik

Liefert den Hauptwert des Arkuskosinus als Pi/2 minus dem exakten UNF-Arkussinus. Die Ausgabe folgt UNFPRECISION.

Operanden und Grenzen

Skalare Numerik sowie feste Wide-Werte, UNL, UNF und UNB werden akzeptiert. Der reelle Bereich ist -1 bis 1; Werte ausserhalb liefern NaN. Komplexe Aggregate werden abgewiesen.

Nachweis

Siehe tests/pb/test_scientific_exact_v25.pb und tests/c/test_scientific_exact_v25.c.


UNFASIN$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFASIN$

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFASIN$( wert )

Beschreibung

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Semantik

Liefert den Hauptwert des Arkussinus als kanonische Dezimalzeichenkette. Eine exakte UNF-Wurzel und Arkustangens-Reduktion werden mit Schutzstellen berechnet.

Operanden und Grenzen

Skalare Numerik sowie feste Wide-Werte, UNL, UNF und UNB werden akzeptiert. Der reelle Bereich ist -1 bis 1; Werte ausserhalb liefern NaN. Komplexe Aggregate werden abgewiesen.

Nachweis

Siehe tests/pb/test_scientific_exact_v25.pb und tests/c/test_scientific_exact_v25.c.


UNFATAN$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFATAN$

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFATAN$( wert )

Beschreibung

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Semantik

Liefert den Hauptwert des Arkustangens als kanonische Dezimalzeichenkette. Kehrwert- und Halbwinkelreduktionen halten die Reihe in einem kleinen Konvergenzbereich.

Operanden und Grenzen

Skalare Numerik sowie feste Wide-Werte, UNL, UNF und UNB werden akzeptiert. Komplexe Aggregate werden abgewiesen; Speicher- oder Praezisionsfehler liefern NaN.

Nachweis

Siehe tests/pb/test_scientific_exact_v25.pb und tests/c/test_scientific_exact_v25.c.


UNFCOS$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFCOS$

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFCOS$( wert )

Beschreibung

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Semantik

Liefert den Kosinus als kanonische Dezimalzeichenkette. Periodenreduktion und UNF-Potenzreihe werden vor dem Kuerzen auf UNFPRECISION ausgefuehrt.

Operanden und Grenzen

Skalare Numerik sowie feste Wide-Werte, UNL, UNF und UNB werden akzeptiert. Komplexe Aggregate werden abgewiesen; Ressourcen- oder Praezisionsfehler liefern NaN.

Nachweis

Siehe tests/pb/test_scientific_exact_v25.pb und tests/c/test_scientific_exact_v25.c.


UNFEXP$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFEXP$

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFEXP$( wert )

Beschreibung

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Semantik

Liefert exp(wert) als kanonische Dezimalzeichenkette. Die Berechnung bleibt in der exakten UNF-Dezimalengine und wird auf UNFPRECISION gekuerzt.

Operanden und Grenzen

Skalare Numerik, feste INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL, UNF und UNB werden akzeptiert. Sehr grosse Werte koennen Praezisions- oder Speichergrenzen erreichen und NaN liefern.

Nachweis

Siehe tests/pb/test_scientific_exact_v25.pb und tests/c/test_scientific_exact_v25.c.


UNFIPOW$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFIPOW$

Kategorie: exakte Dezimal-UNF-Operationen | Status: V23 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFIPOW$( base, exponent )

Beschreibung

Kategorie: exakte Dezimal-UNF-Operationen | Status: V23 verifiziert

Semantik

Potenzieren mit einem ganzzahligen Exponenten und exakter Dezimalmultiplikation. Negative Exponenten verwenden die durch UNFPRECISION festgelegte Dezimaldivision. Das Ergebnis ist eine kanonische Dezimalzeichenkette.

Operanden und Grenzen

Normale Numerik, INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden akzeptiert. Der Exponent muss zwischen -1000000 und 1000000 liegen. Andere Werte liefern NaN und setzen einen Praezisionsbereichsfehler.


UNFLOG$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFLOG$

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFLOG$( wert )

Beschreibung

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Semantik

Liefert den natuerlichen Logarithmus als kanonische Dezimalzeichenkette. Potenzen von zwei und eine atanh-Reihe werden in der exakten UNF-Engine reduziert, bevor auf UNFPRECISION gekuerzt wird.

Operanden und Grenzen

Skalare Numerik sowie feste Wide-Werte, UNL, UNF und UNB werden akzeptiert. Der reelle Bereich ist wert > 0; null und negative Werte liefern NaN.

Nachweis

Siehe tests/pb/test_scientific_exact_v25.pb und tests/c/test_scientific_exact_v25.c.


UNFNEG$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFNEG$

Kategorie: exakte Dezimal-UNF-Operationen | Status: V23 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFNEG$( value )

Beschreibung

Kategorie: exakte Dezimal-UNF-Operationen | Status: V23 verifiziert

Semantik

Liefert die additive Negation als kanonische Dezimalzeichenkette. Das Vorzeichen von Null wird unterdrueckt. Dezimalstellen werden durch die exakte UNF-Zeichenkettendarstellung verarbeitet.

Operanden

Normale Numerik, INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden akzeptiert. Das Ergebnis ist eine Zeichenkette und kann in weiteren exakten UNF-Operationen verwendet werden.


UNFPI$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFPI$

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFPI$()

Beschreibung

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Semantik

Liefert Pi als kanonische Dezimalzeichenkette. UNFPRECISION steuert die Nachkommastellen; interne Schutzstellen werden vor dem Kuerzen berechnet.

Grenzen

Der Befehl hat kein Argument. Das Ergebnis ist durch die eingestellte UNF-Praezision sowie Speicher- und Laufzeitgrenzen begrenzt.

Nachweis

Siehe tests/pb/test_scientific_exact_v25.pb und tests/c/test_scientific_exact_v25.c.


UNFSIN$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFSIN$

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFSIN$( wert )

Beschreibung

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Semantik

Liefert den Sinus als kanonische Dezimalzeichenkette. Das Argument wird mit einer berechneten 2-Pi-Periode reduziert und durch eine UNF-Potenzreihe ausgewertet.

Operanden und Grenzen

Skalare Numerik sowie feste Wide-Werte, UNL, UNF und UNB werden akzeptiert. UNC, UNI und UNQ werden als komplexe Aggregate abgewiesen; Speicher- oder Praezisionsfehler liefern NaN.

Nachweis

Siehe tests/pb/test_scientific_exact_v25.pb und tests/c/test_scientific_exact_v25.c.


UNFSQRT$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFSQRT$

Kategorie: exakte Dezimal-UNF-Operationen | Status: V23 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFSQRT$( value )

Beschreibung

Kategorie: exakte Dezimal-UNF-Operationen | Status: V23 verifiziert

Semantik

Liefert die nichtnegative Quadratwurzel als kanonische Dezimalzeichenkette. Die Rechnung nutzt die exakte UNF-Zeichenkettenengine und gibt bis zu UNFPRECISION Nachkommastellen aus. Nachgestellte Nullen werden entfernt.

Operanden und Grenzen

Normale Numerik, INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden akzeptiert. Ein negativer Wert ungleich Null liefert NaN und setzt den UN-Zeichenkettenfehler.


UNFTAN$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFTAN$

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFTAN$( wert )

Beschreibung

Kategorie: exakte Dezimalfunktionen | Status: V25 verifiziert

Semantik

Liefert den Tangens als Sinus durch Kosinus in kanonischer Dezimaldarstellung. Beide Teilberechnungen nutzen die exakte UNF-Engine und UNFPRECISION.

Operanden und Grenzen

Skalare Numerik sowie feste Wide-Werte, UNL, UNF und UNB werden akzeptiert. Null-Kosinus, komplexe Aggregate oder Ressourcenfehler liefern NaN.

Nachweis

Siehe tests/pb/test_scientific_exact_v25.pb und tests/c/test_scientific_exact_v25.c.


UNFTRUNC$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNFTRUNC$

Kategorie: exakte Dezimal-UNF-Operationen | Status: V23 verifiziert

Kategorie: Allgemeine Referenz

Syntax

text = UNFTRUNC$( value )

Beschreibung

Kategorie: exakte Dezimal-UNF-Operationen | Status: V23 verifiziert

Semantik

Entfernt den Nachkommaanteil in Richtung Null und liefert das ganzzahlige Ergebnis als kanonische Dezimalzeichenkette. Es wird nicht von Null weg gerundet und kein Gleitkomma verwendet.

Operanden

Normale Numerik, INT128/UINT128, INT256/UINT256, INT512/UINT512, UNL und UNF werden akzeptiert. Bei einem negativen Ergebnis ungleich Null bleibt das Vorzeichen erhalten; vorzeichenbehaftete Null wird als 0 ausgegeben.


UNHEX$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNHEX$

Decode a hexadecimal string.

Kategorie: Allgemeine Referenz

Syntax

result$ = UNHEX$(hex$)

Beschreibung

Decode a hexadecimal string.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_unhex.html, damit Benutzer UNHEX$ direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Decode a hexadecimal string.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

UNHEX$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

UNHEX$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer encoding-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


UNI - Unlimited-Interval-Speicher verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNI - Unlimited-Interval-Speicher verwenden

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

LOCAL i AS UNI

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Stringgestuetzter Unlimited-Interval-Datentyp mit VALUNI- und UNI$-Konvertierungen.

Praktische Verwendung

Verwenden Sie diese Schreibweise in Deklarationen oder Typpositionen, in denen die entsprechende Unlimited-/String-Kompatibilitaet erwartet wird. Die semantischen Details sollten mit einem eigenen Laufzeitnachweis belegt werden.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwechseln Sie diese Typkeywords nicht mit freien Bezeichnern oder Laufzeitwerten. Wenn der Zielkontext die Type-Position nicht erwartet, muss die Quelle entsprechend angepasst werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UNION/END UNION - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNION/END UNION

Erstellen Sie ein neues

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

UNION UnionName
MemberName [( subscripts )] AS TypeName
[ MemberName [( subscripts )] AS TypeName ]
[...]
END UNION

Beschreibung

Erstellen Sie ein neues

Typ:Struktur |Kategorie:Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine Union ist ein Typ – einem benutzerdefinierten Typ sehr ähnlich – mit der Ausnahme, dass sich seine Elemente im Speicher überlappen. Auch wenn dies auf den ersten Blick seltsam erscheinen mag, birgt es ein enormes Potenzial.

Angenommen, Sie entwerfen ein Buchhaltungsprogramm. Sie möchten es universell nutzen, damit es eine breite Anziehungskraft hat. Aber jeder macht seine Buchhaltung anders; Beispielsweise verwenden einige Benutzer Kontonummern, bei denen es sich lediglich um ganzzahlige Werte handelt, während andere möglicherweise alphanumerische Kontonamen verwenden. Die Verwendung einer Union macht dies einfach. Eine weitere häufige Verwendung einer Union ist die Konvertierung von Variablentypen. Das lässt sich am besten anhand eines Beispiels beschreiben:

UNION VarConvert

iLong SO LANG

iDword ALS DWORD

sStr AS STRING * 4

END UNION

DIM x AS VarConvert, y AS DWORD, z AS STRING

x.iLong = 123456&

y = x.iDword

z = x.sStr

Wie ein benutzerdefinierter Typ kann auch eine Union Arrays enthalten, und diese folgen den gleichen Regeln wie Mitgliedsarrays benutzerdefinierter Typen (Syntaxregeln und zusätzliche Beispiele finden Sie unter Typmitglieder). Das folgende Beispiel demonstriert die Verwendung eines Union-Member-Arrays:

UNION Arrs

a1(1 BIS 1024) ALS BYTE

st AS ASCIIZ * 10

END UNION

FUNCTION PBMAIN

DIM a AS Arrs

a.a1(1) = 72

a.a1(2) = 101

a.a1(3) = 108

a.a1(4) = 108

a.a1(5) = 111

a.a1(6) = 33

' Zu diesem Zeitpunkt enthält a.st „Hallo!“

ENDFUNKTION

Bitvariablen

UNION-Strukturen können Bitvariablen enthalten, die BIT (Werte ohne Vorzeichen) oder SBIT (Werte mit Vorzeichen) heißen. Jede Bitvariable kann 1 bis 31 Bits belegen und sie können nacheinander bis zu insgesamt 32 Bits pro Bitfeld gepackt werden. Die Größe einer Bitvariablen ist wie folgt definiert:

var AS BIT * nlit [IN BYTE|WORD|DWORD]

Dabei definiert der Begriff „* nlit“ die Anzahl der Bits (1 bis 31) und der optionale Begriff „IN BYTE|WORD|DWORD“, falls vorhanden, definiert den Beginn eines neuen Bitfelds von 1, 2 oder 4 Bytes. Zum Beispiel:

UNION ABCDE

Odd1 AS BIT * 1 IN DWORD

Wert1 SO LANG

END UNION

Die obige Beispiel-UNION-Struktur ist 4 Byte groß und enthält ein 1-Byte-Bitfeld und ein 4-Byte-LONG.

UNION abcde

Teil1 ALS BIT * 8 IN DWORD

Teil2 AS BIT * 16

END UNION

Die obige Beispielvereinigung ist 4 Byte groß und enthält ein 8-Bit-Feld und ein überlappendes 16-Bit-Feld.

Strukturen innerhalb von Strukturen

Strukturen (TYPE/UNION) können zur Vereinfachung der Referenzierung tief verschachtelter Elemente in eine andere Struktur eingebettet werden, indem einfach nur der Strukturname an der entsprechenden Position angegeben wird. Die interne Ausrichtung der Mitgliederstruktur wird unabhängig von anderen Ausrichtungsspezifikationen präzise beibehalten, um Vererbungsproblemen vorzubeugen. Zum Beispiel:

TYP ABCD3

A SO LANG

C SO LANG

END-TYP

TYP ABCD2

D ALS DWORD

E AS DOPPELT

END-TYP

UNION ABCD1

F ALS DWORD

G SO LANG

H ALS EINZELN

END UNION

In diesem Fall könnten Sie sehr einfach auf das einzelne Float-Element mit einfacher Genauigkeit dieser Struktur zugreifen. Unter der Annahme, dass DIM

Einschränkungen

Eine Union kann Elemente unterschiedlicher Größe enthalten. Die Größe einer Union-Struktur wird immer durch das längste Mitgliedselement bestimmt. Dies ist normalerweise ein wichtiger Gesichtspunkt, wenn eine Union innerhalb einer anderen Union- oder UDT-Struktur verwendet wird, um die Größe der endgültigen Struktur zu bestimmen.

Weitere Informationen finden Sie in den Abschnitten TYPE/END TYPE, Benutzerdefinierte Typen und Unions.

Feldleisten können nicht in UDT- oder UNION-Strukturen verwendet werden. Der Versuch, dies zu tun, führt zur Kompilierungszeit zu einem Fehler 485 („Dynamik/Feldzeichenfolgen nicht zulässig“).

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • LEN ? PBXB64-Compiler-Hilfe
  • LET-Anweisung (mit Typen)
  • SIZEOF
  • TYP/ENDTYP ? PBXB64-Compiler-Hilfe
  • Benutzerdefinierte Typen (UDTs)
  • Gewerkschaften
  • Hilfe zum PBXB64-Compiler


UNL - Unlimited-Integer-Speicher verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNL - Unlimited-Integer-Speicher verwenden

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

LOCAL n AS UNL

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

PB/BASIC-Datentyp fuer vorzeichenbehaftete Ganzzahlen mit unbegrenzter Genauigkeit. Verwenden Sie VALUNL(text$) zum Einlesen sehr grosser Dezimal-Ganzzahlen, UNL$(value) zur Ausgabe und normale Arithmetikoperatoren fuer exakte Ganzzahlarithmetik. UNL hat keine einstellbare Dezimalgenauigkeit; verwenden Sie UNF oder UNB mit UNFPRECISION(n), wenn Dezimaldivision mit einstellbarer Genauigkeit benoetigt wird.

Praktische Verwendung

Verwenden Sie diese Schreibweise in Deklarationen oder Typpositionen, in denen die entsprechende Unlimited-/String-Kompatibilitaet erwartet wird. Die semantischen Details sollten mit einem eigenen Laufzeitnachweis belegt werden.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwechseln Sie diese Typkeywords nicht mit freien Bezeichnern oder Laufzeitwerten. Wenn der Zielkontext die Type-Position nicht erwartet, muss die Quelle entsprechend angepasst werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UNLOCK - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNLOCK

Sperre eines Teils oder der ganzen Datei aufheben

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

UNLOCK [#] filenum& [, { record&& | start&& TO finish && }]

Beschreibung

Sperre eines Teils oder der ganzen Datei aufheben

Typ: Anweisung | Kategorie: Datei-E/A

PBXB64-Status: VERFÜGBAR

PBXB64-Zertifizierung: [IMPLEMENTIERT: Win32-Bytebereichssperren]

Beschreibung

UNLOCK hebt die durch LOCK gesetzte Sperre für einen Datensatz, einen Datensatzbereich, ein Byte oder einen Bytebereich in der als Dateinummer Dateinummer& geöffneten Datei auf.

Im Direktzugriffsmodus geben Datensatz&&, Start&& und Ende&& Datensatznummern an. Im Binärmodus geben sie Bytepositionen an.

Wird ein Datensatz angegeben, wird nur dieser entsperrt. Andernfalls wird der Bereich von Start&& bis Ende&& entsperrt. Werden keine Datensätze angegeben oder wurde die Datei sequenziell geöffnet, wird die gesamte Datei entsperrt.

Alle zu entsperrenden Bereiche müssen zuvor mit LOCK gesperrt worden sein. Mehrere Sperren sind möglich und können in beliebiger Reihenfolge aufgehoben werden; die Parameter jedes UNLOCK müssen jedoch genau denen des zugehörigen LOCK entsprechen.

Alle gesperrten Bereiche müssen vor dem Schließen der Datei entsperrt werden.

Praktische Verwendung

Verwenden Sie UNLOCK, sobald der geschützte Dateibereich keinen exklusiven Zugriff mehr braucht. Spiegeln Sie die vorherigen LOCK-Argumente exakt und halten Sie den gesperrten Bereich moeglichst klein, damit andere Programme wieder zugreifen können.

Parameter und Ergebnisse

Die Dateinummer und der optionale Datensatz- oder Bytebereich müssen zum vorherigen LOCK passen. Die Anweisung hebt die Sperre auf und liefert keinen Rueckgabewert. Ohne Bereich wird die ganze Datei entsperrt.

Einschränkungen

  • Dateinummern müssen als Literale #1..#16 angegeben werden.
  • Fehlercodes in der ERR-Variablen werden derzeit nicht gesetzt.

Test- und Dokumentationshinweise

Die registrierte Regression test_lock_unlock belegt das passende Entsperren fuer literale und variable Bytebereiche, die start,laenge-Form und das Sperren/Entsperren der ganzen Datei über die Win32-Laufzeithilfen. Das Beispiel zeigt ausserdem, dass der Dateiinhalt nach dem Sperrzyklus unveraendert bleibt.

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    LOCAL s AS STRING
    LOCAL startByte AS QUAD
    LOCAL endByte AS QUAD

    OPEN "lock_test.txt" FOR OUTPUT AS #1
    PRINT #1, "0123456789ABCDEF";
    CLOSE #1

    OPEN "lock_test.txt" FOR BINARY ACCESS READ WRITE LOCK SHARED AS #1
    LOCK #1, 2 TO 3
    UNLOCK #1, 2 TO 3
    startByte = 4
    endByte = 5
    LOCK #1, startByte TO endByte
    UNLOCK #1, startByte TO endByte
    LOCK #1, 6, 2
    UNLOCK #1, 6, 2
    LOCK #1
    UNLOCK #1
    CLOSE #1

    OPEN "lock_test.txt" FOR INPUT AS #1
    LINE INPUT #1, s
    CLOSE #1
    KILL "lock_test.txt"

    IF s <> "0123456789ABCDEF" THEN FUNCTION = 1
END FUNCTION

Kompatibilitätshinweise

Spiegeln Sie die urspruenglichen LOCK-Argumente exakt. Die aktuelle PBXB64-Oberflaeche behandelt den Entsperraufruf als Spiegelung des gesperrten Bereichs, und das Beispiel beweist Bytebereich, start,laenge-Form und das Entsperren der ganzen Datei gegen dieselbe Testdatei.

Fehlerfaelle

Wenn die Datei nicht mit demselben Bereich gesperrt war, sollte der Aufrufer annehmen, dass der Entsperrversuch nicht wie beabsichtigt gewirkt hat, und den Dateistatus erneut pruefen, statt von einer erfolgreichen Rueckgewinnung auszugehen. Die Seite behauptet keinen ERR-Aktualisierungspfad fuer diese Oberflaeche.

Validierungsbeleg

Validation evidence: examples/basic/test_lock_unlock.pb oeffnet eine temporaere Datei, sperrt und entsperrt literale und variable Bytebereiche, verwendet die start,laenge-Form, entsperrt die ganze Datei und prueft, dass der Inhalt unveraendert bleibt.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • LOCK
  • OPEN
  • Hilfe zum PBXB64-Compiler


UNMACRO - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNMACRO

Deaktiviert ein vorhandenes Makro, sodass sp&auml;tere Verweise nicht mehr erweitert werden.

Kategorie: Allgemeine Referenz

Syntax

UNMACRO macroname

Beschreibung

Deaktiviert ein vorhandenes Makro, sodass spätere Verweise nicht mehr erweitert werden.

Typ:Richtlinie |Kategorie:Präprozessor

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

UNMACRO deaktiviert ein Makro. Der Makroname muss bereits definiert sein; andernfalls meldet der Compiler einen Fehler. Nach UNMACRO wird der Makroname als gewöhnlicher Bezeichner behandelt (oder als undefiniert gemeldet, wenn er in Makroposition verwendet wird).

PBXB64-Hinweise

Ein durch UNMACRO deaktiviertes Makro kann daher nicht erneut referenziert werden, auch nicht in Quelltext, der physikalisch vor der UNMACRO-Direktive steht.

Abgedeckt durch tests/pb/test_pp_remacro_unmacro.pb und tests/pb/test_pp_unmacro_reject.pb.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


UNQ - Unlimited-Quaternion-Speicher verwenden - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNQ - Unlimited-Quaternion-Speicher verwenden

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

LOCAL q AS UNQ

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Stringgestuetzter Unlimited-Quaternion-Datentyp mit VALUNQ- und UNQ$-Konvertierungen.

Praktische Verwendung

Verwenden Sie diese Schreibweise in Deklarationen oder Typpositionen, in denen die entsprechende Unlimited-/String-Kompatibilitaet erwartet wird. Die semantischen Details sollten mit einem eigenen Laufzeitnachweis belegt werden.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwechseln Sie diese Typkeywords nicht mit freien Bezeichnern oder Laufzeitwerten. Wenn der Zielkontext die Type-Position nicht erwartet, muss die Quelle entsprechend angepasst werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UNTIL - Schleifen bis Bedingung wahr ist - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNTIL - Schleifen bis Bedingung wahr ist

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

DO
LOOP UNTIL done

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Bedingungskeyword am Schleifenende fuer DO/LOOP-Formen.

Praktische Verwendung

Verwenden Sie dieses Keyword als Schleifenabschluss in der getesteten DO/LOOP- oder WHILE/WEND-Schreibweise. Es gehoert syntaktisch an das Ende der Schleife und nicht in den Schleifenkopf.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Ein fehlender Loop-Hauptteil, ein falscher Schleifentyp oder ein zu fruehes Abschlusskeyword sollte nicht still durchrutschen. Die Endposition gehoert in die passende Kontrollform.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UNWRAP$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

UNWRAP$

Entfernen Sie gepaarte Zeichen vom Anfang und Ende einer Zeichenfolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = UNWRAP$( StringExpression , LeftChar$ , RightChar$ )

Beschreibung

Entfernen Sie gepaarte Zeichen vom Anfang und Ende einer Zeichenfolge

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Funktion UNWRAP$ entfernt die Zeichen in LeftChar$ vom Anfang von StringExpression , wenn eine genaue Übereinstimmung vorliegt. Anschließend werden die Zeichen in RightChar$ am Ende entfernt, wenn eine genaue Übereinstimmung vorliegt. Die restlichen Zeichen werden dann zurückgegeben. Zum Beispiel:

UNWRAP$("<MyWord>", "<", ">") gibt "MyWord" zurück.

UNWRAP$ ist besonders nützlich, um Klammern, Anführungszeichen, Klammern usw. aus einem Textelement zu entfernen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • EXTRACT$
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • MID$ ? PBXB64-Compiler-Hilfe
  • REMOVE$
  • REPLACE ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • SHRINK$
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • WRAP$
  • Hilfe zum PBXB64-Compiler


URLDECODE$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

URLDECODE$

Dekodiert prozentkodierten URL-Komponententext.

Kategorie: Allgemeine Referenz

Syntax

text$ = URLDECODE$(url$)

Beschreibung

Dekodiert prozentkodierten URL-Komponententext.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen deterministischen String-Helfer. Kodierungsfunktionen liefern transformierten Text zurueck, waehrend Hash-Funktionen feste, kleingeschriebene Hex-Digests liefern.

Grenzen

Dokumentieren Sie hier nur die getesteten Byte- oder String-Transformationen. Wenn es einen Rueckwaerts-Helfer gibt, pruefen Sie ihn separat, statt Symmetrie aus der Vorwaertsform abzuleiten.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

URLDECODE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

URLDECODE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


URLENCODE$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

URLENCODE$

Kodiert eine Zeichenkette mit Prozentkodierung fuer URL-Bestandteile.

Kategorie: Allgemeine Referenz

Syntax

url$ = URLENCODE$(text$)

Beschreibung

Kodiert eine Zeichenkette mit Prozentkodierung fuer URL-Bestandteile.

Kind: Runtime helper | Category: WEB / Runtime Helpers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese eigene Seite stellt sicher, dass Befehlsuche, Stichwortindex und direkte Dateinamenpruefung die getestete Laufzeitfunktion unmittelbar finden. Die gruppierte WEB-Seite bleibt die breitere Familienreferenz.

Diese Seite dokumentiert einen deterministischen String-Helfer. Kodierungsfunktionen liefern transformierten Text zurueck, waehrend Hash-Funktionen feste, kleingeschriebene Hex-Digests liefern.

Grenzen

Dokumentieren Sie hier nur die getesteten Byte- oder String-Transformationen. Wenn es einen Rueckwaerts-Helfer gibt, pruefen Sie ihn separat, statt Symmetrie aus der Vorwaertsform abzuleiten.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

URLENCODE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

URLENCODE$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


URLHOST$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

URLHOST$

Extract the host component from a URL.

Kategorie: Allgemeine Referenz

Syntax

result$ = URLHOST$(url$)

Beschreibung

Extract the host component from a URL.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_urlhost.html, damit Benutzer URLHOST$ direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Extract the host component from a URL.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

URLHOST$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

URLHOST$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


URLPATH$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

URLPATH$

Extract the path component from a URL.

Kategorie: Allgemeine Referenz

Syntax

result$ = URLPATH$(url$)

Beschreibung

Extract the path component from a URL.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_urlpath.html, damit Benutzer URLPATH$ direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Extract the path component from a URL.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

URLPATH$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

URLPATH$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


URLPORT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

URLPORT

Extract the port number from a URL.

Kategorie: Allgemeine Referenz

Syntax

result = URLPORT(url$)

Beschreibung

Extract the port number from a URL.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_urlport.html, damit Benutzer URLPORT direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Extract the port number from a URL.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

URLPORT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

URLPORT gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


URLQUERY$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

URLQUERY$

Extract the query string from a URL.

Kategorie: Allgemeine Referenz

Syntax

result$ = URLQUERY$(url$)

Beschreibung

Extract the query string from a URL.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Beschreibung

Diese einfache Befehlsseite spiegelt die getestete WEB-Referenzseite cmd_web_urlquery.html, damit Benutzer URLQUERY$ direkt in Befehlsuche und Stichwortsuche finden. Die gruppierte WEB-Seite bleibt die detaillierte Familienreferenz, aber diese Alias-Seite haelt Befehlsname, Syntax und Beispiel ohne zweite Suche erreichbar.

Extract the query string from a URL.

Verwendungshinweise

Diese Alias-Seite sorgt dafuer, dass Befehlsuche und Stichwortsuche den getesteten Helfer unter seinem einfachen Befehlsnamen finden. Verwenden Sie die gruppierte WEB-Seite fuer den breiteren Familienueberblick und die exakte Laufzeithelfer-Tabelle.

Grenzen

Diese Seite dokumentiert das aktuell getestete PBXB64-Verhalten. Weiteres Protokoll-, Fehlerdaten-, Live-Netzwerk- oder verschachteltes JSON-Verhalten soll erst nach eigenen Tests dokumentiert werden.

Kind: Runtime helper | Category: WEB / JSON / HTTP Runtime

Beschreibung

URLQUERY$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit. Diese Seite beschreibt die akzeptierte BASIC-Oberflaeche, den benoetigten Handle- oder Stringzustand und die pruefbare Verwendung in der aktuellen Toolchain.

Praktische Verwendung

URLQUERY$ gehoert zur WEB-Erweiterung der PBXB64-Laufzeit und ist fuer URL/header-Aufgaben vorgesehen. Der Befehl arbeitet deterministisch auf BASIC-Strings oder Handles und eignet sich deshalb fuer kleine Werkzeuge, Protokolladapter, lokale Tests und Netzwerk-Hilfsprogramme.

Eingaberegeln

Pruefen Sie den input string, bevor das Ergebnis weiterverwendet wird. Leere Strings sind fuer viele Codierungs- und Hashfunktionen gueltig, waehrend ungueltige JSON- oder HTTP-Handles als Fehler behandelt werden muessen. Dokumentieren Sie im Programm, ob Daten Text, Binaerdaten, URL-Komponenten oder JSON-Pfade darstellen.

Robuster Ablauf

Ein robuster Ablauf erstellt zuerst alle Eingaben, ruft dann die WEB-Funktion auf, prueft den Rueckgabewert und gibt Ressourcen in jedem Fehlerpfad frei. Bei HTTP-Funktionen sollte Code nicht davon ausgehen, dass ein Host erreichbar ist; lokale Tests und Timeouts muessen getrennt von Format- und Handle-Fehlern behandelt werden.

Getestetes Beispiel

Validierungsnachweis: Die WEB-Kindseiten und test_web_all.pb decken die fokussierten String-, JSON-, URL-, Hash- und HTTP-Helfer ab, sofern die jeweilige Kindseite keinen engeren Nachweis nennt.


USING$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

USING$

Formatieren Sie einen oder mehrere Ausdr&uuml;cke mithilfe einer Formatmaske in eine Zeichenfolge.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

sResult$ = USING$( fmtmask$ , expr [, expr [, ...]])

Beschreibung

Formatieren Sie einen oder mehrere Ausdrücke mithilfe einer Formatmaske in eine Zeichenfolge.

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Formatierungsregeln basieren auf der PRINT USING-Anweisung, die in vielen DOS-Versionen von BASIC unterstützt wird, einschließlich PowerBASIC für DOS.

Da USING$ als Funktion implementiert ist, bietet es weitaus mehr Vielseitigkeit als PRINT USING, da es nicht erforderlich ist, einen Wert auszugeben, um von dieser einzigartigen Funktionalität zu profitieren. USING$ bietet einen größeren Anwendungsbereich als FORMAT$, da es sowohl numerische als auch Zeichenfolgenausdrücke formatieren und mehrere Argumente annehmen kann.

fmtmask$ – Ein String-Ausdruck, eine String-Variable oder ein String-Literal bestehend aus Formatzeichen, die bestimmen, wie der gesamte Ausdruck formatiert werden soll. Dieser Ausdruck wird als bezeichnet Maske. Es können beliebig viele Formatmasken vorhanden sein fmtmask$, in der gleichen Reihenfolge angeordnet wie die expr Argumente angegeben werden.

Ausdruck – Eine zu formatierende Zeichenfolge oder ein numerischer Ausdruck, eine Variable oder ein Literalwert. Die verfügbaren Maskenzeichen hängen davon ab, ob expr ist eine Zeichenfolge oder eine Zahl.

String-Formatcodes

Wann expr eine Zeichenfolge ist, gelten die folgenden Formatcodes darin fmtmask$:

Charakter | Definition
! | Das erste Zeichen der Zeichenfolge wird zurückgegeben.
\ Räume \ | Wenn Backslashes umschließen n Räume, n + 2 Zeichen des String-Ausdrucks werden zurückgegeben.
& | Der gesamte String wird zurückgegeben.
\ | Die ersten beiden Zeichen werden zurückgegeben (bei Verwendung als einzelnes Paar).
_ | Escape-Zeichen (Unterstrich). Das folgende Zeichen wird als Literalzeichen und nicht als Maskenformatzeichen interpretiert.

Numerische Formatcodes

Wann expr numerisch ist, gelten die folgenden Formatcodes darin fmtmask$:

Charakter | Definition
# | Eine numerische Ziffernposition, die links vom Dezimalpunkt mit Leerzeichen und rechts vom Dezimalpunkt mit Nullen gefüllt ist. Wenn die Zahl negativ ist, wird eine Ziffernposition mit einem Minuszeichen belegt.
. | An dieser Stelle wird der Dezimalpunkt platziert.
, | Eine numerische Ziffernposition, die bedeutet, dass ganze Ziffern mit einem Komma alle drei Ziffern angezeigt werden sollen.
$$ | Zwei numerische Ziffernpositionen, die dazu führen, dass unmittelbar vor der Zahl ein Dollarzeichen eingefügt wird.
*x | Zwei numerische Ziffernpositionen, die dazu führen, dass führende Leerzeichen im Feld durch das Zeichen ersetzt werden x. Zum Beispiel zwei Sternchen ** wandeln Sie führende Leerzeichen in Sternchen um und *= wandelt führende Leerzeichen in Gleichheitszeichen um. Die *x Maskenzeichen fungieren auch als zweistellige Zeichen (#) Platzhalter. Um dies nutzen zu können, muss Ihre Maske mindestens drei Zeichen enthalten.
+ | Ein Plus am Anfang des Feldes bewirkt, dass das Vorzeichen des Wertes (+oder-) muss vor der Nummer eingefügt werden. Ein Pluszeichen am Ende des Feldes bewirkt, dass das Vorzeichen nach der Zahl eingefügt wird.
- | Ein Minus am Ende des Feldes führt dazu, dass nach einer negativen Zahl ein Minuszeichen oder nach einer positiven Zahl ein Leerzeichen eingefügt wird. Ein Minus am Anfang des Feldes wird als Literalzeichen behandelt.
^^^ – ^^^^^^ | Zahlen können in wissenschaftlicher Notation formatiert werden, indem drei bis sechs Caretzeichen eingefügt werden (^) in der Formatzeichenfolge. Jedes Caret entspricht einer numerischen Ziffernposition im Exponenten: eins für E, eins für das Vorzeichen des Exponenten und eins bis vier für die tatsächlichen Ziffern des Exponentenwerts.
_ | Escape-Zeichen (Unterstrich). Das folgende Zeichen wird als Literalzeichen und nicht als Maskenformatzeichen interpretiert. Um einen wörtlichen Unterstrich in die Formatmaske aufzunehmen, verwenden Sie zwei Unterstrichzeichen (__).

Alle Zeichen in der Formatmaskenzeichenfolge, die oben nicht identifiziert wurden, werden in die Ausgabezeichenfolge kopiert, sobald sie angetroffen werden. Sie können jeden speziellen Formatcode überschreiben oder maskieren, indem Sie ihm einen Unterstrich voranstellen (_) und es wird wie jedes andere Literalzeichen kopiert. Dies bietet die Flexibilität, literalen Zeichenfolgentext in die formatierte Rückgabezeichenfolge aufzunehmen.

Einschränkungen

  • Die zurückgegebene Zeichenfolge ist auf eine absolute Länge von 1024 Byte begrenzt.
  • Durch Angabe einer einzelnen Maske in fmtmask$, alle expr Argumente unterliegen der Einzelmaske.
  • Wenn es weniger sind expr Argumente als passende Formatmasken in fmtmask$, Parsen der fmtmask$ stoppt nach der letzten referenzierten Maskenposition und nachfolgende Zeichen werden ignoriert. Dies steht im Einklang mit dem Verhalten von PRINT USING$ in PB/DOS.
  • Wenn ein numerisches Argument seine Maske überschreitet (d. h. es gibt mehr Ziffern als Ziffernpositionen), nimmt die resultierende Zeichenfolge so viele Leerzeichen ein, wie zur Darstellung der Zahl erforderlich sind. In solchen Fällen enthält PB/DOS ein führendes „%“-Symbol, um einen Maskenüberlauf anzuzeigen; PowerBASIC für Windows gibt jedoch nicht das zusätzliche Überlaufzeichen „%“ zurück.
  • Das Semikolon (;) und Null (0)-Zeichen sind für die zukünftige Verwendung reserviert, daher wäre es ratsam, solche Literalzeichen in USING$-Masken zu maskieren, um die zukünftige Kompatibilität sicherzustellen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN() AS LONG
    LOCAL s AS STRING
    s = USING$("##,###.##", 12345.67)
    ' s = "12,345.67"

    s = USING$("$$###.00", 42.5)
    ' s = "$  42.50"

    s = USING$("_!_&", "Hello", "World")
    ' s = "!HWorld"

    FUNCTION = 0
END FUNCTION

Siehe auch

  • GRAFIKDRUCK
  • XPRINT PRINT
  • FORMAT$
  • STR$ ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


USM. - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

USM.

Silent-Modus setzen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kategorie: Allgemeine Referenz

Syntax

USM.[mode][|logfile]

Beschreibung

Silent-Modus setzen - Datei-, Dialog-, Druck-, Teilzeichenketten- und Zeichenhelfer.

Kind: SPR-Befehl | Category: SPR Frontend / File and Text I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

USM. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `USM.[mode][|logfile]`.

Parameter

# | Name/Form | Bedeutung
P1 | mode | optional
P2 | logfile | optional

Verwendung

  • Verwenden Sie nach Moeglichkeit eine temporaere Datei oder einen bewussten Platzhalterpfad und nennen Sie, ob der Befehl aussenstehenden Zustand erstellt, anhaengt, liest, aufzaehlt oder loescht.
  • Das Beispiel soll den erwarteten Pfad oder Dialogwert benennen und einen Cleanup-Schritt nennen, der die Maschine nach dem Test unveraendert laesst.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_usm.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64. Der Befehl kann beim Ausfuehren von Windows-, Datei-, Prozess- oder Desktop-Zustand abhaengen.

Fehlerfaelle

  • Nennen Sie den wahrscheinlichsten Laufzeitfehler, etwa fehlende Datei, ungueltiges Handle, Berechtigungsproblem oder nicht verfuegbaren Desktop-Zustand.
  • Wenn der Befehl einen Statuscode liefert oder das Ziel unveraendert lassen kann, sagen Sie das auf der Seite ausdruecklich.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Utf8ToChr$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Utf8ToChr$

&Uuml;bersetzt eine Bytefolge von

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

a$$ = Utf8ToChr$( UtfExpr$ )

Beschreibung

Übersetzt eine Bytefolge von

Typ:Funktion |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

UtfExpr$ enthält eine Reihe von Bytes im UTF-8-Format. Utf8ToChr$ übersetzt es je nach Kontext des Quellcodes entweder in ANSI-Multibyte-äquivalente Zeichen oder WIDE (16-Bit) Unicode-Zeichen. PowerBASIC wählt immer die richtige Form, ohne dass der Programmierer eingreifen muss.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Siehe auch

  • ChrToOem$
  • ChrToUtf8$
  • OemToChr$
  • Hilfe zum PBXB64-Compiler


Variablen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Variablen

Variablen repr&auml;sentieren numerische Werte oder Zeichenfolgenwerte. Im Gegensatz zu Konstanten kann sich der Wert einer Variablen w&auml;hrend der Programmausf&uuml;hrung &auml;ndern. Variablennamen m&uuml;ssen wie Beschriftungen mit einem Buchstaben beginnen und k&ouml;nnen bis zu t enthalten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Variablen repräsentieren numerische Werte oder Zeichenfolgenwerte. Im Gegensatz zu Konstanten kann sich der Wert einer Variablen während der Programmausführung ändern. Variablennamen müssen wie Beschriftungen mit einem Buchstaben beginnen und können bis zu t enthalten

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Die Variablen mit einfacher Genauigkeit, EndOfMonthTotals und emt, erfordern beide genau vier Byte Laufzeitspeicher. Eine gute Faustregel besteht darin, ein Gleichgewicht zu wahren und die Variablennamen kurz genug zu halten, damit die Anweisungen in eine Zeile passen. Viele Programmierer verwenden Variablen mit einem Buchstaben für Schleifenzähler (i, j, k, l und x, y, z sind ihre Favoriten). Zur besseren Übersichtlichkeit können Sie jedoch Namen wie „Anzahl“, „Summe“, „Index“ usw. verwenden, insbesondere wenn Sie verschachtelte Schleifen haben.

PowerBASIC verfügt über viele integrierte Variablentypen: Dynamische Zeichenfolge; String fester Länge; nullterminierte Zeichenfolge; Feld, Ganzzahl; Lange Ganzzahl; Quad-Ganzzahl; Byte, Wort; Doppelwort; Einzel ; Doppelt ; und Erweiterter Gleitkommawert; Währung und WährungX ; Variant, Object, Guid sowie Pointer, Arrays und Bit- und Sbit-Bitfeld-Subtypen.

Eine Variable als bestimmten Typ deklarieren:

Verwenden Sie die DIM-Anweisung, um eine Variable zu deklarieren und die AS-Typ-Syntax zu verwenden:

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Variablenbereich - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Variablenbereich

Der Geltungsbereich einer Variablen wird durch ihre Sichtbarkeit und ihre Lebensdauer definiert. Sichtbarkeit bedeutet, welche Teile Ihres Programms darauf zugreifen k&ouml;nnen. Die Lebensdauer definiert, wann es erstellt und wann es zerst&ouml;rt wird. An der Macht

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Geltungsbereich einer Variablen wird durch ihre Sichtbarkeit und ihre Lebensdauer definiert. Sichtbarkeit bedeutet, welche Teile Ihres Programms darauf zugreifen können. Die Lebensdauer definiert, wann es erstellt und wann es zerstört wird. An der Macht

Typ:Schlüsselwort |Kategorie:Variablen und Umfang

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Numerische Variablen werden auf Null (0) initialisiert. Dynamische Zeichenfolgen, Feldzeichenfolgen und mit NULL endende Zeichenfolgen werden auf eine Länge von Null (keine Zeichen) initialisiert. Zeichenfolgen und UDTs fester Länge werden mit CHR$ (0) gefüllt. PowerBASIC zerstört automatisch jede Variable zum richtigen Zeitpunkt, sodass Sie sich über diese Art von Speicherverlust keine Sorgen machen müssen.

Auf lokale Variablen kann nur innerhalb eines einzelnen SUB, FUNCTION, METHOD oder PROPERTY zugegriffen werden. Sie werden bei jedem Aufruf des Verfahrens automatisch erstellt und initialisiert. Sie werden automatisch gelöscht, wenn Sie den Vorgang beenden. Dies ist der Standardvariablenbereich, sofern Sie nichts anderes angeben.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


VARIANT$/VARIANT$$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

VARIANT$/VARIANT$$

Gibt die Byte-Zeichenfolge zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

AnsiVar = VARIANT$( VrntVar )
WideVar = VARIANT$$( VrntVar )
TypeVar = VARIANT$(BYTE, VrntVar )

Beschreibung

Gibt die Byte-Zeichenfolge zurück

Typ:Funktion |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

VARIANT$ extrahiert einen String aus einer Variant-Variablen, wenn dort ein dynamischer String (VT_BSTR) gefunden wird. Wenn die Variante einen anderen VT-Typ enthält, wird eine leere Zeichenfolge zurückgegeben. Per Definition ist ein BSTR eine breite Unicode-Zeichenfolge. Im Allgemeinen kann man mit Sicherheit davon ausgehen, dass dies der Fall ist, es sei denn, die Variante wurde von PowerBASIC erstellt und Sie wissen, dass das interne Format Bytes und nicht breite Unicode-Wörter sind.

Die erste Form von VARIANT$ konvertiert den breiten Unicode-Inhalt in ANSI und gibt ihn als ANSI-Zeichenfolge zurück. Die zweite Form von VARIANT$$ gibt den Inhalt direkt als breiten Unicode-String zurück. Natürlich übernimmt PowerBASIC in allen Zuweisungs- und Parametersituationen automatisch alle erforderlichen Konvertierungen zwischen ANSI- und WIDE-Stringwerten. Aus diesem Grund sollte diesem Vorgang für die ANSI/WIDE-Konvertierung kein zusätzlicher Code hinzugefügt werden. Bedenken Sie außerdem, dass die richtige Wahl der Funktion die Leistung Ihres Programms verbessern kann.

PBXB64 V14.4 implementiert VARIANT$$ derzeit fuer die stringbasierte VARIANT-Nutzlast des Compilers. Die fokussierte Regression tests/pb/test_variant_dollar_dollar.pb prueft die Zuweisung an WSTRING fuer eine ASCII-String-Nutzlast und prueft, dass Nicht-String-Varianten eine leere WSTRING zurueckgeben. Vollstaendige COM-BSTR-ABI- und Unicode-Transcoding-Paritaet bleiben breitere Kompatibilitaetsarbeit.

Wenn die Option BYTE angegeben ist, teilen Sie PowerBASIC mit, dass die Zeichenfolge eine Reihe von BYTES und keine breiten Unicode-Wörter enthält. Dies wäre der Fall, wenn Sie einen benutzerdefinierten Typ in einer Variante hinterlegt hätten:

LET VariantVar = ThisUDTVar AS STRING

ThatUDTVar = VARIANT$(BYTE, VariantVar )

Diese Form von VARIANT$ gibt den Inhalt immer als ANSI-Byte-String zurück. Dieses Ergebnis kann einer ANSI-Stringvariablen oder einem benutzerdefinierten Typ zugewiesen werden.

Vermächtnis

Ältere Legacy-Programme waren gezwungen, Unicode-Zeichen in einer ANSI-String-Variablen zu speichern, da Wide-String-Variablen noch nicht verfügbar waren. Diese Programme sollten weiterhin VARIANT$ mit ACODE$ und Variantenzuweisung mit UCODE$ verwenden, bis die Programmlogik aktualisiert wird, um breite Unicode-Variablen zu verwenden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • LET-Anweisung (mit Varianten)
  • OBJEKT
  • VARIANTVT
  • Hilfe zum PBXB64-Compiler


VARIANTVT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

VARIANTVT

Bestimmen Sie den internen Datentyp der in a gespeicherten Daten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

numericvar = VARIANTVT( vrntvar )

Beschreibung

Bestimmen Sie den internen Datentyp der in a gespeicherten Daten

Typ:Funktion |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Funktion VARIANTVT gibt den im Variant gespeicherten internen VT-Datentyp zurück. Der gesamte Bereich der %VT_-Präfixwerte wird durch die OLE-Spezifikation (COM) dokumentiert und ist in WIN32API.INC verfügbar.

Zu den wichtigsten Werten in diesem begrenzten Kontext gehören %VT_EMPTY (=0) und %VT_BSTR (=8), da die meisten anderen numerische Formate sind, die automatisch durch die LET-Anweisung (mit Varianten) und die Funktion VARIANT# aufgelöst werden.

Ergebnis

Gleichsetzen

Inhaltstyp

%VT_EMPTY

Eine leere Variante

%VT_NULL

Nullwert

%VT_I2

Ganze Zahl

%VT_I4

Lange Ganzzahl

%VT_R4

Single

%VT_R8

Doppelt

%VT_CY

Währung

%VT_DATE

%VT_BSTR

Dynamische Zeichenfolge

%VT_DISPATCH

IDispatch

%VT_ERROR

Fehlercode

%VT_BOOL

Boolean

%VT_VARIANT

Variante

%VT_UNKNOWN

IUnbekannt

%VT_DECIMAL

Dezimal

%VT_I1

Byte (mit Vorzeichen)

%VT_UI1

Byte (ohne Vorzeichen)

%VT_UI2

%VT_UI4

%VT_I8

Quad (signiert)

%VT_UI8

Quad (ohne Vorzeichen)

%VT_INT

Lange Ganzzahl

%VT_UINT

%VT_VOID

Ein Hohlraumtyp im C-Stil

%VT_HRESULT

COM-Ergebniscode

%VT_PTR

Zeiger

%VT_SAFEARRAY

VB-Array

%VT_CARRAY

Ein Array im C-Stil

%VT_USERDEFINED

Benutzerdefinierter Typ

%VT_LPSTR

%VT_LPWSTR

Unicode-Zeichenfolge

%VT_RECORD

%VT_FILETIME

Ein FILETIME-Wert

%VT_BLOB

Ein beliebiger Speicherblock

%VT_STREAM

Ein Bytestrom

%VT_STORAGE

Name des Speichers

%VT_STREAMED_OBJECT

Ein Stream, der ein Objekt enthält

%VT_STORED_OBJECT

Ein Speicherobjekt

%VT_BLOB_OBJECT

Ein Speicherblock, der ein Objekt darstellt

%VT_CF

Zwischenablageformat

%VT_CLSID

Klassen-ID

&H1000

%VT_VECTOR

Ein Array mit führender Anzahl

&H2000

%VT_ARRAY

&H4000

%VT_BYREF

Ein Referenzwert

Wenn ein Variant ein vollständiges Array enthält, wird der Variant-Typ durch Hinzufügen des Basistyps zum Array-Modifikator bestimmt. Das heißt, für ein String-Array wäre es %VT_BSTR plus %VT_ARRAY (= &H2008).

Quad-Arrays innerhalb von Varianten werden von den meisten Windows-Versionen nicht unterstützt. Das Ergebnis von VARIANTVT kann verwendet werden, um zu sehen, ob ein solches Array ordnungsgemäß erstellt wurde.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • Was ist COM?
  • OBJEKT
  • LET-Anweisung (mit Varianten)
  • VARIANT$/VARIANT$$
  • What Is An Object Anyway?
  • Hilfe zum PBXB64-Compiler


VARPTR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

VARPTR

Gibt die 32-Bit-Adresse von a zur&uuml;ck

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

y = VARPTR( variable )

Beschreibung

Gibt die 32-Bit-Adresse von a zurück

Typ:Funktion |Kategorie: Memory & Pointers

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

VARPTR gibt eine vollständige 32-Bit-Adresse als Doppelwortwert (DWORD) an die angegebene Variable zurück. Variable ist eine beliebige Zeichenfolge, eine beliebige Zahl, eine Strukturvariable (benutzerdefinierter Typ oder Union) oder ein Element eines Arrays. VARPTR gibt einen Zeiger (32-Bit-Adresse im Speicher) zurück, auf den die variablen Daten gespeichert sind.

VARPTR kann auch zum Auffinden eines Array-Deskriptors sowie der Array-Daten selbst verwendet werden. Um die Adresse eines Array-Deskriptors zu finden, verwenden Sie den Array-Namen mit leeren Klammern: VARPTR( x( ) ).

Wenn Sie VARPTR verwenden, um die Adresse einer dynamischen Zeichenfolge (mit variabler Länge) abzurufen, beachten Sie, dass der zurückgegebene Wert die Adresse des Zeichenfolgenhandles ist und nicht die tatsächlichen Daten in der Zeichenfolge. Dies kann nützlich sein, um ein dynamisches String-Array mit indizierten Zeigern zu manipulieren, zum Beispiel:

DIM A$(100), b$, pA AS STRING PTR, x&

' Angenommen, A$() ist hier gefüllt

pA = VARPTR(a$(0)) ' 1. Element-Handle

FOR X& = 0 BIS 100

B$ = B$ + @pA[x&] + ","

NÄCHSTES x&

Mit STRPTR können Sie die Adresse der String-Daten ermitteln. Bei Verwendung mit Zeigern gibt VARPTR die Adresse des Zeigers selbst zurück.

Einschränkungen

VARPTR kann nicht für Registervariablen verwendet werden, da Registervariablen in internen Prozessorregistern und nicht im Anwendungsspeicher gespeichert werden. VARPTR kann für UDT- und Union-Variablen verwendet werden, jedoch nicht für den UDT-Definitionsnamen. Zum Beispiel:

TYP MyType

ABC SO LANG

END-TYP

' Mehr Code hier

DIM x AS MyTYPE, y&

y& = VARPTR(x) ' Das ist legal

y& = VARPTR(MyType) ' Dies ist nicht der Fall

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Siehe auch

  • CODEPTR
  • PEEK
  • Zeiger (@)
  • POKE
  • STRPTR
  • Hilfe zum PBXB64-Compiler


VAS. - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

VAS.

String-Zuweisung - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: Allgemeine Referenz

Syntax

VAS.$$TGT=value / VAS.$$TGT+text

Beschreibung

String-Zuweisung - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VAS. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VAS.$$TGT=value / VAS.$$TGT+text`.

Parameter

# | Name/Form | Bedeutung
P1 | $$TGT | erforderliche Zielvariable
P2 | value / VAS.$$TGT+text | erforderlicher Wert

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_vas.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VAU. - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

VAU.

Unicode/Hex-Zuweisung - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kategorie: Allgemeine Referenz

Syntax

VAU.$$TGT=41 42 / VAU.$$TGT+43

Beschreibung

Unicode/Hex-Zuweisung - Variablenmanipulation, Zufallswerte, Formelauswertung und Mathematikbefehle.

Kind: SPR-Befehl | Category: SPR Frontend / Variables and Math

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VAU. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VAU.$$TGT=41 42 / VAU.$$TGT+43`.

Parameter

# | Name/Form | Bedeutung
P1 | $$TGT | erforderliche Zielvariable
P2 | 41 42 / VAU.$$TGT+43 | erforderlicher Wert

Verwendung

  • Zeigen Sie die Variable vor und nach dem Befehl, damit erkennbar ist, ob der Befehl direkt aendert oder in ein Ergebnisziel schreibt.
  • Wenn ein Befehl numerischen Zustand verbraucht oder erzeugt, nennen Sie Anfangswert, Operation und Endergebnis im Beispiel.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_vau.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Vergleichsoperatoren - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Vergleichsoperatoren - Hilfe zum PBXB64-Compiler

Mit relationalen Operatoren k&ouml;nnen Sie die Werte zweier Ausdr&uuml;cke vergleichen, um ein boolesches Ergebnis von TRUE oder FALSE zu erhalten. Obwohl sie in jedem numerischen Ausdruck verwendet werden k&ouml;nnen (z. B. a = (b &gt; c) / 1).

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit relationalen Operatoren können Sie die Werte zweier Ausdrücke vergleichen, um ein boolesches Ergebnis von TRUE oder FALSE zu erhalten. Obwohl sie in jedem numerischen Ausdruck verwendet werden können (z. B. a = (b > c) / 1).

Typ:Betreiber |Kategorie:Betreiber

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Beispiel

a$ = "CAT"


Verschiedene Vorgänge - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Verschiedene Vorgänge

Sonstige Funktionen:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Sonstige Funktionen:

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Identifizieren Sie eine Assembler-Anweisung.

Rundet den Befehlsort auf eine Zweierpotenz-Adresse auf

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Versionsverlauf " PBXB64-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Versionsverlauf " PBXB64-Hilfe

Ver&ouml;ffentlichungsverlauf und Versionsmeilensteine f&uuml;r den PBXB64-Compiler. Bei der Z-Serie handelt es sich um interne Z-Meilensteine &#226;&#8364;&#8249;&#226;&#8364;&#8249;(Entwicklungsabbr&uuml;che). Bei der V-Serie handelt es sich um benutzerorientierte Release-Drops. Jede Zeile in der Tabelle unten entspricht einem Tag im Versionsverlauf des Repositorys.

Kategorie: Allgemeine Referenz

Beschreibung

Veröffentlichungsverlauf und Versionsmeilensteine für den PBXB64-Compiler. Bei der Z-Serie handelt es sich um interne Z-Meilensteine â€‹â€‹(Entwicklungsabbrüche). Bei der V-Serie handelt es sich um benutzerorientierte Release-Drops. Jede Zeile in der Tabelle unten entspricht einem Tag im Versionsverlauf des Repositorys.

Aktuelle Version: 0.50.0-V10 (Release V10) “ 29.06.2026
Umsetzung: Reines C17 (keine C++-Abhängigkeiten)
Ziel: Windows x64 PE32+ / COFF-Objektdateien
Sprachen: PowerBASIC-kompatibles BASIC, B64, C17, PILOT, Inline-ASM; experimentelle Rust-, COBOL- und Forth-Frontends
Testmatrix: 2078/2078 (0 erwartete Fehler, 0 unerwartete Fehler) “ 1182 Assembly, 206 PB Link+Run, 22 B64 Link+Run, 117 C-Kompilierung, 6 C Link+Run, 526 generiert, 19 Pilot-Link+Run, 28 COBOL Link+Run, 57 Forth Link+Run, 23 Rust Link+Run

Meilensteine der Version

Meilenstein | Datum | Spur | Hauptmerkmale
Z58 | 2026 | B64 | B64-Frontend-Routen durch b64_frontend_build_ir() vor der Optimierung. --emit-ir / --dump-ir sind gespalten. Globale Ganzzahlinitialisierer geben Bytes aus .data / .rdata.
Z58“Z60 | 2026 | PB | Alle PB-Anweisungshandler wurden zur Verwendung neu geschrieben pb_try_eval_expr() statt pb_eval_expr(). Echte Handler für DIALOG, CONTROL, TCP/UDP, HOST, THREAD, REGISTER, COMM, MOUSEPTR, PROCESS, LPRINT, XPRINT, GUI, DISPLAY, FONT, MENU, GRAPHIC.
Z60 | 2026 | alle | 4-Spur-Sweep mit bekannter Begrenzung. B64-Beispiele 11/11, PB Link+Run 6/6, C-Kompilierung 63/63, C-Link+Run 1/1. Laufzeit-Stubs wurden durch echte Win32-Aufrufe ersetzt.
Z61 | 2026 | PB/Link | Win64 Multi-Argument-ABI-Korrektur (5+ Argumente), IR_OP_REM-Korrektheit (implizite CQO/IDIV-Leser), FOR-Schleifenkörper-Const-Fold-Korrektur, Link-Symbol-Sweep (25 fehlende Laufzeitsymbole hinzugefügt). Float FOR-Schleife, negativer STEP, CURRENCY-Typabdeckung.
Z64 | 2026 | alle | 25-Fehler-Sweep. 318/318 testet grün. V3-Veröffentlichung.
Z65 | 2026 | H-Lib | 10 native H-Lib-Containerfamilien: Arr, Stk, Que, Lst, Str, 2D, Hsh, Tre, DTre, Tri. Methoden-Dispatch-Syntax, automatische Initialisierung beim Eintritt, automatische Finalisierung beim Verlassen des Bereichs. 12 Container-Testdateien bestehen.
Z66 | 2026 | Laufzeit | MinGW snprintf Absturzbehebung, Robustheit des Build-Skripts, Hilfsobjekt zur Benutzerlaufzeit (c_runtime_user.c). P0-Laufzeit: ERROR$, UCODE$ / UCODEPAGE, PRINT USING.
Z67 | 2026 | H-Lib | H-Lib Phase 7 “ UDT-Nutzlastcontainer. AS LNARR OF MyType, AS LNLST OF MyTypeusw. Container + UDT-Integration.
Z68 | 2026 | C | H-Lib Phase 8 “ C-Frontend-Parität. core/include/c17/pbxb64/hlib.h entlarvt c_hlib_lnarr_* Symbole. C Link+Laufspur 1/1 → 2/2.
Z69 | 2026 | PB / H-Lib | SortierenMit Rückrufen + CODEPTR. Komparatorgesteuerte Sortierung mit CODEPTR(CompareFn). Echte Funktionsadressenextraktion im IR.
Z70 | 2026 | PB / V | VARIANT-Vollständigkeits-Sweep. Variantenskalare/Arrays, Deep-Copy-Lebenszyklus, Behebung von Speicherbeschädigungen in der FOR-Schleife. Variantenstresstest.
Z71 | 2026 | H-Lib | H-Lib Phase 10 “ [] Indexzugriff. a[1] = 100, n = h["k"]. sys_date_time_environ_command Laufzeitabschluss.
Z72 | 2026 | H-Lib | H-Lib Phase 11 “ Heap-, Deque-, Set-, Graph-Containerfamilien.
Z73 | 2026 | H-Lib | H-Lib Phase 12 “ Multiset-, UnionFind-, LRU-, Ring-, SkipList-, B+Tree-, Quadtree-, Bloom- und Safe-Containerfamilien. Insgesamt 23 Familien.
Z74 | 2026 | PB | Generierter PB-System-Regressions-Sweep. Gehärtet DATE$/TIME$, COMMAND$/ENVIRON$, MOUSEPTR, PROCESS PRIORITY, UCODE$/UCODEPAGE. Fehler bei der Float-Register-Lebensdauer behoben.
Z75 | 2026 | PB | Echte RND-, RANDOMIZE-, INKEY$-, WAITKEY$-Benutzerlaufzeit. LCG-basiertes RNG mit deterministischem Seed; Die Win32-Konsoleneingabe lautet (PeekConsoleInputA / ReadConsoleInputA).
Z76 | 2026 | alle | V5-Schiffsbereitschaftsprüfung. INTEGER-BytegröÃŸenkonsistenz, veraltet entfernt core/source/include/compiler/frontend/pb_ast.h. RESET, LIKE, FRAC, TIX, RND/RANDOMIZE durch echte Implementierungen ersetzt. 1591/1591 Tests, 0 erwartete Fehlschläge.
V6 | 14.06.2026 | dist | Erste öffentliche Veröffentlichung der V-Serien-Distribution. Komprimierte Single-Binärdatei PBXB64.exe (~919 KB), inklusive PBXB64_Help.chm.
V7 | 15.06.2026 | dist | Aktualisierte H-Lib-Abdeckung und Dokumentation zu Befehlszeilenoptionen. -E Präprozessormodus, -I / -isystem Suchpfade.
V8 | 17.06.2026 | Kern | Native 128/256/512-Bit-Typen mit breiter Ganzzahl (INT128 / UINT128 / INT256 / UINT256 / INT512 / UINT512) mit Inline-Arithmetik. Druckunterstützung für alle Wide-Integer-Typen. Monteur global Direktivenkorrektur.
V8.1 | 18.06.2026 | Kern | MSGBOX ? Kurzschrift-Alias (PB/CC-kompatibel). TBOX zeitgesteuertes Nachrichtenfeld mit [d] Timeout-Markierung und automatisches SchlieÃŸen des Threads.
V10 | 29.06.2026 | alle | Ã–ffentliches V10-Release. Verifiziertes COBOL-85-Frontend (DATA/PROCEDURE, skalierte Festkommaarithmetik, PERFORM, IF, OCCURS, COMPUTE). Forth-Frontend-Härtung (Return-Stack-GröÃŸe, CASE/OF/ENDOF/ENDCASE). Rust-Frontend-Vorschau (Funktionen, Kontrollfluss, Structs, Enums, Zeiger, Arrays, unsafe, const). Hilfe/CHM neu aufgebaut und validiert (0 defekte Links). Matrix: 2078/2078 bestanden, 0 erwartete Fehler, 0 unerwartete Fehler.
V10 | 30.06.2026 | Kern | Rust-Frontend-Erweiterung: else if-Ketten, usize/isize, oktale/binäre/suffixierte Ganzzahl-Literale, \u{}-Char-Escapes, Typ-Aliasse, Array-Literale ([a,b,c]/[v;N]) und Struct-Literale (Point{x:1}), typisierte Zeiger-Dereferenzierung, Enum-Daten-Felder mit mehreren Werten, match |-Alternation und if-Guards, bitweise/Shift-Verbundzuweisungen. Dokumentation der #RUST/#ENDRUST-Einbettungs-Direktive und der PB-Variablen-Bridge-Intrinsics (pb_val_i64, pb_set_i64, rust_thread_spawnN_i64-Familie).

Compiler-Eigenschaften (V10)

  • Pure-C-Toolchain: Keine C++-Abhängigkeiten, einzelne C17-Codebasis (~250 C-Quelldateien)
  • Multi-Frontend: PowerBASIC (.pb), B64 (.b64), C17 (.c), PILOT (.pil), Inline-ASM (.asm); experimentelle Rust- (.rs), COBOL- (.cbl/.cob) und Forth- (.fth) Frontends
  • In sich geschlossen: Parser, IR, Optimierer, x64-Backend, Linker, Laufzeit, alles in einer ~5,5 MB unkomprimierten Binärdatei
  • Testgetrieben: 2078/2078 Tests der gebundenen Toolchain bestanden — 1182 Assembly, 206 PB Link+Run, 22 B64 Link+Run, 117 C-Kompilierung, 6 C Link+Run, 526 generiert, 19 Pilot-Link+Run, 28 COBOL Link+Run, 57 Forth Link+Run, 23 Rust Link+Run
  • Containerbibliothek: 23 native H-Lib-Familien mit Method-Dispatch-Syntax, UDT-Payload-Unterstützung, [] Indexzugriff, C-Frontend-API
  • Win64-ABI: Korrekter Multi-Argument-Aufruf (5+ Argumente), SSE2-Float-Operationen, Festregister-Spill für IDIV/CQO
  • Breite ganze Zahlen: 128/256/512-Bit mit und ohne Vorzeichen, Inline-Arithmetik, keine Bibliotheksaufrufe
  • Null erwartete Fehler: Alle abgedeckten Features umgesetzt und verifiziert

Was wurde zurückgestellt (V6 und höher)

  • Inline #ASM PB-Variablenbindung ({ var } → [rbp-N])
  • Vollständiges COM/OOP CLASS / INTERFACE Umsetzung
  • Vollständiges MAT-Matrix-Laufzeit (bereits in Benutzerlaufzeit-Stubs)
  • Voll PRINT USING Zeichenketten-/Datums-Bildmaskensprache (numerische Masken implementiert; Zeichenketten-/Datumsmasken sind minimale Platzhalter)

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Kind: Reference topic | Category: Release Notes

PBXB64 Status: DOCUMENTED

Description

Version history is a release-documentation page. It records public PBXB64 release notes and must keep V14 public naming.

Validation Evidence

Validation evidence: Checked by help/scripts/validate_help.py for V14 version-history coverage.

Siehe auch

  • Uebersicht
  • PBXB64 - Befehlszeilenoptionen
  • Hilfe zum PBXB64-Compiler


Verwenden benutzerdefinierter Typen mit Prozeduren - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Verwenden benutzerdefinierter Typen mit Prozeduren

Unterroutinen, Funktionen, Methoden und Eigenschaften k&ouml;nnen benutzerdefinierte Typen sowie jeden anderen Datentyp verarbeiten. Dieses Thema umfasst die folgenden Themen:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Unterroutinen, Funktionen, Methoden und Eigenschaften können benutzerdefinierte Typen sowie jeden anderen Datentyp verarbeiten. Dieses Thema umfasst die folgenden Themen:

Typ:Schlüsselwort |Kategorie:Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Felder als Argumente übergeben

Mitglieder in benutzerdefinierten Typen, die zu den integrierten PowerBASIC-Typen gehören ( INTEGER , WORD , STRING usw.), können an Prozeduren und Funktionen übergeben werden, als wären sie einfache Variablen. Angenommen, der benutzerdefinierte Typ „PatientRecord“ lautet beispielsweise wie folgt:

Vollständiger Name AS STRING * 32

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.


Verwenden von Arrays benutzerdefinierter Typen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Verwenden von Arrays benutzerdefinierter Typen

Sie k&ouml;nnen Arrays von benutzerdefinierten Typen erstellen, genauso wie Sie Arrays von Ganzzahlen oder Zeichenfolgen oder anderen Datentypen von PowerBASIC erstellen k&ouml;nnen. Zum Beispiel:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Sie können Arrays von benutzerdefinierten Typen erstellen, genauso wie Sie Arrays von Ganzzahlen oder Zeichenfolgen oder anderen Datentypen von PowerBASIC erstellen können. Zum Beispiel:

Typ:Schlüsselwort |Kategorie:Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

DIM-Klasse (1 bis 30) AS StudentRecord

Um auf die einzelnen Elemente des Class-Arrays zuzugreifen, verwenden Sie wie bei jedem anderen Array tiefgestellte Indexwerte. Der dritte Schülerdatensatz ist beispielsweise Class(3) . Das Punkttrennzeichen und der Feldname folgen dem Array-Index:

Klasse(3).FullName.First

Dadurch würde auf den Vornamen des dritten Schülers im Klassenarray zugegriffen. Stellen Sie sich das so vor: Das Array besteht aus Elementen des Typs „Student Record“, sodass der Index zum Namen der Variablen als Ganzes gehört.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Verwenden von ESP und EBP - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Verwenden von ESP und EBP - Hilfe zum PBXB64-Compiler

In PowerBASIC ist es m&ouml;glich, Ihre eigene Prozedur innerhalb einer vorhandenen Sub , Function , Method oder Property zu schreiben, indem Sie den Stack-Ein- und Ausgang manuell codieren. Dies ist ein komplizierter Bereich von Assembler c

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In PowerBASIC ist es möglich, Ihre eigene Prozedur innerhalb einer vorhandenen Sub , Function , Method oder Property zu schreiben, indem Sie den Stack-Ein- und Ausgang manuell codieren. Dies ist ein komplizierter Bereich von Assembler c

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

' Anderer PowerBASIC-Code hier

! JMP-Label; Überspringen Sie die Prozedur

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VLT. - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

VLT.

Variable links trimmen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: Allgemeine Referenz

Syntax

VLT.$$VAR[|chars]

Beschreibung

Variable links trimmen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VLT. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VLT.$$VAR[|chars]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | chars | optional

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_vlt.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRT. - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

VRT.

Variable rechts trimmen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kategorie: Allgemeine Referenz

Syntax

VRT.$$VAR[|chars]

Beschreibung

Variable rechts trimmen - Schleifenbefehle und Helfer fuer Zeichenketten.

Kind: SPR-Befehl | Category: SPR Frontend / Loops and Strings

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Funktion

VRT. ist ein implementierter PBXB64-SPR-Befehl. Die gepruefte Syntax ist `VRT.$$VAR[|chars]`.

Parameter

# | Name/Form | Bedeutung
P1 | $$VAR | erforderlich
P2 | chars | optional

Verwendung

  • Zeigen Sie Anfangswert, Schleifenrumpf und Austrittspfad, damit die Struktur ohne Raten in ein echtes SPR-Programm uebernommen werden kann.
  • Bei String-Helfern muessen Ein- und Ausgabetext exakt sichtbar sein, damit Padding, Trimmen, Splitten oder Ersetzen im Beispiel eindeutig werden.

Beschreibung

  • Diese Seite beschreibt die in PBXB64 implementierte und getestete Befehlsform, nicht eine ungepruefte Erweiterung der urspruenglichen SPR-Sprache.
  • Die Parameter werden in der unten gezeigten Reihenfolge mit dem SPR-Trennzeichen `|` ausgewertet; Variablen verwenden exakt die Schreibweise `$$XXX`, also zwei Dollarzeichen plus genau drei Zeichen.
  • Das Beispiel `examples/spr/spr_vrt.mrt` gehoert zum automatischen SPR-Hilfe-Pruefsatz und kompiliert/linkt mit dem aktuellen PBXB64.

Fehlerfaelle

  • Dokumentieren Sie, was passiert, wenn der Befehl seine Aufgabe nicht abschliessen kann: welches Ziel sich aendert, welcher Zustand unberuehrt bleibt und was der Aufrufer als Naechstes pruefen soll.
  • Wenn der Befehl als zertifiziert getestet gilt, soll das Beispiel dennoch die Grenze zeigen, an der das getestete Verhalten endet und eine breitere historische Form neuen Beleg braeuchte.

Grenzen

Verhalten ausserhalb der gezeigten Syntax muss mit einem eigenen fokussierten Beispiel geprueft werden, bevor es in der Hilfe als unterstuetzt beschrieben wird.

Diese Seite ist PBXB64-Source-Truth-Dokumentation: Die angegebene Syntax und das Beispiel bilden den unterstuetzten Hilfevertrag; breitere historische SPR-Varianten brauchen einen eigenen fokussierten Test, bevor sie als verfuegbar dokumentiert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Warum DLLs verwenden? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Warum DLLs verwenden?

Es gibt eine Reihe mildernder Gr&uuml;nde f&uuml;r die Erstellung einer DLL. Unter ihnen sind:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Es gibt eine Reihe mildernder Gründe für die Erstellung einer DLL. Unter ihnen sind:

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Teile Ihres Codes sind zwar funktionsfähig, werden jedoch möglicherweise nicht so schnell ausgeführt, wie Sie möchten. Sobald Sie die Engpassbereiche isoliert haben, ist eine Maschinencode-DLL die offensichtliche Wahl, um nur die Bereiche Ihrer Anwendung zu optimieren, die zu langsam laufen.

Wenn eine DLL im Gegensatz zu herkömmlichen Bibliotheken vom Betriebssystem in den Speicher geladen wird, können alle anderen Programme (oder DLLs) auf ihre Subs und Funktionen zugreifen. Es muss nur eine Kopie der DLL im Speicher vorhanden sein. Dies ist möglich, da die Bibliothek nicht dauerhaft mit einem der Programme verknüpft ist. Es ist im Speicher vorhanden und stellt seine Dienste jedem Programm (oder jeder anderen DLL) zur Verfügung, das sie möglicherweise benötigt.

Möglicherweise verfügen Sie über eine Reihe von Verfahren, die für mehrere verschiedene Anwendungen gleich sind. Anstatt diese Prozeduren in jeder Anwendung erscheinen zu lassen, die sie benötigt, ist es besser, sie in einer DLL abzulegen, wo alle Anwendungen auf sie zugreifen können. Dies reduziert die Größe Ihrer ausführbaren Dateien und gibt Ihnen gleichzeitig die Flexibilität, die DLL selbst zu aktualisieren, ohne jede Anwendung, die ihre Dienste nutzt, neu kompilieren zu müssen.

Eine DLL kann aktualisiert und weitergegeben werden, ohne dass eine der Anwendungen (oder anderen DLLs), die ihre Dienste nutzen, neu kompiliert werden muss.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Was ist COM? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Was ist COM?

COM ist ein Akronym. Es stellt die Worte &#8222;Component Object Model&ldquo; dar.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

COM ist ein Akronym. Es stellt die Worte „Component Object Model“ dar.

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Die kurze Antwort lautet: COM definiert eine Möglichkeit zur Kommunikation zwischen Codemodulen. Es folgt die etwas längere Antwort.

Sie sollten wissen, dass jedes in PowerBASIC erstellte oder definierte Objekt vollständig mit der COM-Spezifikation kompatibel ist. Viele beliebte Compiler sind nicht in der Lage, diese Behauptung genau zu machen. Die COM-Spezifikation definiert eine standardisierte Kommunikationsmethode zwischen Codemodulen (häufig als Komponenten bezeichnet), unabhängig von der Plattform oder dem Tool, mit dem sie erstellt wurden. COM-Komponenten sind wiederverwendbare Codeblöcke und zugehörige Daten, auf die andere „COM-fähige“ Komponenten und Anwendungen zugreifen können.

Eines der frustrierendsten Dinge an dieser Technologie ist die ständig wechselnde Liste von Schlagworten, mit denen sie beschrieben wird. Wir haben uns über OLE, VBX und OCX zu COM, ActiveX und mehr weiterentwickelt. Obwohl es viele Nuancen der Unterschiede gibt, ist es wichtig, sich daran zu erinnern, dass COM und ActiveX eine Möglichkeit zum Zugriff auf Code und Daten außerhalb des aktuellen Moduls beschreiben. COM+ bezieht sich auf einige Erweiterungen, die speziell für Win2000, WinXP und WinVista gelten. In dieser Diskussion verwenden wir die Begriffe COM-Objekt und ActiveX-Objekt, um Komponenten zu beschreiben: wiederverwendbare Codeblöcke und zugehörige Daten.

In früheren Versionen von PowerBASIC wurden Client-COM-Dienste eingeführt, auf die über die COM DISPATCH-Schnittstelle zugegriffen werden konnte. Obwohl die DISPATCH-Schnittstelle sehr flexibel und einfach zu verwenden ist, führt gerade diese Flexibilität zu einem Mehraufwand, der für viele Anwendungen nicht akzeptabel ist. Diese Version von PowerBASIC bietet die Möglichkeit, COM-Objekte über eine DIRECT INTERFACE oder eine DISPATCH INTERFACE zu erstellen und darauf zuzugreifen.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Was ist eine DLL? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Was ist eine DLL?

Eine Dynamic Link Library (DLL) ist ein ausf&uuml;hrbares Windows-Bibliotheksmodul, das eine oder mehrere Subs, Functions oder Klassen enth&auml;lt, die von ausf&uuml;hrbaren Dateien oder anderen DLLs aufgerufen werden k&ouml;nnen. Im Gegensatz zu ausf&uuml;hrbaren Dateien ist dies bei DLLs nicht der Fall

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine Dynamic Link Library (DLL) ist ein ausführbares Windows-Bibliotheksmodul, das eine oder mehrere Subs, Functions oder Klassen enthält, die von ausführbaren Dateien oder anderen DLLs aufgerufen werden können. Im Gegensatz zu ausführbaren Dateien ist dies bei DLLs nicht der Fall

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Um eine bessere Vorstellung davon zu bekommen, wie eine DLL funktioniert, ist es hilfreich, den Unterschied zwischen statischer und dynamischer Verknüpfung zu verstehen. Bei der statischen Verknüpfung werden ein oder mehrere Module geschrieben und diese dann zusammen mit allen anderen Laufzeit-, Drittanbieter- usw. Bibliotheken verknüpft, die möglicherweise erforderlich sind, um ein vollständiges, eigenständiges ausführbares Programm zu erstellen. Wenn ein Programm ein Sub oder eine Funktion aus einer Static-Link-Bibliothek verwendet, wird eine Kopie dieses Sub- oder Funktionscodes statisch in die ausführbare Datei des Programms verknüpft.

Wenn zwei Programme, die gleichzeitig ausgeführt werden, dieselbe Routine aus einer Bibliothek verwenden, verfügen sie jeweils über eine eigene Kopie dieser Routine. Es wäre effizienter, wenn die beiden Programme eine einzige Kopie der Routine gemeinsam nutzen könnten. DLLs bieten diese Funktion, indem sie die Verweise Ihrer Anwendung auf externe Prozeduren zur Laufzeit auflösen.

Im Gegensatz zu einer Static-Link-Bibliothek ist der Code in einer DLL nicht mit einem Programm verknüpft, das die DLL verwendet. Stattdessen befinden sich der Code und die Ressourcen einer DLL in einer separaten ausführbaren Datei, normalerweise mit der Erweiterung .DLL. Diese Datei muss vorhanden sein, wenn die Anwendung ausgeführt wird. Sie müssen noch ein oder mehrere Module schreiben, um die für Ihre Anwendung spezifischen Funktionen zu implementieren.

Der Verknüpfungsprozess ist jedoch in zwei Phasen unterteilt. Sie platzieren zunächst DECLARE-Anweisungen in Ihrer Anwendung, um die Verweise Ihres Programms auf die DLL-Dienste vorübergehend zu erfüllen und so eine EXE- (oder DLL-)Datei zu erstellen. Die zweite Phase findet zur Laufzeit statt, wenn Ihr Programm einen der DLL-Dienste aufruft.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Was ist eine Ressourcendatei? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Was ist eine Ressourcendatei?

&Uuml;bersicht &uuml;ber Windows-Ressourcendateien und deren Einbindung.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Übersicht über Windows-Ressourcendateien und deren Einbindung.

Typ:Konzeptionell |Kategorie: Präprozessor und Metaanweisungen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Überblick

Dieses Thema bietet Hintergrundinformationen und praktische Anleitungen. Eine detaillierte Syntax finden Sie auf den entsprechenden Befehlsseiten.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Siehe auch

  • Hilfe zum PBXB64-Compiler


Was ist eine SLL? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Was ist eine SLL?

Eine SLL ist eine Static Link Library. In PBXB64 ist eine SLL ein deterministisches COFF-Archiv mit PBXB64-unterstuetztem Objektcode. Da es sich um eine Bibliothek handelt, kann der Code nicht eigenstaendig ausgefuehrt werden.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine SLL ist eine Static Link Library. In PBXB64 ist eine SLL ein deterministisches COFF-Archiv mit PBXB64-unterstuetztem Objektcode. Da es sich um eine Bibliothek handelt, kann der Code nicht eigenstaendig ausgefuehrt werden.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Eine Static Link Library ist nuetzlich, wenn gemeinsamer Code einmal kompiliert und in einen finalen EXE- oder DLL-Host gelinkt werden soll. Der Host verwendet #LINK; nackte DECLARE FUNCTION- oder DECLARE SUB-Deklarationen koennen auf Symbole aus dem gelinkten Archiv zeigen. PBXB64-native SLLs duerfen auch andere PBXB64-native SLLs linken und unterstuetzte lokale #RESOURCE-Eintraege enthalten, die beim finalen Host-Link zusammengefuehrt werden.

PBXB64-.sll- und .pblib-Dateien sind Standard-COFF-Archive fuer PBXB64-unterstuetzte Objekte. Alte PowerBASIC-SLL-Binaerkompatibilitaet wird nicht behauptet; nicht unterstuetzte oder nicht-archivartige Eingaben schlagen mit Linkerdiagnosen fehl.

Eine PBXB64-SLL enthaelt nur das kompilierte Benutzerobjekt der Unit. Sie enthaelt keinen Einstiegspunkt, keine EXE- oder DLL-Kopfstruktur und keine Kopie der eingebetteten PBXB64-Laufzeit. Dadurch kann dieselbe Bibliothek in unterschiedliche Hostprogramme gelinkt werden, waehrend der finale Host die Startup- und Laufzeitteile genau einmal einbindet.

Erstellen einer statischen Linkbibliothek

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Was ist Vererbung? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Was ist Vererbung?

Bei der Vererbung geht es um die Wiederverwendung von Code. Sie k&ouml;nnen die Definitionen einer Schnittstelle oder komplette Codeabschnitte wiederverwenden.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Bei der Vererbung geht es um die Wiederverwendung von Code. Sie können die Definitionen einer Schnittstelle oder komplette Codeabschnitte wiederverwenden.

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

INTERFACE INHERITANCE ist durch COM-Standards definiert und für die Verwendung durch jedes COM-Objekt verfügbar. Diese Form der Vererbung gilt nur für die Definition jedes Elements in einer Schnittstelle und nicht für den zugrunde liegenden Code. Durch die Schnittstellenvererbung haben Sie die Möglichkeit, eine Schnittstelle in mehreren Klassen (Objekten) zu verwenden. Da die Schnittstellendefinition in jeder Instanz identisch bleibt, können Sie häufig denselben (oder ähnlichen) Code verwenden, um verschiedene Objekte zu manipulieren. Bei dieser Form der Vererbung muss der Programmierer für jede der Methoden und Eigenschaften in jeder Implementierung der Schnittstelle geeigneten Code bereitstellen.

IMPLEMENTIERUNGSVERERBUNG ist der Prozess, bei dem eine KLASSE die gesamte Funktionalität einer an anderer Stelle implementierten Schnittstelle ableitet. Das heißt, die abgeleitete Klasse verfügt nun über alle Methoden und Eigenschaften dieser neuen, erweiterten Version einer Basisklasse! Diese Form der Vererbung wird von PowerBASIC angeboten, obwohl sie in der COM-Spezifikation nicht erforderlich ist.

Sie können die Funktionalität einer zuvor erstellten Schnittstelle erweitern, indem Sie der abgeleiteten Schnittstelle/Klasse neue Methoden und Eigenschaften hinzufügen. Die Syntax zum Hinzufügen zusätzlicher Methoden (nicht in der Basisklasse) ist dieselbe wie beim Hinzufügen von Methoden zu einer Standardklasse – fügen Sie einfach wie immer Methoden und Eigenschaften hinzu.

Sie können die Funktionalität einer bestimmten Methode oder Eigenschaft ergänzen oder ersetzen, indem Sie eine Ersetzung codieren, der das Wort OVERRIDE vorangestellt ist. Die überschreibende Methode muss denselben Namen und dieselbe Signatur (Parameter, Rückgabewert usw.) haben wie die Methode, die sie ersetzt. Wenn Sie eine neue Methode in einer abgeleiteten Klasse implementieren, können Sie eine Methode in der Basisklasse aufrufen, indem Sie das Pseudoobjekt MYBASE verwenden. Dadurch können Sie die ursprüngliche Funktionalität erweitern oder vollständig ersetzen.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Was ist VERSAND? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Was ist VERSAND?

Die DISPATCH INTERFACE ist eine langsamere Form der Schnittstelle, die urspr&uuml;nglich als Teil von Microsoft Visual Basic eingef&uuml;hrt wurde. Eine Implementierung der COM DISPATCH-Unterst&uuml;tzung wurde in einer fr&uuml;heren Version von PowerBA eingef&uuml;hrt

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die DISPATCH INTERFACE ist eine langsamere Form der Schnittstelle, die ursprünglich als Teil von Microsoft Visual Basic eingeführt wurde. Eine Implementierung der COM DISPATCH-Unterstützung wurde in einer früheren Version von PowerBA eingeführt

Typ:Schlüsselwort |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Wenn Sie DISPATCH verwenden, übergibt der Compiler tatsächlich den Namen der METHOD, die Sie ausführen möchten, als Textzeichenfolge. Auf die gleiche Weise können auch die Parameter übergeben werden. Das Objekt muss dann die Namen nachschlagen und anhand der bereitgestellten Textzeichenfolgen entscheiden, welche METHODE ausgeführt werden soll und welche Parameter verwendet werden sollen. Als ob das nicht genug wäre, erfordert DISPATCH, dass alle Parameter und Rückgabewerte als VARIANT-Variablen übergeben werden, wobei alle diese Konvertierungen in der Verantwortung des Programmierers liegen. Das stimmt, du. Dies ist ein langsamer Prozess. DISPATCH ist jedoch flexibel, bequem und fehlerverzeihend. Darüber hinaus werden Sie feststellen, dass viele Skriptsprachen und Anwendungen DISPATCH als einzige Betriebsmethode verwenden, sodass eine kontinuierliche Unterstützung unbedingt erforderlich ist.

Was ist überhaupt ein Objekt?

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


WEITER - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

WEITER

Schlie&szlig;en Sie eine FOR-Schleife

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

NEXT [counter [, counter ...]]

Beschreibung

Schließen Sie eine FOR-Schleife

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

DerNEXT Die Anweisung markiert das Ende von a FOR Schleifenkörper. Es erhöht den Schleifenzähler um STEP Wert (oder 1) und springt zurück zum Top-of-Loop-Bedingungstest.

Das optionale counter Der Name ist in PBXB64 nicht erforderlich, wird jedoch aus Kompatibilitätsgründen mit der PowerBASIC-Syntax akzeptiert. Verschachtelte Schleifen können mehrere Zähler auflisten.

Generierter Assembler-Code

DerNEXT Schlüsselwort ist keine separate Anweisung im Backend; Es wird zum Step-and-Branch-Block am Ende der Schleife:

pb_for_step_PBMAIN_0:
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, 1
    mov [rbp-24], rbx
    jmp pb_for_cond_PBMAIN_0

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN () AS LONG
    LOCAL i AS LONG
    FOR i = 1 TO 3
        PRINT i
    NEXT i
END FUNCTION

Siehe auch

  • FOR � PBXB64-Compiler-Hilfe
  • EXIT � PBXB64-Compiler-Hilfe
  • ITERATE � PBXB64-Compiler-Hilfe
  • GRUNDLEGENDER Kontrollfluss


WEND - WHILE-Schleife schliessen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

WEND - WHILE-Schleife schliessen

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

WHILE x < 10
  INCR x
WEND

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Legacy-Schleifenabschluss fuer WHILE...WEND-Kompatibilitaet.

Praktische Verwendung

Verwenden Sie dieses Keyword als Schleifenabschluss in der getesteten DO/LOOP- oder WHILE/WEND-Schreibweise. Es gehoert syntaktisch an das Ende der Schleife und nicht in den Schleifenkopf.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Ein fehlender Loop-Hauptteil, ein falscher Schleifentyp oder ein zu fruehes Abschlusskeyword sollte nicht still durchrutschen. Die Endposition gehoert in die passende Kontrollform.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


What Are Connection Points? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

What Are Connection Points?

Connection points are the COM event mechanism used by an object to call back into a client-supplied event sink. They are common in ActiveX and automation components.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Connection points are the COM event mechanism used by an object to call back into a client-supplied event sink. They are common in ActiveX and automation components.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

PBXB64 users should document the source interface, sink interface, reference-counting rules, and disconnect path before porting this pattern.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Kind: Reference topic | Category: COM Concepts

PBXB64 Status: DOCUMENTED

Description

COM concept page retained for navigation. It explains terminology and does not certify untested event-sink or connection-point runtime behavior.

Validation Evidence

Validation evidence: Concept documentation only; COM runtime claims require focused PB tests.

Siehe auch

  • Hilfe zum PBXB64-Compiler


What Does A Class Look Like? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

What Does A Class Look Like?

A COM class is exposed through interfaces, a class identifier, and factory/activation metadata. Client code normally works through interface pointers rather than direct structure access.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A COM class is exposed through interfaces, a class identifier, and factory/activation metadata. Client code normally works through interface pointers rather than direct structure access.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

When translating examples, separate object construction, interface acquisition, method calls, error checks, and release logic.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Kind: Reference topic | Category: COM Concepts

PBXB64 Status: DOCUMENTED

Description

COM class concept page retained for navigation and background. Do not infer full CLASS implementation from this concept topic.

Validation Evidence

Validation evidence: Concept documentation only; class/OOP claims require focused PB tests.

Siehe auch

  • Hilfe zum PBXB64-Compiler


What Does An Interface Look Like? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

What Does An Interface Look Like?

A COM interface is a vtable contract with fixed method order and calling convention. The first three methods are normally IUnknown: QueryInterface, AddRef, and Release.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A COM interface is a vtable contract with fixed method order and calling convention. The first three methods are normally IUnknown: QueryInterface, AddRef, and Release.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

PBXB64 declarations must match the binary layout exactly: pointer size, parameter types, HRESULT returns, and ByVal/ByRef behavior all matter.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Zurück zum Befehlsindex

Kind: Reference topic | Category: COM Concepts

PBXB64 Status: DOCUMENTED

Description

COM interface concept page retained for navigation and background.

Validation Evidence

Validation evidence: Concept documentation only; interface claims require focused PB tests.

Siehe auch

  • Hilfe zum PBXB64-Compiler


What Is A COM Component? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

What Is A COM Component?

A COM component is a binary object that exposes one or more interfaces and is activated through class registration, a class factory, or direct hosting.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

A COM component is a binary object that exposes one or more interfaces and is activated through class registration, a class factory, or direct hosting.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

For PBXB64 documentation, list required registration, threading model, interface IDs, and failure handling for every COM sample.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Zurück zum Befehlsindex

COM-Prüfung

COM-Konzeptseiten sollen Begriffe mit einem funktionierenden PBXB64-Szenario verbinden: Interface-Deklaration, HRESULT-Prüfung, Objekterzeugung, Methodenaufruf und Cleanup. Beispiele sollen nennen, welche COM-Komponente oder Windows-Schnittstelle benötigt wird.

Fehlerbehandlung

Dokumentieren Sie Erfolgs- und Fehler-HRESULTs getrennt. Ein Beispiel soll bei Fehlern verzweigen, den numerischen HRESULT für Diagnosen erhalten und keinen beliebigen Nicht-Null-Wert als boolesches Ergebnis behandeln.

Kind: Reference topic | Category: COM Concepts

PBXB64 Status: DOCUMENTED

Description

COM component concept page retained for navigation and background. It does not certify full COM server/client parity.

Validation Evidence

Validation evidence: Concept documentation only; COM helper pages carry tested claims where available.

Siehe auch

  • Hilfe zum PBXB64-Compiler


What Is An HRESULT? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

What Is An HRESULT?

HRESULT is the standard 32-bit COM status value. Non-negative values indicate success or informational status; negative values indicate failure.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

HRESULT is the standard 32-bit COM status value. Non-negative values indicate success or informational status; negative values indicate failure.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Always check HRESULT values after COM calls. Do not assume a method succeeded because an output pointer looks non-null.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Zurück zum Befehlsindex

COM-Prüfung

COM-Konzeptseiten sollen Begriffe mit einem funktionierenden PBXB64-Szenario verbinden: Interface-Deklaration, HRESULT-Prüfung, Objekterzeugung, Methodenaufruf und Cleanup. Beispiele sollen nennen, welche COM-Komponente oder Windows-Schnittstelle benötigt wird.

Fehlerbehandlung

Dokumentieren Sie Erfolgs- und Fehler-HRESULTs getrennt. Ein Beispiel soll bei Fehlern verzweigen, den numerischen HRESULT für Diagnosen erhalten und keinen beliebigen Nicht-Null-Wert als boolesches Ergebnis behandeln.

Kind: Reference topic | Category: COM Concepts

PBXB64 Status: DOCUMENTED

Description

HRESULT concept page retained for COM helper navigation. PBXB64's tested HRESULT surface is documented on OBJRESULT pages.

Validation Evidence

Validation evidence: See tests/pb/test_objresult_string.pb for the focused HRESULT helper behavior.

Siehe auch

  • Hilfe zum PBXB64-Compiler


What Is An Object Anyway? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

What Is An Object Anyway?

In COM-oriented BASIC documentation, an object is a runtime component accessed through an interface pointer. The caller sends method calls through that interface contract.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In COM-oriented BASIC documentation, an object is a runtime component accessed through an interface pointer. The caller sends method calls through that interface contract.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

For PBXB64 migration, distinguish language objects, COM objects, handles, and raw pointers. They have different lifetime and ownership rules.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.

Zurück zum Befehlsindex

Kind: Reference topic | Category: COM Concepts

PBXB64 Status: DOCUMENTED

Description

Object concept page retained for navigation and background. It is not a full OOP implementation claim.

Validation Evidence

Validation evidence: Concept documentation only; tested object helper claims are documented on their command pages.

Siehe auch

  • Hilfe zum PBXB64-Compiler


WHILE/WEND-Anweisungen ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

WHILE/WEND-Anweisungen ? PBXB64-Compiler-Hilfe

Definieren Sie einen Block von Programmanweisungen, die wiederholt ausgef?hrt werden, solange bestimmte Bedingungen erf?llt sind.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

WHILE integer_expression
[ statements ]
[EXIT LOOP]
WEND

Beschreibung

Definieren Sie einen Block von Programmanweisungen, die wiederholt ausgef?hrt werden, solange bestimmte Bedingungen erf?llt sind.

Typ:Anweisung |Kategorie: Control Flow

PBXB64-Status:VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn integer_expression TRUE ist (es ergibt einen Wert ungleich Null), werden alle Anweisungen zwischen WHILE und dem abschlie?enden WEND ausgef?hrt. PowerBASIC springt dann zur?ck zur WHILE-Anweisung und wiederholt den Test. Wenn es immer noch TRUE ist, f?hrt PowerBASIC die eingeschlossenen Anweisungen erneut aus. Dieser Vorgang wird wiederholt, bis der Testausdruck Null ergibt oder eine EXIT-Anweisung gefunden wird. In beiden F?llen geht die Ausf?hrung zur Anweisung ?ber, die auf WEND folgt.

Wenn integer_expression beim ersten Durchgang FALSE (Null) ergibt, wird keine der Anweisungen in der Schleife ausgef?hrt.

Mit WHILE/WEND-Anweisungen erstellte Schleifen k?nnen verschachtelt (ineinander eingeschlossen) werden. Jedes WEND stimmt mit dem letzten nicht ?bereinstimmenden WHILE ?berein.

Eine Verwendung einer WHILE/WEND-Schleife besteht darin, Daten aus einer Datei einzugeben, bis das Ende der Datei erreicht ist:

i& = 0

WHILE ISFALSE EOF(1)

INCR i&

LINE INPUT #1, FileTxt$(i&)

Obwohl es dem Compiler egal ist, ist es eine gute Idee, die Anweisungen zwischen WHILE und WEND einzur?cken, um die Struktur der von Ihnen erstellten Schleife zu verdeutlichen.

Beachten Sie, dass der folgende Code in einer Endlosschleife erstellt wird:

WHILE -1

[Anweisungn]

Um eine WHILE/WEND-Schleife vorzeitig zu verlassen, verwenden Sie die Anweisung EXIT LOOP.

Das DO/LOOP-Konstrukt von PowerBASIC bietet eine flexiblere M?glichkeit, bedingte Schleifen zu erstellen.

Hinweise zur Kurzschlussbewertung von PowerBASIC und ihren m?glichen Nebenwirkungen finden Sie auch in der Diskussion zur IF-Anweisung.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' controlflow_while_wend
FUNCTION PBMAIN() AS LONG
  LOCAL i AS LONG
  LOCAL s AS LONG
  i = 1
  s = 0
  WHILE i <= 5
    s = s + i
    i = i + 1
  WEND
  IF (s) <> (15) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

Siehe auch

  • #OPTIMIZE
  • DO/LOOP-Anweisungen � PBXB64-Compiler-Hilfe
  • EXIT � PBXB64-Compiler-Hilfe
  • FOR EACH/NEXT-Anweisungen
  • FOR/NEXT-Anweisungen ? PBXB64-Compiler-Hilfe
  • ITERATE � PBXB64-Compiler-Hilfe
  • IF/END IF


Wie werden GUIDs verwendet? - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Wie werden GUIDs verwendet?

Beschreibt die GUID-Verwendung mit COM-Klassen und -Schnittstellen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Beschreibt die GUID-Verwendung mit COM-Klassen und -Schnittstellen.

Typ:Konzeptionell |Kategorie: COM, Objekte und OOP

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Überblick

Dieses Thema bietet Hintergrundinformationen und praktische Anleitungen. Eine detaillierte Syntax finden Sie auf den entsprechenden Befehlsseiten.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Hilfe zum PBXB64-Compiler


Win32-API-Updates einschließen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Win32-API-Updates einschließen

Zu den Hinweisen zur Win32-API geh&ouml;ren Dateiaktualisierungen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Zu den Hinweisen zur Win32-API gehören Dateiaktualisierungen.

Typ:Konzeptionell |Kategorie: Entwicklung

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Überblick

Dieses Thema bietet Hintergrundinformationen und praktische Anleitungen. Eine detaillierte Syntax finden Sie auf den entsprechenden Befehlsseiten.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • Hilfe zum PBXB64-Compiler


WINDOW GET HANDLE " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

WINDOW GET HANDLE " PBXB64-Compiler-Hilfe

Manipulieren Sie ein Fenster im Programm, was das Festlegen oder Abrufen von Daten umfassen kann. Das Zielfenster kann einer beliebigen Klasse angeh&ouml;ren, einschlie&#195;&#376;lich einer CONTROL-Klasse

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

WINDOW GET HANDLE hWin , ID& TO DataVar&
WINDOW GET ID hWin TO DataVar&
WINDOW GET PARENT hWin TO DataVar&
WINDOW GET STYLE hWin TO DataVar&
WINDOW GET STYLEX hWin TO DataVar&
WINDOW GET USER hWin TO DataVar&

Beschreibung

Manipulieren Sie ein Fenster im Programm, was das Festlegen oder Abrufen von Daten umfassen kann. Das Zielfenster kann einer beliebigen Klasse angehören, einschlieÃŸlich einer CONTROL-Klasse

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die WINDOW-Anweisung kann mit jeder Art von Fenster in Ihrem Programm verwendet werden, einschlieÃŸlich eines Steuerelements oder Dialogs. Im Allgemeinen wird das zu manipulierende oder zu testende Fenster anhand seines Handles (hWin) identifiziert, das häufig zum Zeitpunkt der Erstellung abgerufen wird. Da auf ein Steuerelement jedoch normalerweise über eine Kombination aus â€žParent/IDâ€œ zugegriffen wird, müssen Sie zu diesem Zweck WINDOW GET HANDLE oder CONTROL HANDLE verwenden, um dessen Handle abzurufen. Wenn die Operation fehlschlägt, wird der Ergebnisvariablen der Wert Null (0) zugewiesen.

WINDOW GET HANDLE hWin, ID& TO DataVar&

Diese Anweisung ruft das Handle eines Fensters ab und übersetzt es aus dem übergeordneten Handle und der spezifischen integralen Steuerelement-ID, die zum Zeitpunkt der Erstellung angegeben wurde. hWin ist das Handle des übergeordneten Elements, ID& ist die Steuer-ID und DataVar& stellt die Variable dar, die das gewünschte Fensterhandle erhält.

FENSTER GET ID

hWin zu DataVar&

Die integrale ID des Fensters hWin wird abgerufen und der durch DataVar& bezeichneten Variablen zugewiesen. Im Allgemeinen hat nur ein CONTROL eine ID, sodass Fenster anderer Klassen normalerweise den Wert Null zurückgeben.

WINDOW GET PARENT hWin To DataVar&

Das Handle des übergeordneten Elements wird abgerufen und der durch DataVar& bezeichneten Variablen zugewiesen.

WINDOW GET STYLE hWin TO DataVar&

Der Fensterstilwert des durch das Handle hWin angegebenen Fensters wird abgerufen und der durch DataVar& bezeichneten Variablen zugewiesen.

WINDOW GET STYLEX hWin TO DataVar&

Der erweiterte Fensterstilwert des durch das Handle hWin angegebenen Fensters wird abgerufen und der durch DataVar& angegebenen Variablen zugewiesen.

FENSTER GET USER HWin TO DataVar&

Der 32-Bit-Benutzerdatenwert, der dem durch das Handle hWin angegebenen Fenster zugeordnet ist, wird abgerufen und der durch DataVar& angegebenen Variablen zugewiesen. Dieser bestimmte Benutzerdatenwert ist jedem Fenster in Ihrem Programm zugeordnet und wird vom Windows-Betriebssystem verwaltet. Es handelt sich um separate und getrennte Benutzerdaten, die von DDT für jeden mit DDT erstellten Dialog und jedes Steuerelement verwaltet werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • STEUERGRIFF
  • WINDOW SET ID " PBXB64 Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


WINDOW SET ID " PBXB64 Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

WINDOW SET ID " PBXB64 Compiler-Hilfe

Manipulieren Sie ein Fenster im Programm, was das Festlegen oder Abrufen von Daten umfassen kann. Das Zielfenster kann einer beliebigen Klasse angeh&ouml;ren, einschlie&#195;&#376;lich einer CONTROL-Klasse

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

WINDOW SET ID hWin , NewVal& TO OldValVar&
WINDOW SET STYLE hWin , NewVal& TO OldValVar&
WINDOW SET STYLEX hWin , NewVal& TO OldValVar&
WINDOW SET USER hWin , NewVal& TO OldValVar&

Beschreibung

Manipulieren Sie ein Fenster im Programm, was das Festlegen oder Abrufen von Daten umfassen kann. Das Zielfenster kann einer beliebigen Klasse angehören, einschlieÃŸlich einer CONTROL-Klasse

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÃœGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die WINDOW SET-Anweisung kann mit jedem Fenstertyp in Ihrem Programm verwendet werden, einschlieÃŸlich eines Steuerelements oder eines Dialogs. Aufgrund möglicher Nebenwirkungen ist jedoch Vorsicht geboten. Im Allgemeinen wird das zu manipulierende Fenster durch sein Handle ( hWin ) identifiziert, das häufig zum Zeitpunkt der Erstellung erhalten wird. Da auf ein Steuerelement jedoch normalerweise über eine Kombination aus â€žParent/IDâ€œ zugegriffen wird, müssen Sie zu diesem Zweck WINDOW GET HANDLE oder CONTROL HANDLE verwenden, um dessen Handle abzurufen.

WINDOW SET ID hWin , NewVal& To OldValVar&

Die integrale ID des Fensters hWin wird in NewVal& geändert. Der vorherige ID-Wert wird der durch OldValVar& bezeichneten Variablen zugewiesen. Wenn die Operation fehlschlägt, wird OldValVar& der Wert Null (0) zugewiesen. Als allgemeine Regel gilt, dass Sie die ID eines mit DDT erstellten Fensters, Dialogs oder Steuerelements nicht ändern sollten, da dies zu unvorhersehbaren Ergebnissen führt.

WINDOW SET STYLE hWin , NewVal& TO OldValVar&

Der Fensterstilwert des Fensters hWin wird in NewVal& geändert. Der vorherige Stilwert wird der durch OldValVar& bezeichneten Variablen zugewiesen. Wenn die Operation fehlschlägt, wird OldValVar& der Wert Null (0) zugewiesen.

WINDOW SET STYLEX hWin , NewVal& TO OldValVar&

Der erweiterte Fensterstilwert des Fensters hWin wird in NewVal& geändert. Der vorherige erweiterte Stilwert wird der durch OldValVar& bezeichneten Variablen zugewiesen. Wenn die Operation fehlschlägt, wird OldValVar& der Wert Null (0) zugewiesen.

WINDOW SET USER hWin , NewVal& TO OldValVar&

Der 32-Bit-Benutzerdatenwert, der dem durch das Handle hWin angegebenen Fenster zugeordnet ist, wird in NewVal& geändert. Der vorherige Benutzerdatenwert wird der durch OldValVar& bezeichneten Variablen zugewiesen. Dieser bestimmte Benutzerdatenwert ist jedem Fenster in Ihrem Programm zugeordnet und wird vom Windows-Betriebssystem verwaltet. Es handelt sich um separate und getrennte Benutzerdaten, die von DDT für jeden mit DDT erstellten Dialog und jedes Steuerelement verwaltet werden. Wenn die Operation fehlschlägt, wird OldValVar& der Wert Null (0) zugewiesen. Dies ist jedoch kein sicherer Hinweis auf einen Fehler, da der vorherige Benutzerwert möglicherweise Null war.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • STEUERGRIFF
  • WINDOW GET HANDLE " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


WINMAIN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

WINMAIN

WINMAIN (oder sein Synonym

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

FUNCTION {WINMAIN | MAIN} ( _
BYVAL hInstance AS DWORD, _
BYVAL hPrevInst AS DWORD, _
BYVAL lpszCmdLine AS WSTRINGZ PTR, _
BYVAL nCmdShow AS LONG ) AS LONG

Beschreibung

WINMAIN (oder sein Synonym

Typ:Funktion |Kategorie: Procedures

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Rückgabewert: Der WINMAIN zugewiesene Rückgabewert ist optional, aber konventionsgemäß wird der Rückgabewert vom wParam&-Parameter einer %WM_QUIT-Nachricht abgeleitet. Normalerweise verwendet eine GUI-basierte Anwendung die WINMAIN-Funktion, um das erste GUI-Anwendungsfenster zu erstellen, und tritt dann in eine Nachrichtenschleife ein. Diese Schleife sollte beendet werden, wenn eine %WM_QUIT-Nachricht empfangen wird, und der wParam&-Parameter dieser Nachricht sollte als Rückgabewert für WINMAIN übergeben werden. Wenn WINMAIN beendet wird, bevor es in die Nachrichtenschleife eintritt, sollte WINMAIN Null zurückgeben. Konsolenanwendungen können den Rückgabewert verwenden, um eine Fehlerstufe im Bereich von 0 bis einschließlich 255 festzulegen, die an die aufrufende Anwendung zurückgegeben werden kann. Batch-Dateien können über den Batch-Befehl IF [NOT] ERRORLEVEL auf das Ergebnis reagieren. Wenn die an WINMAIN übergebenen Parameter nicht von der Anwendung selbst benötigt werden, kann anstelle von WINMAIN die PBMAIN-Funktion verwendet werden.

Die WINMAIN-Funktion wird von Windows aufgerufen, wenn eine ausführbare Anwendung zum ersten Mal geladen und ausgeführt wird. Er wird oft als „Einstiegspunkt“ für die Anwendung bezeichnet. Wenn die Ausführung von WINMAIN abgeschlossen ist, gilt die Anwendung als abgeschlossen und Windows gibt den Anwendungsspeicher wieder auf den Heap frei. WINMAIN erhält folgende Parameter:

hInstanz

Das Instanzhandle der ausführbaren Datei (EXE). Jede Instanz einer Windows-Anwendung verfügt über ein eindeutiges Handle. Es wird als Parameter für eine Reihe von Windows-API-Funktionen verwendet, die möglicherweise zwischen mehreren Instanzen einer Anwendung unterscheiden müssen.

hPrevInst

Wird von 32-Bit-Windows nicht verwendet. Es ist lediglich aus Kompatibilitätsgründen mit vorhandenem 16-Bit-Code vorhanden und gibt in 32-Bit-Anwendungen immer Null zurück.

lpszCmdLine

Ein Zeiger auf eine mit NULL endende Zeichenfolge, die eine Befehlszeile enthält. Beachten Sie, dass die in lpszCmdLine übergebene Zeichenfolge nicht mit der vom GetCommandLine-API-Aufruf zurückgegebenen Zeichenfolge übereinstimmt. Die Zeichenfolge in lpszCmdLine enthält nur die Befehlszeilenargumente (wie COMMAND$ ), aber GetCommandLine gibt den Programmnamen (einschließlich Pfad) gefolgt von den Argumenten zurück.

nCmdShow

Gibt an, wie das Hauptfenster der Anwendung angezeigt wird. Beispielsweise kann die aufrufende Anwendung %SW_NORMAL oder %SW_MINIMIZE usw. angeben. Die Berücksichtigung dieses Parameters obliegt dem Programmierer und wird empfohlen, dies zu tun.

Einschränkungen

Zeiger dürfen nicht BYREF übergeben werden, daher muss der Parameter lpszCmdLine von WINMAIN für die Übergabe von BYVAL deklariert werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Referenz-Uebersichten sollen Umfang, Navigation, Build-Status und Beispielorte erklaeren. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.

Siehe auch

  • PBMAIN " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


Word (??) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Word (??)

W&ouml;rter sind vorzeichenlose 16-Bit-Ganzzahlen (zwei Bytes) mit einem Bereich von 0 bis 65535 (0 bis 2^16-1). Das Typspezifizierzeichen f&uuml;r ein Wort ist: ??.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wörter sind vorzeichenlose 16-Bit-Ganzzahlen (zwei Bytes) mit einem Bereich von 0 bis 65535 (0 bis 2^16-1). Das Typspezifizierzeichen für ein Wort ist: ??.

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Wortvariablen werden identifiziert, indem dem Variablennamen zwei Fragezeichen folgen (z. B. var??) oder indem die DEFWRD-Anweisung verwendet wird, wie in der vorherigen Diskussion von Ganzzahlen beschrieben. Sie können Wortvariablen auch mit dem Schlüsselwort WORD mit der DIM-Anweisung deklarieren. Zum Beispiel:

Wortwerte erweitern effektiv den positiven Bereich für Ganzzahlen, erfordern jedoch immer noch nur zwei Bytes zur Speicherung.

Ein C/C++ UINT16- und ein Delphi-Wort entsprechen einem PowerBASIC-Wort.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL
' numeric_type_long
FUNCTION PBMAIN() AS LONG
  LOCAL a AS LONG
  a = 10
  IF (a) <> (10) THEN FUNCTION = 1: EXIT FUNCTION
  a = a + 5
  IF (a) <> (15) THEN FUNCTION = 2: EXIT FUNCTION
  a = a * 2
  IF (a) <> (30) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


WRAP$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

WRAP$

F&uuml;gen Sie gepaarte Zeichen am Anfang und Ende einer Zeichenfolge hinzu

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

s$ = WRAP$( StringExpression , LeftChar$ , RightChar$ )

Beschreibung

Fügen Sie gepaarte Zeichen am Anfang und Ende einer Zeichenfolge hinzu

Typ:Funktion |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die WRAP$-Funktion stellt LeftChar$ dem StringExpression voran, hängt dann RightChar$ an und gibt das Gesamtergebnis zurück. Zum Beispiel:

WRAP$("MyWord", "<", ">") gibt "<MyWord>" zurück

Es eignet sich besonders zum Einschließen von Text in Klammern, Anführungszeichen, Klammern usw.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • BUILD$
  • IStringBuilderA.Add-Methode
  • STRINSERT$
  • UNWRAP$
  • Hilfe zum PBXB64-Compiler


WRITE# ? PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

WRITE# ? PBXB64-Compiler-Hilfe

Durch Kommas getrennte Daten in eine sequenzielle Datei schreiben

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

WRITE # filenum&
WRITE # filenum& , [ expression [{;|,} expression ] ...] [;|,]

Beschreibung

Durch Kommas getrennte Daten in eine sequenzielle Datei schreiben

Typ: Anweisung | Kategorie: Datei-E/A

PBXB64-Status: VERF?GBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET] f?r fokussierte Datei-Datens?tze: kommagetrennte Felder, zitierte Strings, Verdopplung eingebetteter Anf?hrungszeichen, leere Datens?tze, Ganzzahl-/Flie?kommaausgabe und Stringliterale mit Kommas.

Beschreibung

Die WRITE#-Anweisung schreibt Daten in eine sequenzielle Datei, die mit OPEN FOR OUTPUT oder OPEN FOR APPEND ge?ffnet wurde. Werte werden automatisch durch Kommas getrennt, Zeichenfolgen in doppelte Anf?hrungszeichen eingeschlossen (eingebettete Anf?hrungszeichen werden verdoppelt) und jede Anweisung endet mit einem CR/LF-Paar. Dieses Format ist f?r das Zur?cklesen mit INPUT# gedacht.

Unterst?tzte Ausdruckstypen sind Ganzzahl-, Flie?komma- und Zeichenfolgenausdr?cke.

Getesteter Umfang: examples/basic/test_write_file.pb und tests/pb/test_write_file_exact.pb.

Einschr?nkungen

  • Abschlie?ende ; oder , werden nicht unterst?tzt; WRITE# f?gt immer CR/LF an.
  • Die Array-Form WRITE #Dateinummer, array() ist nicht unterst?tzt.
  • Dateinummern m?ssen als Literale #1..#16 angegeben werden; variable Dateinummern sind noch nicht unterst?tzt.

Kompatibilitaetsdetails

WRITE# ist die sicherere Anweisung fuer strukturierte sequenzielle Datensaetze. Sie fuegt Komma-Trennzeichen zwischen Feldern ein, setzt Stringfelder in Anfuehrungszeichen, verdoppelt eingebettete Anfuehrungszeichen und fuegt ein datensatzabschliessendes CR/LF an.

Der entstehende Datensatz ist fuer INPUT# gedacht: Zahlenfelder bleiben als Zahlen parsebar, Stringfelder duerfen Kommas enthalten, und leere Datensaetze koennen durch WRITE #filenum& ohne Ausdrucksliste geschrieben werden.

PRINT# oder WRITE# waehlen

  • Verwende PRINT#, wenn Layoutkontrolle, Druckzonen oder menschenlesbarer Berichtstext wichtig sind.
  • Verwende WRITE#, wenn spaeteres maschinelles Parsen wichtiger als das visuelle Layout ist.
  • WRITE# beendet den Datensatz immer; abschliessende ; und , gehoeren bewusst nicht zur aktuell getesteten Oberflaeche.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • GET ? PBXB64-Compiler-Hilfe
  • GET$
  • GET$$
  • INPUT ? PBXB64-Compiler-Hilfe
  • LINE INPUT#
  • OPEN
  • PRINT# ? PBXB64-Compiler-Hilfe
  • PUT ? PBXB64-Compiler-Hilfe
  • PUT$
  • PUT$$
  • SETEOF
  • Hilfe zum PBXB64-Compiler


WSTRING - Wide-String deklarieren - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

WSTRING - Wide-String deklarieren

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

LOCAL w AS WSTRING

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Dynamischer UTF-16-Wide-String mit getesteter Zuweisung, Verkettung, Vergleich, LIKE, UDT-Feldspeicherung, BYVAL-Parameter/Funktionsrueckgabe, LEN, WCHR$/ASCW, LEFT$/MID$/RIGHT$ und Abschneiden bei fester WSTRING-Laenge. Dies ist keine eigenstaendige COM-Automation-BSTR-ABI.

Praktische Verwendung

Verwenden Sie diese Schreibweise fuer wide-character String- oder Pufferdeklarationen, wenn UTF-16-kompatible Verarbeitung benoetigt wird. Pruefen Sie Zuweisung, Vergleich und eventuelle Abschneidung mit einem eigenen Test.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwechseln Sie diese Typkeywords nicht mit freien Bezeichnern oder Laufzeitwerten. Wenn der Zielkontext die Type-Position nicht erwartet, muss die Quelle entsprechend angepasst werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


WSTRINGZ - NUL-terminierten Wide-String deklarieren - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

WSTRINGZ - NUL-terminierten Wide-String deklarieren

Kind: PB-Keyword | Category: BASIC Frontend

Kategorie: Allgemeine Referenz

Syntax

LOCAL wz AS WSTRINGZ * 16

Beschreibung

Kind: PB-Keyword | Category: BASIC Frontend

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Detailverhalten

Fester Wide-Character-Puffer mit Nullterminator-Semantik, getestetem Abschneiden, BYREF-UDT-Feldaktualisierung, BYVAL-Parameteruebergabe, Funktionsrueckgabe-Kopie, Vergleich und LIKE. Festpuffer-Aufruf- und Rueckgabepfade behalten die deklarierte Pufferlaenge bei.

Praktische Verwendung

Verwenden Sie diese Schreibweise fuer wide-character String- oder Pufferdeklarationen, wenn UTF-16-kompatible Verarbeitung benoetigt wird. Pruefen Sie Zuweisung, Vergleich und eventuelle Abschneidung mit einem eigenen Test.

Verwenden Sie diese Seite als direkten Einstieg fuer die gezeigte Schreibweise, nicht als Ersatz fuer die breitere BASIC-Uebersicht. In einem Testprogramm sollten alle Eingaben vor dem gezeigten Befehl vorbereitet werden; danach muss ein Rueckgabewert, eine Ausgabe, ein geaenderter Zustand oder ein erwarteter Diagnosepfad geprueft werden. Bei Direktiven und eingebetteten Sprachbloecken gehoeren Anfangs- und Endmarker immer zusammen, damit der Scanner den Block eindeutig abgrenzen kann.

Fehlerfaelle

Verwechseln Sie diese Typkeywords nicht mit freien Bezeichnern oder Laufzeitwerten. Wenn der Zielkontext die Type-Position nicht erwartet, muss die Quelle entsprechend angepasst werden.

Grenzen

Diese Seite beschreibt die PBXB64-implementierte oder erkannte Keyword-Oberflaeche. Wenn eine breitere PowerBASIC-Form hier nicht gezeigt wird, benoetigt sie eigene Implementierung, Tests und Hilfe.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


Währung und erweiterte Währung - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Währung und erweiterte Währung

CURRENCY ist ein festkommaartiger 8-Byte-Zahlentyp, der mit 10.000 skaliert wird. CURRENCYX ist die 16-Byte-Erweiterung, wenn ein groesserer festkommaartiger Bereich benoetigt wird.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

CURRENCY ist ein festkommaartiger 8-Byte-Zahlentyp, der mit 10.000 skaliert wird. CURRENCYX ist die 16-Byte-Erweiterung, wenn ein groesserer festkommaartiger Bereich benoetigt wird.

Typ: Schlüsselwort | Kategorie: Datentypen

PBXB64-Status: VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Typ- und Speicherprüfung

CURRENCY speichert einen skalierten Ganzzahlwert in 8 Byte. CURRENCYX speichert die erweiterte Festkommaform in 16 Byte. Beide sind Wertetypen, daher verwenden Zuweisung, Vergleich und Prozedurübergabe die normalen numerischen Semantiken und keine Zeichenfolgenkonvertierung.

Deklarationsregeln

Verwenden Sie ausdrückliche AS CURRENCY- oder AS CURRENCYX-Deklarationen, wenn die Speicherform am Aufrufort klar sein soll. Die Suffixe sind @ für CURRENCY und @@ für CURRENCYX.

Praktische Verwendung

Verwenden Sie CURRENCY für geldnahe Werte mit vier festen Nachkommastellen und exakten Vergleichen. Verwenden Sie CURRENCYX, wenn Sie einen breiteren festkommaartigen Träger zum Rueckwandeln oder Konvertieren benoetigen.

Parameter und Ergebnisse

Numerische Ausdrücke werden bei diesen Typen vom Compiler/Laufzeitmodell skaliert. Behalten Sie die Skalierung im Blick, wenn Sie in und aus Bytefolgen konvertieren oder gegen literale Dezimalwerte vergleichen.

Validierungsbeleg

Validierungsbeleg: examples/basic/test_currency_float_cmp.pb belegt Zuweisung und Vergleich fuer den fokussierten CURRENCY-Umfang, und examples/basic/test_cv_word_currencyx.pb belegt die Little-Endian-Konvertierung in und aus CURRENCYX-kompatiblen Werten.

Test- und Dokumentationshinweise

Fuer einen kopierbaren Smoke-Test halten Sie das Beispiel klein, initialisieren Sie die Variable explizit und vergleichen Sie den gespeicherten Wert nach jedem Rechenschritt. Bei Byte-Konvertierung muessen sowohl Laenge als auch Byte-Reihenfolge vor dem Zahlenvergleich geprueft werden.

Beispiel

#COMPILE EXE
#DIM ALL
' numeric_currency_basic
FUNCTION PBMAIN() AS LONG
  LOCAL a AS CURRENCY
  a = 1.23
  IF (a) <> (12300) THEN FUNCTION = 1: EXIT FUNCTION
  a = a + 0.01
  IF (a) <> (12400) THEN FUNCTION = 2: EXIT FUNCTION
  a = a * 2
  IF (a) <> (24800) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


XPRINT ARC - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT ARC

Zeichnen Sie einen Bogen auf a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT ARC ( x1! , y1! ) - ( x2! , y2! ), arcStart! , arcEnd! [, r gbColor& ]

Beschreibung

Zeichnen Sie einen Bogen auf a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Bogen ist ein Abschnitt eines Kreises oder einer Ellipse. Um einen bestimmten Bogen anzugeben, definieren Sie zunächst den vollständigen Kreis oder die Ellipse, zu der er gehört, und geben dann die Punkte auf der Ellipse an, an denen der Bogen beginnt und endet.

Der Vollkreis oder die Ellipse wird durch sein Begrenzungsrechteck definiert, das das kleinste Rechteck ist, das um den Kreis oder die Ellipse gezeichnet werden kann. Wenn der Kreis beispielsweise an der Position (400.400) zentriert ist und einen Radius von 100 Pixeln hat, ist die obere linke Ecke (x1,y1) des Begrenzungsrechtecks ​​(300.300) und die untere rechte Ecke (x2,y2) ist (500.500).

Der Startpunkt und der Endpunkt des Bogens werden durch ihren Winkel angegeben, der im Bogenmaß angegeben werden muss. Ein vollständiger Kreis oder eine vollständige Ellipse hat ein Bogenmaß von 2*pi. Auf einem 12-Stunden-Zifferblatt beziehen sich die Werte 0 und 2*pi beide auf die Position 3 Uhr, während sich der Wert 1*pi auf die Position 9 Uhr bezieht. Andere Positionen werden durch einen Bogenmaßwert relativ zu diesen angegeben. In PowerBASIC werden Bögen immer gegen den Uhrzeigersinn vom Startpunkt zum Endpunkt gezeichnet.

Vor allen XPRINT-Vorgängen muss zunächst mit XPRINT ATTACH ein Host-Drucker ausgewählt werden. Die Koordinatenpunkte werden in Pixel (oder Weltkoordinaten, falls diese mit XPRINT SCALE ausgewählt wurden) angegeben. Die Linienbreite kann mit XPRINT WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit XPRINT STYLE festgelegt werden. Aufgrund der Art eines Bogens verwendet XPRINT ARC weder (letzter referenzierter Punkt) noch aktualisiert es ihn. Bei Ausführung ohne angeschlossenen Hostdrucker wird Fehler 57 generiert.

x1! , y1!

Die obere linke Ecke des umschließenden Rechtecks des Vollkreises oder der Ellipse.

x2! , y2!

Die untere rechte Ecke des Begrenzungsrechtecks des Vollkreises oder der Ellipse.

ArcStart!

Der Anfangswinkel des Bogens im Bogenmaß von 0 bis 2*pi.

ArcEnd!

Der Endwinkel des Bogens im Bogenmaß von 0 bis 2*pi im Bogenmaß. Beachten Sie, dass Bögen von arcStart aus immer gegen den Uhrzeigersinn gezeichnet werden! zu arcEnd! . Im Vergleich zu einem 12-Stunden-Zifferblatt liegt 0 oder 2*pi im Bogenmaß bei 3 Uhr und 1*pi im Bogenmaß bei 9 Uhr.

rgbColor&

Optionale RGB-Farbe für den Bogen. Wenn es weggelassen wird (oder -1), wird die aktuelle Vordergrundfarbe für die Hostdruckerseite verwendet.

PBXB64-Umsetzungshinweise

XPRINT ARC gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT ARC ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • Built In RGB Color Equates
  • XPRINT ATTACH
  • XPRINT COLOR
  • XPRINT ELLIPSE
  • XPRINT PIE
  • XPRINT STYLE
  • XPRINT WIDTH
  • Hilfe zum PBXB64-Compiler


XPRINT ATTACH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT ATTACH

Haengen Sie einen dateibasierten XPRINT-Stream an.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT ATTACH {DEFAULT | PrinterName$ } [, JobName$ ]
XPRINT ATTACH CHOOSE [USING Flags& ] [, JobName$ ]

Beschreibung

Haengen Sie einen dateibasierten XPRINT-Stream an.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT ATTACH öffnet den aktuellen XPRINT-Stream gegen einen Dateipfad und schließt eine vorherige XPRINT-Verbindung zuerst. Der fokussierte V14-Schnitt ist dateibasiert, nicht treiberbasiert: nachfolgende XPRINT-Ausgabe wird in die benannte Datei geschrieben, und XPRINT$ gibt den aktiven Anhangspfad zurück, solange der Stream offen ist.

Wenn der Pfadausdruck weggelassen wird, verwendet der Stream XPRN1 als Standardnamen. Wenn der Anhangsvorgang fehlschlägt, gibt XPRINT$ eine leere Zeichenfolge zurück.

Die breiteren Druckerdialog-Formen aus dem Syntaxblock, wie DEFAULT und CHOOSE, bleiben katalogisierte Kompatibilitätsformen und sind nicht Teil dieses fokussierten dateibasierten Schnitts.

PBXB64-Umsetzungshinweise

XPRINT ANHANG gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT ANHANG ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • LPRINT ATTACH
  • PRINTER$
  • XPRINT CANCEL
  • XPRINT CLOSE
  • XPRINT$
  • XPRINT GET PAGES
  • XPRINT(SELECTION)
  • Hilfe zum PBXB64-Compiler


XPRINT BOX - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT BOX

Zeichnen Sie einen Kasten mit quadratischen oder abgerundeten Ecken auf ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT BOX ( x1! , y1! ) - ( x2! , y2! ) [, [ corner& ] [, [ rgbColor& ] [, [ fillcolor& ] [, [ fillstyle& ]]]]]

Beschreibung

Zeichnen Sie einen Kasten mit quadratischen oder abgerundeten Ecken auf ein

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Vor allen XPRINT-Vorgängen muss zunächst mit XPRINT ATTACH ein Host-Drucker ausgewählt werden. Die Koordinatenpunkte werden in Pixel (oder Weltkoordinaten, falls diese mit XPRINT SCALE ausgewählt wurden) angegeben. Die Linienbreite kann mit XPRINT WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit XPRINT STYLE festgelegt werden. Aufgrund der Natur einer Box verwendet XPRINT BOX weder (letzter Punkt, auf den verwiesen wird) noch aktualisiert es ihn. Bei Ausführung ohne angeschlossenen Hostdrucker wird Fehler 57 generiert.

Windows-Grafikkonventionen betrachten die unteren und rechten Koordinaten einer BOX als exklusiv. Die Pixel am unteren und rechten Rand werden nicht gezeichnet, es sei denn, der ÜBERLAPPUNGSMODUS ist aktiviert. Weitere Informationen finden Sie unter XPRINT SET OVERLAP.

x1! , y1!

Die obere linke Ecke der Box.

x2! , y2!

Die untere rechte Ecke der Box.

Ecke&

Der Prozentsatz der Rundheit der Ecken im Bereich von 0 bis 100. Ein Wert von Null erzeugt quadratische Ecken, während 100 einen Kreis/ein Oval erzeugt. Für ein angenehmes, rundes Erscheinungsbild ist ein Wert von 20 am gebräuchlichsten. Wenn Corner& weggelassen wird, ist der Standardwert 0, wodurch ein Rechteck mit quadratischen Ecken erstellt wird.

rgbColor&

Optionale RGB-Farbe des Boxrandes. Wenn es weggelassen wird (oder -1), wird als Kantenfarbe standardmäßig die aktuelle Vordergrundfarbe für die Hostdruckerseite verwendet.

Füllfarbe&

Optionale RGB-Farbe des Boxinneren. Wenn fillcolor& weggelassen wird (oder -2), wird das Innere der Box nicht ausgefüllt, sodass der Hintergrund durchscheinen kann. Wenn fillcolor& -1 ist, wird der Innenraum mit der gleichen Farbe wie der Rand bemalt. Andernfalls gibt fillcolor& die zu verwendende RGB-Farbe an.

Füllstil&

Optionaler Füllstil (Muster), der verwendet werden soll. Wenn fillstyle& weggelassen wird, ist der Standardfüllstil „solid“ (0). Wenn ein Schraffurmuster ausgewählt wird (1 bis 6), wird die Vordergrundfarbe durch fillcolor& angegeben, während der Hintergrund durch die Standardhintergrundfarbe für die Hostdruckerseite angegeben wird. Der optionale Füllstil& kann sein:

Fest (Standard)

Horizontale Linien

Vertikale Linien

Nach oben gerichtete diagonale Linien

Abwärts gerichtete diagonale Linien

Gekreuzte Linien

Diagonal gekreuzte Linien

PBXB64-Umsetzungshinweise

XPRINT-BOX gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-BOX ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • Built In RGB Color Equates
  • XPRINT ATTACH
  • XPRINT COLOR
  • XPRINT LINE
  • XPRINT SET OVERLAP
  • XPRINT STYLE
  • XPRINT WIDTH
  • Hilfe zum PBXB64-Compiler


XPRINT CANCEL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT CANCEL

Brechen Sie einen Druckauftrag ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT CANCEL

Beschreibung

Brechen Sie einen Druckauftrag ab

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT CANCEL löscht den aktuellen Druckauftrag und trennt den Host-Drucker, solange XPRINT CLOSE noch nicht ausgeführt wurde. Diese Funktion wird im Allgemeinen verwendet, um den Druckvorgang abzubrechen, wenn ein Fehler auftritt.

XPRINT-Prüfung

XPRINT-Seiten sollen Druckerauswahl, Lebensdauer des Device Context, Seitenzustand, Koordinateneinheiten und die Frage nennen, ob der Befehl Vorschau, Rendering oder Druckerausgabe betrifft. Beispiele sollen sicher sein, wenn kein Standarddrucker installiert ist.

Fehlerfälle

Dokumentieren Sie abgebrochene Druckdialoge, nicht verfügbare Drucker, ungültige DC-Handles und nicht unterstützte Gerätefähigkeiten.

Cleanup

Schließen oder brechen Sie Druckjobs ausdrücklich ab und geben Sie angehängte Ressourcen vor Programmende frei.

PBXB64-Umsetzungshinweise

XPRINT ABBRECHEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT ABBRECHEN ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT CLOSE
  • Hilfe zum PBXB64-Compiler


XPRINT CLOSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT CLOSE

Schlie&szlig;en Sie den aktiven dateibasierten XPRINT-Stream.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT CLOSE

Beschreibung

Schließen Sie den aktiven dateibasierten XPRINT-Stream.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT CLOSE leert und schließt den aktuellen dateibasierten XPRINT-Anhang und setzt den aktiven XPRINT$-Zustand zurück. Verwenden Sie den Befehl nach dem letzten XPRINT-Ausdruck, damit gepufferte Daten sicher in die Datei geschrieben werden.

XPRINT-Prüfung

XPRINT-Seiten sollen Druckerauswahl, Lebensdauer des Device Context, Seitenzustand, Koordinateneinheiten und die Frage nennen, ob der Befehl Vorschau, Rendering oder Druckerausgabe betrifft. Beispiele sollen sicher sein, wenn kein Standarddrucker installiert ist.

Fehlerfälle

Dokumentieren Sie abgebrochene Druckdialoge, nicht verfügbare Drucker, ungültige DC-Handles und nicht unterstützte Gerätefähigkeiten.

Cleanup

Schließen oder brechen Sie Druckjobs ausdrücklich ab und geben Sie angehängte Ressourcen vor Programmende frei.

PBXB64-Umsetzungshinweise

XPRINT CLOSE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT CLOSE ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT CANCEL
  • Hilfe zum PBXB64-Compiler


XPRINT COLOR - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT COLOR

Stellen Sie den Vordergrund ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT COLOR foreground& [, background& ]

Beschreibung

Stellen Sie den Vordergrund ein

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Farben werden als RGB-Werte ausgedrückt, oder verwenden Sie -1 als Standardfarbe. Wenn der Hintergrundparameter -2 ist, wird der Hintergrund transparent gemacht. Wenn einer der Parameter -3 ist, wird die vorhandene Farbe nicht geändert. Ein Host-Drucker muss zunächst mit XPRINT ATTACH angeschlossen werden. Wenn kein Hostdrucker angeschlossen ist, wird Fehler 57 generiert.

XPRINT-Prüfung

XPRINT-Seiten sollen Druckerauswahl, Lebensdauer des Device Context, Seitenzustand, Koordinateneinheiten und die Frage nennen, ob der Befehl Vorschau, Rendering oder Druckerausgabe betrifft. Beispiele sollen sicher sein, wenn kein Standarddrucker installiert ist.

Fehlerfälle

Dokumentieren Sie abgebrochene Druckdialoge, nicht verfügbare Drucker, ungültige DC-Handles und nicht unterstützte Gerätefähigkeiten.

Cleanup

Schließen oder brechen Sie Druckjobs ausdrücklich ab und geben Sie angehängte Ressourcen vor Programmende frei.

PBXB64-Umsetzungshinweise

XPRINT-FARBE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-FARBE ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • Built In RGB Color Equates
  • XPRINT PRINT
  • XPRINT ATTACH
  • Hilfe zum PBXB64-Compiler


XPRINT COPY - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT COPY

Kopieren Sie ein Bitma

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT COPY hbmpSource??? , id& [, style& ]
XPRINT COPY hbmpSource??? , id& TO ( x! , y! ) [, style& ]
XPRINT COPY hbmpSource??? , id& , ( x1! , y1! )-( x2! , y2! ) TO ( x! , y! ) [, style% ]

Beschreibung

Kopieren Sie ein Bitma

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Sie können eine vollständige Bitmap oder einen Teil davon auf die Seite des Hostdruckers kopieren. Der Ausdruck hbmpSource??? Gibt das Handle der Quellbitmap oder des Quellfensters an. Der Ausdruck id& ist der eindeutige Bezeichner des Steuerelements im Bereich von 1 bis 65535, wie mit der CONTROL ADD GRAPHIC-Anweisung zugewiesen. id& muss für ein GRAFIKWINDOW oder eine Bitmap 0 sein. Das Ziel des Kopiervorgangs ist die Host-Druckerseite. Sie müssen darauf achten, dass Ihre Parameter für die angegebenen Bitmaps gültig sind, sonst sind die Ergebnisse der Operation undefiniert.

Die erste Form der XPRINT COPY-Anweisung kopiert die vollständige Bitmap und positioniert sie an (0,0), der oberen linken Ecke des Ziels.

Die zweite Form von XPRINT COPY kopiert ebenfalls die komplette Bitmap, positioniert sie jedoch an der durch den Parameter ( x! , y! ) angegebenen Stelle.

Die dritte Form kopiert einen Teil der Bitmap und positioniert sie an dem durch den Parameter ( x! , y! ) angegebenen Punkt. Wenn style& enthalten ist, ist es einer der folgenden Werte:

%mix_Blackness

Pixel ist immer 0 (schwarz).

%mix_NotMergeSrc

Pixel ist die Umkehrung der MergeSrc-Farbe.

%mix_MaskNotSrc

Pixel ist eine Kombination der Farben, die sowohl dem Pixel als auch der Umkehrung der Quelle gemeinsam sind.

%mix_NotCopySrc

Pixel ist die Umkehrung der Stiftfarbe.

%mix_MaskSrcNot

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch der Umkehrung des Pixels gemeinsam sind.

%mix_Not

Pixel ist die Umkehrung der Pixelfarbe.

%mix_XorSrc

Pixel ist eine Kombination der Farben in der Quelle und im Pixel, jedoch nicht in beiden.

%mix_NotMaskSrc

Pixel ist die Umkehrung der MaskSrc-Farbe.

%mix_MaskSrc

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch dem Pixel gemeinsam sind.

%mix_NotXorSrc

Pixel ist die Umkehrung der XorSrc-Farbe.

%mix_Nop

Pixel bleibt unverändert.

%mix_MergeNotSrc

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%mix_CopySrc

Pixel ist die Quellfarbe (Standard).

%mix_MergeSrcNot

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%mix_MergeSrc

Pixel ist eine Kombination aus der Quellfarbe und der Pixelfarbe.

%mix_Whiteness

Pixel ist immer 1 (weiß).

Ein Host-Drucker muss zunächst mit XPRINT ATTACH angeschlossen werden. Wenn kein Hostdrucker angeschlossen ist, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT-KOPIE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-KOPIE ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT RENDER
  • XPRINT STRETCH
  • XPRINT SET STRETCHMODE
  • Hilfe zum PBXB64-Compiler


XPRINT ELLIPSE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT ELLIPSE

Zeichnen Sie eine Ellipse oder einen Kreis auf a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT ELLIPSE ( x1! , y1! ) - ( x2! , y2! ) [, [ rgbColor& ] [, [ fillcolor &] [, [ fillstyle& ]]]]

Beschreibung

Zeichnen Sie eine Ellipse oder einen Kreis auf a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Host-Drucker muss zunächst mit XPRINT ATTACH angeschlossen werden. Die Koordinatenpunkte werden in Pixeln (oder Weltkoordinaten, wenn diese mit einer XPRINT SCALE-Anweisung definiert wurden) angegeben. Die Linienbreite kann mit XPRINT WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit XPRINT STYLE festgelegt werden. Aufgrund der Natur einer Ellipse, die keinen offensichtlichen Anfang oder Ende hat, verwendet XPRINT ELLIPSE weder den letzten referenzierten Punkt (POS) noch aktualisiert er ihn. Bei Ausführung ohne angeschlossenen Hostdrucker wird Fehler 57 generiert.

Das Koordinatenpaar definiert ein unsichtbares Begrenzungsrechteck, das die zu zeichnende Ellipse umschließt. Es gibt sowohl die Größe als auch die Proportionen der Ellipse an. Die Windows-Grafikkonventionen betrachten die unteren und rechten Koordinaten als exklusiv. Die Pixel am unteren und rechten Rand werden ignoriert, es sei denn, der Überlappungsmodus ist aktiviert. Weitere Informationen finden Sie unter XPRINT SET OVERLAP.

x1! , y1!

Die obere linke Ecke des umgrenzenden Rechtecks.

x2! , y2!

Die untere rechte Ecke des umgrenzenden Rechtecks.

rgbColor&

Optionale RGB-Farbe der Ellipsenkante. Wenn es weggelassen wird (oder -1), wird als Kantenfarbe standardmäßig die aktuelle Vordergrundfarbe für die Hostdruckerseite verwendet.

Füllfarbe&

Optionale RGB-Farbe des Ellipsen-Innenraums. Wenn fillcolor& weggelassen wird (oder -2), wird das Innere der Ellipse nicht ausgefüllt, sodass der Hintergrund durchscheinen kann. Wenn fillcolor& -1 ist, wird der Innenraum mit der gleichen Farbe wie der Rand bemalt. Andernfalls gibt fillcolor& die zu verwendende RGB-Farbe an.

Füllstil&

Optionaler Füllstil (Muster), der verwendet werden soll. Wenn fillstyle& weggelassen wird, ist der Standardfüllstil „solid“ (0). Wenn ein Schraffurmuster ausgewählt wird (1 bis 6), wird die Vordergrundfarbe durch fillcolor& angegeben, während der Hintergrund durch die Standardhintergrundfarbe für die Hostdruckerseite angegeben wird. Der optionale Füllstil& kann sein:

Fest (Standard)

Horizontale Linien

Vertikale Linien

Nach oben gerichtete diagonale Linien

Abwärts gerichtete diagonale Linien

Gekreuzte Linien

Diagonal gekreuzte Linien

PBXB64-Umsetzungshinweise

XPRINT ELLIPSE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT ELLIPSE ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • Built In RGB Color Equates
  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT COLOR
  • XPRINT LINE
  • XPRINT PIE
  • XPRINT SET OVERLAP
  • XPRINT STYLE
  • XPRINT WIDTH
  • Hilfe zum PBXB64-Compiler


XPRINT FORMFEED - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT FORMFEED

Schreiben Sie ein Formularvorschub-Byte in den aktiven XPRINT-Stream.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT FORMFEED

Beschreibung

Schreiben Sie ein Formularvorschub-Byte in den aktiven XPRINT-Stream.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT FORMFEED schreibt ASCII 12 in den aktiven dateibasierten XPRINT-Stream. In diesem fokussierten Schnitt ist das eine Byte-für-Byte-Streamoperation und kein Drucker-Gerätebefehl zum Seitenauswurf.

XPRINT-Prüfung

XPRINT-Seiten sollen Druckerauswahl, Lebensdauer des Device Context, Seitenzustand, Koordinateneinheiten und die Frage nennen, ob der Befehl Vorschau, Rendering oder Druckerausgabe betrifft. Beispiele sollen sicher sein, wenn kein Standarddrucker installiert ist.

Fehlerfälle

Dokumentieren Sie abgebrochene Druckdialoge, nicht verfügbare Drucker, ungültige DC-Handles und nicht unterstützte Gerätefähigkeiten.

Cleanup

Schließen oder brechen Sie Druckjobs ausdrücklich ab und geben Sie angehängte Ressourcen vor Programmende frei.

PBXB64-Umsetzungshinweise

XPRINT FORMFEED gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT FORMFEED ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT CLOSE
  • Hilfe zum PBXB64-Compiler


XPRINT GET MARGIN - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT GET MARGIN

Ruft die Randgr&ouml;&szlig;en der aktuellen XPRINT-Sitzung ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET MARGIN TO nLeft! , nTop! , nRight! , nBottom!

Beschreibung

Ruft die Randgrößen der aktuellen XPRINT-Sitzung ab.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET MARGIN liest die fokussierten Kompatibilitaets-Randwerte der aktuellen XPRINT-Sitzung. In dieser Toolchain sind die vier Ränder deterministisch und werden aus dem Sitzungszustand statt aus einem physischen Druckertreiber gelesen.

Die vier Werte werden in der Reihenfolge links, oben, rechts und unten zurückgegeben. Nach XPRINT ATTACH ist der fokussierte Kompatibilitaetszustand sofort verfuegbar, und die registrierte Regression prueft das Ruecklesen ohne Hostdrucker.

PBXB64-Umsetzungshinweise

XPRINT MARGIN ERHALTEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT MARGIN ERHALTEN ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(Client.X)
  • XPRINT(PPI.X)
  • XPRINT(SIZE.X)
  • Hilfe zum PBXB64-Compiler


XPRINT GET PAGES - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT GET PAGES

Ruft die fokussierte XPRINT-Seitenrange der aktuellen Sitzung ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET PAGES TO FromPage& , ToPage&

Beschreibung

Ruft die fokussierte XPRINT-Seitenrange der aktuellen Sitzung ab.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET PAGES liest den fokussierten Kompatibilitaets-Seitenbereich der aktuellen XPRINT-Sitzung. In dieser Toolchain sind die beiden Werte deterministisch und werden durch XPRINT SET PAGES aktualisiert, damit Tests den aktuellen Seitenbereich ohne echten Druckertreiber pruefen koennen.

Der erste Wert wird in FromPage& und der letzte Wert in ToPage& zurueckgegeben. Nach XPRINT ATTACH ist der fokussierte Zustand sofort verfuegbar, und die registrierte Regression prueft das Ruecklesen ohne Hostdrucker.

PBXB64-Umsetzungshinweise

XPRINT SEITEN ERHALTEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SEITEN ERHALTEN ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT-VORSCHAU
  • XPRINT(SELECTION)
  • XPRINT SET PAGES
  • Hilfe zum PBXB64-Compiler


XPRINT GET SCALE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT GET SCALE

Die aktuellen XPRINT-Skalierungsgrenzen abfragen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET SCALE TO x1! , y1! , x2! , y2!

Beschreibung

Die aktuellen XPRINT-Skalierungsgrenzen abfragen.

Typ: Anweisung | Kategorie: Benutzeroberfläche, Grafik und DDT

PBXB64-Status: VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit XPRINT SCALE wird das aktuelle Weltkoordinatensystem fuer die XPRINT-Sitzung gesetzt. Dieser fokussierte Slice speichert die vier Begrenzungen als Sitzungszustand, und XPRINT GET SCALE liest sie wieder in vier Zielvariablen zurück.

Nach XPRINT ATTACH ist der Standardwert 0, 0, 1, 1. Nach XPRINT SCALE gelten die zuletzt gesetzten Grenzen. XPRINT SCALE PIXELS setzt die Sitzung wieder auf Pixelkoordinaten zurück.

Praktische Verwendung

Verwenden Sie XPRINT GET SCALE, wenn eine Druck-/Zeichenroutine das aktuelle Seitenabbild vor dem Ausgeben pruefen muss. Der Befehl bewegt nichts; er kopiert die aktiven Skalierungsgrenzen nur in die vier Zielvariablen aus der Syntaxzeile.

Parameter und Zustand

Die vier Zielvariablen erhalten das aktuelle Drucker-Weltfenster. Die aktive Skalierung bleibt im Sitzungszustand erhalten, so dass ein vorheriger XPRINT SCALE-Aufruf bestimmt, was dieser Befehl zurueckliest. Der Befehl selbst aendert den Zustand nicht.

Parameter und Ergebnisse

Die vier Zielvariablen erhalten die Unter- und Obergrenzen des aktiven Weltfensters. Im Standardzustand ist das Ergebnis 0, 0, 1, 1. Nach einer benutzerdefinierten Skalierung oder einem Pixel-Reset zeigen die Werte den jeweiligen Sitzungszustand.

Fehler und Randfaelle

Verwenden Sie den Befehl nur nach dem Anhaengen eines Druckerkontexts. Ist der Kontext nicht vorhanden oder geschlossen, sind die Zielvariablen erst nach erneutem Anhaengen und Lesen des Sitzungszustands zu bewerten.

Validierungsbeleg

Validierungsbeleg: tests/pb/test_xprint_get_set_scale.pb belegt die Standardwerte der Sitzung, den Rundlauf einer benutzerdefinierten Skalierung und das Zurücksetzen mit XPRINT SCALE PIXELS.

Test- und Dokumentationshinweise

Ein brauchbares Beispiel haengt zuerst einen Druckerkontext an, setzt eine benutzerdefinierte Skalierung, liest sie zurueck, setzt auf Pixel zurueck und liest erneut. Genau dieser Lebenszyklus entspricht dem Aufbau einer echten Druckseiten-Routine.

XPRINT ATTACH "scale.tmp"
XPRINT GET SCALE TO x1, y1, x2, y2
XPRINT CLOSE

Beschreibung

XPRINT GET SCALE liest das aktuelle Koordinatensystem der Druckerseite in vier numerische Variablen zurueck. Die Seite dokumentiert das Standardergebnis in Pixeln, die Rueckgabe bei benutzerdefinierter Skalierung und die Bindung an den angehaengten XPRINT-Kontext.

Praktische Verwendung

Verwenden Sie XPRINT GET SCALE, wenn spaetere Zeichen- oder Textbefehle die aktive Druckerabbildung kennen muessen, bevor sie Koordinaten berechnen. Das Ergebnis ist nur nach XPRINT ATTACH sinnvoll und sollte nach jedem XPRINT SCALE- oder XPRINT SCALE PIXELS-Aufruf erneut geprueft werden.

Parameter und Zustand

Die vier Zielvariablen erhalten die aktuellen Werte fuer die linke untere und rechte obere Ecke. Die fokussierte Regression zeigt, dass die Standardwerte 0, 0, 1, 1 sind, dass eine benutzerdefinierte Gleitkomma-Skalierung genau genug fuer den Rueckweg erhalten bleibt und dass das Pixel-Reset die Standardskalierung wiederherstellt.

Fehler und Randfaelle

Wenn kein Druckerkontext angehaengt ist, ist das Ergebnis fuer diese Oberflaeche ungueltig und der Aufrufer sollte den Aufruf als Fehler behandeln. Pruefen Sie den angehaengten Zustand immer zuerst und kombinieren Sie diese Abfrage mit XPRINT SCALE oder XPRINT SCALE PIXELS, wenn der Code von der aktuellen Abbildung abhaengt.

Validierungsbeleg

Validation evidence: tests/pb/test_xprint_get_set_scale.pb bestaetigt die Standardskalierung in Pixeln, die benutzerdefinierte Weltkoordinatenskalierung und die Rueckkehr zu Pixelkoordinaten nach XPRINT SCALE PIXELS.

Test- und Dokumentationshinweise

Das Beispiel sollte mit einem temporaer angehaengten Druckziel laufen und die von XPRINT GET SCALE zurueckgegebenen Werte in jedem Schritt pruefen, nicht nur den Endzustand.

Siehe auch

  • XPRINT SCALE
  • Hilfe zum PBXB64-Compiler


XPRINT IMAGELIST - Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT IMAGELIST - Hilfe zum PBXB64-Compiler

Druckt ein Bild von einem

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT IMAGELIST ( x! , y! ), hLst , index& , overlay& , style&

Beschreibung

Druckt ein Bild von einem

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eines der in einer IMAGELIST gespeicherten Bilder wird auf dem angeschlossenen Hostdrucker gedruckt. Die Parameter x! , y! Definieren Sie die obere linke Ecke der Position des Bildes. hLst ist das Handle der IMAGELIST und index& ist der Selektor des anzuzeigenden Bildes (1=erstes, 2=zweite usw.). Wenn overlay& ungleich Null ist, gibt es ein Overlay-Bild an, das dem gedruckten Bild aus der Bildliste hinzugefügt werden soll. Der Parameter style& kann eines der folgenden Stilbits sein:

%ILD_NORMAL

Zeichnet das Bild mit der Hintergrundfarbe der Bildliste. Wenn die Hintergrundfarbe den Standardwert %CLR_NONE hat (definiert in der Datei Commctrl.inc), wird das Bild transparent gezeichnet.

%ILD_TRANSPARENT

Zeichnet das Bild transparent, wenn eine Maske vorhanden ist.

%ILD_MASK

Zeichnet die Maske.

%ILD_BLEND25

Wenn eine Maske vorhanden ist, wird das Bild mit einer Mischung von 25 % mit der Systemhervorhebungsfarbe gezeichnet.

%ILD_BLEND50

Wenn eine Maske vorhanden ist, wird das Bild zu 50 % mit der Hervorhebungsfarbe des Systems gemischt gezeichnet.

PBXB64-Umsetzungshinweise

XPRINT-BILDLISTE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-BILDLISTE ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • IMAGELIST BITMAP HINZUFÜGEN
  • Hilfe zum PBXB64-Compiler


XPRINT LINE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT LINE

Zeichne eine Linie auf a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT LINE [STEP] [( x1! , y1! )] - [STEP] ( x2! , y2! )[, rgbColor& ]

Beschreibung

Zeichne eine Linie auf a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Linie wird vom ersten Punkt bis zum zweiten Punkt gezeichnet, jedoch nicht einschließlich. Koordinatenpunkte werden in Pixel angegeben, es sei denn, optionale Weltkoordinaten wurden mit einer XPRINT SCALE-Anweisung definiert. Die Linienbreite kann mit XPRINT WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit XPRINT STYLE festgelegt werden. Bei Ausführung ohne angeschlossenen Hostdrucker wird Fehler 57 generiert.

Die Grafikkonventionen von Windows betrachten die endgültigen x2- und y2-Koordinaten als exklusiv. Daher wird das letzte Pixel standardmäßig nicht gezeichnet, es sei denn, der Überlappungsmodus ist aktiviert. Weitere Informationen finden Sie unter XPRINT SET OVERLAP.

x1! , y1!

Optionale Werte, die den Startpunkt der Linie definieren. Wenn dieser optionale erste Punkt weggelassen wird, beginnt die Zeile am letzten Punkt, auf den in einer vorhergehenden Anweisung verwiesen wird (POS). Wenn die erste STEP-Option enthalten ist, ist das x1! und y1! Die Startkoordinaten beziehen sich auf den letzten Referenzpunkt (POS) auf der Seite des Hostdruckers.

x2! , y2!

Der Endpunkt der Linie. Wenn die zweite STEP-Option enthalten ist, ist das x2! und y2! Endkoordinaten sind relativ zu den Startkoordinaten.

rgbColor&

Optionaler RGB-Farbwert für die Linie. Wenn rgbColor& weggelassen wird (oder -1), wird als Linienfarbe standardmäßig die aktuelle Vordergrundfarbe für die Hostdruckerseite verwendet.

PBXB64-Umsetzungshinweise

XPRINT-LINIE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-LINIE ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • Built In RGB Color Equates
  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT BOX
  • XPRINT COLOR
  • XPRINT ELLIPSE
  • XPRINT PIE
  • XPRINT POLYGON
  • XPRINT POLYLINE
  • XPRINT SET MIX
  • XPRINT SET OVERLAP
  • XPRINT STYLE
  • XPRINT WIDTH
  • Hilfe zum PBXB64-Compiler


XPRINT PIE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT PIE

Zeichnen Sie einen Kreisabschnitt auf a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT PIE ( x1! , y1! ) - ( x2! , y2! ), arcStart! , arcEnd! [, [ rgbColor& ] [, [ fillcolor& ] [, [ fillstyle& ]]]]

Beschreibung

Zeichnen Sie einen Kreisabschnitt auf a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Kreisabschnitt ist ein Bogen, bei dem von jedem Endpunkt eine Linie zum Mittelpunkt des Kreises oder der Ellipse gezogen wird. Um einen Kreisabschnitt festzulegen, definieren Sie zunächst den vollständigen Kreis oder die Ellipse, zu der er gehört, und geben dann die Punkte auf der Ellipse an, an denen der Bogen beginnt und endet.

Der Vollkreis oder die Ellipse wird durch sein umschließendes Rechteck definiert, das als das kleinste Rechteck definiert ist, das um den Kreis oder die Ellipse herum gezeichnet werden kann. Wenn der Kreis beispielsweise an der Position (400.400) zentriert ist und einen Radius von 100 Pixeln hat, ist die obere linke Ecke (x1,y1) des Begrenzungsrechtecks ​​(300.300) und die untere rechte Ecke (x2,y2) ist (500.500).

Der Startpunkt und der Endpunkt des Bogens werden durch ihren Winkel angegeben, der im Bogenmaß angegeben werden muss. Ein vollständiger Kreis oder eine vollständige Ellipse hat ein Bogenmaß von 2*pi. Auf einem 12-Stunden-Zifferblatt beziehen sich die Werte 0 und 2*pi beide auf die Position 3 Uhr, während sich der Wert 1*pi auf die Position 9 Uhr bezieht. Andere Positionen werden durch einen Bogenmaßwert relativ zu diesen angegeben. In PowerBASIC werden Bögen immer gegen den Uhrzeigersinn vom Startpunkt zum Endpunkt gezeichnet.

Vor allen XPRINT-Vorgängen muss zunächst mit XPRINT ATTACH ein Host-Drucker ausgewählt werden. Die Koordinatenpunkte werden in Pixel (oder Weltkoordinaten, falls diese mit XPRINT SCALE ausgewählt wurden) angegeben. Die Linienbreite kann mit XPRINT WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit XPRINT STYLE festgelegt werden. Aufgrund der Natur eines Kreisabschnitts verwendet XPRINT PIE weder (letzter Punkt, auf den verwiesen wird) noch aktualisiert es ihn. Bei Ausführung ohne angeschlossenen Hostdrucker wird Fehler 57 generiert.

x1! , y1!

Die obere linke Ecke des umschließenden Rechtecks des Vollkreises oder der Ellipse.

x2! , y2!

Die untere rechte Ecke des Begrenzungsrechtecks des Vollkreises oder der Ellipse.

ArcStart!

Der Anfangswinkel des Bogens im Bogenmaß von 0 bis 2*pi.

ArcEnd!

Der Endwinkel des Bogens im Bogenmaß von 0 bis 2*pi im Bogenmaß. Beachten Sie, dass Bögen von arcStart aus immer gegen den Uhrzeigersinn gezeichnet werden! zu arcEnd! . Im Vergleich zu einem 12-Stunden-Zifferblatt liegt 0 oder 2*pi im Bogenmaß bei 3 Uhr und 1*pi im Bogenmaß bei 9 Uhr.

rgbColor&

Optionale RGB-Farbe des Tortenrandes. Wenn es weggelassen wird (oder -1), wird als Kantenfarbe standardmäßig die aktuelle Vordergrundfarbe für die Hostdruckerseite verwendet.

Füllfarbe&

Optionale RGB-Farbe des Kucheninneren. Wenn fillcolor& weggelassen wird (oder -2), wird das Innere des Kreises nicht ausgefüllt, sodass der Hintergrund durchscheinen kann. Wenn fillcolor& -1 ist, wird der Innenraum mit der gleichen Farbe wie der Rand bemalt. Andernfalls gibt fillcolor& die zu verwendende RGB-Farbe an.

Füllstil&

Optionaler Füllstil (Muster), der verwendet werden soll. Wenn fillstyle& weggelassen wird, ist der Standardfüllstil „solid“ (0). Wenn ein Schraffurmuster ausgewählt wird (1 bis 6), wird die Vordergrundfarbe durch fillcolor& angegeben, während der Hintergrund durch die Standardhintergrundfarbe für die Hostdruckerseite angegeben wird. Der optionale Füllstil& kann sein:

Fest (Standard)

Horizontale Linien

Vertikale Linien

Nach oben gerichtete diagonale Linien

Abwärts gerichtete diagonale Linien

Gekreuzte Linien

Diagonal gekreuzte Linien

PBXB64-Umsetzungshinweise

XPRINT PIE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT PIE ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • Built In RGB Color Equates
  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT BOX
  • XPRINT COLOR
  • XPRINT ELLIPSE
  • XPRINT LINE
  • XPRINT STYLE
  • XPRINT WIDTH
  • Hilfe zum PBXB64-Compiler


XPRINT POLYGON - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT POLYGON

Zeichnen Sie ein Polygon auf a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT POLYGON points [, [ rgbColor& ] [, [ fillcolor& ] [, [ fillstyle& ] [, fillmode& ]]]]

Beschreibung

Zeichnen Sie ein Polygon auf a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Koordinatenpunkte werden in Pixel angegeben, es sei denn, optionale Weltkoordinaten wurden mit einer XPRINT SCALE-Anweisung definiert. Die Linienbreite kann mit XPRINT WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit XPRINT STYLE festgelegt werden. XPRINT POLYGON verwendet oder aktualisiert den letzten referenzierten Punkt (POS) weder. Bei Ausführung ohne angeschlossenen Hostdrucker wird Fehler 57 generiert.

Punkte

Benutzerdefinierter Typ, der die Anzahl der Scheitelpunkte und deren Position definiert. Es müssen mindestens zwei und nicht mehr als 1024 Scheitelpunkte vorhanden sein. Das erste Element ist eine lange Ganzzahl-Punktzahl, direkt gefolgt von der entsprechenden Anzahl von Gleitkommazahlen mit einfacher Genauigkeit, um die tatsächlichen Koordinaten anzugeben. Gleitkommakoordinaten sind erforderlich, da sie mit XPRINT SCALE als Weltkoordinaten verwendet werden können. Sie können einen Typ mit einer Skalarliste wie folgt verwenden:

TYP PolyPoints

als lang zählen

x1 als Single

y1 als Single

x2 als Single

y2 als Single

x3 als Single

y3 als Single

END-TYP

Oder Sie können ein Array mithilfe von Punkttypen erstellen, etwa so:

TYP PolyPoint

x als Single

y als Single

END-TYP

TYP PolyArray

als lang zählen

xy(1 TO 3) als PolyPoint

END-TYP

rgbColor&

Optionale RGB-Farbe der Polygonkante. Wenn es weggelassen wird (oder -1), wird als Kantenfarbe standardmäßig die aktuelle Vordergrundfarbe für die Hostdruckerseite verwendet.

Füllfarbe&

Optionale RGB-Farbe des Polygoninneren. Wenn fillcolor& weggelassen wird (oder -2), wird das Innere der Ellipse nicht ausgefüllt, sodass der Hintergrund durchscheinen kann. Wenn fillcolor& -1 ist, wird der Innenraum mit der gleichen Farbe wie der Rand bemalt. Andernfalls gibt fillcolor& die zu verwendende RGB-Farbe an.

Füllstil&

Optionaler Füllstil (Muster), der verwendet werden soll. Wenn fillstyle& weggelassen wird, ist der Standardfüllstil „solid“ (0). Wenn ein Schraffurmuster ausgewählt wird (1 bis 6), wird die Vordergrundfarbe durch fillcolor& angegeben, während der Hintergrund durch die Standardhintergrundfarbe für die Hostdruckerseite angegeben wird. Der optionale Füllstil& kann sein:

Fest (Standard)

Horizontale Linien

Vertikale Linien

Nach oben gerichtete diagonale Linien

Abwärts gerichtete diagonale Linien

Gekreuzte Linien

Diagonal gekreuzte Linien

Füllmodus&

Fehlt fillmode& (oder Null), wird der Wickelmodus ausgewählt. Dadurch wird jeder Bereich mit einem Wicklungswert ungleich Null gefüllt. Wenn fillmode& ungleich Null ist, wird der alternative Modus ausgewählt. Dadurch wird der Bereich zwischen ungeraden und geraden Polygonseiten auf jeder Scanlinie ausgefüllt. Das heißt, es füllt den Bereich zwischen der ersten Seite und der zweiten Seite, zwischen der dritten Seite und der vierten Seite usw. aus.

PBXB64-Umsetzungshinweise

XPRINT-POLYGON gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-POLYGON ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • Built In RGB Color Equates
  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT BOX
  • XPRINT COLOR
  • XPRINT ELLIPSE
  • XPRINT LINE
  • XPRINT POLYLINE
  • Hilfe zum PBXB64-Compiler


XPRINT POLYLINE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT POLYLINE

Zeichnen Sie eine Reihe verbundener Linien auf a

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT POLYLINE points [ , rgbColor& ]

Beschreibung

Zeichnen Sie eine Reihe verbundener Linien auf a

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Koordinatenpunkte werden in Pixel angegeben, es sei denn, optionale Weltkoordinaten wurden mit einer XPRINT SCALE-Anweisung definiert. Die Linienbreite kann mit XPRINT WIDTH eingestellt werden. Wenn die Linienbreite auf 1 eingestellt ist (Standardeinstellung), kann der Linienstil mit XPRINT STYLE festgelegt werden. XPRINT POLYLINE verwendet oder aktualisiert den letzten referenzierten Punkt (POS) weder. Bei Ausführung ohne angeschlossenen Hostdrucker wird Fehler 57 generiert.

Die Grafikkonventionen von Windows betrachten die endgültigen x2- und y2-Koordinaten als exklusiv. Daher wird das letzte Pixel standardmäßig nicht gezeichnet, es sei denn, der Überlappungsmodus ist aktiviert. Weitere Informationen finden Sie unter XPRINT SET OVERLAP.

Punkte

Benutzerdefinierter Typ, der die Anzahl der Scheitelpunkte und deren Position definiert. Es müssen mindestens zwei und nicht mehr als 1024 Scheitelpunkte vorhanden sein. Das erste Element ist eine lange Ganzzahl-Punktzahl, direkt gefolgt von der entsprechenden Anzahl von Gleitkommazahlen mit einfacher Genauigkeit, um die tatsächlichen Koordinaten anzugeben. Gleitkommakoordinaten sind erforderlich, da sie mit SCALE als Weltkoordinaten verwendet werden können. Sie können einen Typ mit einer Skalarliste wie folgt verwenden:

TYP PolyPoints

als lang zählen

x1 als Single

y1 als Single

x2 als Single

y2 als Single

x3 als Single

y3 als Single

END-TYP

Oder Sie können ein Array mithilfe von Punkttypen erstellen, etwa so:

TYP PolyPoint

x als Single

y als Single

END-TYP

TYP PolyArray

als lang zählen

xy(1 TO 3) als PolyPoint

END-TYP

rgbColor&

Optionale RGB-Farbe der Polygonkante. Wenn es weggelassen wird (oder -1), wird als Kantenfarbe standardmäßig die aktuelle Vordergrundfarbe für die Hostdruckerseite verwendet.

PBXB64-Umsetzungshinweise

XPRINT POLYLINE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT POLYLINE ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • Built In RGB Color Equates
  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT BOX
  • XPRINT COLOR
  • XPRINT ELLIPSE
  • XPRINT LINE
  • XPRINT POLYGON
  • XPRINT SET OVERLAP
  • XPRINT STYLE
  • XPRINT WIDTH
  • Hilfe zum PBXB64-Compiler


XPRINT PRINT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT PRINT

Schreiben Sie formatierten Text in den aktiven XPRINT-Stream.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT PRINT [ EXPRLIST ] [POS( n )] [SPC( n )] [TAB( n )] [,] [;]...
XPRINT [ EXPRLIST ] [POS( n )] [SPC( n )] [TAB( n )] [,] [;]...

Beschreibung

Schreiben Sie formatierten Text in den aktiven XPRINT-Stream.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Vor allen XPRINT-Vorgängen sollten Sie sicherstellen, dass XPRINT ATTACH einen Stream geöffnet hat. Im fokussierten V14-Schnitt schreibt XPRINT PRINT in den aktiven dateibasierten XPRINT-Stream und behält das bisherige Trennzeichenverhalten für Zeichenfolgen- und numerische Ausdruckslisten bei.

XPRINT PRINT besteht aus den folgenden Teilen, die in beliebiger Reihenfolge und Menge in einer einzigen Anweisung vorkommen können:

EXPRLISTE

Zeichenfolge und/oder numerische Ausdrücke, die in den aktiven XPRINT-Stream geschrieben werden. Ein Semikolon kann als Trennzeichen zwischen mehreren Ausdrücken in derselben Anweisung verwendet werden. Nach Abschluss wird der POS an den linken Rand der nächsten Zeile verschoben.

POS(n)

Eine optionale Funktion, die verwendet wird, um den POS auf die horizontale Seiteneinheit (Pixel, skalierte Einheit usw.) festzulegen, die durch das numerische Argument angegeben wird. Mehrere Verwendungen der POS-Funktion sind in einer einzigen Anweisung zulässig. Die vertikale Position bleibt unverändert.

SPC( n )

Eine optionale Funktion zum Einfügen von n Leerzeichen in die gedruckte Ausgabe. Die mehrfache Verwendung von SPC ist in einer einzigen Anweisung zulässig. Werte von n kleiner als 1 werden ignoriert.

TAB( n )

Eine optionale Funktion, die verwendet wird, um mit der Tabulatortaste zur n-ten Spalte zu wechseln, bevor der nächste Ausdruck gedruckt wird. Die mehrfache Verwendung von TAB in einer einzigen Anweisung ist zulässig. Da TAB auf Spalten und nicht auf Pixel verweist, kann es bei Verwendung mit einer Schriftart mit variabler Breite zu unvorhersehbaren Ergebnissen führen. Es wird am besten mit einer Schriftart mit fester Breite verwendet.

Sonderzeichen, die die Position des nächsten gedruckten Textelements bestimmen. Ein Semikolon (;) bedeutet, dass das nächste Textelement sofort gedruckt wird; Ein Komma (,) bedeutet, dass das nächste Textelement am Anfang der nächsten Druckzone gedruckt wird. Druckzonen beginnen alle 14 Spalten.

Wenn das letzte Argument ein Semikolon oder Komma ist, wird die Position an der aktuellen Position beibehalten und nicht standardmäßig an den Anfang der nächsten Zeile verschoben. Zum Beispiel:

XPRINT PRINT „Hallo“;

XPRINT PRINT „Welt!“;

...erzeugt das zusammenhängende Ergebnis „Hallo Welt!“

Wenn Sie alle Argumente weglassen, verschiebt XPRINT PRINT das POS einfach an den linken Rand der nächsten Zeile. Im dateibasierten Schnitt ist XPRINT FORMFEED das separate Byte-Markierungszeichen für einen Seitenumbruch; Wagenrücklauf, Zeilenvorschub und Rücktaste in Ausdruckstext werden als normale Zeichen geschrieben.

USING$ ist eine separate Funktion, die in die ExprList eingebunden werden kann. Weitere Informationen finden Sie in der Funktion USING$().

Es ist nicht möglich, einen benutzerdefinierten Typ (UDT), eine Variante, eine Objektvariable oder ein ganzes Array zu drucken. Einzelne Elementwerte müssen mit der entsprechenden Funktion extrahiert werden, bevor sie angezeigt werden können.

PBXB64-Umsetzungshinweise

XPRINT PRINT gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT PRINT ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • SCHRIFTART NEU
  • LPRINT$
  • XPRINT ATTACH
  • XPRINT(COL)
  • XPRINT(Chr.Size.X)
  • XPRINT COLOR
  • XPRINT CLOSE
  • XPRINT SET FONT
  • XPRINT(POS.X)
  • XPRINT SET POS
  • XPRINT SET WORDWRAP
  • XPRINT SET WRAP
  • XPRINT SPLIT
  • XPRINT(TEXT.SIZE.X...)
  • Hilfe zum PBXB64-Compiler


XPRINT RENDER - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT RENDER

Rendern Sie ein Bild auf einem

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT RENDER BmpName$ , ( x1! , y1! )-( x2! , y2! )

Beschreibung

Rendern Sie ein Bild auf einem

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Rendert ein Bild (Bitmap oder Symbol), das von einer Ressource oder einer Festplattendatei geladen wird, auf einer Hostdruckerseite. Der Parameter BmpName$ enthält den Namen des zu ladenden Bildes. Wenn BmpName$ einen Punkt enthält, wird davon ausgegangen, dass es sich um den Namen einer Festplattendatei handelt. Andernfalls wird versucht, es aus den Ressourcendaten des Programms zu laden; Wenn sie nicht gefunden wird, wird davon ausgegangen, dass es sich um eine Festplattendatei handelt. Die Parameter x1!,y1! Definieren Sie die obere linke Ecke des Zielrechtecks, während x2!,y2! Definieren Sie die untere rechte Ecke dieses Rechtecks. Wenn das Zielrechteck größer oder kleiner als das Original ist, wird das Bild auf die gewünschte Größe gestreckt oder gestaucht. Wenn XPRINT RENDER nicht erfolgreich ist, wird ein entsprechender Fehler generiert.

Der folgende Code ruft die natürliche Größe eines Bildes in einer Bitmap-Datei in Pixel ab:

nFile& = FREEFILE

OPEN Sie „myimage.bmp“ FOR BINARY AS nFile&

GET #nFile&, 19, nWidth&

GET #nFile&, 23, nHeight&

SCHLIEßEN nDatei&

PBXB64-Umsetzungshinweise

XPRINT RENDER gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT RENDER ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT COPY
  • XPRINT STRETCH
  • XPRINT SET STRETCHMODE
  • Hilfe zum PBXB64-Compiler


XPRINT SCALE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SCALE

Die aktuellen XPRINT-Skalierungsgrenzen setzen oder zur&uuml;cksetzen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SCALE ( x1! , y1! )-( x2! , y2! )
XPRINT SCALE PIXELS

Beschreibung

Die aktuellen XPRINT-Skalierungsgrenzen setzen oder zurücksetzen.

Typ: Anweisung | Kategorie: Benutzeroberfläche, Grafik und DDT

PBXB64-Status: VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT SCALE speichert die aktuellen Weltkoordinaten-Grenzen fuer die aktive XPRINT-Sitzung. Die Grenzen bleiben im Sitzungszustand erhalten, bis sie geaendert oder die Druckersitzung getrennt wird.

XPRINT SCALE PIXELS setzt die gespeicherten Grenzen auf den Standardbereich 0, 0, 1, 1 zurück. XPRINT GET SCALE liest die aktuellen Werte wieder in vier Zielvariablen ein.

Praktische Verwendung

Verwenden Sie XPRINT SCALE unmittelbar nach dem Anhaengen eines Druckerkontexts und vor dem Drucken von Seiteninhalten. Halten Sie die Grenzen in denselben Einheiten wie das gewuenschte Seitenlayout und lesen Sie sie mit XPRINT GET SCALE zurueck, wenn Sie die aktuelle Zuordnung bestaetigen wollen.

Parameter und Zustand

Die vier Koordinaten definieren das aktive Drucker-Weltfenster. Die Sitzung haelt diese Grenzen, bis ein anderer Skalenbefehl sie ersetzt oder der Druckerkontext schliesst. Abfrageformen lesen diesen Zustand nur zurueck; sie verschieben weder Ausgabe noch Inhalt der Seite.

Parameter und Ergebnisse

Die vier Koordinaten definieren das aktive Weltfenster fuer den Drucker. Die Anweisung liefert keinen Rueckgabewert, sondern aendert den Sitzungszustand, den spaetere XPRINT GET SCALE-Aufrufe lesen koennen. XPRINT SCALE PIXELS ist der Ruecksetzpfad.

Fehler und Randfaelle

Verwenden Sie den Befehl nur mit angehaengtem Druckerkontext. Ist der Kontext nicht vorhanden oder bereits geschlossen, koennen spaetere Rueckgabewerte die Standardgrenzen liefern oder Zielvariablen unveraendert lassen, je nach Sitzungszustand.

Validierungsbeleg

Validierungsbeleg: tests/pb/test_xprint_get_set_scale.pb belegt die Standardwerte der Sitzung, den Rundlauf einer benutzerdefinierten Skalierung und das Zurücksetzen mit XPRINT SCALE PIXELS.

Test- und Dokumentationshinweise

Ein brauchbares Beispiel haengt zuerst einen Druckerkontext an, setzt eine benutzerdefinierte Skalierung, liest sie zurueck, setzt auf Pixel zurueck und liest erneut. Genau dieser Lebenszyklus entspricht dem Aufbau einer echten Druckseiten-Routine.

XPRINT ATTACH "scale.tmp"
XPRINT SCALE (10, 20) - (30, 40)
XPRINT GET SCALE TO x1, y1, x2, y2

Beschreibung

XPRINT SCALE setzt das aktive Koordinatensystem der Druckerseite fuer den angehaengten XPRINT-Kontext. Die Seite dokumentiert die exakten numerischen Grenzen, die PBXB64 akzeptiert, den geaenderten Laufzeitzustand und den Rueckweg zu Pixelkoordinaten.

Praktische Verwendung

Verwenden Sie XPRINT SCALE nach XPRINT ATTACH und vor den Zeichen- oder Textbefehlen, die benutzerdefinierte Weltkoordinaten verwenden sollen. Der angehaengte Druckerkontext behaelt die Skalierung, bis sie erneut gesetzt, mit XPRINT SCALE PIXELS zurueckgesetzt oder geschlossen wird.

Parameter und Zustand

Die Koordinatenpaare beschreiben die linke untere und rechte obere Ecke der aktuellen Weltansicht. Die fokussierte Validierung zeigt, dass der Standardzustand Pixel ist, benutzerdefinierte Gleitkomma-Koordinaten erhalten bleiben und XPRINT SCALE PIXELS das Standard-Mapping 0..1 wiederherstellt.

Fehler und Randfaelle

Die getestete Oberflaeche lehnt einen fehlenden angehaengten Drucker und gleiche Koordinatenpaare ab. Halten Sie alle vier Werte im Beispiel explizit und lesen Sie die Skalierung mit XPRINT GET SCALE zurueck, wenn das Programm vom aktuellen Druckerzustand abhaengt.

Validierungsbeleg

Validation evidence: tests/pb/test_xprint_get_set_scale.pb prueft die Standardskalierung, eine benutzerdefinierte Skalierung (10.5, 20.25)-(110.75, 220.125) und den Rueckweg zu Pixeln nach XPRINT SCALE PIXELS.

Test- und Dokumentationshinweise

Das Beispiel ist bewusst selbstaufräumend: Es haengt ein temporaeres Druckziel an, prueft die Skalierungs-Rueckgabe, schliesst den Druckerkontext und entfernt die temporaere Datei.

Siehe auch

  • XPRINT ATTACH
  • XPRINT GET SCALE
  • XPRINT SET OVERLAP
  • Hilfe zum PBXB64-Compiler


XPRINT SET CLIP - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET CLIP

Legt R&auml;nder um die Au&szlig;enkanten der Druckseite fest.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET CLIP LeftMargin! , TopMargin! , RightMargin! , BottomMargin!

Beschreibung

Legt Ränder um die Außenkanten der Druckseite fest.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Anweisung legt Ränder auf einer oder allen Seiten des ausgewählten Druckers fest. Alle nachfolgenden XPRINT-Operationen werden an diesen Grenzen „beschnitten“, sodass kein zusätzlicher Text oder Grafiken in diese geschützten Bereiche geschrieben werden.

Jeder der 4 Parameter wird in den aktuell gültigen PAGE UNITS angegeben. Da sich dadurch jedoch der für Sie verfügbare Zielraum ändert, werden die Seiteneinheiten sofort auf Pixel/Punkte gesetzt. Die obere linke Ecke des Clip-Bereichs wird nun als Punkt (0,0) angesprochen, während die rechte und untere Grenze um die Größe der Ränder reduziert werden. Wenn Sie für diesen überarbeiteten Clipbereich lieber neue skalierte Seiteneinheiten verwenden möchten, müssen Sie ein neues XPRINT SCALE ausführen.

XPRINT SET CLIP ist besonders nützlich für die Anzeige von Text, wo das Einschließen von „Leerzeichen“ das Erscheinungsbild erheblich verbessert.

Sie können einen Clip-Bereich deaktivieren, indem Sie XPRINT SET CLIP 0,0,0,0 ausführen.

PBXB64-Umsetzungshinweise

XPRINT SET CLIP gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SET CLIP ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT(CANVAS.X)
  • XPRINT(Client.X)
  • XPRINT GET SCALE
  • XPRINT SCALE
  • Hilfe zum PBXB64-Compiler


XPRINT SET COLLATE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET COLLATE

&Auml;ndern Sie den Sortierstatus von XPRINT.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET COLLATE numrexp

Beschreibung

Ändern Sie den Sortierstatus von XPRINT.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit XPRINT können Sie den Sortierstatus festlegen, wenn der Druckertreiber sowohl Mehrfachkopien als auch die Sortierfunktion unterstützt. XPRINT SET COLLATE aktiviert oder deaktiviert das Sortieren, abhängig vom Wert von numrexp (1=wahr, 0=falsch). Um den möglichen Status symbolisch darzustellen, sind im Compiler folgende Equates vordefiniert:

%DMCOLLATE_FALSE = 0

%DMCOLLATE_TRUE = 1

Wenn der Drucker das Sortieren nicht unterstützt oder andere Werte verwendet werden, wird Fehler 5 generiert. Wenn diese Anweisung ohne angeschlossenen Hostdrucker ausgeführt wird, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT SET SORTIEREN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SET SORTIEREN ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(COLLATE)
  • Hilfe zum PBXB64-Compiler


XPRINT SET COLORMODE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET COLORMODE

&Auml;ndert den XPRINT-Farbmodusstatus.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET COLORMODE numrexp

Beschreibung

Ändert den XPRINT-Farbmodusstatus.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit XPRINT können Sie den Farb- oder Monochrom-Druckmodus einstellen, sofern der Druckertreiber dies unterstützt. XPRINT SET COLORMODE erwartet einen numerischen Ausdruck, der einen der folgenden aufgelisteten Werte ergibt. Um den möglichen Status symbolisch darzustellen, sind im Compiler folgende Equates vordefiniert:

%DMCOLOR_MONOCHROME = 1

%DMCOLOR_COLOR = 2

Wenn diese Anweisung ohne angeschlossenen Hostdrucker ausgeführt wird, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT SET COLORMODE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SET COLORMODE ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(COLORMODE)
  • Hilfe zum PBXB64-Compiler


XPRINT SET COPIES - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET COPIES

&Auml;ndern Sie die Anzahl der XPRINT-Kopien.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET COPIES numrexp

Beschreibung

Ändern Sie die Anzahl der XPRINT-Kopien.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit XPRINT SET COPIES können Sie die Anzahl der automatisch zu druckenden Kopien festlegen, sofern dies vom Druckertreiber unterstützt wird. Der Standardwert ist eins (1). Wenn mehrere Kopien vom Druckertreiber nicht unterstützt werden oder die angeforderte Anzahl größer ist als die vom Druckertreiber unterstützte Anzahl, wird Fehler 5 generiert. Wenn diese Anweisung ohne angeschlossenen Hostdrucker ausgeführt wird, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT SET-KOPIEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SET-KOPIEN ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(KOPIEN)
  • Hilfe zum PBXB64-Compiler


XPRINT SET DUPLEX - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET DUPLEX

&Auml;ndern Sie den XPRINT-Duplex-Status.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET DUPLEX numrexp

Beschreibung

Ändern Sie den XPRINT-Duplex-Status.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit XPRINT können Sie den Duplexstatus festlegen, wenn der Drucker das Drucken auf beiden Seiten einer Seite unterstützt. XPRINT SET DUPLEX ändert den Modus in den durch numrexp angegebenen Modus. Um den möglichen Duplexstatus symbolisch darzustellen, sind im Compiler folgende Equates vordefiniert:

%DMDUP_SIMPLEX = 1 (einseitiger Druck)

%DMDUP_VERTICAL = 2 (Seite am vertikalen Rand umgedreht)

%DMDUP_HORIZONTAL = 3 (Seite am horizontalen Rand umgedreht)

Wenn der Drucker keinen Duplexdruck unterstützt, wird Fehler 5 generiert. Wenn diese Anweisung ohne angeschlossenen Hostdrucker ausgeführt wird, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT SET DUPLEX gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SET DUPLEX ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(DUPLEX)
  • Hilfe zum PBXB64-Compiler


XPRINT SET FONT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET FONT

W&auml;hlen Sie a aus

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET FONT FontHndl&

Beschreibung

Wählen Sie a aus

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die durch FontHndl& angegebene Schriftart wird für die Verwendung durch XPRINT-Anweisungen ausgewählt. Dies ist die effizienteste Möglichkeit, Schriftarten und deren allgemeines Erscheinungsbild (Größe, Stil usw.) zu ändern. Wenn Sie für FontHndl& den Wert Null angeben, wird die Schriftart wieder auf die ursprünglich von PowerBASIC ausgewählte Standardschriftart geändert.

Sie können nahezu beliebig viele Schriftarten und Attribute vordefinieren, indem Sie für jede Schriftart FONT NEW-Anweisungen ausführen. Dadurch sind sie sofort einsatzbereit, wenn sie mit XPRINT SET FONT ausgewählt werden.

Vor allen XPRINT-Vorgängen muss zunächst mit XPRINT ATTACH ein bestimmter Drucker ausgewählt werden. Wenn keine bestimmte Schriftart ausgewählt ist, ist die Standardschriftart Courier New ohne Stilattribute.

PBXB64-Umsetzungshinweise

XPRINT SCHRIFTART EINSTELLEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SCHRIFTART EINSTELLEN ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • SCHRIFTART NEU
  • XPRINT PRINT
  • XPRINT ATTACH
  • XPRINT(Chr.Size.X)
  • XPRINT(TEXT.SIZE.X...)
  • Hilfe zum PBXB64-Compiler


XPRINT SET MIX - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET MIX

Setzen Sie den verwalteten Kompatibilit&auml;ts-Mischmodus des aktuellen XPRINT-Streams.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET MIX mode&

Beschreibung

Setzen Sie den verwalteten Kompatibilitäts-Mischmodus des aktuellen XPRINT-Streams.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Im fokussierten V14-Slice speichert XPRINT SET MIX den gewählten Kompatibilitäts-Mischmodus im aktiven XPRINT-Zustand, damit spätere GET-Formen und XPRINT(MIX) denselben Wert melden. XPRINT ATTACH setzt den Modus für einen frischen Stream auf 13 zurück; der dateibasierte Ausgabepfad bleibt davon unberührt.

%MIX_BLACKNESS

Pixel ist immer 0 (schwarz).

%MIX_NOTMERGESRC

Pixel ist die Umkehrung der MergeSrc-Farbe.

%MIX_MASKNOTSRC

Pixel ist eine Kombination der Farben, die sowohl dem Pixel als auch der Umkehrung der Quelle gemeinsam sind.

%MIX_NOTCOPYSRC

Pixel ist die Umkehrung der Stiftfarbe.

%MIX_MASKSRCNOT

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch der Umkehrung des Pixels gemeinsam sind.

%MIX_NOT

Pixel ist die Umkehrung der Pixelfarbe.

%MIX_XORSRC

Pixel ist eine Kombination der Farben in der Quelle und im Pixel, jedoch nicht in beiden.

%MIX_NOTMASKSRC

Pixel ist die Umkehrung der MaskSrc-Farbe.

%MIX_MASKSRC

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch dem Pixel gemeinsam sind.

%MIX_NOTXORSRC

Pixel ist die Umkehrung der XorSrc-Farbe.

%MIX_NOP

Pixel bleibt unverändert.

%MIX_MERGENOTSRC

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%MIX_COPYSRC

Pixel ist die Quellfarbe (Standard).

%MIX_MERGESRCNOT

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%MIX_MERGESRC

Pixel ist eine Kombination aus der Quellfarbe und der Pixelfarbe.

%MIX_WHITENESS

Pixel ist immer 1 (weiß).

PBXB64-Umsetzungshinweise

XPRINT SET MIX gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SET MIX ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(MIX)
  • Hilfe zum PBXB64-Compiler


XPRINT SET OVERLAP - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET OVERLAP

Aktiviert oder deaktiviert den XPRINT-&Uuml;berlappungsmodus.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET OVERLAP [ NumrExpr& ]

Beschreibung

Aktiviert oder deaktiviert den XPRINT-Überlappungsmodus.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT SET OVERLAP aktiviert oder deaktiviert den Überlappungsmodus für den Hostdrucker, der aktuell an den XPRINT-Stream angeschlossen ist. Es hat keine Auswirkungen auf andere XPRINT-Ziele. Wenn NumrExpr& wahr ist (ungleich Null), ist der Überlappungsmodus aktiviert. Bei „false“ (Null) ist der Überlappungsmodus deaktiviert. Wenn NumrExpr& fehlt, ist der Überlappungsmodus standardmäßig aktiviert.

Mit dem Überlappungsmodus können Sie steuern, wie PowerBASIC XPRINT-Vorgänge behandelt, deren Definition ein umgrenzendes Rechteck (RECT-Struktur) enthält. Windows behält einzigartige Konventionen für ein RECT bei. Die unteren und rechten Koordinaten eines RECT sind exklusiv. Mit anderen Worten: Die Pixel am unteren und rechten Rand liegen unmittelbar außerhalb des Rechtecks. Sie werden ignoriert. Zum Beispiel:

XPRINT-BOX (0,0) - (50,50)

In diesem Fall wird ein Kästchen von 0,0 bis 49,49 gezeichnet. Die letzten Pixel am unteren und rechten Rand werden einfach nicht gezeichnet. Wenn jedoch der Überlappungsmodus aktiviert ist, wird das Feld von 0,0 bis 50,50 gezeichnet.

Der Überlappungsmodus betrifft alle XPRINT-Funktionen, die ein umschließendes Rechteck als Parameter verwenden. Dazu gehören XPRINT SCALE, XPRINT BOX, XPRINT ELLIPSE, XPRINT LINE, XPRINT POLYLINE usw.

PBXB64-Umsetzungshinweise

XPRINT-SET-ÜBERLAPPUNG gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-SET-ÜBERLAPPUNG ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT BOX
  • XPRINT ELLIPSE
  • XPRINT(OVERLAP)
  • XPRINT LINE
  • XPRINT POLYLINE
  • XPRINT SCALE
  • Hilfe zum PBXB64-Compiler


XPRINT SET PAGES - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET PAGES

Legt hierf&uuml;r die XPRINT-Seitenzahlgrenzen fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET PAGES FromPage& , ToPage&

Beschreibung

Legt hierfür die XPRINT-Seitenzahlgrenzen fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT SET PAGES aktualisiert den fokussierten Kompatibilitaets-Seitenbereich der aktuellen XPRINT-Sitzung. Der vereinfachte PBXB64-Vertrag speichert die erste und die letzte Seite und macht sie ueber XPRINT GET PAGES und die zugehoerige Regression sichtbar.

Das erste Argument ist die erste Seite des aktiven Bereichs, das zweite Argument ist die letzte Seite. Die Werte werden fuer die aktuelle Sitzung deterministisch gespeichert.

Nach XPRINT ATTACH ist der fokussierte Kompatibilitaetszustand sofort verfuegbar. Die registrierte Regression prueft Aktualisierung und Ruecklesen.

PBXB64-Umsetzungshinweise

XPRINT SET SEITEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SET SEITEN ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT GET PAGES
  • XPRINT SET COPIES
  • Hilfe zum PBXB64-Compiler


XPRINT SET PAPER - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET PAPER

Legt ein neues fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET PAPER papertype&

Beschreibung

Legt ein neues fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT SET PAPER ändert den Papierstil für den Host-Drucker auf den durch papertype& festgelegten. Der Papierstil wird durch einen ganzzahligen Wert identifiziert, der im Ausdruck papertype& angegeben ist. Die folgenden Equates sind im Compiler vordefiniert und repräsentieren die gängigsten Papierstile:

%DMPAPER_LETTER = 1 Buchstabe 8,5 x 11 Zoll

%DMPAPER_TABLOID = 3 Tabloid 11 x 17 Zoll

%DMPAPER_LEDGER = 4 Ledger 17 x 11 Zoll

%DMPAPER_LEGAL = 5 Legal 8,5 x 14 Zoll

%DMPAPER_STATEMENT = 6 Statement 5,5 x 8,5 Zoll

%DMPAPER_EXECUTIVE = 7 Executive 7,25 x 10,5 Zoll

%DMPAPER_A3 = 8 A3 297 x 420 mm

%DMPAPER_A4 = 9 A4 210 x 297 mm

%DMPAPER_A5 = 11 A5 148 x 210 mm

%DMPAPER_B4 = 12 B4 250 x 354 mm

%DMPAPER_B5 = 13 B5 182 x 257 mm

%DMPAPER_FOLIO = 14 Folio 8,5 x 13 Zoll

%DMPAPER_QUARTO = 15 Viertel 215 x 275 mm

%DMPAPER_10X14 = 16 10x14 10 x 14 Zoll

%DMPAPER_11X17 = 17 11x17 11 x 17 Zoll

%DMPAPER_NOTE = 18 Notiz 8,5 x 11 Zoll

%DMPAPER_ENV_9 = 19 9 Umschlag 3,875 x 8,875 Zoll

%DMPAPER_ENV_10 = 20 10 Umschlag 4,125 x 9,5 Zoll

Andere Papierstilcodes können von Windows oder Druckerlieferanten definiert werden. Mit XPRINT GET PAPERS erhalten Sie eine Liste aller vom angeschlossenen Host-Drucker unterstützten Papierstile.

Wenn der Drucker den angegebenen Papierstil nicht unterstützt, wird Fehler 5 generiert. Bei Ausführung ohne angeschlossenen Hostdrucker wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT SET PAPIER gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SET PAPIER ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(PAPER)
  • XPRINT$(PAPERS)
  • Hilfe zum PBXB64-Compiler


XPRINT SET PIXEL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET PIXEL

Stellen Sie die ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET PIXEL [STEP] ( x! , y! ) [, rgbColor& ]

Beschreibung

Stellen Sie die ein

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT SET PIXEL zeichnet ein einzelnes Pixel auf der Host-Druckerseite. Der optionale Farbparameter ist ein RGB-Wert; Wenn sie nicht enthalten ist, wird als Farbe standardmäßig die aktuelle Vordergrundfarbe für den Hostdrucker verwendet. Wenn die STEP-Option enthalten ist, wird das x! und du! Die Koordinaten beziehen sich auf den letzten referenzierten Punkt (POS). Die Koordinatenpunkte werden in Pixel angegeben, es sei denn, Weltkoordinaten wurden mit einer XPRINT SCALE-Anweisung festgelegt. Wenn kein Hostdrucker angeschlossen ist, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT SET PIXEL gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SET PIXEL ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • Built In RGB Color Equates
  • XPRINT ATTACH
  • XPRINT COLOR
  • XPRINT(PIXEL...)
  • Hilfe zum PBXB64-Compiler


XPRINT SET POS - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET POS

Legen Sie den letzten von einem XPRINT referenzierten Punkt (POS) fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET POS [STEP] ( x! , y! )

Beschreibung

Legen Sie den letzten von einem XPRINT referenzierten Punkt (POS) fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit XPRINT SET POS wird die von diesem fokussierten Slice verwaltete Positionskoordinate gesetzt. Wenn die STEP-Option enthalten ist, werden die x! und y!-Werte zum vorherigen Zustand addiert. Die Werte werden als deterministischer Zustand gespeichert und nicht an einen Live-Druckertreiber gesendet.

Validierung: tests/pb/test_xprint_get_set_pos.pb prueft sowohl absolute als auch STEP-basierte Aktualisierungen.

PBXB64-Umsetzungshinweise

XPRINT SET POS gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SET POS ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(POS.X)
  • Hilfe zum PBXB64-Compiler


XPRINT SET STRETCHMODE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET STRETCHMODE

Legt den Standard-Bitmap-Streckmodus f&uuml;r die aktuelle fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET STRETCHMODE ModeExpr

Beschreibung

Legt den Standard-Bitmap-Streckmodus für die aktuelle fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In PowerBASIC gibt es mehrere Vorgänge, die das Strecken oder Komprimieren von Bildern auf Bitmaps umfassen, insbesondere XPRINT STRETCH . Da einzelne Pixel hinzugefügt oder entfernt werden müssen, besteht eine gute Chance, dass sich die Bildqualität verschlechtert. Wenn Sie jedoch die Art des Bildes durch die Definition eines StretchMode beschreiben, können Sie das Erscheinungsbild erheblich verbessern.

Der Standard-StretchMode wird für jeden DC individuell verwaltet. Sie können den Standardmodus mit dieser Anweisung festlegen oder ihn mit XPRINT GET STRETCHMODE abrufen. Natürlich können Sie den Standard-StretchMode auch überschreiben, wenn Sie eine der betroffenen Anweisungen ausführen.

Die 4 Stretch-Modus-Equates sind in PowerBASIC vordefiniert.

%BLACKONWHITE

Dies ist der standardmäßige Streckungsmodus von Windows und eignet sich am besten für monochrome Bitmaps oder solche mit Farbblöcken. Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Schwarze Pixel bleiben auf Kosten weißer Pixel erhalten.

%WHITEONBLACK

Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Es behält weiße Pixel auf Kosten schwarzer Pixel bei.

%COLORONCOLOR

Löscht gelöschte Pixelzeilen, ohne zu versuchen, ihre Informationen beizubehalten.

%HALBTON

Dies bietet höchste Qualität für komplexe Farbbitmaps. Die durchschnittliche Farbe des Zielpixelblocks bleibt ungefähr die gleiche wie die des Quellpixelblocks.

PBXB64-Umsetzungshinweise

XPRINT STRETCHMODUS EINSTELLEN gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT STRETCHMODUS EINSTELLEN ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT COPY
  • XPRINT(STRETCHMODE)
  • XPRINT RENDER
  • XPRINT STRETCH
  • Hilfe zum PBXB64-Compiler


XPRINT SET TRAY - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET TRAY

Setzt den fokussierten Tray-Status der Kompatibilitaet.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET TRAY numrexp

Beschreibung

Setzt den fokussierten Tray-Status der Kompatibilitaet.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT SET TRAY ändert den aktuellen Tray-Code, der von diesem fokussierten XPRINT-Teil verwaltet wird, auf den durch numrexp angegebenen. Die folgenden Equates sind im Compiler vordefiniert und stellen die gebräuchlichsten Papierfächer dar:

%DMBIN_UPPER = 1

%DMBIN_MIDDLE = 3

%DMBIN_MANUAL = 4

%DMBIN_ENVELOPE = 5

%DMBIN_ENVMANUAL = 6

%DMBIN_AUTO = 7

%DMBIN_TRACTOR = 8

%DMBIN_SMALLFMT = 9

%DMBIN_LARGEFMT = 10

%DMBIN_LARGECAPACITY = 11

%DMBIN_CASSETTE = 14

%DMBIN_FORMSOURCE = 15

Der Tray-Code wird vom aktuellen fokussierten Teil verwaltet und fragt kein Live-Druckgeraet ab. Mit XPRINT GET TRAYS erhalten Sie die deterministische Tray-Liste, die diese Kompatibilitaetsschicht verwendet.

Nicht unterstuetzte Tray-Codes werden mit einer gezielten Diagnose abgelehnt.

PBXB64-Umsetzungshinweise

XPRINT-SET-FACH gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-SET-FACH ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(TRAY)
  • XPRINT$(TRAYS)
  • Hilfe zum PBXB64-Compiler


XPRINT SET WORDWRAP - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET WORDWRAP

Aktiviert oder deaktiviert den XPRINT WordWrap-Modus.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET WORDWRAP [ NumrExpr& ]

Beschreibung

Aktiviert oder deaktiviert den XPRINT WordWrap-Modus.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT SET WORDWRAP aktiviert oder deaktiviert den WordWrap-Modus für den Hostdrucker, der derzeit an den XPRINT-Stream angeschlossen ist. Es hat keine Auswirkungen auf andere Drucker. Wenn NumrExpr& wahr ist (ungleich Null), ist der WordWrap-Modus aktiviert. Bei „false“ (null) ist der WordWrap-Modus deaktiviert. Wenn NumrExpr& fehlt, ist der WordWrap-Modus standardmäßig aktiviert.

Mit dem WordWrap-Modus können Sie steuern, wie PowerBASIC Text auf einer XPRINT-Seite druckt, wenn dieser das Ende einer Zeile erreicht. Da ein Hostdrucker ganzseitig arbeitet, wird standardmäßig Text ignoriert, der über das Zeilenende hinaus gedruckt wird.

Wenn der WordWrap-Modus aktiviert ist, betrifft er nur XPRINT PRINT-Vorgänge. Wenn XPRINT PRINT versucht, ein Wort über das Ende einer Zeile hinaus anzuzeigen, wird das gesamte Wort automatisch in die erste Spalte der nächsten Zeile umgebrochen.

PBXB64-Umsetzungshinweise

XPRINT SET WORDWRAP gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SET WORDWRAP ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT(COL)
  • XPRINT(WORDWRAP)
  • XPRINT PRINT
  • XPRINT SET WRAP
  • XPRINT SPLIT
  • Hilfe zum PBXB64-Compiler


XPRINT SET WRAP - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET WRAP

Aktiviert oder deaktiviert den XPrint-Wrap-Modus.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET WRAP [ NumrExpr& ]

Beschreibung

Aktiviert oder deaktiviert den XPrint-Wrap-Modus.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT SET WRAP aktiviert oder deaktiviert den Wrap-Modus für den Hostdrucker, der derzeit an den XPrint-Stream angeschlossen ist. Es hat keine Auswirkungen auf andere Drucker. Wenn NumrExpr& wahr ist (ungleich Null), ist der Wrap-Modus aktiviert. Bei „false“ (Null) ist der Wrap-Modus deaktiviert. Wenn NumrExpr& fehlt, ist der Wrap-Modus standardmäßig aktiviert.

Mit dem Wrap-Modus können Sie steuern, wie PowerBASIC Text auf einer XPRINT-SEITE druckt, wenn dieser das Ende einer Zeile erreicht. Da ein Hostdrucker ganzseitig arbeitet, wird standardmäßig Text ignoriert, der über das Zeilenende hinaus gedruckt wird.

Wenn der Wrap-Modus aktiviert ist, wirkt er sich nur auf XPRINT PRINT-Vorgänge aus. Wenn XPRINT PRINT versucht, ein Zeichen über das Ende einer Zeile hinaus anzuzeigen, wird es automatisch in die erste Spalte der nächsten Zeile umgebrochen.

PBXB64-Umsetzungshinweise

XPRINT SET WRAP gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SET WRAP ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT(COL)
  • XPRINT(WRAP)
  • XPRINT PRINT
  • XPRINT SET WORDWRAP
  • XPRINT SPLIT
  • Hilfe zum PBXB64-Compiler


XPRINT SET-QUALITÄT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SET-QUALITÄT

Stellen Sie die Druckqualit&auml;t f&uuml;r a ein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET QUALITY qual&

Beschreibung

Stellen Sie die Druckqualität für a ein

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT SETQUALITÄT legt die Druckqualitätseinstellung für den Hostdrucker fest. Der Wert 1 ist der Entwurfsmodus, 2 ist eine niedrige Auflösung, 3 ist eine mittlere Auflösung und 4 ist eine hohe Auflösung. Es ist zu beachten, dass bei einigen Druckern höhere Auflösungen nur über den Druckerdialog (in XPRINT ATTACH CHOOSE ) einstellbar sind. Wenn kein Hostdrucker angeschlossen ist oder der Drucker die Druckqualitätseinstellungen nicht unterstützt, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT-SET-QUALITÄT gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-SET-QUALITÄT ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(QUALITÄT)
  • Hilfe zum PBXB64-Compiler


XPRINT SPLIT - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT SPLIT

Teilt eine Zeichenfolge

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SPLIT [WORD] MainStr , Part1Len TO Part1Var , Part2Var

Beschreibung

Teilt eine Zeichenfolge

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Generell können Sie mit XPRINT SPLIT bestimmen, wie viel Text in eine Zeile (oder einen Zeilenabschnitt) passt, um das Ende nicht zu überschreiten. Dies ist bei Schriftarten mit variabler Breite von entscheidender Bedeutung. Da diese Textzeichen unterschiedlich breit sind, können Sie sich nicht auf eine einfache Zeichenzählung verlassen.

XPRINT SPLIT trennt den MainStr-String-Ausdruck in zwei Teile, die dann den beiden durch Part1Var und Part2Var angegebenen String-Variablen zugewiesen werden. Der numerische Ausdruck Part1Len gibt die maximale Breite des Druckfelds unter Verwendung von Seiteneinheiten (Pixel/Punkt, skalierte Einheiten) an. Nach Abschluss von XPRINT SPLIT enthält die Part1Var diejenigen Zeichen, die sicher im Druckfeld gedruckt werden können. Die Part2Var enthält die restlichen Zeichen, die möglicherweise in den folgenden Zeilen gedruckt werden.

Da dieser Vorgang einen „Zeilenumbruch“ erzeugt, der im Originaltext nicht vorgesehen ist, müssen Sie möglicherweise die Ergebnisse ändern, um das beste Erscheinungsbild zu erzielen. Beispielsweise ist es normalerweise am besten, alle führenden Leerzeichen aus Part2Var zu entfernen, bevor es gedruckt wird.

Wenn die WORD-Option enthalten ist, garantiert PowerBASIC, dass Teil1 nicht mit einem Teilwort endet. Dies erfordert möglicherweise, dass Part1Len auf einen kleineren Wert angepasst wird. In diesem Fall würden Part2Var diese Zeichen zum Ausgleich zugewiesen.

PBXB64-Umsetzungshinweise

XPRINT SPLIT gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT SPLIT ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT(COL)
  • XPRINT SET FONT
  • XPRINT SET WORDWRAP
  • XPRINT SET WRAP
  • Hilfe zum PBXB64-Compiler


XPRINT STRETCH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT STRETCH

Kopieren Sie eine Bitmap und &auml;ndern Sie ihre Gr&ouml;&szlig;e

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT STRETCH hBmp , ID , ( x1 , y1 )-( x2 , y2 ) TO ( x3 , y3 )-( x4 , y4 ) [, Mix , Stretch ]
XPRINT STRETCH PAGE hBmp , ID [, Mix , Stretch ]

Beschreibung

Kopieren Sie eine Bitmap und ändern Sie ihre Größe

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Sie können eine vollständige Bitmap oder einen Teil davon auf die XPRINT-Seite kopieren und dabei die Größe vergrößern oder verkleinern. Die Handle-Variable hBmp gibt das Handle der Quellbitmap oder des Quellfensters an. Die Parameter-ID ist die mit CONTROL ADD GRAPHIC zugewiesene Steuerungskennung (1 bis 65535). Die ID muss für ein GRAPHIC WINDOW oder ein bitmsp null (0) sein. Das Ziel der Stretch-Operation ist immer die angehängte XPRINT-Seite. Die Größe der Bitmap wird automatisch an die Zielparameter angepasst. Sie müssen darauf achten, dass Ihre Parameter für die angegebenen Bitmaps gültig sind, sonst ist das Ergebnis der Operation undefiniert.

Die zweite Form, XPRINT STRETCH PAGE, ist eine Verknüpfung zum Kopieren einer vollständigen Bitmap in den Clip- oder Client-Bereich der Host-Druckerseite. Das Bild wird automatisch gestreckt oder gestaucht, um es an das Ziel anzupassen.

Wenn der Parameter „Mix“ enthalten ist, handelt es sich um einen der Werte in der folgenden Tabelle. Wenn nicht angegeben, wird ein Standardwert von %MIX_COPYSRC angenommen. Es stehen 16 Mischmodi zur Verfügung, mit denen Sie Zeichenfarben mit den Farben mischen können, die am Zeichenort bereits vorhanden sind. Die Mix-Modus-Equates sind in PowerBASIC vordefiniert.

%mix_Blackness

Pixel ist immer 0 (schwarz).

%mix_NotMergeSrc

Pixel ist die Umkehrung der MergeSrc-Farbe.

%mix_MaskNotSrc

Pixel ist eine Kombination der Farben, die sowohl dem Pixel als auch der Umkehrung der Quelle gemeinsam sind.

%mix_NotCopySrc

Pixel ist die Umkehrung der Stiftfarbe.

%mix_MaskSrcNot

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch der Umkehrung des Pixels gemeinsam sind.

%mix_Not

Pixel ist die Umkehrung der Pixelfarbe.

%mix_XorSrc

Pixel ist eine Kombination der Farben in der Quelle und im Pixel, jedoch nicht in beiden.

%mix_NotMaskSrc

Pixel ist die Umkehrung der MaskSrc-Farbe.

%mix_MaskSrc

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch dem Pixel gemeinsam sind.

%mix_NotXorSrc

Pixel ist die Umkehrung der XorSrc-Farbe.

%mix_Nop

Pixel bleibt unverändert.

%mix_MergeNotSrc

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%mix_CopySrc

Pixel ist die Quellfarbe (Standard).

%mix_MergeSrcNot

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%mix_MergeSrc

Pixel ist eine Kombination aus der Quellfarbe und der Pixelfarbe.

%mix_Whiteness

Pixel ist immer 1 (weiß).

Dehnen

Wenn der Stretch-Parameter enthalten ist, handelt es sich um einen der Werte in der folgenden Tabelle. Wenn nicht enthalten oder der Wert Null (0) ist, bleibt der Streckungsmodus unverändert. Eine geeignete Auswahl des Streckungsmodus kann die Qualität von Bitmaps, deren Größe geändert wird, erheblich verbessern. Die Streckmodus-Equates sind in PowerBASIC vordefiniert.

%BLACKONWHITE

Dies ist der standardmäßige Streckungsmodus von Windows und eignet sich am besten für monochrome Bitmaps oder solche mit Farbblöcken. Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Schwarze Pixel bleiben auf Kosten weißer Pixel erhalten.

%WHITEONBLACK

Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Es behält weiße Pixel auf Kosten schwarzer Pixel bei.

%COLORONCOLOR

Löscht gelöschte Pixelzeilen, ohne zu versuchen, ihre Informationen beizubehalten.

%HALBTON

Dies bietet höchste Qualität für komplexe Farbbitmaps. Die durchschnittliche Farbe des Zielpixelblocks bleibt ungefähr die gleiche wie die des Quellpixelblocks.

PBXB64-Umsetzungshinweise

XPRINT STRETCH gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT STRETCH ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT COPY
  • XPRINT RENDER
  • XPRINT SET MIX
  • XPRINT SET STRETCHMODE
  • Hilfe zum PBXB64-Compiler


XPRINT STYLE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT STYLE

Legen Sie den Linienstil fest, der von verschiedenen XPRINT verwendet werden soll

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT STYLE linestyle&

Beschreibung

Legen Sie den Linienstil fest, der von verschiedenen XPRINT verwendet werden soll

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT STYLE bestimmt den Linienstil, der beim Zeichnen verschiedener grafischer Objekte verwendet wird, während der Breitenwert auf 1 gesetzt ist. Wenn der Breitenwert größer als eins ist, interpretiert Windows den Stil immer als 0 (durchgezogen).

Verfügbare Linienstile sind:

Fest (Standard)

DashDot

DashDotDot

PBXB64-Umsetzungshinweise

XPRINT-STIL gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-STIL ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT BOX
  • XPRINT ELLIPSE
  • XPRINT LINE
  • XPRINT PIE
  • XPRINT WIDTH
  • Hilfe zum PBXB64-Compiler


XPRINT WIDTH - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT WIDTH

Legen Sie die grafische Linienbreite fest, die von verschiedenen XPRINT verwendet werden soll

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT WIDTH ncPixels&

Beschreibung

Legen Sie die grafische Linienbreite fest, die von verschiedenen XPRINT verwendet werden soll

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT WIDTH bestimmt die Linienbreite, die beim Zeichnen verschiedener grafischer Objekte verwendet wird. Die Standardbreite beträgt 1 Pixel. Die Breite wird immer in Pixel angegeben, unabhängig von einer XPRINT SCALE-Option. Wenn die Breite auf einen Wert größer als 1 eingestellt ist, werden XPRINT STYLE-Parameter immer als 0 (durchgezogen) interpretiert.

PBXB64-Umsetzungshinweise

XPRINT-BREITE gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-BREITE ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT BOX
  • XPRINT ELLIPSE
  • XPRINT LINE
  • XPRINT PIE
  • XPRINT STYLE
  • Hilfe zum PBXB64-Compiler


XPRINT$ - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT$

Geben Sie den aktiven XPRINT-Anhangspfad zur&uuml;ck.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET ATTACH TO PrinterVar$
Function Form:
PrinterVar$ = XPRINT$(ATTACH)
PrinterVar$ = XPRINT$

Beschreibung

Geben Sie den aktiven XPRINT-Anhangspfad zurück.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET ATTACH gibt den Pfad des aktiven dateibasierten XPRINT-Anhangs zurück. Wenn kein XPRINT-Stream angehängt ist, wird eine leere Zeichenfolge zurückgegeben. XPRINT$ ist die fokussierte Zustandsabfrage für den literalen ATTACH/CLOSE-Schnitt.

XPRINT-Prüfung

XPRINT-Seiten sollen Druckerauswahl, Lebensdauer des Device Context, Seitenzustand, Koordinateneinheiten und die Frage nennen, ob der Befehl Vorschau, Rendering oder Druckerausgabe betrifft. Beispiele sollen sicher sein, wenn kein Standarddrucker installiert ist.

Fehlerfälle

Dokumentieren Sie abgebrochene Druckdialoge, nicht verfügbare Drucker, ungültige DC-Handles und nicht unterstützte Gerätefähigkeiten.

Cleanup

Schließen oder brechen Sie Druckjobs ausdrücklich ab und geben Sie angehängte Ressourcen vor Programmende frei.

PBXB64-Umsetzungshinweise

XPRINT$ gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT$ ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • Hilfe zum PBXB64-Compiler


XPRINT$(PAPERS) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT$(PAPERS)

Ruft die fokussierte Kompatibilitaetsliste der unterstuetzten Papierstile ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET PAPERS TO PapersVar$
Function Form:
PapersVar$ = XPRINT$(PAPERS)

Beschreibung

Ruft die fokussierte Kompatibilitaetsliste der unterstuetzten Papierstile ab.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET PAPERS ruft einen deterministischen Kompatibilitaets-String ab, der die von diesem fokussierten XPRINT-Teil bereitgestellten Papierstile enthaelt. Diese Zeichenfolge wird der durch PapersVar$ angegebenen Zeichenfolgenvariablen zugewiesen.

Die Zeichenfolge enthält eine durch Kommas getrennte Liste von Papiertyp, Papiername ..., die so oft wie nötig wiederholt wird. Zum Beispiel:

„1,Brief,5,Recht,7,Exekutive,20,Umschlag Nr. 10“

Sie können PARSECOUNT verwenden, um die Anzahl der durch Trennzeichen getrennten Felder in der Zeichenfolge zu bestimmen, und PARSE$(), um die Typnummern und -namen einfach zu extrahieren. Die folgenden Equates sind im Compiler vordefiniert und repräsentieren die gängigsten Papierstile:

%DMPAPER_LETTER = 1 Buchstabe 8,5 x 11 Zoll

%DMPAPER_TABLOID = 3 Tabloid 11 x 17 Zoll

%DMPAPER_LEDGER = 4 Ledger 17 x 11 Zoll

%DMPAPER_LEGAL = 5 Legal 8,5 x 14 Zoll

%DMPAPER_STATEMENT = 6 Statement 5,5 x 8,5 Zoll

%DMPAPER_EXECUTIVE = 7 Executive 7,25 x 10,5 Zoll

%DMPAPER_A3 = 8 A3 297 x 420 mm

%DMPAPER_A4 = 9 A4 210 x 297 mm

%DMPAPER_A5 = 11 A5 148 x 210 mm

%DMPAPER_B4 = 12 B4 250 x 354 mm

%DMPAPER_B5 = 13 B5 182 x 257 mm

%DMPAPER_FOLIO = 14 Folio 8,5 x 13 Zoll

%DMPAPER_QUARTO = 15 Viertel 215 x 275 mm

%DMPAPER_10X14 = 16 10x14 10 x 14 Zoll

%DMPAPER_11X17 = 17 11x17 11 x 17 Zoll

%DMPAPER_NOTE = 18 Notiz 8,5 x 11 Zoll

%DMPAPER_ENV_9 = 19 9 Umschlag 3,875 x 8,875 Zoll

%DMPAPER_ENV_10 = 20 10 Umschlag 4,125 x 9,5 Zoll

Die Liste ist im aktuellen fokussierten Teil eingebaut und fragt kein Live-Druckgeraet ab. Andere Papierstilcodes koennen im breiteren Drucker/DC-Bereich weiterhin von Windows oder Druckerlieferanten definiert werden.

PBXB64-Umsetzungshinweise

XPRINT$(PAPIERE) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT$(PAPIERE) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT SET PAPER
  • Hilfe zum PBXB64-Compiler


XPRINT$(TRAYS) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT$(TRAYS)

Ruft die fokussierte Kompatibilitaetsliste der unterstuetzten Papierfaecher ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET TRAYS TO TrayVar$
Function Form:
TrayVar$ = XPRINT$(TRAYS)

Beschreibung

Ruft die fokussierte Kompatibilitaetsliste der unterstuetzten Papierfaecher ab.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET TRAYS ruft einen deterministischen Kompatibilitaets-String ab, der die von diesem fokussierten XPRINT-Teil bereitgestellten Papierfaecher enthaelt. Dieser String wird der durch TrayVar$ angegebenen String-Variablen zugewiesen.

Die Zeichenfolge enthält eine durch Kommas getrennte Liste mit Fachtyp, Fachname usw., die so oft wie nötig wiederholt wird. Zum Beispiel:

„1,Obere,2,Untere,5,Umschlag“

Sie können PARSECOUNT verwenden, um die Anzahl der durch Trennzeichen getrennten Felder in der Zeichenfolge zu bestimmen, und PARSE$(), um die Fachnummern und -namen einfach zu extrahieren. Die folgenden Equates sind im Compiler vordefiniert und stellen die gebräuchlichsten Trays dar:

%DMBIN_UPPER = 1

%DMBIN_MIDDLE = 3

%DMBIN_MANUAL = 4

%DMBIN_ENVELOPE = 5

%DMBIN_ENVMANUAL = 6

%DMBIN_AUTO = 7

%DMBIN_TRACTOR = 8

%DMBIN_SMALLFMT = 9

%DMBIN_LARGEFMT = 10

%DMBIN_LARGECAPACITY = 11

%DMBIN_CASSETTE = 14

%DMBIN_FORMSOURCE = 15

Die Liste ist im aktuellen fokussierten Teil eingebaut und fragt kein Live-Druckgeraet ab. Andere Fachcodes koennen im breiteren Drucker/DC-Bereich weiterhin von Windows oder Druckerlieferanten definiert werden.

PBXB64-Umsetzungshinweise

XPRINT$(TRAYS) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT$(TRAYS) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(TRAY)
  • XPRINT SET TRAY
  • Hilfe zum PBXB64-Compiler


XPRINT(CANVAS.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(CANVAS.X)

Ruft die beschreibbare Gr&ouml;&szlig;e ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET CANVAS TO WidthVar! , HeightVar!
Function Form:
WidthVar! = XPRINT(CANVAS.X)
HeightVar! = XPRINT(CANVAS.Y)

Beschreibung

Ruft die beschreibbare Größe ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET CANVAS ermittelt die logische Größe des Client-Bereichs (druckbarer Bereich) für den angeschlossenen Host-Drucker. Dies ist die Größe der Seite abzüglich der nicht druckbaren Ränder, ohne jegliche Reduzierungen für einen CLIP-Bereich. Die Größe wird in Seiteneinheiten angegeben, sodass skalierte Werte zurückgegeben werden könnten, wenn sie mit XPRINT SCALE angewendet würden. Dies ist XPRINT GET CLIENT sehr ähnlich, mit der einzigen Ausnahme, dass skalierte Werte (festgelegt durch XPRINT SCALE) zurückgegeben werden, wenn sie verwendet wurden. Bei Ausführung ohne angeschlossenen Hostdrucker wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT(CANVAS.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(CANVAS.X) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT(Client.X)
  • XPRINT(Clip.X)
  • XPRINT(SIZE.X)
  • XPRINT GET SCALE
  • XPRINT SCALE
  • Hilfe zum PBXB64-Compiler


XPRINT(Cell.Size.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(Cell.Size.X)

Rufen Sie den Charakter ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT CELL SIZE TO WidthVar , HeightVar!
Function Form:
WidthVar! = XPRINT(Cell.Size.X)
HeightVar! = XPRINT(Cell.Size.Y)

Beschreibung

Rufen Sie den Charakter ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT CELL SIZE ruft die Größe einer Zeichenzelle für die aktuelle Schriftart auf dem angeschlossenen Drucker ab. Die zurückgegebene Zellengröße wird in PAGE UNITS angegeben und ermöglicht Ihnen die Berechnung der Anzahl der Textzeilen, die in einen bestimmten Raum passen. Der Höhenwert ist die Größe des angezeigten Zeichens, einschließlich des externen Zeilenabstands (falls vorhanden) für diese bestimmte Schriftart.

Wenn es sich bei der Schriftart um eine Schriftart mit fester Breite wie Courier New oder Lucida Console handelt, sind die zurückgegebenen Größen angesichts der für einige skalierte Einheiten erforderlichen gebrochenen Rundungsnäherungen so genau wie möglich. Wenn die Schriftart proportional ist, wie Arial oder Times New Roman, entspricht die Breite der durchschnittlichen Größe der gesamten Schriftart.

Der externe Zeilenabstand ist der vertikale Abstand vom unteren Rand eines Zeichens zum oberen Rand des darunter liegenden Zeichens. Dieser Wert wird durch die verwendete Schriftart angegeben. Der Wert kann je nach Schriftart und Punktgröße zwischen Null und einem größeren Wert variieren. Um die genaue Höhe von Zeichen ohne externen Zeilenabstand abzurufen, verwenden Sie XPRINT CHR SIZE .

PBXB64-Umsetzungshinweise

XPRINT(Cell.Size.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(Cell.Size.X) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT(COL)
  • XPRINT(Chr.Size.X)
  • XPRINT SET FONT
  • XPRINT(TEXT.SIZE.X...)
  • Hilfe zum PBXB64-Compiler


XPRINT(Chr.Size.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(Chr.Size.X)

Rufen Sie die Zeichengr&ouml;&szlig;e f&uuml;r ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT CHR SIZE TO WidthVar! , HeightVar!
Function Form:
WidthVar! = XPRINT(Chr.Size.X)
HeightVar! = XPRINT(Chr.Size.Y)

Beschreibung

Rufen Sie die Zeichengröße für ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Zeichengröße wird in denselben Begriffen (Pixel oder skalierte Einheiten) wie ursprünglich angegeben angegeben. Der abgerufene Höhenwert ist die tatsächliche Größe des gedruckten Zeichens ohne Berücksichtigung externer Zeilenumbrüche für diese bestimmte Schriftart.

Wenn es sich bei der Schriftart um eine Schriftart mit fester Breite handelt, z. B. Courier New oder Lucida Console, sind die zurückgegebenen Größen so genau wie möglich, da bei der Konvertierung von Pixeln in andere Koordinaten mögliche Annäherungen an gebrochene Rundungen möglich sind. Wenn die Schriftart proportional ist, wie Arial oder Times New Roman, entspricht die Breite der durchschnittlichen Größe der gesamten Schriftart.

Der externe Zeilenabstand ist der vertikale Abstand vom unteren Rand eines Zeichens zum oberen Rand des darunter liegenden Zeichens. Dieser Wert wird durch die verwendete Schriftart angegeben. Der Wert kann je nach Schriftart und Punktgröße zwischen Null und einem größeren Wert variieren. Um die gesamte Zeilenhöhe einschließlich Außenabstand abzurufen, verwenden Sie XPRINT CELL SIZE.

PBXB64-Umsetzungshinweise

XPRINT(Chr.Size.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(Chr.Size.X) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT PRINT
  • XPRINT ATTACH
  • XPRINT(Cell.Size.X)
  • XPRINT SET FONT
  • XPRINT(TEXT.SIZE.X...)
  • Hilfe zum PBXB64-Compiler


XPRINT(Client.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(Client.X)

Ruft die Gr&ouml;&szlig;e des Clientbereichs (druckbarer Bereich) auf der Hostdruckerseite ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET CLIENT To WidthVar! , HeightVar!
Function Form:
WidthVar! = XPRINT(Client.X)
HeightVar! = XPRINT(Client.Y)

Beschreibung

Ruft die Größe des Clientbereichs (druckbarer Bereich) auf der Hostdruckerseite ab.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET CLIENT ruft die physische Größe des Client-Bereichs (druckbarer Bereich) für den angeschlossenen Host-Drucker ab. Die Größe wird immer in Pixeln (Punkten) angegeben. Dies ist XPRINT GET CANVAS sehr ähnlich, mit der einzigen Ausnahme, dass skalierte Werte (festgelegt durch XPRINT SCALE ) nicht verwendet werden. Bei Ausführung ohne angeschlossenen Hostdrucker wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT(Client.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(Client.X) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(CANVAS.X)
  • XPRINT(Clip.X)
  • XPRINT GET MARGIN
  • XPRINT(PPI.X)
  • XPRINT(SIZE.X)
  • Hilfe zum PBXB64-Compiler


XPRINT(Clip.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(Clip.X)

Ruft die Gr&ouml;&szlig;e des Clipbereichs auf dem ausgew&auml;hlten Drucker ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET CLIP TO WidthVar! , HeightVar!
Function Form:
WidthVar! = XPRINT(Clip.X)
HeightVar! = XPRINT(Clip.Y)

Beschreibung

Ruft die Größe des Clipbereichs auf dem ausgewählten Drucker ab.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Der Clip-Bereich des Druckers ist der Bereich, in den Druckvorgänge geschrieben werden können. Das heißt, der Clip-Bereich ist der Teil des Client-Bereichs, der nicht durch die XPRINT SET CLIP-Anweisung geschützt (abgeschnitten) wird.

XPRINT GET CLIP ruft die Größe des Clipbereichs ab und weist diese Werte den durch „WidthVar!“ angegebenen Variablen zu. und HeightVar! . Die Größe wird in PAGE UNITS (Pixel/Punkte oder skalierte Einheiten) angegeben. Wenn kein Drucker ausgewählt ist, werden die Werte 0,0 zurückgegeben.

PBXB64-Umsetzungshinweise

XPRINT(Clip.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(Clip.X) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT(CANVAS.X)
  • XPRINT(Client.X)
  • XPRINT SET CLIP
  • Hilfe zum PBXB64-Compiler


XPRINT(COL) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(COL)

Legt die n&auml;chste Druckposition (LPR &ndash; Last Point Referenced) basierend auf der Zeilen- und Spaltenposition von a fest oder ruft diese ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT CELL = RowValue& , ColValue&
XPRINT CELL TO RowVar& , ColVar&
XPRINT COL TO ColVar&
XPRINT ROW TO RowVar&
Function Form:
ColVar& = XPRINT(COL)
RowVar& = XPRINT(ROW)

Beschreibung

Legt die nächste Druckposition (LPR – Last Point Referenced) basierend auf der Zeilen- und Spaltenposition von a fest oder ruft diese ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT CELL wird verwendet, um die Druckposition basierend auf der Zeilen- und Spaltenposition einer Textzelle festzulegen oder abzurufen. Das ist die Zeilen- und Spaltenposition, an der der nächste gedruckte Text angezeigt wird. RowValue& gibt die horizontale Bildschirmzeile (beginnend bei 1) an, in der der Cursor positioniert werden soll. ColValue& gibt die vertikale Bildschirmspalte (beginnend bei 1) an, an der der Cursor positioniert werden soll. Da die Zeilen- und Spaltennummern bei eins (1) beginnen, wird die obere linke Ecke der Seite als Zelle 1,1 betrachtet.

Die erste Form von XPRINT CELL verschiebt die Druckposition in die gewünschte Zeile und Spalte. Wenn ein angegebener Wert Null (0) ist, wird dieser Parameter ignoriert und diese Position wird nicht geändert. Die zweite Form von XPRINT CELL ruft die aktuelle Druckposition ab und weist die Werte den durch RowVar& und ColVar& angegebenen Variablen zu.

Mit den übrigen Formularen können Sie nur einen einzelnen Wert (entweder Zeile oder Spalte) abrufen und werden sowohl in Anweisungs- als auch in Funktionsform unterstützt.

PBXB64-Umsetzungshinweise

XPRINT(COL) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(COL) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT(Cell.Size.X)
  • XPRINT SET FONT
  • XPRINT SET WORDWRAP
  • XPRINT SET WRAP
  • XPRINT SPLIT
  • Hilfe zum PBXB64-Compiler


XPRINT(COLLATE) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(COLLATE)

Ruft den XPRINT ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET COLLATE TO CollateVar&
Function Form:
CollateVar& = XPRINT(COLLATE)

Beschreibung

Ruft den XPRINT ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit XPRINT können Sie den Sortierstatus festlegen, wenn der Druckertreiber sowohl Mehrfachkopien als auch die Sortierfunktion unterstützt. XPRINT GET COLLATE ruft den Sortierstatus ab und weist den Wert der durch CollateVar& angegebenen Long-Integer-Variablen zu. Die folgenden Equates sind im Compiler vordefiniert, um den möglichen Sortierstatus symbolisch darzustellen:

%DMCOLLATE_FALSE = 0

%DMCOLLATE_TRUE = 1

Wenn diese Anweisung ohne angeschlossenen Hostdrucker ausgeführt wird, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT(SORTIEREN) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(SORTIEREN) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT SET COLLATE
  • Hilfe zum PBXB64-Compiler


XPRINT(COLORMODE) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(COLORMODE)

Ruft den XPRINT ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET COLORMODE TO ColorVar&
Function Form:
ColorVar& = XPRINT(COLORMODE)

Beschreibung

Ruft den XPRINT ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit XPRINT können Sie den Farb- oder Monochrom-Druckmodus einstellen, sofern der Druckertreiber dies unterstützt. XPRINT GET COLORMODE ruft den Farbmodusstatus ab und weist den Wert der durch ColorVar& angegebenen Long-Integer-Variablen zu. Der Wert Null kann zurückgegeben werden, wenn der Farbmodus vom Druckertreiber nicht unterstützt wird. Um den möglichen Status symbolisch darzustellen, sind im Compiler folgende Equates vordefiniert:

%DMCOLOR_MONOCHROME = 1

%DMCOLOR_COLOR = 2

Wenn diese Anweisung ohne angeschlossenen Hostdrucker ausgeführt wird, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT (FARBMODUS) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT (FARBMODUS) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT SET COLORMODE
  • Hilfe zum PBXB64-Compiler


XPRINT(DC) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(DC)

Rufen Sie das Handle des Ger&auml;tekontexts (DC) f&uuml;r ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET DC TO hDC
Function Form:
hDC = XPRINT(DC)

Beschreibung

Rufen Sie das Handle des Gerätekontexts (DC) für ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn derzeit kein Hostdrucker angeschlossen ist, wird Null zurückgegeben. Das DC-Handle kann mit verschiedenen Windows-API-Funktionen verwendet werden, um spezielle Vorgänge auf der Hostdruckerseite auszuführen.

XPRINT-Prüfung

XPRINT-Seiten sollen Druckerauswahl, Lebensdauer des Device Context, Seitenzustand, Koordinateneinheiten und die Frage nennen, ob der Befehl Vorschau, Rendering oder Druckerausgabe betrifft. Beispiele sollen sicher sein, wenn kein Standarddrucker installiert ist.

Fehlerfälle

Dokumentieren Sie abgebrochene Druckdialoge, nicht verfügbare Drucker, ungültige DC-Handles und nicht unterstützte Gerätefähigkeiten.

Cleanup

Schließen oder brechen Sie Druckjobs ausdrücklich ab und geben Sie angehängte Ressourcen vor Programmende frei.

PBXB64-Umsetzungshinweise

XPRINT(DC) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(DC) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • Hilfe zum PBXB64-Compiler


XPRINT(DUPLEX) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(DUPLEX)

Rufen Sie den XPRINT ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET DUPLEX TO DuplexVar&
Function Form:
DuplexVar& = XPRINT(DUPLEX)

Beschreibung

Rufen Sie den XPRINT ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit XPRINT können Sie den Duplexstatus abrufen/einstellen, wenn der Drucker das Drucken auf beiden Seiten einer Seite unterstützt. XPRINT GET DUPLEX ruft den Duplexstatus ab und weist den Wert der durch DuplexVar& angegebenen Long-Integer-Variablen zu. Um den möglichen Duplexstatus symbolisch darzustellen, sind im Compiler folgende Equates vordefiniert:

%DMDUP_SIMPLEX = 1 (einseitiger Druck)

%DMDUP_VERTICAL = 2 (Seite am vertikalen Rand umgedreht)

%DMDUP_HORIZONTAL = 3 (Seite am horizontalen Rand umgedreht)

Wenn der Drucker keinen Duplexdruck unterstützt, wird der Wert Null (0) zurückgegeben. Wenn diese Anweisung ohne angeschlossenen Hostdrucker ausgeführt wird, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT(DUPLEX) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(DUPLEX) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT SET DUPLEX
  • Hilfe zum PBXB64-Compiler


XPRINT(KOPIEN) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(KOPIEN)

Ruft den XPRINT ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET COPIES TO CopyVar&
Function Form:
CopyVar& = XPRINT(COPIES)

Beschreibung

Ruft den XPRINT ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit XPRINT können Sie die Anzahl der automatisch zu druckenden Kopien festlegen, sofern dies vom Druckertreiber unterstützt wird. XPRINT GET COPIES ruft die Anzahl der Kopien ab und weist den Wert der durch CopyVar& angegebenen Long-Integer-Variablen zu. Der Standardwert ist eins (1). Wenn diese Anweisung ohne angeschlossenen Hostdrucker ausgeführt wird, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT(KOPIEN) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(KOPIEN) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT SET COPIES
  • Hilfe zum PBXB64-Compiler


XPRINT(LINES) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(LINES)

Rufen Sie die Anzahl der Zeilen ab, die gedruckt werden k&ouml;nnen.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET LINES To LineVar&
Function Form:
LineVar& = XPRINT(LINES)

Beschreibung

Rufen Sie die Anzahl der Zeilen ab, die gedruckt werden können.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET LINES ruft die Anzahl der Textzeilen ab, die bei der aktuell ausgewählten Schriftart auf der Seite des Hostdruckers gedruckt werden können. Da XPRINT-Anweisungen keinen automatischen Seitenvorschub erzeugen, wenn Text in der letzten Zeile gedruckt wird, kann diese Anweisung verwendet werden, um zu bestimmen, wann Ihr Programm einen XPRINT FORMFEED ausführen soll, um zur nächsten gedruckten Seite auf einem Hostdrucker zu wechseln. Bei Ausführung ohne angeschlossenen Hostdrucker wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT(ZEILEN) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(ZEILEN) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT PRINT
  • XPRINT ATTACH
  • XPRINT SET FONT
  • XPRINT FORMFEED
  • Hilfe zum PBXB64-Compiler


XPRINT(MIX) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(MIX)

Rufen Sie den verwalteten Kompatibilit&auml;ts-Mischmodus des aktuellen XPRINT-Streams ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET MIX To MixVar&
Function Form:
MixVar& = XPRINT(MIX)

Beschreibung

Rufen Sie den verwalteten Kompatibilitäts-Mischmodus des aktuellen XPRINT-Streams ab.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Im fokussierten V14-Slice setzt XPRINT ATTACH den verwalteten Mischmodus auf 13 zurück, und XPRINT GET MIX / XPRINT(MIX) lesen den aktuellen Kompatibilitätswert aus. XPRINT SET MIX aktualisiert diesen Wert für spätere Abfragen; der dateibasierte XPRINT-Ausgabepfad bleibt unverändert.

%MIX_BLACKNESS

Pixel ist immer 0 (schwarz).

%MIX_NOTMERGESRC

Pixel ist die Umkehrung der MergeSrc-Farbe.

%MIX_MASKNOTSRC

Pixel ist eine Kombination der Farben, die sowohl dem Pixel als auch der Umkehrung der Quelle gemeinsam sind.

%MIX_NOTCOPYSRC

Pixel ist die Umkehrung der Stiftfarbe.

%MIX_MASKSRCNOT

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch der Umkehrung des Pixels gemeinsam sind.

%MIX_NOT

Pixel ist die Umkehrung der Pixelfarbe.

%MIX_XORSRC

Pixel ist eine Kombination der Farben in der Quelle und im Pixel, jedoch nicht in beiden.

%MIX_NOTMASKSRC

Pixel ist die Umkehrung der MaskSrc-Farbe.

%MIX_MASKSRC

Pixel ist eine Kombination der Farben, die sowohl der Quelle als auch dem Pixel gemeinsam sind.

%MIX_NOTXORSRC

Pixel ist die Umkehrung der XorSrc-Farbe.

%MIX_NOP

Pixel bleibt unverändert.

%MIX_MERGENOTSRC

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%MIX_COPYSRC

Pixel ist die Quellfarbe (Standard).

%MIX_MERGESRCNOT

Pixel ist eine Kombination aus der Quellfarbe und der Umkehrung der Pixelfarbe.

%MIX_MERGESRC

Pixel ist eine Kombination aus der Quellfarbe und der Pixelfarbe.

%MIX_WHITENESS

Pixel ist immer 1 (weiß).

PBXB64-Umsetzungshinweise

XPRINT(MIX) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(MIX) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT SET MIX
  • Hilfe zum PBXB64-Compiler


XPRINT(ORIENTATION) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(ORIENTATION)

Holen Sie sich das Papier

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET ORIENTATION To OrentVar&
Function Form:
OrentVar& = XPRINT(ORIENTATION)

Beschreibung

Holen Sie sich das Papier

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET ORIENTATION ruft die Ausrichtung des Papiers im Hostdrucker ab und weist den Wert der durch OrentVar& angegebenen langen Ganzzahlvariablen zu. Der Wert 1 gibt den Hochformatmodus an, während 2 den Querformatmodus angibt. Wenn der Drucker die Papierausrichtung nicht unterstützt, wird 0 zurückgegeben. Wenn kein Hostdrucker angeschlossen ist, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT(ORIENTIERUNG) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(ORIENTIERUNG) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT-SET-AUSRICHTUNG
  • Hilfe zum PBXB64-Compiler


XPRINT(OVERLAP) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(OVERLAP)

Ruft den Status von XPrint ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET OVERLAP To OverlapVar&
Function Form:
OverlapVar& = XPRINT(OVERLAP)

Beschreibung

Ruft den Status von XPrint ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET OVERLAP ruft den Status des Überlappungsmodus ab und weist ihn der durch OverlapVar& angegebenen Variablen zu. Wenn der Überlappungsmodus aktiviert ist, wird der Wert wahr (ungleich Null) zugewiesen. Wenn es deaktiviert ist, wird stattdessen der Wert false (Null) zugewiesen. Der zurückgegebene Wert spiegelt den Status des Hostdruckers wider, der derzeit an den XPrint-Stream angeschlossen ist.

Mit dem Überlappungsmodus können Sie steuern, wie PowerBASIC XPrint-Vorgänge behandelt, deren Definition ein umgrenzendes Rechteck (RECT-Struktur) enthält. Windows behält einzigartige Konventionen für ein RECT bei. Die unteren und rechten Koordinaten eines RECT sind exklusiv. Mit anderen Worten: Die Pixel am unteren und rechten Rand liegen unmittelbar außerhalb des Rechtecks. Sie werden ignoriert. Zum Beispiel:

XPRINT-BOX (0,0) - (50,50)

In diesem Fall wird ein Kästchen von 0,0 bis 49,49 gezeichnet. Die letzten Pixel am unteren und rechten Rand werden einfach nicht gezeichnet. Wenn jedoch der Überlappungsmodus mit XPRINT SET OVERLAP aktiviert ist, wird die Box von 0,0 bis 50,50 gezeichnet.

Der Überlappungsmodus betrifft alle XPRINT-Funktionen, die ein umschließendes Rechteck als Parameter verwenden. Dazu gehören XPRINT SCALE, XPRINT BOX, XPRINT ELLIPSE, XPRINT LINE, XPRINT POLYLINE usw.

PBXB64-Umsetzungshinweise

XPRINT(ÜBERLAPPUNG) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(ÜBERLAPPUNG) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT SET OVERLAP
  • Hilfe zum PBXB64-Compiler


XPRINT(PAPER) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(PAPER)

Ruft die ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET PAPER TO PaperVar&
Function Form:
PaperVar& = XPRINT(PAPER)

Beschreibung

Ruft die ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET PAPER ruft den Papierstil ab, für den der Hostdrucker aktuell konfiguriert ist. Der Papierstil wird durch einen ganzzahligen Wert identifiziert, der der durch PaperVar& angegebenen langen Ganzzahlvariablen zugewiesen wird. Die folgenden Equates sind im Compiler vordefiniert und repräsentieren die gängigsten Papierstile:

%DMPAPER_LETTER = 1 Buchstabe 8,5 x 11 Zoll

%DMPAPER_TABLOID = 3 Tabloid 11 x 17 Zoll

%DMPAPER_LEDGER = 4 Ledger 17 x 11 Zoll

%DMPAPER_LEGAL = 5 Legal 8,5 x 14 Zoll

%DMPAPER_STATEMENT = 6 Statement 5,5 x 8,5 Zoll

%DMPAPER_EXECUTIVE = 7 Executive 7,25 x 10,5 Zoll

%DMPAPER_A3 = 8 A3 297 x 420 mm

%DMPAPER_A4 = 9 A4 210 x 297 mm

%DMPAPER_A5 = 11 A5 148 x 210 mm

%DMPAPER_B4 = 12 B4 250 x 354 mm

%DMPAPER_B5 = 13 B5 182 x 257 mm

%DMPAPER_FOLIO = 14 Folio 8,5 x 13 Zoll

%DMPAPER_QUARTO = 15 Viertel 215 x 275 mm

%DMPAPER_10X14 = 16 10x14 10 x 14 Zoll

%DMPAPER_11X17 = 17 11x17 11 x 17 Zoll

%DMPAPER_NOTE = 18 Notiz 8,5 x 11 Zoll

%DMPAPER_ENV_9 = 19 9 Umschlag 3,875 x 8,875 Zoll

%DMPAPER_ENV_10 = 20 10 Umschlag 4,125 x 9,5 Zoll

Andere Papierstilcodes können von Windows oder Druckerlieferanten definiert werden. Mit XPRINT GET PAPERS erhalten Sie eine Liste aller vom angeschlossenen Host-Drucker unterstützten Papierstile.

Wenn der Drucker keine Papierstiländerungen unterstützt, wird der Wert Null zurückgegeben. Bei Ausführung ohne angeschlossenen Hostdrucker wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT(PAPIER) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(PAPIER) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT$(PAPERS)
  • XPRINT SET PAPER
  • Hilfe zum PBXB64-Compiler


XPRINT(PIXEL...) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(PIXEL...)

Ruft die ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET PIXEL [STEP] (x!, y!) TO PixelVar&
Function Form:
PixelVar& = XPRINT(PIXEL [STEP], x! , y! )

Beschreibung

Ruft die ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Nicht alle Druckertreiber unterstützen die Möglichkeit, die Farbe eines Pixels abzurufen. Wenn diese Funktion nicht unterstützt wird oder die Koordinaten außerhalb des Drucker-Client-Bereichs liegen, wird ein ungültiger Farbwert von -1 zurückgegeben. Wenn kein Hostdrucker angeschlossen ist, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT(PIXEL...) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(PIXEL...) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • Built In RGB Color Equates
  • XPRINT ATTACH
  • XPRINT COLOR
  • XPRINT SET PIXEL
  • Hilfe zum PBXB64-Compiler


XPRINT(POS.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(POS.X)

Ruft den letzten von einem XPRINT referenzierten Punkt (POS) ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET POS TO XVar! , YVar!
Function Form:
XVar! = XPRINT(POS.X)
YVar! = XPRINT(POS.Y)

Beschreibung

Ruft den letzten von einem XPRINT referenzierten Punkt (POS) ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit XPRINT GET POS wird die von diesem fokussierten Slice verwaltete Positionskoordinate gelesen. Die Werte stammen aus dem aktuellen XPRINT-Zustand und nicht aus einem Live-Druckertreiber.

Validierung: tests/pb/test_xprint_get_set_pos.pb prueft sowohl XPRINT GET POS TO als auch die Funktionsformen XPRINT(POS.X)/XPRINT(POS.Y).

PBXB64-Umsetzungshinweise

XPRINT(POS.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(POS.X) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT SET POS
  • Hilfe zum PBXB64-Compiler


XPRINT(PPI.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(PPI.X)

Ruft die Aufl&ouml;sung des ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET PPI TO XVar& , YVar&
Function Form:
XVar& = XPRINT(PPI.X)
YVar& = XPRINT(PPI.Y)

Beschreibung

Ruft die Auflösung des ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET PPI ruft die Auflösung (Punkte pro Zoll) der Host-Druckerseite ab. Die Auflösung wird immer in Pixel angegeben, unabhängig von einer XPRINT SCALE-Option. Bei Ausführung ohne angeschlossenen Hostdrucker wird Fehler 57 generiert und die Werte 0,0 zurückgegeben. Diese Anweisung ist besonders nützlich, wenn Sie Elemente wie Lineale und Diagramme auf eine bestimmte physische Größe zeichnen möchten. Es gibt 25,4 Millimeter pro Zoll, also dividieren Sie einfach durch 25,4, um von Pixel pro Zoll in Pixel pro Millimeter umzurechnen.

PBXB64-Umsetzungshinweise

XPRINT(PPI.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(PPI.X) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(Client.X)
  • XPRINT GET MARGIN
  • XPRINT(SIZE.X)
  • Hilfe zum PBXB64-Compiler


XPRINT(QUALITÄT) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(QUALITÄT)

Ruft die ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET QUALITY To QualVar&
Function Form:
QualVar& = XPRINT(QUALITY)

Beschreibung

Ruft die ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GETQUALITÄT ruft die Druckqualitätseinstellung für den Hostdrucker ab. Der Wert 1 ist der Entwurfsmodus, 2 ist eine niedrige Auflösung, 3 ist eine mittlere Auflösung und 4 ist eine hohe Auflösung. Wenn der Drucker keine Druckqualitätseinstellungen unterstützt, wird 0 zurückgegeben. Wenn kein Hostdrucker angeschlossen ist, wird Fehler 57 generiert.

XPRINT-Prüfung

XPRINT-Seiten sollen Druckerauswahl, Lebensdauer des Device Context, Seitenzustand, Koordinateneinheiten und die Frage nennen, ob der Befehl Vorschau, Rendering oder Druckerausgabe betrifft. Beispiele sollen sicher sein, wenn kein Standarddrucker installiert ist.

Fehlerfälle

Dokumentieren Sie abgebrochene Druckdialoge, nicht verfügbare Drucker, ungültige DC-Handles und nicht unterstützte Gerätefähigkeiten.

Cleanup

Schließen oder brechen Sie Druckjobs ausdrücklich ab und geben Sie angehängte Ressourcen vor Programmende frei.

PBXB64-Umsetzungshinweise

XPRINT(QUALITÄT) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(QUALITÄT) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT SET-QUALITÄT
  • Hilfe zum PBXB64-Compiler


XPRINT(SELECTION) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(SELECTION)

Ruft den Status des SELECTION-Flags ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET SELECTION TO SelectVar&
Function Form:
SelectVar& = XPRINT(SELECTION)

Beschreibung

Ruft den Status des SELECTION-Flags ab.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Sie können einen bestimmten Druckauftrag auf nur den Teil der Gesamtmenge beschränken, der ausgewählt/hervorgehoben ist. Wenn dies der Fall ist, liegt es in der Verantwortung des Programmierers, die XPRINT-Ausgabe nur auf den ausgewählten Bereich zu beschränken.

Das Auswahlflag kann vom Benutzer nur im Druckdialog gesetzt werden, der angezeigt wird, wenn XPRINT ATTACH mit der Option CHOOSE ausgeführt wird. Es kann nicht programmgesteuert eingestellt werden. Dieses Flag wird nur beibehalten, um dem Programmierer Informationen über die Anfrage des Benutzers zu geben. Wenn Sie diese Option nicht berücksichtigen möchten, sollten Sie sie in XPRINT ATTACH CHOOSE deaktivieren.

Wenn XPRINT GET SELECTION ohne angeschlossenen Hostdrucker ausgeführt wird, wird ein Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT(AUSWAHL) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(AUSWAHL) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • Hilfe zum PBXB64-Compiler


XPRINT(SIZE.X) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(SIZE.X)

Rufen Sie die Gesamtgr&ouml;&szlig;e ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET SIZE TO WidthVar& , HeightVar&
Function Form:
WidthVar& = XPRINT(SIZE.X)
HeightVar& = XPRINT(SIZE.Y)

Beschreibung

Rufen Sie die Gesamtgröße ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Mit XPRINT GET SIZE können Sie die volle Größe der Host-Druckerseite abrufen, einschließlich des druckbaren Clientbereichs und aller nicht druckbaren Ränder. Die Größen werden in Pixel (Punkten) angegeben. Wenn kein Hostdrucker angeschlossen ist, wird Fehler 57 generiert und die Werte 0,0 zurückgegeben.

PBXB64-Umsetzungshinweise

XPRINT(GRÖSSE.X) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(GRÖSSE.X) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT(Client.X)
  • XPRINT GET MARGIN
  • XPRINT(MIX)
  • XPRINT(PPI.X)
  • Hilfe zum PBXB64-Compiler


XPRINT(STRETCHMODE) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(STRETCHMODE)

Ruft den Standard-Bitmap-Streckmodus f&uuml;r das angeh&auml;ngte Objekt ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET STRETCHMODE TO ModeVar&
Function Form:
ModeVar& = XPRINT(STRETCHMODE)

Beschreibung

Ruft den Standard-Bitmap-Streckmodus für das angehängte Objekt ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

In PowerBASIC gibt es mehrere Vorgänge, die das Strecken oder Komprimieren von Bildern auf Bitmaps umfassen, insbesondere XPRINT STRETCH . Da einzelne Punkte hinzugefügt oder entfernt werden müssen, ist die Wahrscheinlichkeit groß, dass sich die Bildqualität verschlechtert. Wenn Sie jedoch die Art des Bildes durch die Definition eines StretchMode beschreiben, können Sie das Erscheinungsbild erheblich verbessern.

Der Standard-StretchMode wird für jeden DC individuell verwaltet. Sie können den Standardmodus mit dieser Anweisung abrufen oder mit XPRINT SET STRETCHMODE festlegen. Natürlich können Sie den Standard-StretchMode auch überschreiben, wenn Sie eine der betroffenen Anweisungen ausführen.

Die 4 Stretch-Modus-Equates sind in PowerBASIC vordefiniert.

%BLACKONWHITE

Dies ist der standardmäßige Streckungsmodus von Windows und eignet sich am besten für monochrome Bitmaps oder solche mit Farbblöcken. Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Schwarze Pixel bleiben auf Kosten weißer Pixel erhalten.

%WHITEONBLACK

Führt ein boolesches ODER von eliminierten und vorhandenen Pixeln durch. Es behält weiße Pixel auf Kosten schwarzer Pixel bei.

%COLORONCOLOR

Löscht gelöschte Pixelzeilen, ohne zu versuchen, ihre Informationen beizubehalten.

%HALBTON

Dies bietet höchste Qualität für komplexe Farbbitmaps. Die durchschnittliche Farbe des Zielpixelblocks bleibt ungefähr die gleiche wie die des Quellpixelblocks.

PBXB64-Umsetzungshinweise

XPRINT (STRECKMODUS) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT (STRECKMODUS) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT COPY
  • XPRINT RENDER
  • XPRINT STRETCH
  • XPRINT SET STRETCHMODE
  • Hilfe zum PBXB64-Compiler


XPRINT(TEXT.SIZE.X...) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(TEXT.SIZE.X...)

Berechnen Sie die Gr&ouml;&szlig;e des Texts, der auf a gedruckt werden soll

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT TEXT SIZE txt$ To nWidth! , nHeight!
Function Form:
WidthVar! = XPRINT(TEXT.SIZE.X, txt$ )
HeightVar! = XPRINT(TEXT.SIZE.Y, txt$ )

Beschreibung

Berechnen Sie die Größe des Texts, der auf a gedruckt werden soll

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Diese Anweisung berechnet die Gesamtgröße des gedruckten Textes basierend auf der aktuellen Schriftart für den Hostdrucker. Die zurückgegebenen Größen werden in Seiteneinheiten angegeben.

Dies ermöglicht Ihnen eine einfache Berechnung der passenden Druckposition, insbesondere bei Verwendung einer Proportionalschrift. Wenn diese Anweisung ohne angeschlossenen Hostdrucker ausgeführt wird, wird Fehler 57 generiert.

PBXB64-Umsetzungshinweise

XPRINT(TEXT.SIZE.X...) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(TEXT.SIZE.X...) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT(Cell.Size.X)
  • XPRINT(Chr.Size.X)
  • XPRINT SET FONT
  • Hilfe zum PBXB64-Compiler


XPRINT(TRAY) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(TRAY)

Ruft den fokussierten Tray-Status der Kompatibilitaet ab.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET TRAY TO TrayVar&
Function Form:
TrayVar& = XPRINT(TRAY)

Beschreibung

Ruft den fokussierten Tray-Status der Kompatibilitaet ab.

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET TRAY ruft den aktuellen Tray-Code ab, der von diesem fokussierten XPRINT-Teil verwaltet wird. Der durch TrayVar& angegebenen Long-Integer-Variable wird ein beschreibender Wert zugewiesen. Die folgenden Equates sind im Compiler vordefiniert und stellen die gebräuchlichsten Papierfächer dar:

%DMBIN_UPPER = 1

%DMBIN_MIDDLE = 3

%DMBIN_MANUAL = 4

%DMBIN_ENVELOPE = 5

%DMBIN_ENVMANUAL = 6

%DMBIN_AUTO = 7

%DMBIN_TRACTOR = 8

%DMBIN_SMALLFMT = 9

%DMBIN_LARGEFMT = 10

%DMBIN_LARGECAPACITY = 11

%DMBIN_CASSETTE = 14

%DMBIN_FORMSOURCE = 15

Der Tray-Code wird vom aktuellen fokussierten Teil verwaltet und fragt kein Live-Druckgeraet ab. Mit XPRINT GET TRAYS erhalten Sie die deterministische Tray-Liste, die diese Kompatibilitaetsschicht verwendet.

Nicht unterstuetzte Tray-Codes werden mit einer gezielten Diagnose abgelehnt.

PBXB64-Umsetzungshinweise

XPRINT(FACH) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(FACH) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT$(TRAYS)
  • XPRINT SET TRAY
  • Hilfe zum PBXB64-Compiler


XPRINT(WORDWRAP) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(WORDWRAP)

Ruft den Status von XPRINT ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET WORDWRAP TO WrapVar&
Function Form:
WrapVar& = XPRINT(WORDWRAP)

Beschreibung

Ruft den Status von XPRINT ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET WORDWRAP ruft den Status des Zeilenumbruchmodus ab und weist ihn der durch WrapVar& angegebenen Variablen zu. Wenn der WordWrap-Modus aktiviert ist, wird der Wert true (ungleich Null) zugewiesen. Wenn es deaktiviert ist, wird stattdessen der Wert false (Null) zugewiesen. Der zurückgegebene Wert spiegelt den Status des angeschlossenen Druckers wider.

Mit dem WordWrap-Modus können Sie steuern, wie PowerBASIC Text auf einer XPRINT-Seite druckt, wenn dieser das Ende einer Zeile erreicht. Da XPRINT ganzseitig arbeitet, wird standardmäßig Text ignoriert, der über das Zeilenende hinaus gedruckt wird. Dies kann programmgesteuert mit XPRINT SET WORDWRAP geändert werden.

Wenn der WordWrap-Modus aktiviert ist, betrifft er nur XPRINT-Druckvorgänge. Wenn XPRINT print versucht, ein Wort über das Ende einer Zeile hinaus anzuzeigen, wird das gesamte Wort automatisch in die erste Spalte der nächsten Zeile umgebrochen.

PBXB64-Umsetzungshinweise

XPRINT(WORDWRAP) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(WORDWRAP) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT(COL)
  • XPRINT(WRAP)
  • XPRINT SET WORDWRAP
  • XPRINT SET WRAP
  • XPRINT SPLIT
  • Hilfe zum PBXB64-Compiler


XPRINT(WRAP) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT(WRAP)

Ruft den Status von XPRINT ab

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT GET WRAP TO WrapVar&
Function Form:
WrapVar& = XPRINT(WRAP)

Beschreibung

Ruft den Status von XPRINT ab

Typ:Funktion |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT GET WRAP ruft den Status des Wrap-Modus ab und weist ihn der durch WrapVar& angegebenen Variablen zu. Wenn der Wrap-Modus aktiviert ist, wird der Wert true (ungleich Null) zugewiesen. Wenn es deaktiviert ist, wird stattdessen der Wert false (Null) zugewiesen. Der zurückgegebene Wert spiegelt den Status des angeschlossenen Druckers wider.

Mit dem Wrap-Modus können Sie steuern, wie PowerBASIC Text auf einer XPRINT-Seite druckt, wenn dieser das Ende einer Zeile erreicht. Da XPRINT ganzseitig arbeitet, wird standardmäßig Text ignoriert, der über das Zeilenende hinaus gedruckt wird. Dies kann programmgesteuert mit XPRINT SET WRAP geändert werden.

Wenn der Wrap-Modus aktiviert ist, betrifft er nur XPRINT-Druckvorgänge. Wenn XPRINT print versucht, ein Zeichen über das Ende einer Zeile hinaus anzuzeigen, wird es automatisch in die erste Spalte der nächsten Zeile umgebrochen.

PBXB64-Umsetzungshinweise

XPRINT(WRAP) gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT(WRAP) ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT(COL)
  • XPRINT(WORDWRAP)
  • XPRINT SET WORDWRAP
  • XPRINT SET WRAP
  • XPRINT SPLIT
  • Hilfe zum PBXB64-Compiler


XPRINT-Codegruppe - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT-Codegruppe

Der XPRINT

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT DirectorWord [ params ]
XPRINT DirectorWord [ params ] TO ReturnVariable(s)
Function Form:
ReturnVariable = XPRINT( DirectorWord [, params ] )
ReturnVariable$ = XPRINT$( DirectorWord [, params ] )

Beschreibung

Der XPRINT

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Einige der Funktionen der XPRINT-Gruppe waren in früheren Versionen von PowerBASIC verfügbar, wurden jedoch jetzt erweitert. Einige XPRINT-Prozeduren (nämlich solche, die einen einzelnen Wert zurückgeben) können in zwei Formen verwendet werden: als Anweisung mit einer TO-Klausel oder als Funktion, die als Begriff in einem Ausdruck verwendet werden kann:

XPRINT GET LINES TO LineCountVar&

LineCountVar& = XPRINT(LINES)

Die beiden obigen Beispiele sind funktional identisch. Die Wahl hängt einfach von Ihren persönlichen Vorlieben ab. Wenn Sie die zweite Form verwenden (als Funktion, die einen Wert zurückgibt), kann es sich um einen Begriff in jedem beliebigen Ausdruck beliebiger Komplexität handeln. Wenn ein Funktionsformular verfügbar ist, wird es mit dem Präfix „Funktionsformular“ gekennzeichnet.

Einige XPRINT-Prozeduren geben zwei oder mehr Werte zurück. Da es nicht möglich ist, mehrere Begriffe gleichzeitig in einen gültigen Ausdruck einzufügen, steht die Funktionsoption für sie nicht zur Verfügung.

PIXEL und PUNKTE

Für die Zwecke dieser Diskussion über XPRINT werden die Begriffe PIXEL und PUNKTE als Synonyme betrachtet. Sie können austauschbar verwendet werden.

XPRINT-STREAM

Der XPRINT-Stream ist die Verbindung zwischen XPRINT-Code und einer Host-Druckerseite. Der XPrint Stream wird erstellt, wenn Sie einen bestimmten Drucker mit XPRINT ATTACH anschließen. Von diesem Moment an wirkt der gesamte XPrint-Code auf dem ausgewählten Drucker. Dies geschieht so lange, bis Sie Ihren Druckauftrag mit XPRINT CLOSE beenden.

SEITENEINHEITEN

PAGE UNITS werden verwendet, um die Größe eines grafischen Elements zu messen oder um eine bestimmte Position auf einer XPrint-Seite zu definieren. Sie können Seiteneinheiten als Punkte oder skalierte Einheiten Ihrer Wahl definieren.

Zu Beginn jeder XPrint-Sitzung sind die Seiteneinheiten auf Punkte gesetzt. Sie können dies mit XPRINT SCALE in skalierte Weltkoordinaten Ihrer Wahl ändern.

Standardmäßig gilt die obere linke Ecke einer Druckerseite als X-Y-Position 0,0 und wird nach rechts oder unten größer. Die X-Achse ist horizontal, während die Y-Achse vertikal ist. Immer wenn eine X-, Y-Position angegeben wird, wird zuerst der X-Wert angegeben.

XPRINT-POSITION (POS)

Jedes Mal, wenn Sie Text oder Grafiken zeichnen, werden diese an der aktuellen XPrint-Position (POS) angezeigt. Nach Abschluss wird der POS auf den letzten referenzierten Punkt aktualisiert. Sie können einen relativen Abstand vom POS zeichnen (mithilfe einer STEP-Option) oder mit XPRINT SET POS eine völlig neue Position festlegen.

TEXTZELLE (ZEILEN-/Spaltenposition)

Um die Programmierung zu vereinfachen, geben einige Prozeduren die Textposition nach Zeile und Spalte an. In diesem Fall wird die Position in Textzellen gemessen, also dem von einem Zeichen eingenommenen Platz. Dies funktioniert gut mit Schriftarten mit fester Breite, was empfohlen wird. Wenn eine Schriftart mit variabler Breite gewählt wird, muss PowerBASIC für diese Berechnungen die durchschnittliche Zeichengröße verwenden, was zu ungenauen Ergebnissen führen kann.

Aus Gründen der Kompatibilität mit den meisten aktuellen und früheren Versionen von BASIC (einschließlich PowerBASIC) benennt Code, der auf Textzeilen und -spalten verweist, zuerst den vertikalen Begriff (Zeilen, Spalten). Zeilen und Spalten werden immer von eins aufwärts nummeriert.

PBXB64-Umsetzungshinweise

XPRINT-Codegruppe gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-Codegruppe ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • Druckübersicht
  • Druckbefehle
  • Hilfe zum PBXB64-Compiler


XPRINT-SET-AUSRICHTUNG - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT-SET-AUSRICHTUNG

Legen Sie die Papierausrichtung f&uuml;r a fest

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT SET ORIENTATION orent&

Beschreibung

Legen Sie die Papierausrichtung für a fest

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XPRINT SET ORIENTATION legt die Ausrichtung des Papiers im Hostdrucker fest. Der Wert 1 gibt den Hochformatmodus an, während 2 den Querformatmodus angibt. Wenn kein Hostdrucker angeschlossen ist oder die Einstellung der Ausrichtung nicht unterstützt, wird Fehler 57 generiert.

XPRINT-Prüfung

XPRINT-Seiten sollen Druckerauswahl, Lebensdauer des Device Context, Seitenzustand, Koordinateneinheiten und die Frage nennen, ob der Befehl Vorschau, Rendering oder Druckerausgabe betrifft. Beispiele sollen sicher sein, wenn kein Standarddrucker installiert ist.

Fehlerfälle

Dokumentieren Sie abgebrochene Druckdialoge, nicht verfügbare Drucker, ungültige DC-Handles und nicht unterstützte Gerätefähigkeiten.

Cleanup

Schließen oder brechen Sie Druckjobs ausdrücklich ab und geben Sie angehängte Ressourcen vor Programmende frei.

PBXB64-Umsetzungshinweise

XPRINT-SET-AUSRICHTUNG gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-SET-AUSRICHTUNG ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • SCHRIFTART NEU
  • XPRINT ATTACH
  • XPRINT(ORIENTATION)
  • XPRINT SET FONT
  • Hilfe zum PBXB64-Compiler


XPRINT-VORSCHAU - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XPRINT-VORSCHAU

Zeigen Sie eine Kopie eines gedruckten Dokuments auf dem Bildschirm an.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XPRINT PREVIEW hWin , ID [, CALL xxx ]
XPRINT PREVIEW CLOSE

Beschreibung

Zeigen Sie eine Kopie eines gedruckten Dokuments auf dem Bildschirm an.

Typ:Anweisung |Kategorie:Benutzeroberfläche, Grafik und DDT

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die Druckvorschau ist ein leistungsstarkes Konzept, das in den meisten Anwendungsprogrammen berücksichtigt werden sollte, die gedruckte Berichte bereitstellen. Kurz gesagt besteht die Idee darin, einen gedruckten Bericht auf dem Bildschirm anzuzeigen, bevor er auf Papier gedruckt wird.

Mit XPRINT PREVIEW können Sie die Ausgabe von XPRINT-Anweisungen in eine Grafik, ein Steuerelement oder ein Fenster umleiten, damit sie auf dem Bildschirm angezeigt werden kann. Wenn XPRINT PREVIEW CLOSE ausgeführt wird, kehrt die XPRINT-Ausgabe zurück zum Host-Drucker, sodass nun eine Wiederholung des XPRINT-Codes an den Drucker gesendet wird, um den gedruckten Bericht abzuschließen.

XPRINT PREVIEW wählt das Grafikziel aus und sollte direkt nach der Auswahl des Druckers mit XPRINT ATTACH ausgeführt werden. Das Ziel wird durch das Handle und die ID identifiziert, die bei der Erstellung angegeben wurden. Optional können Sie eine Callback-Funktion angeben, die bei jeder Ausführung eines XPRINT FORMFEED oder XPRINT CLOSE aufgerufen wird.

XPRINT PREVIEW muss unmittelbar nach XPRINT ATTACH ausgeführt werden, sonst wird zur Laufzeit der Fehler 98 „XPrint Preview Error“ generiert. Zwischen XPRINT ATTACH und XPRINT PREVIEW dürfen keine XPRINT-Anweisungen (außer der XPRINT$-Funktion) ausgeführt werden.

Wenn Sie die CallBack-Option einschließen, muss die Callback-Prozedur ein einfaches SUB ohne Parameter und ohne Rückgabewert sein. Es wird automatisch von der XPRINT-Engine aufgerufen, wenn jede Vorschauseite fertig ist (bei der Ausführung von XPRINT FORMFEED oder

PBXB64-Umsetzungshinweise

XPRINT-VORSCHAU gehoert zur PBXB64 GUI-, DDT-, GRAPHIC- oder XPRINT-Oberflaeche. Dieser Abschnitt ergaenzt die Hauptbeschreibung der Seite um Objektzustand, Pruefreihenfolge und die sichtbaren Randfaelle der aktuellen Toolchain.

Praktische Verwendung

XPRINT-VORSCHAU ist ein XPRINT-Befehl fuer ein Druckerseite. Verwenden Sie den Befehl, nachdem das zugehoerige Fenster, Control oder Ausgabegeraet erzeugt und der passende angehaengter Druckerkontext bekannt ist. GUI-Befehle sollten in einer klaren Reihenfolge stehen: Objekt erzeugen, Eigenschaften setzen, anzeigen oder abfragen, danach Ressourcen freigeben.

Parameter und Zustand

Handles und IDs muessen zu einem noch gueltigen Objekt gehoeren. Koordinaten werden in der Einheit des jeweiligen Subsystems interpretiert: DDT-Dialogeinheiten oder Pixel fuer Dialog- und Controls, Grafikkoordinaten fuer GRAPHIC-Ziele und Seiten- beziehungsweise Druckereinheiten fuer XPRINT. Abfragefunktionen schreiben ihre Ergebnisse in die angegebenen Zielvariablen.

Fehler und Randfaelle

Ein ungueltiger Handle, eine falsche Control-ID, ein nicht ausgewaehltes Grafikziel oder ein nicht angehaengter Drucker kann zu Fehlern, Rueckgabewerten 0/0 oder unveraenderten Zielvariablen fuehren. Pruefen Sie deshalb die Erzeugungsschritte und behandeln Sie Fehlerpfade im Beispielcode explizit.

Druckersitzung

XPRINT-Seiten sollen den Lebenszyklus der angehaengten Druckersitzung erklaeren: anhaengen, skalieren, zeichnen, abfragen und am Ende schliessen. Das Beispiel sollte zeigen, dass der Zustand bis zum expliziten XPRINT CLOSE erhalten bleibt und nicht an ein lokales Zwischenobjekt gebunden ist.

Skalierung und Seitenwerte

Beschreiben Sie, wie die Seite zwischen Pixeln und benutzerdefinierten Weltkoordinaten wechselt und welche Abfrage die aktuellen Werte zurueckliefert. Wenn die Seite eine konkrete Koordinatenspanne verwendet, pruefen Sie diese aktiv im Beispiel und nennen Sie den Rueckweg zu XPRINT SCALE PIXELS.

Siehe auch

  • XPRINT ATTACH
  • XPRINT CLOSE
  • XPRINT FORMFEED
  • Hilfe zum PBXB64-Compiler


XTHREAD CREATE - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

XTHREAD CREATE

Erstellen Sie einen Windows-Thread mit mehreren Argumenten.

Kategorie: Allgemeine Referenz

Syntax

XTHREAD CREATE FuncName(arg1, arg2, ...) TO hThread

Beschreibung

Erstellen Sie einen Windows-Thread mit mehreren Argumenten.

Typ:Anweisung |Kategorie: Einfädeln

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

XTHREAD CREATE ist eine Variante mit mehreren Argumenten THREAD CREATE. Während THREAD CREATE nur einen einzelnen BYVAL LONG-Parameter akzeptiert, unterstützt XTHREAD CREATE bis zu sechs Argumente gemischter Typen (LONG oder STRING).

Der Funktionsname wird ohne Anführungszeichen angegeben. Die Funktion muss vor der XTHREAD CREATE-Anweisung deklariert oder definiert werden. Argumente werden automatisch BYVAL übergeben.

Bei Erfolg wird das Thread-Handle in der hinter TO angegebenen Variablen gespeichert. Bei einem Fehler erhält die Variable Null (0).

Das Thread-Handle kann mit allen Standard-Thread-Anweisungen verwendet werden: FADEN CLOSE, Thread-Status, FADEN AUFHÄNGEN, UndThread-Lebenslauf.

Einschränkungen

Es werden maximal sechs Argumente unterstützt. Die Argumenttypen sind auf LONG und STRING beschränkt. Die Zielfunktion muss sich im selben kompilierten Modul befinden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

#COMPILE EXE
#DIM ALL

DECLARE FUNCTION MultiAdd(BYVAL a AS LONG, BYVAL b AS LONG, BYVAL c AS LONG) AS LONG

FUNCTION MultiAdd(BYVAL a AS LONG, BYVAL b AS LONG, BYVAL c AS LONG) AS LONG
    FUNCTION = a + b + c
END FUNCTION

FUNCTION PBMAIN() AS LONG
    LOCAL h AS LONG
    LOCAL r AS LONG

    XTHREAD CREATE MultiAdd(10, 20, 30) TO h
    THREAD CLOSE h TO r

    IF r <> 60 THEN FUNCTION = 1 ELSE FUNCTION = 0
END FUNCTION

Siehe auch

  • THREAD CREATE
  • Thread schließen - Hilfe zum PBXB64-Compiler
  • THREAD-STATUS
  • THREAD SUSPEND
  • Thread-Fortsetzung
  • Thread-Set-Priorität
  • THREADID
  • THREADCOUNT
  • THREADED
  • THREAD-Codegruppe


Zeichen, Zeichenfolgen und Unicode - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Zeichen, Zeichenfolgen und Unicode

Eine Zeichenfolge besteht aus einem Satz von null oder mehr Zeichen. Ein Zeichen ist ein alphabetischer Buchstabe, eine Zahl, ein Satzzeichen oder sogar nicht druckbare Steuercodes, die normalerweise bei der Formatierung des Textes hilfreich sind.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine Zeichenfolge besteht aus einem Satz von null oder mehr Zeichen. Ein Zeichen ist ein alphabetischer Buchstabe, eine Zahl, ein Satzzeichen oder sogar nicht druckbare Steuercodes, die normalerweise bei der Formatierung des Textes hilfreich sind.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Diese Darstellung ist praktisch, da eine Zeichenfolge aus Textzeichen problemlos als Reihe kleiner ganzzahliger Zahlen gespeichert werden kann. Das Wort „Hallo“ wird beispielsweise als 72, 105, 108, 108, 111 gespeichert. Einfacher geht es nicht. Wie werden die Nummern vergeben und zugeordnet? Es ist lediglich eine Frage der gegenseitigen Zustimmung derjenigen, die sie nutzen. Solange sich alle über die Assoziationen einig sind, funktioniert das System gut. Allerdings haben wir im Laufe der Jahre gewisse Wachstumsschmerzen erlebt. Mit der weltweiten Zunahme der Computernutzung werden größere Zeichensätze benötigt, um die erforderlichen Zeichen darzustellen. Wir sind eindeutig an dem Punkt angelangt, an dem jeder Programmierer alternative Zeichensätze für seine Anwendungen in Betracht ziehen muss. Bei Nichtbeachtung können empfindliche Strafen verhängt werden. Wenn Sie feststellen, dass Sie Datendateien von einer externen Quelle oder Text aus dem Internet nicht mehr lesen können, ist es zu spät. In den folgenden Abschnitten werden die gebräuchlichsten und am häufigsten verwendeten Zeichensätze beschrieben.

ASCII war der erste Zeichensatz, der auf kleinen Computern verwendet wurde. Tatsächlich verwenden alle anderen hier beschriebenen Sets ASCII-Codes unverändert für eine Basis. ASCII ist ein Satz von 128 Zeichen, nummeriert von 0 bis 127. Es wurde für amerikanisches Englisch entwickelt und definiert daher nur Buchstaben, Zahlen, Satzzeichen und Steuercodes ohne Akzent. Solange Sie nur englischen Text benötigen, funktioniert ASCII ziemlich gut.

ASCII benötigt nur 7 Bit Speicherplatz pro Zeichen, daher war es praktisch, jedes Zeichen in einem Byte zu speichern. Der letzte Teil wurde einfach ignoriert. Das bedeutete natürlich, dass die Werte von 128 bis 255 ungenutzt waren. Diese Lücke würde nicht lange anhalten.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Zeichenfolge entspricht - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Zeichenfolge entspricht

Sie k&ouml;nnen ein String-Equate erstellen, indem Sie dem Equate-Namen das Pr&auml;fix $ (f&uuml;r ANSI) oder $$ (f&uuml;r WIDE) voranstellen. Der Wert auf der rechten Seite der Equate-Zuweisung muss ein String-Literal oder ein erstellter Ausdruck sein

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Sie können ein String-Equate erstellen, indem Sie dem Equate-Namen das Präfix $ (für ANSI) oder $$ (für WIDE) voranstellen. Der Wert auf der rechten Seite der Equate-Zuweisung muss ein String-Literal oder ein erstellter Ausdruck sein

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

$$Fullname = „John“$$ & „Smith“$$

$$UserNam = $$First & $$Last

$PrintCode = CHR$(27, 34, „E“) + SPACE$(10) + CHR$(65 TO 90)

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


Zeichenfolgen mit fester Länge - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Zeichenfolgen mit fester Länge

Wie der Name schon sagt, haben Zeichenfolgen fester L&auml;nge eine vordefinierte L&auml;nge, und jeder Versuch, eine Zeichenfolge zuzuweisen, die l&auml;nger als die definierte L&auml;nge ist, f&uuml;hrt zu einer K&uuml;rzung. Wenn Sie einer festen Datei eine Zeichenfolge zuweisen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wie der Name schon sagt, haben Zeichenfolgen fester Länge eine vordefinierte Länge, und jeder Versuch, eine Zeichenfolge zuzuweisen, die länger als die definierte Länge ist, führt zu einer Kürzung. Wenn Sie einer festen Datei eine Zeichenfolge zuweisen

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Sie deklarieren String-Variablen fester Länge mit STRING * x (für ANSI-Zeichen) oder WSTRING * x (für WIDE-Zeichen). Zum Beispiel

DIM MyStr1 AS STRING * 10 ' belegt 10 Bytes

DIM MyStr2 AS WSTRING * 10 ' belegt 20 Bytes

Die deklarierte Länge bezieht sich auf die Anzahl der Zeichen, nicht auf die Anzahl der Bytes. Im Gegensatz zu dynamischen Zeichenfolgen wird die Länge von Zeichenfolgen fester Länge zur Kompilierungszeit und nicht zur Laufzeit bestimmt. Darüber hinaus verwenden Zeichenfolgen fester Länge im Gegensatz zu dynamischen Zeichenfolgen keine Handles. Wenn Sie einer Prozedur eine Zeichenfolge fester Länge als Parameter übergeben, übergeben Sie tatsächlich einen Zeiger auf die Zeichenfolgendaten.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Zeichenfolgenausdrücke - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Zeichenfolgenausdrücke

Ein String-Ausdruck besteht aus String-Literalen, String-Variablen und String-Funktionen, optional kombiniert mit den Verkettungsoperatoren (+ oder &amp;). String-Ausdr&uuml;cke erzeugen immer Strings als

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein String-Ausdruck besteht aus String-Literalen, String-Variablen und String-Funktionen, optional kombiniert mit den Verkettungsoperatoren (+ oder &). String-Ausdrücke erzeugen immer Strings als

Typ:Schlüsselwort |Kategorie:String-Funktionen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Zeichenfolgenkonstante „Katzen und Hunde“.

Vorname$ ' String-Variable

Vorname$ + Nachname$ ' Zeichenfolgenverkettung

a$ = „Cats“ & „and“ & „dogs“ ' Zeichenfolgenverkettung

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


Zeiger (@) - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Zeiger (@)

Ein Zeiger ist eine Variable, die die 32-Bit-Adresse (4 Byte) von Code oder Daten an anderer Stelle im Speicher enth&auml;lt. Er wird Zeiger genannt, weil er buchst&auml;blich auf diesen Ort zeigt. Der Standort wies darauf hin

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Ein Zeiger ist eine Variable, die die 32-Bit-Adresse (4 Byte) von Code oder Daten an anderer Stelle im Speicher enthält. Er wird Zeiger genannt, weil er buchstäblich auf diesen Ort zeigt. Der Standort wies darauf hin

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Zeiger stellen eine leistungsstarke Ergänzung zum Arsenal des BASIC-Programmierers dar. Die Adresse wird zur Laufzeit definiert, sodass Ihr Programm auf jeden Speicherort verweisen kann, als wäre es eine Standardvariable. Wenn ein Zeiger zum Zugriff auf einen Speicherort verwendet wird, spricht man von „indirekter Adressierung“.

Zeiger werden mit der DIM-Anweisung deklariert und der Typ des Ziels muss angegeben werden. Die Schlüsselwörter PTR und POINTER sind synonym.

DIM i AS INTEGER PTR 'deklariert i als Zeiger auf eine Ganzzahl

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Zeiger auf Arrays - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Zeiger auf Arrays

Um mit Arrays zu arbeiten, die von anderen Sprachen erstellt wurden, wie z. B. VB-Arrays, unterst&uuml;tzt PowerBASIC eine Erweiterung der Zeigersyntax namens &#8222;Pointer Indexing&ldquo;. Wie oben erw&auml;hnt, erm&ouml;glicht Ihnen ein Zeiger den Zugriff

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Um mit Arrays zu arbeiten, die von anderen Sprachen erstellt wurden, wie z. B. VB-Arrays, unterstützt PowerBASIC eine Erweiterung der Zeigersyntax namens „Pointer Indexing“. Wie oben erwähnt, ermöglicht Ihnen ein Zeiger den Zugriff

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Die Adresse des ersten Elements, x%(0), ist die Basis, wobei die übrigen Elemente nacheinander im Speicher gespeichert werden. Um mit einem Indexzeiger auf das Array zuzugreifen, weisen Sie Ihrem Basiszeiger einfach die Adresse des ersten Elements zu:

DIM xPtr ALS INTEGER-ZEIGER

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


Zeiger auf Arrays mit dualen Indizes - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Zeiger auf Arrays mit dualen Indizes

Indizierte Zeiger mit doppelten Indizes erfordern eine &#8222;OF limit&ldquo;-Klausel f&uuml;r beide Indizes. W&auml;hrend einfache Arrays (Arrays mit einem Index) Daten sequentiell speichern, verschachteln Dual-Indizes jede Datenzeile. Das OF

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Indizierte Zeiger mit doppelten Indizes erfordern eine „OF limit“-Klausel für beide Indizes. Während einfache Arrays (Arrays mit einem Index) Daten sequentiell speichern, verschachteln Dual-Indizes jede Datenzeile. Das OF

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

DIM DataPtr ALS INTEGER PTR

DIM z%(0 BIS 8, 0 BIS 3)

DataPtr = VARPTR(z%(0, 0))

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


Zeiger auf nullterminierte Zeichenfolgen und Zeichenfolgen fester Länge - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Zeiger auf nullterminierte Zeichenfolgen und Zeichenfolgen fester Länge

Bei der Deklaration einer Nul-terminierten Zeichenfolge oder einer Zeichenfolge mit fester L&auml;nge muss explizit die maximale L&auml;nge der Zeichenfolge angegeben werden, damit der Compiler den Speicher entsprechend zuweisen kann. Beim Deklarieren von Zeigern auf f

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Bei der Deklaration einer Nul-terminierten Zeichenfolge oder einer Zeichenfolge mit fester Länge muss explizit die maximale Länge der Zeichenfolge angegeben werden, damit der Compiler den Speicher entsprechend zuweisen kann. Beim Deklarieren von Zeigern auf f

Typ:Schlüsselwort |Kategorie:Datentypen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Bei einem Nul-terminierten String-Zeiger kann die Längenbeschränkung jedoch explizit angegeben werden oder als mehrdeutiger Wert belassen werden, indem die Längenklausel vollständig übersprungen wird. Gültig sind beispielsweise die folgenden Zeilen:

DIM x AS ASCIIZ PTR * 41

DIM y AS STRINGZ PTR * 2

DIM z AS WSTRINGZ PTR


Zeilennummern und Beschriftungen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Zeilennummern und Beschriftungen

Zeilennummern sind ganze Zahlen im Bereich von 1 bis 65535, die zur Identifizierung von Programmzeilen dienen. PowerBASIC nimmt eine entspannte Haltung gegen&uuml;ber Zeilennummern ein. Sie k&ouml;nnen beliebig mit Etiketten durchsetzt und z.B. verwendet werden

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Zeilennummern sind ganze Zahlen im Bereich von 1 bis 65535, die zur Identifizierung von Programmzeilen dienen. PowerBASIC nimmt eine entspannte Haltung gegenüber Zeilennummern ein. Sie können beliebig mit Etiketten durchsetzt und z.B. verwendet werden

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Rückgabewert: Folgendes ist jedoch unzulässig: ExitPoint: a = a + 1 ' Eine Beschriftung muss in einer eigenen Zeile stehen. Schließlich ist zu beachten, dass Symbolnamen eindeutig sein müssen: Eine Beschriftung darf nicht den Namen eines anderen Symbols (Untername, Funktionsname, Methodenname, Eigenschaftsname, benutzerdefinierte Typ- oder Unionsdefinition, Variablenname usw.) teilen und sie sind lokal für die Unter-, Funktions-, Methoden- oder Eigenschaftsbezeichnung, in der sie erscheinen.

Obwohl Zeilennummern und Beschriftungen denselben Zweck erfüllen, unterscheidet sich ihre Verwendung geringfügig. Zeilennummern sind lediglich ein Zugeständnis an die Kompatibilität mit Interpretive BASIC. Die Zeilennummerierung kann zu einem schlechten Programmierstil führen. Da die Zahlen selbst in beliebiger Reihenfolge vorliegen können, verleihen sie einem Programm eine falsche Struktur. Wir empfehlen, Zeilennummern zu vermeiden und stattdessen Beschriftungen zu verwenden.

Durch die Verwendung von Beschriftungen anstelle von Zahlen können Sie den Ablauf Ihres Programms viel lesbarer machen. Zum Beispiel:

sagt dir viel mehr als

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Zeitbefehle - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Zeitbefehle

Die folgenden Funktionen manipulieren und verwalten die Uhrzeit und das Systemdatum:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Die folgenden Funktionen manipulieren und verwalten die Uhrzeit und das Systemdatum:

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Stellen Sie das Systemdatum ein und rufen Sie es ab.

Konvertiert eine Wochentagszahl in den zugehörigen Namen.

Beschreibung

Zeitbefehle gehoert zur Kategorie General. Diese Seite beschreibt den PBXB64-Dokumentationsstand fuer diesen Eintrag; verwenden Sie die Grenzen und Belege auf dieser Seite statt historischer PBWin-Annahmen.

Praktische Verwendung

Zeitbefehle gehoert zur Kategorie General. Verwenden Sie diese Referenzseite zusammen mit dem Syntaxblock: zuerst die benoetigten Variablen und Handles vorbereiten, dann den Befehl ausfuehren, danach Rueckgabewerte, geaenderten Zustand oder Fehlerpfade ausdruecklich pruefen.

Parameter und Ergebnisse

Argumente muessen den im Syntaxabschnitt gezeigten Datentypen, Reihenfolgen und optionalen Teilen entsprechen. Zielvariablen sollten vor dem Aufruf initialisiert werden, damit unveraenderte Werte nach einem Fehler erkannt werden. Bei Befehlen mit globalem Zustand, Dateien, Fenstern, Handles oder Laufzeitressourcen gehoert das Freigeben oder Wiederherstellen zum Beispiel.

Oberflächengrenzen

Beschreiben Sie hier, ob die Seite eine einzelne Befehlsform, eine Familienuebersicht oder nur eine Kompatibilitaetsreferenz darstellt. Wenn mehrere Formen denselben Laufzeitpfad teilen, sollte die Seite das klar sagen; wenn Parser- oder Laufzeitverhalten auseinanderlaeuft, muessen diese Unterschiede ebenfalls benannt werden. Nennen Sie die registrierte Probe, die die Grenze belegt, und fuehren Sie offene Randfaelle nur dann auf, wenn sie wirklich noch ausserhalb des getesteten Bereichs liegen.

Kategoriehinweise

Die Seite sollte die Implementierungsgrenze sichtbar halten: genaue Form, was sich aendert, was gleich bleibt und welche benachbarten Seiten den umgebenden Ablauf belegen. Ist die Seite eine Uebersicht, sollten die konkreten Unterseiten genannt werden, die das eigentliche Verhalten tragen.

Validierungsbeleg

Validation evidence: Diese generierte Qualitaetsergaenzung verweist auf den aktuellen PBXB64-Hilfebaum und den Coverage-Manifest-Eintrag fuer diese Seite. Wenn kein konkreter Test auf dieser Seite genannt ist, ist der Eintrag als Dokumentations-/Kompatibilitaetsoberflaeche zu behandeln und nicht als vollstaendige PBWin-Paritaetsbehauptung.

Test- und Dokumentationshinweise

Ein vollstaendiges Beispiel nennt die erwartete Ausgabe oder den erwarteten Exit-Code und beschreibt Voraussetzungen wie Windows-Desktop, vorhandene Dateien, geoeffnete Handles, Includes oder Bibliotheken. Wenn ein Beispiel interaktiv ist oder Systemzustand aendert, muss dieser Zustand im Text genannt werden.


ZIEL - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ZIEL

Zur&uuml;ckkehren

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

lResult& = OBJACTIVE( prgid$ )

Beschreibung

Zurückkehren

Typ:Funktion |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Rückgabewert: TRUE/FALSE als Hinweis auf den Betriebszustand eines initialisierten COM-Objekts (EXE-basiert). Syntax lResult& = OBJACTIVE( prgid$ )

OBJACTIVE kann Informationen liefern, die sich als hilfreich bei der Entscheidung erweisen können, ob die Optionen NEWCOM oder GETCOM mit der LET-Anweisung (mit Objekten) verwendet werden sollen. OBJACTIVE darf nur für COM-Objekte verwendet werden, die im EXE-Format vorliegen, nicht für DLL/OCX/usw. Im letzteren Fall gibt OBJACTIVE FALSE (0) zurück.

prgid$

Die registrierte Programm-ID-Zeichenfolge für das COM-Objekt. Zum Beispiel „Word.Application.8“ oder eine versionunabhängige Programm-ID wie „Word.Application“. Eine gültige Programm-ID-Zeichenfolge kann mit der Funktion PROGID$ aus einer 16-Byte-Klassen-ID-Zeichenfolge abgerufen oder mit PROGID$ und GUID$ aus einer 38-stelligen GUID-Zeichenfolge abgeleitet werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Siehe auch

  • DIM ? PBXB64-Compiler-Hilfe
  • CLSID$
  • GUID$
  • GUIDTXT$
  • INTERFACE/END INTERFACE-Block (direkt)
  • INTERFACE/END INTERFACE-Block (Dispatch)
  • ISNOTHING
  • ISOBJECT
  • Was ist COM?
  • LET-Anweisung (mit Objekten)
  • OBJEKT
  • OBJEQUAL
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • What Is A COM Component?
  • Hilfe zum PBXB64-Compiler


Zugreifen auf die Felder eines benutzerdefinierten Typs - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Zugreifen auf die Felder eines benutzerdefinierten Typs

Um mit den einzelnen Feldern innerhalb einer Datensatzvariablen zu arbeiten, trennen Sie den Feldnamen durch einen Punkt vom Variablennamen. Hier sind einige Beispiele f&uuml;r die Verwendung der Student-Variablen in der obigen DIM-Anweisung:

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Um mit den einzelnen Feldern innerhalb einer Datensatzvariablen zu arbeiten, trennen Sie den Feldnamen durch einen Punkt vom Variablennamen. Hier sind einige Beispiele für die Verwendung der Student-Variablen in der obigen DIM-Anweisung:

Typ:Struktur |Kategorie:Typen

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Last$ = Student.LastName

Message$ = „ID-Nummer ist: „ + STR$(Student.IdNum)

Student.FirstName = „Bob“

Student.LastName = "Smith"

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.


ÃœBERPRÃœFEN " Hilfe zum PBXB64-Compiler - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

ÃœBERPRÃœFEN " Hilfe zum PBXB64-Compiler

Gibt die Position des ersten Zeichens in MainString zurueck, das nicht in MatchString enthalten ist.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

x = VERIFY([ start& ,] MainString , MatchString )

Beschreibung

Gibt die Position des ersten Zeichens in MainString zurueck, das nicht in MatchString enthalten ist.

Kind: Funktion | Category: String-Funktionen

PBXB64 Status: VERFUEGBAR

PBXB64 Certification: [ZERTIFIZIERT GETESTET]

Beschreibung

Gibt die Position des ersten Zeichens in MainString zurueck, das nicht in MatchString enthalten ist. VERIFY scannt ab der optionalen 1-basierten Startposition und liefert null, wenn jedes verbleibende Zeichen zu MatchString gehoert.

Praktische Verwendung

Verwenden Sie VERIFY, um einen String gegen eine feste Zeichenmenge zu pruefen, bevor Sie Parser oder numerische Konvertierungen aufrufen.

Parameter und Ergebnisse

Argumente muessen den Datentypen, der Reihenfolge und den optionalen Teilen aus dem Syntaxblock folgen. Initialisieren Sie Zielvariablen vor dem Aufruf, damit unveraenderte Werte nach einem Fehler sichtbar bleiben.

Einschränkungen

Da das Ergebnis eine Position ist, kann null entweder Erfolg oder einen ungueltigen Startwert bedeuten.

Verhalten

VERIFY scannt ab der optionalen 1-basierten Startposition und liefert null, wenn jedes verbleibende Zeichen zu MatchString gehoert.

Wird ein Zeichen ausserhalb der Menge gefunden, gibt die Funktion seine 1-basierte Position in MainString zurueck.

Ein Startwert von null, ein Wert links vom String oder ein Wert hinter dem String liefert sofort null.

Verwendungshinweise

Verwenden Sie VERIFY, um einen String gegen eine feste Zeichenmenge zu pruefen, bevor Sie Parser oder numerische Konvertierungen aufrufen.

Die Funktion arbeitet byteweise und ist gross-/kleinschreibungsabhaengig. Wenn Sie das passende Zeichen selbst brauchen, verwenden Sie SCAN$.

Grenzfaelle

Da das Ergebnis eine Position ist, kann null entweder Erfolg oder einen ungueltigen Startwert bedeuten.

Ein leerer Quellstring liefert null, weil es kein nicht passendes Zeichen zu melden gibt.

Test- und Dokumentationshinweise

Mit tests/pb/test_string_scan_tally_verify.pb kompiliert und ausgefuehrt; Exitcode 0.

Validierungsbeleg

Mit tests/pb/test_string_scan_tally_verify.pb kompiliert und ausgefuehrt; Exitcode 0. VERIFY(5, src, setchars)

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurueck zum Befehlsindex

Siehe auch

  • INSTR ? PBXB64-Compiler-Hilfe
  • LCASE$ ? PBXB64-Compiler-Hilfe
  • LTRIM$ ? PBXB64-Compiler-Hilfe
  • MID$ ? PBXB64-Compiler-Hilfe
  • REMOVE$
  • REPLACE ? PBXB64-Compiler-Hilfe
  • RIGHT$ ? PBXB64-Compiler-Hilfe
  • RTRIM$ ? PBXB64-Compiler-Hilfe
  • TALLY " PBXB64-Compiler-Hilfe
  • TRIM$ ? PBXB64-Compiler-Hilfe
  • UCASE$ ? PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


Öffnen einer Typbibliothek - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Öffnen einer Typbibliothek

The PowerBASIC COM Browser supports opening both registered an unregistered Type Libraries . A registered type library can be opened from the Registered Type Library view or by clicking the Open butto

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

The PowerBASIC COM Browser supports opening both registered an unregistered Type Libraries . A registered type library can be opened from the Registered Type Library view or by clicking the Open butto

Typ:Anweisung |Kategorie: COM & Objects

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Die Benutzeroberfläche des PowerBASIC COM-Browsers

Speichern des Quellcodes

Was ist überhaupt ein Objekt?

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.


Öffnen eines Kommunikationsports - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Öffnen eines Kommunikationsports

Before we can actually open a communications port , we must first obtain a PowerBASIC file number so we may manage input and output to the communications port. Die beste Methode, eine Aktennummer zu erhalten

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Before we can actually open a communications port , we must first obtain a PowerBASIC file number so we may manage input and output to the communications port. Die beste Methode, eine Aktennummer zu erhalten

Typ:Anweisung |Kategorie:Kommunikation

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Die allgemeine Methode zum Öffnen eines Kommunikationsports in einem PowerBASIC-Programm ist die Verwendung einer COMM OPEN-Anweisung. Die Syntax ähnelt einer einfachen Direktzugriffsdatei OPEN, wobei n die Nummer des Kommunikationsports ist

COMM OPEN „COMn“ AS #hComm

Beschreibung

Öffnen eines Kommunikationsports gehoert zur seriellen Kommunikationsfamilie. Die aktuelle PBXB64-Oberflaeche prueft das Oeffnen, Senden, Lesen, Zeilenlesen, Reset und Schliessen eines Kommunikationshandles; reale Hardware ist nur fuer den erfolgreichen Pfad noetig.

Validierungsbeleg

Validierungsbeleg: tests/pb/test_comm_print_line_input.pb, tests/pb/test_comm_reset.pb, examples/basic/test_comm_open_missing.pb, und examples/basic/test_comm_flow_missing.pb belegen den aktuellen Handle- und Fehlerpfad. Der Beispielpfad ist absichtlich portable und faellt geschlossen, wenn kein gueltiger Port verfuegbar ist.

Laufzeitvoraussetzungen

Serielle Beispiele brauchen ein echtes COM-Geraet oder einen dokumentierten Loopback/Testadapter. Wenn ein realer Port verfuegbar ist, muessen COMM SET-Parameter vor dem Datentransfer gesetzt und das Handle danach mit COMM CLOSE freigegeben werden.


Übergabe dynamischer Zeichenfolgen - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Übergabe dynamischer Zeichenfolgen

Eine dynamische String-Variable wird als 32-Bit-Datenelement definiert, das einen Zeiger (oder Offset) auf die String-Zeichen enth&auml;lt. Bei der &Uuml;bergabe durch value ist der Parameter tats&auml;chlich ein 32-Bit-Offset der Daten.

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Eine dynamische String-Variable wird als 32-Bit-Datenelement definiert, das einen Zeiger (oder Offset) auf die String-Zeichen enthält. Bei der Übergabe durch value ist der Parameter tatsächlich ein 32-Bit-Offset der Daten.

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

! MOV EBX, abc$ ; EBX ist ein Zeiger auf das String-Handle

! MOV EBX, [EBX] ; EBX ist jetzt ein Zeiger auf String-Daten

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


Übergabe von Parametern - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Übergabe von Parametern

PowerBASIC 32-Bit-Compiler &uuml;bergeben alle Parameter an Prozeduren, indem sie sie der Reihe nach von rechts nach links verschieben. Dies ist immer dann der Fall, wenn eine Prozedur die Standardaufrufkonventionen von SDECL (an

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PowerBASIC 32-Bit-Compiler übergeben alle Parameter an Prozeduren, indem sie sie der Reihe nach von rechts nach links verschieben. Dies ist immer dann der Fall, wenn eine Prozedur die Standardaufrufkonventionen von SDECL (an

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Standardmäßig übergibt PowerBASIC Parameter als Referenz: einen 32-Bit-Zeiger auf die Daten. Sie können die meisten Parameter auch als Wert übergeben, indem Sie sie mit dem optionalen Schlüsselwort BYVAL deklarieren. Wenn ein Parameter als Wert übergeben wird, wird der tatsächliche Wert des Parameters auf den Stapel gelegt.

Zeichenfolgen fester Länge, mit NULL endende Zeichenfolgen und benutzerdefinierte Typen/Unions können jetzt auch als BYVAL- oder OPTIONAL-Parameter übergeben werden. Vermeiden Sie die Übergabe großer Elemente BYVAL, da dies furchtbar ineffizient ist und es eine maximale Größenbeschränkung von 64 KB für eine bestimmte Parameterliste gibt. Arrays können nicht BYVAL übergeben werden.

PowerBASIC richtet zu Beginn jeder Prozedur in Ihrem Programm automatisch einen lokalen „Stack-Frame“ ein. Gemäß Standardkonventionen wird das EBP-Register zur Adressierung der Parameter verwendet. Der niedrigste Parameter befindet sich bei EBP+8 und nachfolgende Parameter befinden sich an benachbarten Stellen im Stapel.

In Assembler-Routinen ist es einfacher und sicherer, über den Namen auf Parameter zuzugreifen, anstatt ihre Position auf dem Stapel zu berechnen. Es ist jedoch wichtig, den Unterschied beim Zugriff auf Parameter, die als Wert übergeben werden, und beim Zugriff auf Parameter, die als Referenz übergeben werden, zu bedenken.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beschreibung

Sprachuebergreifende Themen sollen erklaeren, wie die Funktion zu den aktuellen PBXB64-Frontends, dem x64-Laufzeitmodell und Migrationsgrenzen passt. Eine vollständige Hilfeseite nennt außerdem Voraussetzungen, Grenzen, Fehlerfälle und die Beziehung zu verwandten Befehlen.

Validierungsbeleg

Validieren Sie die Beschreibung gegen den aktuellen PBXB64-Compiler, nicht nur gegen historische PowerBASIC-Dokumentation. Wenn ein Feature noch eingeschränkt ist, muss die Seite das offen sagen und darf keine nicht getestete Vollständigkeit behaupten.


Übergeben von Arrays - PBXB64-Compiler-Hilfe

Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

Übergeben von Arrays

Jedem Array in Ihrem Programm ist ein Array-Deskriptor zugeordnet. Dieser Deskriptor wird in einem propriet&auml;ren Format gespeichert, das sich von Version zu Version von PowerBASIC &auml;ndern kann. Da die meisten Informationen

Kategorie: Allgemeine Referenz | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Jedem Array in Ihrem Programm ist ein Array-Deskriptor zugeordnet. Dieser Deskriptor wird in einem proprietären Format gespeichert, das sich von Version zu Version von PowerBASIC ändern kann. Da die meisten Informationen

Typ:Schlüsselwort |Kategorie:Allgemein

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Zusätzlich zu den Funktionen LBOUND und UBOUND kann die Funktion ARRAYATTR verwendet werden, um Array-Attribute und Informationen zu einem bestimmten Array abzurufen.

Array-Prüfung

Array-Referenzseiten sollen Grenzen, Dimensionen, Elementtyp, Allokationszustand und die Frage dokumentieren, ob die Operation den Array-Deskriptor ändert. Ein vollständiges Beispiel deckt ein leeres Array, ein gefülltes Array und mindestens einen Grenzindex ab.

PBXB64-x64-Hinweise

Beim Portieren älteren Codes sind zeigergroße Deskriptoren und API-Aufrufe zu prüfen, die Array-Speicher erhalten. Bevorzugen Sie explizite Unter- und Obergrenzen und geben Sie einen klaren Fehlercode zurück, wenn Index- oder Dimensionsannahmen verletzt werden.

Verwandte Tests

Verwenden Sie fokussierte Programme, die mit PBXB64 beispiel.bas -o beispiel.exe kompilieren und bei abweichendem Inhalt, Grenzen oder Deskriptorzustand einen Nicht-Null-Code zurückgeben.


Übersicht - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Übersicht Hilfe zum PBXB64-Compiler

Übersicht

Themen in diesem Kapitel

ASM ASMDATA/END ASMDATA-Anweisungen " PBXB64-Compiler-Hilfe Assembler Addressing Modes Assembler Directives Assembler-Anweisungen Assembler-Referenz (nativ x64) PBXB64 Inline-Assembler-Übersicht Referenz zu Adressierungsmodi


ASM - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Übersicht Hilfe zum PBXB64-Compiler

ASM

Identifizieren Sie eine Assembler-Anweisung. PowerBASICs

Kategorie: Übersicht | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

{! | ASM} { opcode | label }
{! | ASM} ALIGN boundary

Beschreibung

Identifizieren Sie eine Assembler-Anweisung. PowerBASICs

Typ:Anweisung |Kategorie:Inline-Assembler

PBXB64-Status:TEILWEISE

PBXB64-Zertifizierung: Getestet für den unten dokumentierten PBXB64-Teilsatz; umfassende native Inline-Assembler-Abdeckung bleibt offen.

PBXB64-Hinweis: ASM ALIGN Grenze wird als Kompatibilitäts-No-Op akzeptiert. Das IR-Backend garantiert derzeit keine echte Code-Segment-Ausrichtung, daher wird kein NOP-Padding eingefügt.

Beschreibung

Mit dieser Anweisung können Sie Assembler-Code in Ihren PowerBASIC-Quellcode einfügen. Ein Ausrufezeichen (!) dient als Abkürzung für das Schlüsselwort ASM.

Jede Gruppe von ASM-Anweisungen muss die folgenden CPU-Register beibehalten, wenn der Assemblercode zu einer Änderung führt: EBX, ESI, EDI, ESP, EBP und alle Segmentregister. Weitere Informationen finden Sie unter Register speichern.

In derselben Zeile wie eine ASM-Anweisung dürfen keine anderen Anweisungen stehen; Kommentare sind jedoch akzeptabel.

! DB 1, 2, 3, 4, 5

! TT &H45001222, &HFFFF4327

Jede Variable, auf die in einer Assembler-Anweisung verwiesen wird, muss vor der Verwendung definiert werden. Zum Beispiel:

x% = 10

! MOV AX, x%

Sie können nicht mit einer einzelnen ASM-Anweisung auf das Ziel eines Zeigers zugreifen, wie dies möglicherweise im BASIC-Quellcode der Fall wäre. Stattdessen müssen Sie die Zeigeradresse indirekt verwenden. Um die BASIC-Anweisung INCR @x zu simulieren, würden Sie schreiben:

DIM x AS INTEGER PTR

ASM MOV EAX, x ; EAX enthält einen Zeiger auf eine Ganzzahl

ASM INC WORD PTR [EAX] ; Addiere eins zum Zielwert

Im Inline-Assembler-Code können Zeichenfolgenliterale mit bis zu vier Zeichen verwendet werden:

! MOV AL, „a“ ; Verschiebe char a in reg AL

! MOV AX, „ab“ ; Verschiebe die Zeichen ab in reg AX

! ; „a“ in AL, „b“ in AH

! MOV EAX, „abcd“ ; Verschieben Sie die Zeichen abcd in reg EAX

PowerBASIC erkennt entweder ein Apostroph (') oder ein Semikolon (;), um einen Kommentar nach einer Zeile Assembler-Code anzugeben:

! PUSH EAX ; Speichern Sie das EAX-Register

! PUSH EBX ' speichert das EBX-Register

ASM ALIGN wird in kritischen Situationen eingesetzt, um maximale Effizienz aus Assembler-Codeabschnitten zu ziehen.

ASM ALIGN wird verwendet, um den Befehlsort auf eine Zweierpotenzadresse aufzurunden. Der angezeigte Grenzparameter muss eine Zweierpotenz im Bereich von 2 bis 256 sein.

PowerBASIC fügt NOP-Anweisungen in den Codeabschnitt ein, um die Anweisungsposition an die gewünschte Adresse zu bringen. Wenn sich die Anweisungsposition bereits auf einem Vielfachen der Grenze befindet, hat ALIGN keine Auswirkung.

Die #ALIGN-Metaanweisung funktioniert in derselben Hinsicht wie ASM ALIGN, die ASM ALIGN-Anweisung eignet sich jedoch besser für die Verwendung in einem PREFIX/END PREFIX-Block.

Einschränkungen

Es sollte darauf geachtet werden, dass die Register ordnungsgemäß erhalten bleiben, wenn Inline-Assembler-Code mit BASIC-Anweisungen vermischt wird. Weitere Informationen finden Sie unter Register speichern.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Beispiel

LOCAL a&, b&, c&, z&

Siehe auch

  • Der Inline-Assembler
  • ASMDATA/END ASMDATA-Anweisungen " PBXB64-Compiler-Hilfe
  • Hilfe zum PBXB64-Compiler


ASMDATA/END ASMDATA-Anweisungen " PBXB64-Compiler-Hilfe - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Übersicht Hilfe zum PBXB64-Compiler

ASMDATA/END ASMDATA-Anweisungen " PBXB64-Compiler-Hilfe

Definieren Sie einen Block, in dem primitive schreibgesch&uuml;tzte Daten gespeichert werden.

Kategorie: Übersicht | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ASMDATA BlockName
DB 1, "ABC"$, 0
DW 2, "XYZ"$$, 0
DD &H12345678
DQ 1234567890
END ASMDATA

Beschreibung

Definieren Sie einen Block, in dem primitive schreibgeschützte Daten gespeichert werden.

Typ:Anweisung |Kategorie:Datei-E/A

PBXB64-Status:TEILWEISE

PBXB64-Zertifizierung: Implementiert und getestet für dezimale/hexadezimale/binäre ganzzahlige DB/DW/DD/DQ-Werte sowie ANSI-String-Literale in DB-Anweisungen. Blöcke auf Modulebene und in Funktionen werden als schreibgeschützte Globals emittiert und sind über CODEPTR und Inline-ASM-{BlockName}-Referenzen adressierbar. Komplexe String-Literal-Ausdrücke, WIDE-String-DW-Werte, explizite Ausrichtung und Label-Referenzen jenseits des Block-Geltungsbereichs sind noch nicht unterstützt.

Beschreibung

Es ist häufig praktisch, einige Daten innerhalb des Codeabschnitts Ihres Programms zu definieren. Diese Daten sind schreibgeschützt und dürfen daher niemals geändert werden. Ein Versuch, dies zu tun, führt zu einem GPF (General Protection Fault), der zur Beendigung Ihres Programms führt. Auf diese Art von Daten wird im Allgemeinen nur über ASM-Code zugegriffen.

Definierte Daten können mithilfe von ASM-Anweisungen innerhalb einer Sub , Function , Method oder Property platziert werden, diese Technik birgt jedoch eine Reihe von Fallstricken. Beim Debuggen oder bei der Verwendung von TRACE , PROFILE , #DEBUG DISPLAY , ERL , ERL$ usw. muss PowerBASIC an verschiedenen Stellen speziellen Code einfügen, was es für Sie schwierig (wenn nicht unmöglich) macht, genau auf die Daten zuzugreifen. Sie kennen die GröÃŸe des eingefügten Codes nicht und werden daher Schwierigkeiten haben, ihn genau zu adressieren.

Ein ASMDATA-Block löst dieses Problem vollständig. Es dient ausschlieÃŸlich dem Zweck, Daten zu definieren, und aus irgendeinem Grund werden niemals zusätzlicher Code oder zusätzliche Daten eingefügt. Die Daten innerhalb des Blocks werden niemals ausgerichtet, sodass Sie immer die genaue Position jedes Elements kennen. Der ASMDATA-Block muss sich auÃŸerhalb von Subs, Funktionen, Methoden oder Eigenschaften befinden. Der von Ihnen zugewiesene BlockName ist jedoch öffentlich und kann daher von jeder Stelle in Ihrem Programm aus referenziert werden. Möglicherweise enthält Ihr Programm einen oder mehrere Blöcke.

StandardmäÃŸig werden alle ASMDATA-Blöcke am ersten verfügbaren Byte positioniert. Dadurch kann auf zusammenhängende Blöcke zugegriffen werden, als wären sie ein einziger gröÃŸerer Block. Sie können einzelne oder alle Blöcke unterschiedlich ausrichten, indem Sie dem Block eine #ALIGN-Metaanweisung voranstellen.

Beschriftungen und Zeilennummern sind in einem ASMDATA-Block nicht zulässig. Wenn Sie einen Referenzpunkt auf einen bestimmten Unterabschnitt Ihrer Daten benötigen, teilen Sie ihn einfach in zwei oder mehr Blöcke auf und verwenden Sie dabei jeden BlockName als Referenzpunkt.

Die einzigen innerhalb eines ASMDATA-Blocks zulässigen Anweisungen sind DB, DD, DQ und DW, daher muss ihnen keine ASM-Anweisung vorangestellt werden. Ein ANSI-String-Literal-Ausdruck kann in einer DB-Anweisung platziert werden, und ein WIDE-String-Literal-Ausdruck (Unicode) kann in einer DW-Anweisung platziert werden. Es ist zu beachten, dass Strings in ASM-Blöcken maximal 255 Zeichen lang sein dürfen. Ein String-Literal-Ausdruck kann aus String-Literalen in Anführungszeichen, String-Equates und den Verkettungsoperatoren (&,+) bestehen. Sie können auch CHR$() , SPACE$() und STRING$() verwenden, wenn diese nur Literalparameter verwenden.

Mit der Funktion CODEPTR() können Sie auf die Adresse eines ASMDATA-Blocks zugreifen. Wenn Sie also einen Block namens ABC erstellen, gehen Sie folgendermaÃŸen vor:

ASMDATA ABC

DB 5,2,3

DB 7,8,9

END ASMDATA

Sie würden etwa so darauf zugreifen:

AsmVar = CODEPTR(ABC)

Eine andere Möglichkeit besteht darin, mithilfe eines dieser Opcodes direkt auf ein CPU-Register Ihrer Wahl zuzugreifen:

ASM LEA EBX, abc

ASM MOV EBX, Offset abc

Dies würde dazu führen, dass das erste Datenbyte (5) in das Register AL verschoben wird.

Oder verschieben Sie es sogar direkt in eine 32-Bit-Variable:

ASM MOV AsmVar, Offset abc

Description

ASMDATA / END ASMDATA defines read-only assembler data blocks that can be addressed from PBXB64 source and inline ASM. Treat the page as a focused syntax-and-boundary reference for the currently implemented DB, DW, DD, and DQ forms.

Validation Evidence

Validation evidence: tests/pb/test_asmdata.pb and tests/pb/test_asmdata_hex.pb compile and run with exit code 0 and verify module-level ASMDATA emission, CODEPTR(block), and inline ASM reads from the emitted block bytes.

Notes

Only the tested integer DB/DW/DD/DQ forms and ANSI string literals in DB are documented here. Keep labels out of the block, treat the data as read-only, and use #ALIGN or separate blocks when you need distinct references.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Siehe auch

  • ASM
  • Hilfe zum PBXB64-Compiler


Assembler Addressing Modes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Übersicht Hilfe zum PBXB64-Compiler

Assembler Addressing Modes

PBXB64 x64 assembly accepts register, immediate, label, and memory operands. Memory operands use Intel-style base/index/scale/displacement forms such as [rax], [rbp-8], and [rcx+rdx*4+16].

Kategorie: Übersicht

Syntax

mov rax, [rbp-8]
lea rcx, [rax+rdx*8+32]
mov qword ptr [rcx], 1234

Beschreibung

PBXB64 x64 assembly accepts register, immediate, label, and memory operands. Memory operands use Intel-style base/index/scale/displacement forms such as [rax], [rbp-8], and [rcx+rdx*4+16].

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Use explicit operand sizes when the instruction does not imply one: byte ptr, word ptr, dword ptr, or qword ptr.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurück zum Befehlsindex


Assembler Directives - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Übersicht Hilfe zum PBXB64-Compiler

Assembler Directives

Directives describe sections, public symbols, data objects, and assembly-time layout. PBXB64 emits and consumes directives such as section, .globl, labels, and data declarations.

Kategorie: Übersicht

Syntax

section .text
.globl main
main:
    xor rax, rax
    ret

Beschreibung

Directives describe sections, public symbols, data objects, and assembly-time layout. PBXB64 emits and consumes directives such as section, .globl, labels, and data declarations.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Keep directives close to the code or data they describe. In mixed frontend output, generated directives are normally produced by the backend rather than handwritten source.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.

Zurück zum Befehlsindex


Assembler-Anweisungen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Übersicht Hilfe zum PBXB64-Compiler

Assembler-Anweisungen

Der Assembler von PBXB64 unterst&uuml;tzt eine Reihe von Anweisungen zur Steuerung der Ausrichtung, Datenemission und SEH-Abwicklungsinformationen (Structured Exception Handling). Im Inneren werden Direktiven verwendet#ASM / #ENDASMBl&ouml;cke.

Kategorie: Übersicht

Beschreibung

Der Assembler von PBXB64 unterstützt eine Reihe von Anweisungen zur Steuerung der Ausrichtung, Datenemission und SEH-Abwicklungsinformationen (Structured Exception Handling). Im Inneren werden Direktiven verwendet#ASM / #ENDASMBlöcke.

Ausrichtungsrichtlinien

#ALIGN

Steuert die Ausrichtung der Strukturelemente innerhalb von PBTYPE / UNIONBlöcke. Steuert außerdem die allgemeine Abschnittsausrichtung in Baugruppenblöcken.

#ALIGN 16       ' align to 16-byte boundary

Bei Verwendung in einemTYPE/UNIONKontext,#ALIGNsteuert die Packungsausrichtung nachfolgender Elemente. Die Standardausrichtung ist die natürliche Ausrichtung jedes Elementtyps.

.p2align

Füllen Sie den aktuellen Abschnitt mit NOP-Anweisungen auf, um die angegebene Ausrichtungsgrenze zu erreichen. Die Direktive benötigt einen Zweierpotenz-Exponenten.

#ASM
    .p2align 4      ; align to 16-byte boundary (2^4)
    .p2align 5, 0x90, 8  ; align to 32-byte, pad with NOPs, max 8 bytes
#ENDASM

Parameter:

Parameter | Beschreibung
align | Zweierpotenz-Ausrichtung (z. B. 4 = 16 Bytes, 5 = 32 Bytes)
fill | Optionales Füllbyte (Standard: 0x90 = NOP)
max | Optionale maximale Anzahl einzufügender Bytes

.zero

Gibt einen Block mit null initialisiertem Speicher aus. Wird häufig zum Auffüllen der Ausrichtung oder zur Datenreservierung verwendet.

#ASM
    .zero 32        ; emit 32 zero bytes
#ENDASM

SEH-Richtlinien (Structured Exception Handling).

Diese Anweisungen geben Abwicklungsinformationen an die aus.pdataUnd.xdataPE-Abschnitte, die es dem Windows x64-Ausnahmehandler ermöglichen, den Stapel ordnungsgemäß abzuwickeln.

.seh_proc

Markiert den Beginn einer Funktion mit SEH-Abwicklungsinformationen. Erforderlich vor allen anderen SEH-Richtlinien.

.seh_proc MyFunction

.seh_endprologue

Markiert das Ende des Funktionsprologs. Ab diesem Zeitpunkt ist der Stapelrahmen vollständig aufgebaut und die Abwickelcodes wurden aufgezeichnet.

.seh_endprologue

.seh_pushreg

Zeichnet auf, dass ein nichtflüchtiges Register auf den Stapel verschoben wurde. Beim Abwickeln wird das Register wiederhergestellt.

.seh_pushreg rbx
.seh_pushreg rsi
.seh_pushreg rdi

.seh_setframe

Erstellt ein Frame-Pointer-Register mit optionalem skaliertem Offset. Der Rahmenzeiger wird verwendet, um während des Abwickelns auf lokale Variablen und Parameter zuzugreifen.

.seh_setframe rbp, 0   ; rbp is frame pointer, no scaled offset

.seh_stackalloc

Zeichnet auf, dass eine angegebene Anzahl von Bytes auf dem Stapel zugewiesen wurde (normalerweise über).sub rsp, X).

.seh_stackalloc 64    ; 64 bytes of local stack allocated

.seh_savereg

Zeichnet auf, dass ein nichtflüchtiges Register in einem bestimmten Stapelversatz vom Framezeiger oder Stapelzeiger gespeichert wurde.

.seh_savereg rbx, 32   ; rbx saved at [rbp+32] or [rsp+32]

.seh_savexmm

Zeichnet auf, dass ein nichtflüchtiges XMM-Register in einem bestimmten Stapeloffset gespeichert wurde.

.seh_savexmm xmm6, 16  ; xmm6 saved at [rbp+16]

.seh_pushframe

Zeichnet auf, dass ein Frame gepusht wurde (wird zur Ausnahmebehandlung von Kettenframes verwendet). Die Wahl[code]Flag zeigt an, ob eine Absenderadresse übertragen wurde.

.seh_pushframe         ; push frame without return address
.seh_pushframe code     ; push frame with return address on stack

.seh_handler

Ordnet der aktuellen Prozedur eine Ausnahmehandlerfunktion zu. Verwendet fürTRY/CATCH/FINALLYUnterstützung.

.seh_handler ExceptionHandler, @except
.seh_handler FinallyHandler, @finally

.seh_endproc

Markiert das Ende der SEH-Abwicklungsinformationen einer Funktion. Muss nach allen anderen SEH-Anweisungen für die Funktion erscheinen.

.seh_endproc

Vollständiges SEH-Beispiel

; Standard x64 function prologue with SEH
#ASM
.seh_proc MyFunc
    push rbp
    .seh_pushreg rbp
    mov rbp, rsp
    .seh_setframe rbp, 0
    sub rsp, 48
    .seh_stackalloc 48
    .seh_endprologue

    ; function body
    mov DWORD PTR [rbp-4], 42
    mov eax, DWORD PTR [rbp-4]

    ; epilogue
    add rsp, 48
    pop rbp
    ret
.seh_endproc
#ENDASM

Richtlinien aussenden

.byte

Geben Sie rohe Bytewerte in den Codestream aus.

.byte 0x90, 0x90, 0xCC    ; NOP, NOP, INT3

.word

16-Bit-Wortwerte ausgeben.

.word 0x1234, 0x5678

.long

32-Bit lange Werte ausgeben.

.long 0x12345678

.quad

64-Bit-Quadword-Werte ausgeben.

.quad 0x1234567890ABCDEF

Abschnittsrichtlinien

.section

Wechseln Sie zu einem benannten Abschnitt. Standardabschnitte umfassen.text, .data, .bss, .rdata.

.section .data
.section .rdata, "rd"   ; read-only data section

.section .text
    ; code follows

.text / .data / .bss

Praktische Aliase für allgemeine Abschnitte.

.data
myVar: .quad 42

.text
    mov rax, QWORD PTR [myVar]

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.


Assembler-Referenz (nativ x64) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Übersicht Hilfe zum PBXB64-Compiler

Assembler-Referenz (nativ x64)

PBXB64 enthaelt einen nativen x64-Assembler. .asm- und .s-Dateien werden direkt durch Lexer, Parser, Encoder, COFF-Objektbau und PE-Linker verarbeitet; ein externer Assembler ist nicht erforderlich.

Kategorie: Übersicht

Beschreibung

PBXB64 enthaelt einen nativen x64-Assembler. .asm- und .s-Dateien werden direkt durch Lexer, Parser, Encoder, COFF-Objektbau und PE-Linker verarbeitet; ein externer Assembler ist nicht erforderlich.

Referenzseiten

Diese Seite ist die ASM-Frontend-Uebersicht. Die Einzelseiten dokumentieren Syntax, getestete Beispiele, Status und Grenzen fuer Direktiven, Adressierung und Instruktionsgruppen.

  • ASM / inline assembly
  • ASM overview
  • Addressing modes
  • Assembler directives
  • SECTION
  • GLOBAL
  • EXTERN
  • ALIGN
  • DB / BYTE
  • DW / WORD
  • DD / DWORD
  • DQ / QWORD
  • ASCII
  • ASCIZ
  • MACRO
  • Core mnemonics
  • SSE mnemonics
  • AVX mnemonics

Grundstruktur

section .text
global main

main:
    mov eax, 42
    ret

Assembler-Pipeline

.asm / .s  ->  ASM Lexer  ->  ASM Parser  ->  Encoder  ->  COFF Object  ->  PE Linker

Integration mit anderen Frontends

PBXB64 main.b64 helper.asm -o program.exe
PBXB64 prog.c utils.s -o mixed.exe

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurueck zum Befehlsindex

Übersicht über die x86-64-Allzweckregister und ihre Unterregister.

Übersicht über die x86-64-Allzweckregister und ihre Unterregister.

Ausgewählte Bits des RFLAGS-Registers und ihre Bedeutung.

Ausgewählte Bits des RFLAGS-Registers und ihre Bedeutung.


PBXB64 Inline-Assembler-Übersicht - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Übersicht Hilfe zum PBXB64-Compiler

PBXB64 Inline-Assembler-Übersicht

Der PBXB64-Inline-Assembler bietet vollst&auml;ndige x86-64-Assemblersprachenunterst&uuml;tzung in PowerBASIC-Quelldateien unter Verwendung von#ASM / #ENDASMDirektivenpaar. Es unterst&uuml;tzt &uuml;ber 1400 eindeutige Mnemoniken in allen wichtigen x86-64-ISA-Familien, 21 Operandenartenvarianten und 14 Adressierungsmodi.

Kategorie: Übersicht

Beschreibung

Der PBXB64-Inline-Assembler bietet vollständige x86-64-Assemblersprachenunterstützung in PowerBASIC-Quelldateien unter Verwendung von#ASM / #ENDASMDirektivenpaar. Es unterstützt über 1400 eindeutige Mnemoniken in allen wichtigen x86-64-ISA-Familien, 21 Operandenartenvarianten und 14 Adressierungsmodi.

Notiz:Alle Mnemoniken verwendenIntel-SyntaxReihenfolge (Ziel, Quelle), im Einklang mit den MASM/TASM-Konventionen.

Grundlegende Syntax

FUNCTION PBMAIN() AS LONG
    #ASM
        mov eax, 42
        mov ebx, eax
        add ebx, 10
        mov [result], ebx
    #ENDASM
    PRINT result
END FUNCTION

Assemblyblöcke können im Funktionsumfang oder innerhalb von Anweisungskörpern erscheinen. Sie werden direkt in den Codestream der Funktion ausgegeben.

Variablenzugriff mit {name}-Syntax

Der Zugriff auf PB-Variablen erfolgt innerhalb von ASM-Blöcken mithilfe der Notation in geschweiften Klammern. Der Assembler löst die Variable in ihren korrekten Stapelversatz oder ihre richtige globale Adresse auf und ersetzt die effektive Adresse in den Operanden.

FUNCTION Demo() AS LONG
    LOCAL x AS LONG
    LOCAL y AS LONG
    LOCAL z AS LONG
    x = 10
    y = 20

    #ASM
        mov eax, DWORD PTR [{x}]   ; load x (stack offset)
        mov ecx, DWORD PTR [{y}]   ; load y
        add eax, ecx
        mov DWORD PTR [{z}], eax   ; store to z
    #ENDASM

    PRINT z   ; prints 30
END FUNCTION

Variablenzugriff nach Typ

PB-Erklärung | ASM-Zugriff | Größe
LOCAL n ALS BYTE | BYTE PTR [{n}] | 1 Byte
LOCAL n ALS WORT | WORD PTR [{n}] | 2 Bytes
LOCAL n ALS DWORD | DWORD PTR [{n}] | 4 Bytes
LOCAL und SO LANG | DWORD PTR [{n}] | 4 Bytes
LOCAL n AS QUAD | QWORD PTR [{n}] | 8 Byte
LOCAL n ALS INTEGER | WORD PTR [{n}] | 2 Bytes
LOCAL n ALS EINZEL | DWORD PTR [{n}] | 4 Bytes (Float)
LOCAL n ALS DOPPEL | QWORD PTR [{n}] | 8 Bytes (doppelt)
LOCAL n AS STRING | QWORD PTR [{n}] | 8 Bytes (Datenptr)
LOCAL n AS STRING | QWORD PTR [LEN({n})] | 8 Byte (Länge)
LOCAL n AS STRING | QWORD PTR [STRPTR({n})] | 8 Bytes (Datenptr)

ASM-Makros

Der Assembler stellt integrierte Makros für die Selbstprüfung von PowerBASIC-Variablen bereit:

Makro | Beschreibung
LEN(variable) | Wird in den Längenfeldoffset einer Zeichenfolgenvariablen aufgelöst
STRPTR(variable) | Wird zum Datenzeiger einer Zeichenfolgenvariablen aufgelöst
VARPTR(variable) | Wird in die Adresse/den Offset einer beliebigen Variablen aufgelöst
SIZEOF(variable) | Wird in die Kompilierzeitgröße einer Variablen oder eines Typs aufgelöst

Segmentüberschreibungen

Der Assembler unterstützt Segmentüberschreibungen für Thread-lokale Speicher- und Systemoperationen:

Überschreiben | Zweck | Beispiel
fs: | Windows TEB (Thread Environment Block) | mov rax, QWORD PTR fs:[0x30]
gs: | Windows PEB / x64 TLS-Basis | mov rax, gs:[0x60]

Adressierungsmodi

Der Assembler unterstützt 6 primäre Adressierungsmodi mit 21 Varianten der Operandenart:

  1. Registrieren — mov eax, ebx
  2. Sofort — mov eax, 42
  3. Direkter Speicher — mov eax, [12345678h]
  4. Basis + Verschiebung — mov eax, [rbp-8]
  5. Basis + Index — mov eax, [rbx+rcx]
  6. Basis + Index*Skala + Verschiebung — mov eax, [rbx+rcx*4+16]
  7. RIP-relativ — mov eax, [rip+label]

SehenReferenz zu Adressierungsmodifür alle Einzelheiten.

Unterstützte ISA-Familien

ISA-Familie | Mnemonik | Referenz
x86-64-Kern (GPR) | ~400 | Grundlegende Mnemonik
SSE/SSE2/SSE3/SSSE3/SSE4 | ~300 | SSE-Mnemonik
AVX/AVX2/AVX-512/FMA | ~500 | AVX-Mnemonik
BMI1/BMI2 | ~16 | BMI-Mnemonik
AES-NI / SHA / CLMUL / CRC32 / GFNI | ~30 | Krypto-Mnemonik
Systemanweisungen | ~50 | System-Mnemonik
SGX / VMX / CET | ~50 | SGX/VMX/CET
MMX | ~60 | MMX-Mnemonik
x87-FPU | ~80 | FPU-Mnemonik
Cache-Kontrolle | ~20 | Cache-Mnemonik

Richtlinien

Der Assembler unterstützt eine Vielzahl von Anweisungen für Ausrichtung, Nullinitialisierung und strukturierte Ausnahmebehandlung (SEH). SehenRichtlinienreferenzfür alle Einzelheiten.

Compiler-Version

Diese Referenz gilt für PBXB64 V32+ (Mai 2026). Die Assembler-Engine unterstützt über 1500 einzigartige Mnemoniken in allen ISA-Familien, überprüft durch die Laufzeittestsuite.

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Typisches x86-64-Stack-Layout mit RSP- und RBP-Referenzen.

Typisches x86-64-Stack-Layout mit RSP- und RBP-Referenzen.


Referenz zu Adressierungsmodi - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Übersicht Hilfe zum PBXB64-Compiler

Referenz zu Adressierungsmodi

Der PBXB64-Assembler unterst&uuml;tzt 7 prim&auml;re Adressierungsmodi mit 21 Operandentypvarianten in 14 Kodierungsformen. Alle Adressierungsmodi folgen der Intel-Syntax (Ziel-, Quellreihenfolge).

Kategorie: Übersicht

Beschreibung

Der PBXB64-Assembler unterstützt 7 primäre Adressierungsmodi mit 21 Operandentypvarianten in 14 Kodierungsformen. Alle Adressierungsmodi folgen der Intel-Syntax (Ziel-, Quellreihenfolge).

Zusammenfassung des Adressierungsmodus

# | Modus | Syntax | Codierung | Beispiel
1 | Registrieren | reg | ModRM.reg / ModRM.rm | mov eax, ebx
2 | Sofort | imm | Sofortiges Feld | mov eax, 42
3 | Direkter Speicher | [addr] | ModRM: 00 000 101 + disp32 | mov eax, [12345678h]
4 | Basis+Anzeige8 | [reg+disp8] | ModRM: 01 xxx xxx + disp8 | mov eax, [rcx+8]
5 | Basis+disp32 | [reg+disp32] | ModRM: 10 xxx xxx + disp32 | mov eax, [rcx+1024]
6 | Basis+Index | [base+index] | ModRM+SIB: 00 100 xxx | mov eax, [rbx+rcx]
7 | Basis+Index+Disp8 | [base+index+disp8] | ModRM+SIB: 01 100 xxx | mov eax, [rbx+rcx+8]
8 | Basis+Index+Disp32 | [base+index+disp32] | ModRM+SIB: 10 100 xxx | mov eax, [rbx+rcx+1024]
9 | Index*Skala | [index*scale] | ModRM+SIB: 00 100 101 | mov eax, [rcx*4]
10 | Index*Skala+Anzeige32 | [index*scale+disp] | ModRM+SIB: 00 100 101 + disp32 | mov eax, [rcx*4+16]
11 | Basis+Index*Skala | [base+index*scale] | ModRM+SIB: Skala=Index | mov eax, [rbx+rcx*4]
12 | Basis+Index*Skala+Anzeige8 | [base+index*scale+disp8] | ModRM+SIB: 01 xxx xxx | mov eax, [rbx+rcx*4+8]
13 | Basis+Index*Skala+Anzeige32 | [base+index*scale+disp32] | ModRM+SIB: 10 xxx xxx | mov eax, [rbx+rcx*4+1024]
14 | RIP-relativ | [rip+disp] | ModRM: 00 000 101 + disp32 (relativ) | mov rax, [rip+label]
15 | RIP-relativ+Index | [rip+index*scale+disp] | RIP+SIB | mov rax, [rip+rcx*4+label]
16 | FS-Segment-Überschreibung | fs:[base+disp] | Segmentpräfix 64h + ModRM | mov rax, fs:[0x30]
17 | GS-Segment-Überschreibung | gs:[base+disp] | Segmentpräfix 65h + ModRM | mov rax, gs:[0x60]
18 | FS+RIP-relativ | fs:[rip+disp] | 64h + RIP-relativ | mov rax, fs:[rip+label]
19 | GS+RIP-relativ | gs:[rip+disp] | 65h + RIP-relativ | mov rax, gs:[rip+tls_var]
20 | Registrieren (implizit) | reg | Opcode-Bits | push rbx(Opcode 53h)
21 | Sofort (impliziert) | imm | Im Opcode implizit | ret 16(imm16 im Opcode C2h)

1. Adressierung registrieren

Der Operand ist ein Register. Das Register ist im ModRM-Byte oder im primären Opcode codiert.

mov eax, ebx        ; eax = ebx
add rcx, rdx        ; rcx = rcx + rdx
xor r8d, r9d        ; r8d = r8d xor r9d

2. Sofortige Adressierung

Der Operand ist ein konstanter Wert, der in die Anweisung eingebettet ist. Die unmittelbare Größe hängt von der Operandengröße ab.

mov eax, 42         ; 32-bit immediate
mov rax, 0x12345678 ; 32-bit sign-extended immediate
mov rcx, -1         ; sign-extended immediate
add ebx, 256        ; 32-bit immediate

3. Direkte Speicheradressierung

Der Operand ist ein Speicherort, der durch eine 32-Bit-Absolutadresse angegeben wird. In x64 ist dies auf den niedrigen Adressraum von 4 GB beschränkt (Kompatibilitätsmodus), sofern nicht mit RIP-relativ verwendet.

mov eax, [12345678h]    ; absolute 32-bit address
mov DWORD PTR [1234h], 42  ; store to absolute address

4. Basis + Verschiebung

Die effektive Adresse wird wie folgt berechnetbase + displacement. Die Verschiebung kann ein 8-Bit-Wert (disp8) oder ein 32-Bit-Wert (disp32) mit Vorzeichen sein.

mov eax, [rbp-8]        ; local variable at rbp-8
mov eax, [rcx+16]       ; struct member at offset 16
mov eax, [rsp+0x30]     ; stack parameter
mov eax, [rbx-4]        ; negative displacement

5. Basis + Index

Die effektive Adresse lautetbase + index. Der Index ist ein Allzweckregister, das als Offset verwendet wird.

mov eax, [rbx+rcx]      ; array element: base + index
mov eax, [rax+rdx]      ; pointer + offset

6. Index * Skala

Die effektive Adresse lautetindex * scale. Gültige Skalenwerte sind 1, 2, 4, 8 (kodiert als 00, 01, 10, 11 im SIB-Byte).

mov eax, [rcx*4]        ; element at index*4
mov eax, [rdx*8]        ; element at index*8 (array of pointers)
mov eax, [r9*2]         ; 16-bit element array

7. Basis + Index * Skala + Verschiebung

Das vollständige SIB-Adressierungsformular (Scale-Index-Base). Dies ist der allgemeinste Adressierungsmodus, der alle Komponenten vereint.

mov eax, [rbx+rcx*4+16]        ; array of structs
mov eax, [rbp+r9*8-32]         ; local array with negative offset
mov eax, [rax+rdx*2+0x100]     ; large displacement
mov eax, [r12+r10*4+0x80]      ; base+r12 with r10 scaled

8. RIP-relative Adressierung

In x64 verwenden die meisten Speicherreferenzen standardmäßig RIP-relative Adressierung für den coderelativen Datenzugriff. Der Assembler codiert eine 32-Bit-Verschiebung mit Vorzeichen vom aktuellen Befehlszeiger.

mov rax, [rip+label]           ; load from label (relative to RIP)
mov rax, [rip+my_data]         ; access global data
lea rcx, [rip+message]         ; load effective address
jmp [rip+function_ptr]         ; indirect jump via global pointer

Die RIP-relative Adressierung ist die Standardmethode für den Zugriff auf globale Variablen und Konstanten im x64-Code, da sie die Notwendigkeit absoluter 64-Bit-Adressen vermeidet und positionsunabhängigen Code erzeugt.

9. Segmentüberschreibungen

x64 unterstütztfs:Undgs:Segmentüberschreibungen für den Zugriff auf Thread-lokale Speicher- und Betriebssystemdatenstrukturen.

FS-Segment

In Windows x64 ist diefsDas Segment zeigt auf den Thread Environment Block (TEB).

mov rax, QWORD PTR fs:[0x30]   ; PEB pointer from TEB
mov eax, DWORD PTR fs:[0x18]   ; LastError from TEB
mov rax, QWORD PTR fs:[0x60]   ; TLS base pointer

GS-Segment

Unter Windows x64,gsDas Segment wird für die Thread-lokale Speicherung verwendet. Unter x86-64-Linux verweist es auf threadspezifische Daten.

mov rax, QWORD PTR gs:[0x00]   ; TLS variable (Win64)
mov rax, QWORD PTR gs:[0x10]   ; thread-specific data (Linux)

; With RIP-relative: TLS combined addressing
mov rax, QWORD PTR gs:[rip+tls_var]

Präfixe für die Operandengröße

Speicheroperanden erfordern Größenbezeichner, um die Operandengröße eindeutig zu machen:

Präfix | Größe | Beispiel
BYTE PTR | 8 Bit | mov BYTE PTR [rcx], 0xFF
WORD PTR | 16 Bit | mov WORD PTR [rcx], 0x1234
DWORD PTR | 32 Bit | mov DWORD PTR [rcx], eax
QWORD PTR | 64 Bit | mov QWORD PTR [rcx], rax
XMMWORD PTR | 128 Bit | movdqa XMMWORD PTR [rcx], xmm0
YMMWORD PTR | 256 Bit | vmovdqa YMMWORD PTR [rcx], ymm0
ZMMWORD PTR | 512 Bit | vmovdqa32 ZMMWORD PTR [rcx], zmm0
TBYTE PTR | 80 Bit | fld TBYTE PTR [rcx]

SIB-Kodierung (Scale-Index-Base).

Das SIB-Byte wird verwendet, wenn ein Speicheroperand ein Indexregister umfasst. Format:

SIB = [Scale 2 bits] [Index 3 bits] [Base 3 bits]

Scale: 00=1, 01=2, 10=4, 11=8
Index: general-purpose register (100 = no index)
Base:  general-purpose register (101 = disp32 if Mod=00)

Sonderfälle:

  • Basis = RSP (100):Ein SIB-Byte iststetserforderlich, um rsp als Basisregister zu kodieren (um Verwechslungen mit der ModRM-Kodierung „SIB vorhanden“ zu vermeiden)
  • Index = rsp (100):Bedeutet, dass das Register „kein Index“ verwendet wird (nur Basis + Verschiebung)
  • Mod=00, Basis=101, Index=100:RIP-relative Adressierung

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


ASM-Quellformen & Direktiven - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM-Quellformen & Direktiven

Themen in diesem Kapitel

ASM .align - Ausgabeposition ausrichten ASM .ascii - Rohe Stringbytes ausgeben ASM .asciz / .string - NUL-terminierten String ausgeben ASM .byte / .db - 8-Bit-Daten ausgeben ASM .data - Daten-Section waehlen ASM .dword / .dd / .long - 32-Bit-Daten ausgeben ASM .equ / .set - Equate definieren ASM .extern - Symbol importieren ASM .global / .globl - Symbol exportieren ASM .macro / .endm - Makro definieren ASM .qword / .dq - 64-Bit-Daten ausgeben ASM .rep / .endr - Quellblock wiederholen ASM .section - Benannte Section waehlen ASM .text - Code-Section waehlen ASM .unicode - UTF-16-Text ausgeben ASM .word / .dw / .short - 16-Bit-Daten ausgeben ASM 1: / 1b / 1f - Numerische lokale Labels verwenden ASM [base+index*scale+disp] - Speicher adressieren ASM label: - Symbolposition definieren ASM macro call - Makroaufruf expandieren


ASM .align - Ausgabeposition ausrichten - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .align - Ausgabeposition ausrichten

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.align 16

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Fuellt die aktuelle Section bis zur geforderten positiven Byte-Ausrichtung auf, bevor die naechste Anweisung ausgegeben wird.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .ascii - Rohe Stringbytes ausgeben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .ascii - Rohe Stringbytes ausgeben

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.ascii "Hello"

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Gibt die Bytes eines Stringliterals ohne Terminator aus.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .asciz / .string - NUL-terminierten String ausgeben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .asciz / .string - NUL-terminierten String ausgeben

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.asciz "World"

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Gibt Stringbytes gefolgt von einem abschliessenden Nullbyte aus.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


ASM .byte / .db - 8-Bit-Daten ausgeben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .byte / .db - 8-Bit-Daten ausgeben

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.db 1, 2, 3

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Gibt ein Byte je Immediate-Argument aus oder erzeugt Label-Relocations, soweit vom Object-Builder unterstuetzt.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .data - Daten-Section waehlen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .data - Daten-Section waehlen

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.data

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Waehlt die schreibbare Daten-Section fuer folgende Datendirektiven und Labels.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .dword / .dd / .long - 32-Bit-Daten ausgeben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .dword / .dd / .long - 32-Bit-Daten ausgeben

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.dd 0x12345678

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Gibt 32-Bit-Datenwerte und, wo zutreffend, 32-Bit-Adress-Relocations aus.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .equ / .set - Equate definieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .equ / .set - Equate definieren

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.equ SYS_EXIT 60

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Definiert ein Text-/Integer-Equate, das spaeter ersetzt werden kann, einschliesslich arithmetischer Ausdruecke fuer Wiederholungszaehler.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .extern - Symbol importieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .extern - Symbol importieren

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.extern puts

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Deklariert ein externes Symbol, das vom Linker oder Runtime-Objektsatz aufgeloest wird.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .global / .globl - Symbol exportieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .global / .globl - Symbol exportieren

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.global forth_main

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Markiert ein Label im erzeugten Objekt als extern sichtbar, damit es als Einsprungpunkt oder von einem anderen Frontend gelinkt werden kann.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .macro / .endm - Makro definieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .macro / .endm - Makro definieren

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.macro PROLOGUE size
    sub rsp, \size
.endm

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Definiert ein parametrisiertes Quellmakro. Makroargumente werden ueber Backslash-Parameterreferenzen im Makrokoerper ersetzt.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .qword / .dq - 64-Bit-Daten ausgeben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .qword / .dq - 64-Bit-Daten ausgeben

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.dq 0x1122334455667788

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Gibt 64-Bit-Datenwerte und, wo zutreffend, 64-Bit-Adress-Relocations aus.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .rep / .endr - Quellblock wiederholen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .rep / .endr - Quellblock wiederholen

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.rep 3
    nop
.endr

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Wiederholt einen Quellblock eine nichtnegative Anzahl von Malen. Zaehler duerfen Literale, Equates oder unterstuetzte arithmetische Ausdruecke verwenden.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .section - Benannte Section waehlen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .section - Benannte Section waehlen

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.section .rdata

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Waehlt eine benannte COFF-Section, wenn die Quelle eine andere Section als die Standardbereiche text/data benoetigt.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .text - Code-Section waehlen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .text - Code-Section waehlen

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.text

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Waehlt die ausfuehrbare Text-Section fuer folgende Labels und Instruktionen. In Objekt-Ausgabe landen Codebytes und Code-Relocations in der Text-Section.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .unicode - UTF-16-Text ausgeben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .unicode - UTF-16-Text ausgeben

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.unicode "Hi"

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Gibt 16-Bit-Zeicheneinheiten fuer ein Stringliteral in der aktuellen Section aus.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM .word / .dw / .short - 16-Bit-Daten ausgeben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM .word / .dw / .short - 16-Bit-Daten ausgeben

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

.dw 0x1234

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Gibt 16-Bit-Datenwerte in der aktuellen datenfaehigen Section aus.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Datei- und Geräteprüfung

Datei-, Verzeichnis-, Drucker- und Ressourcenseiten sollen das benötigte Windows-Objekt, Berechtigungen, erwartetes Pfadformat und Cleanup nennen. Beispiele sollen nach Möglichkeit temporäre Eingaben erzeugen und nicht von einem benutzerspezifischen Drucker oder Laufwerk abhängen.

Fehlerbehandlung

Dokumentieren Sie Nicht-gefunden, Zugriff-verweigert, ungültigen Handle, volle Datenträger, abgebrochene Dialoge und nicht verfügbare Geräte, sofern zutreffend.

Portabilitätshinweise

Verwenden Sie ausdrückliche Unicode/ANSI-Erwartungen und x64-sichere Handles. Vermeiden Sie fest kodierte absolute Pfade, sofern die Seite nicht speziell Pfadbehandlung beschreibt.


ASM 1: / 1b / 1f - Numerische lokale Labels verwenden - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM 1: / 1b / 1f - Numerische lokale Labels verwenden

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

1:
    jl 1b

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Unterstuetzt numerische lokale Labels und Rueckwaerts-/Vorwaertsreferenzen nach der Makroexpansion. Der Makroexpander schreibt sie in eindeutige interne Labels um.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


ASM [base+index*scale+disp] - Speicher adressieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM [base+index*scale+disp] - Speicher adressieren

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

mov rax, [rbp-8]

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Parst x64-Speicheroperanden mit Basis, Index, Skalierung, Displacement, Symbol, Addend und RIP-relativen Formen, soweit vom Encoder unterstuetzt.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


ASM label: - Symbolposition definieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM label: - Symbolposition definieren

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

start:

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Definiert ein Symbol am aktuellen Section-Offset. Labels koennen Sprungziele, exportierte Globals, Datenadressen oder Relocation-Ziele sein.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


ASM macro call - Makroaufruf expandieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › ASM-Quellformen & Direktiven Hilfe zum PBXB64-Compiler

ASM macro call - Makroaufruf expandieren

Category: Assembly

Kategorie: ASM-Quellformen & Direktiven

Syntax

PROLOGUE 48

Beschreibung

Category: Assembly

PBXB64 Status: [CERTIFIED TESTED]

Beschreibung

Expandiert ein zuvor definiertes Makro und prueft die Argumentanzahl. Undefinierte Makronamen erzeugen Diagnosen statt stiller Ausgabe.

Nutzerbeleg: Die Syntax und das fokussierte ASM-Beispiel auf dieser Seite sind der relevante Nachweis fuer Nutzer.

Praktische Verwendung

Verwenden Sie diese Form in eigenstaendigen .asm-Dateien oder in den ASM-Pfaden, die PBXB64 durch denselben Parser fuehrt. Halten Sie Testdateien klein: ein Label, die betreffende Direktive oder Instruktion, und ein klarer Rueckgabewert erleichtern die Diagnose bei Encoder-, Relocation- oder Linkfehlern. Wenn die Form externe Symbole, Datenabschnitte oder Makros verwendet, sollte der Test auch zeigen, dass die erzeugte Objektdatei erfolgreich gelinkt wird.

Grenzen

Diese Seite beschreibt die PBXB64-Assembler-Teilmenge aus Lexer, Parser, Makroexpander, Encoder und Object-Builder. Nicht jede NASM/MASM-Direktive ist implementiert.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


Mnemonik-Familienübersichten - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

Mnemonik-Familienübersichten

Themen in diesem Kapitel

AES/SHA/CLMUL/CRC32-Mnemonik AVX Mnemonics AVX/AVX2/AVX-512/FMA-Mnemonik BMI Mnemonics BMI1/BMI2-Mnemonik Cache and Memory Ordering Mnemonics Cache-Steuerung/Prefetch-Mnemonik Core x64 Mnemonics Crypto Mnemonics Kern-GPR-Mnemonik MMX Mnemonics MMX-Mnemonik SGX / VMX / CET-Mnemonik SGX and VMX Mnemonics SSE Mnemonics SSE/SSE2/SSE3/SSSE3/SSE4-Mnemonik System Mnemonics Systemanweisungen x87 FPU Mnemonics x87-FPU-Mnemonik


AES/SHA/CLMUL/CRC32-Mnemonik - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

AES/SHA/CLMUL/CRC32-Mnemonik

AES-NI (AES New Instructions), SHA-Erweiterungen, Carry-less Multiplication (CLMUL) und CRC32-Anweisungen f&uuml;r kryptografische und Pr&uuml;fsummenbeschleunigung.

Kategorie: Mnemonik-Familienübersichten

Beschreibung

AES-NI (AES New Instructions), SHA-Erweiterungen, Carry-less Multiplication (CLMUL) und CRC32-Anweisungen für kryptografische und Prüfsummenbeschleunigung.

AES-NI – AES Neue Anweisungen

Eingeführt in Intel Westmere (2010). Hardwarebeschleunigte AES-Verschlüsselung/Entschlüsselung.

Gedächtnisstütze | Beschreibung | Operanden
AESENC | Führen Sie eine Runde der AES-Verschlüsselung durch | xmm, xmm/mem128
AESENCLAST | Führen Sie die letzte Runde der AES-Verschlüsselung durch | xmm, xmm/mem128
AESDEC | Führen Sie eine Runde der AES-Entschlüsselung durch | xmm, xmm/mem128
AESDECLAST | Führen Sie die letzte Runde der AES-Entschlüsselung durch | xmm, xmm/mem128
AESIMC | Inverse Mix-Spalten (zur Schlüsselerweiterung) | xmm, xmm/mem128
AESKEYGENASSIST | Unterstützung bei der Generierung von AES-Rundschlüsseln | xmm, xmm/mem128, imm8

AES-Beispiele

; AES-128 encryption of one block
aeskeygenassist xmm2, xmm1, 1  ; generate round key 1
aesenc          xmm0, xmm2      ; round 1
; ...
aesenclast      xmm0, xmmk10    ; final round

; AES decryption
aesdec          xmm0, xmm2      ; round 1
aesdeclast      xmm0, xmmk10    ; final round
aesimc          xmm1, xmm0      ; inverse mix columns

VAES – AES mit AVX/AVX-512

Gedächtnisstütze | Beschreibung | Operanden
VAESENC | VEX/EVEX AES-Rundverschlüsselung | xmm/ymm/zmm, xmm/ymm/zmm, mem
VAESENCLAST | VEX/EVEX AES-Last-Round-Verschlüsselung | xmm/ymm/zmm, xmm/ymm/zmm, mem
VAESDEC | VEX/EVEX AES-Rundenentschlüsselung | xmm/ymm/zmm, xmm/ymm/zmm, mem
VAESDECLAST | VEX/EVEX AES letzte Entschlüsselungsrunde | xmm/ymm/zmm, xmm/ymm/zmm, mem
VAESIMC | VEX AES Inverse-Mix-Säulen | xmm, xmm/mem
VAESKEYGENASSIST | VEX AES-Schlüsselgenerierungsunterstützung | xmm, xmm/mem, imm8

PCLMULQDQ – Multiplikation ohne Übertrag

Gedächtnisstütze | Beschreibung | Operanden
PCLMULQDQ | Übertragsfreie Multiplikation zweier 64-Bit-Hälften | xmm, xmm/mem128, imm8
VPCLMULQDQ | VEX/EVEX Carry-less-Multiplikation | xmm/ymm/zmm, xmm/ymm/zmm, mem, imm8

Der Operand imm8 wählt aus, welche 64-Bit-Hälften multipliziert werden sollen:

Bits | Feld | Wert
1:0 | SRC2 auswählen | 00 = niedriges Q-Wort, 01 = hohes Q-Wort
5:4 | SRC1 (erster Operand) auswählen | 00 = niedriges Q-Wort, 01 = hohes Q-Wort
; GF(2^128) multiplication for AES-GCM
pclmulqdq xmm1, xmm2, 0x00   ; low * low
pclmulqdq xmm1, xmm2, 0x01   ; low * high
pclmulqdq xmm1, xmm2, 0x10   ; high * low
pclmulqdq xmm1, xmm2, 0x11   ; high * high

SHA-Erweiterungen

Eingeführt in Intel Goldmont (2016) und Ice Lake. Hardwarebeschleunigtes SHA-1 und SHA-256.

SHA-1

Gedächtnisstütze | Beschreibung | Operanden
SHA1RNDS4 | SHA-1 vier Runden | xmm, xmm/mem128, imm8
SHA1NEXTE | SHA-1 nächste vier E-Werte | xmm, xmm/mem128
SHA1MSG1 | Aktualisierung des SHA-1-Nachrichtenplans 1 | xmm, xmm/mem128
SHA1MSG2 | Aktualisierung des SHA-1-Nachrichtenplans 2 | xmm, xmm/mem128

SHA-256

Gedächtnisstütze | Beschreibung | Operanden
SHA256RNDS2 | SHA-256 zwei Runden | xmm, xmm/mem128
SHA256MSG1 | Aktualisierung des SHA-256-Nachrichtenplans 1 | xmm, xmm/mem128
SHA256MSG2 | Aktualisierung des SHA-256-Nachrichtenplans 2 | xmm, xmm/mem128

CRC32 – Zyklische Redundanzprüfung

Eingeführt in SSE4.2 (Intel Nehalem, 2008). Hardwarebeschleunigter CRC-32C (Castagnoli-Polynom 0x1EDC6F41).

Gedächtnisstütze | Beschreibung | Operanden
CRC32 | Akkumulieren Sie den CRC32C-Wert im Ziel | reg32/64, reg/mem8/16/32/64

Der erste Operand (Ziel) enthält den akkumulierten CRC-Wert. Der zweite Operand (Quelle) sind die Eingabedaten. Die Quellgröße bestimmt, welche Kodierung verwendet wird.

; CRC32 examples - source size determines encoding
crc32 eax, byte  [ptr]      ; 8-bit input
crc32 eax, word  [ptr]      ; 16-bit input (66 prefix)
crc32 eax, dword [ptr]      ; 32-bit input (default)
crc32 rax, qword [ptr]      ; 64-bit input (REX.W prefix)

; Chained CRC32 computation
xor   eax, eax              ; start with CRC = 0
crc32 eax, byte [rsi]       ; CRC-32C of byte 0
crc32 eax, byte [rsi+1]     ; accumulate byte 1
crc32 eax, byte [rsi+2]     ; accumulate byte 2
; ... or use rep crc32 with larger operands

GFNI – Galois Field Neue Anweisungen

Eingeführt in Ice Lake (2020). Bietet SIMD GF(2^8)-Multiplikation und affine Transformationen für Kryptographie und Post-Quanten-Algorithmen.

Gedächtnisstütze | Beschreibung | Operanden
GF2P8AFFINEINVQB | Galois-Feld-Affintransformation invers (älteres SSE) | xmm, xmm/mem128, imm8
GF2P8AFFINEQB | Galois-Feld-Affintransformation (altes SSE) | xmm, xmm/mem128, imm8
GF2P8MULB | Galois-Feld multipliziert Bytes (älteres SSE) | xmm, xmm/mem128

SehenAVX-Mnemonikfür VEX/EVEX-kodierte Varianten (VGF2P8*) unterstützt 128/256/512-Bit-Operationen mit opmask.

SM3 / SM4 – Chinesische Krypto (optional)

Gedächtnisstütze | Beschreibung | Operanden
SM3MSG1 | Aktualisierung des SM3-Nachrichtenplans 1 | xmm, xmm/mem
SM3MSG2 | Aktualisierung des SM3-Nachrichtenplans 2 | xmm, xmm/mem
SM4ENC | SM4-Ein-Runden-Verschlüsselung | xmm, xmm/mem
SM4ENC4 | SM4 Vier-Runden-Verschlüsselung | xmm, xmm/mem

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


AVX Mnemonics - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

AVX Mnemonics

AVX mnemonics extend SIMD operations with VEX-encoded forms and wider YMM registers. They are useful for vectorized numeric code and explicit assembly blocks.

Kategorie: Mnemonik-Familienübersichten

Syntax

vzeroupper
vaddps ymm0, ymm1, ymm2
vmovups ymmword ptr [rcx], ymm0

Beschreibung

AVX mnemonics extend SIMD operations with VEX-encoded forms and wider YMM registers. They are useful for vectorized numeric code and explicit assembly blocks.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Confirm CPU availability before using AVX-specific code in distributable programs. Keep fallback paths when targeting older Windows systems.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Assembler-Integration

Assembler-Konzeptseiten sollen Registerbreite, Stack-Alignment, erhaltene Register, Flag-Nutzung und User-Mode-Gültigkeit unter Windows nennen. Inline-Schnipsel müssen mit intakter x64-Aufrufkonvention zurückkehren.

Prüfung

Verwenden Sie kleine Programme, die Register oder Speicher initialisieren, jeweils ein Konzept ausführen und das exakte Ergebnis vergleichen. Bei Stack-Beispielen muss gezeigt werden, dass Aufrufe nach dem Schnipsel weiter korrekt laufen.

Migrationshinweise

Prüfen Sie 32-Bit-Beispiele auf ESP/EBP-Annahmen, PUSHAD/POPAD, Pointer-Trunkierung und x87/MMX-Zustandswechsel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurück zum Befehlsindex


AVX/AVX2/AVX-512/FMA-Mnemonik - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

AVX/AVX2/AVX-512/FMA-Mnemonik

PBXB64 unterst&uuml;tzt AVX- (VEX-kodiert), AVX2-, AVX-512- (EVEX-kodiert) und FMA-Anweisungen. AVX-Anweisungen verwenden eine 3-Operanden-Syntax mit einem nicht destruktiven Ziel.

Kategorie: Mnemonik-Familienübersichten

Beschreibung

PBXB64 unterstützt AVX- (VEX-kodiert), AVX2-, AVX-512- (EVEX-kodiert) und FMA-Anweisungen. AVX-Anweisungen verwenden eine 3-Operanden-Syntax mit einem nicht destruktiven Ziel.

Notiz:AVX-512-Mnemoniken verwenden das EVEX-Präfix und unterstützen Opmask-Register (k0-k7). Der Assembler akzeptiert sowohl Standard-Mnemoniken als auch AVX-512-Varianten (z. B.VADDPSUndVADDPSZ).

AVX – Gleitkomma-Arithmetik

Gedächtnisstütze | Beschreibung | Operanden
VADDPS | Gepackte Single hinzufügen (128/256) | ymm/xmm, ymm/xmm, ymm/mem
VADDPD | Doppelpack hinzufügen (128/256) | ymm/xmm, ymm/xmm, ymm/mem
VADDSS | Skalare Single hinzufügen | xmm, xmm, xmm/Speicher
VADDSD | Skalardoppel hinzufügen | xmm, xmm, xmm/Speicher
VSUBPS | Gepackte Single subtrahieren | ymm/xmm, ymm/xmm, ymm/mem
VSUBPD | Subtrahieren Sie das gepackte Doppel | ymm/xmm, ymm/xmm, ymm/mem
VSUBSS | Subtrahieren Sie den Skalar einzeln | xmm, xmm, xmm/Speicher
VSUBSD | Subtrahiere das Skalardoppel | xmm, xmm, xmm/Speicher
VMULPS | Mehrfach gepackte Single | ymm/xmm, ymm/xmm, ymm/mem
VMULPD | Mehrfach gepacktes Doppeltes | ymm/xmm, ymm/xmm, ymm/mem
VMULSS | Skalar-Single multiplizieren | xmm, xmm, xmm/Speicher
VMULSD | Skalar mit dem Doppelten multiplizieren | xmm, xmm, xmm/Speicher
VDIVPS | Teilweise einzeln verpackt | ymm/xmm, ymm/xmm, ymm/mem
VDIVPD | Doppelt verpackt teilen | ymm/xmm, ymm/xmm, ymm/mem
VDIVSS | Teilen Sie den Skalar einfach | xmm, xmm, xmm/Speicher
VDIVSD | Teilen Sie den Skalar durch das Doppelte | xmm, xmm, xmm/Speicher
VSQRTPS | Quadratwurzelgepackte Single | ymm/xmm, ymm/xmm, ymm/mem
VSQRTPD | Quadratwurzel doppelt gepackt | ymm/xmm, ymm/xmm, ymm/mem
VSQRTSS | Quadratwurzel-Skalar-Single | xmm, xmm, xmm/Speicher
VSQRTSD | Quadratwurzel-Skalar-Double | xmm, xmm, xmm/Speicher
VRCPPS | Gegenseitig verpackte Single (ungefähr) | ymm/xmm, ymm/xmm, ymm/mem
VRCPSS | Reziproker Skalar Single (ungefähr) | xmm, xmm, xmm/Speicher
VRSQRTPS | Reziproke quadratisch gepackte Single (ungefähr) | ymm/xmm, ymm/xmm, ymm/mem
VRSQRTSS | Reziproker quadratischer Skalar einzeln (ungefähr) | xmm, xmm, xmm/Speicher
VMAXPS | Maximal gepacktes Einzelstück | ymm/xmm, ymm/xmm, ymm/mem
VMAXPD | Maximal doppelt bepackt | ymm/xmm, ymm/xmm, ymm/mem
VMAXSS | Maximaler Skalar-Single | xmm, xmm, xmm/Speicher
VMAXSD | Maximales Skalar-Double | xmm, xmm, xmm/Speicher
VMINPS | Mindestens einzeln verpackt | ymm/xmm, ymm/xmm, ymm/mem
VMINPD | Mindestens doppelt verpackt | ymm/xmm, ymm/xmm, ymm/mem
VMINSS | Minimaler Skalar-Single | xmm, xmm, xmm/Speicher
VMINSD | Minimales Skalardoppel | xmm, xmm, xmm/Speicher
VROUNDPS | Rund verpackte Single | ymm/xmm, ymm/mem, imm8
VROUNDPD | Rund verpackt, doppelt | ymm/xmm, ymm/mem, imm8
VROUNDSS | Runde Skalar-Single | xmm, xmm/mem, imm8
VROUNDSD | Rundes Skalardoppel | xmm, xmm/mem, imm8

AVX – Datenbewegung

Gedächtnisstütze | Beschreibung | Operanden
VMOVAPS | Verschieben Sie ausgerichtete verpackte Einzelstücke | ymm/xmm, mem / mem, ymm/xmm
VMOVUPS | Move unaligned packed single | ymm/xmm, mem / mem, ymm/xmm
VMOVAPD | Move aligned packed double | ymm/xmm, mem / mem, ymm/xmm
VMOVUPD | Move unaligned packed double | ymm/xmm, mem / mem, ymm/xmm
VMOVSS | Move scalar single | xmm, xmm/mem / mem32, xmm
VMOVSD | Move scalar double | xmm, xmm/mem / mem64, xmm
VMOVD | Move doubleword to/from XMM | xmm, reg/mem / reg, xmm
VMOVQ | Move quadword to/from XMM | xmm, reg/mem / reg, xmm
VMOVDQA | Move aligned double quadword | ymm/xmm, mem / mem, ymm/xmm
VMOVDQU | Move unaligned double quadword | ymm/xmm, mem / mem, ymm/xmm
VMOVLPS | Move low packed single (64-bit) | xmm, xmm, mem64 / mem64, xmm
VMOVHPS | Move high packed single | xmm, xmm, mem64 / mem64, xmm
VMOVLPD | Move low packed double | xmm, xmm, mem64 / mem64, xmm
VMOVHPD | Move high packed double | xmm, xmm, mem64 / mem64, xmm
VMOVSHDUP | Move and duplicate high singles | ymm/xmm, ymm/mem
VMOVSLDUP | Move and duplicate low singles | ymm/xmm, ymm/mem
VMOVDDUP | Move and duplicate one double | ymm/xmm, ymm/mem
VBROADCASTSS | Broadcast single to all elements | ymm/xmm, mem32
VBROADCASTSD | Broadcast double to all elements | ymm, mem64
VBROADCASTF128 | Broadcast 128-bit to all lanes | ymm, mem128

AVX — Logical & Comparison

Gedächtnisstütze | Beschreibung | Operanden
VANDPS | Bitwise AND of packed singles | ymm/xmm, ymm/xmm, ymm/mem
VANDPD | Bitwise AND of packed doubles | ymm/xmm, ymm/xmm, ymm/mem
VANDNPS | Bitwise AND-NOT of packed singles | ymm/xmm, ymm/xmm, ymm/mem
VANDNPD | Bitwise AND-NOT of packed doubles | ymm/xmm, ymm/xmm, ymm/mem
VORPS | Bitwise OR of packed singles | ymm/xmm, ymm/xmm, ymm/mem
VORPD | Bitwise OR of packed doubles | ymm/xmm, ymm/xmm, ymm/mem
VXORPS | Bitwise XOR of packed singles | ymm/xmm, ymm/xmm, ymm/mem
VXORPD | Bitwise XOR of packed doubles | ymm/xmm, ymm/xmm, ymm/mem
VCMPPS | Compare packed single (imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VCMPPD | Compare packed double (imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VCMPSS | Compare scalar single (imm8) | xmm, xmm, xmm/mem, imm8
VCMPSD | Compare scalar double (imm8) | xmm, xmm, xmm/mem, imm8
VCOMISS | Compare ordered scalar single (flags) | xmm, xmm/mem
VCOMISD | Compare ordered scalar double (flags) | xmm, xmm/mem
VUCOMISS | Compare unordered scalar single (flags) | xmm, xmm/mem
VUCOMISD | Compare unordered scalar double (flags) | xmm, xmm/mem
VTESTPS | Test packed single (sets ZF/CF) | ymm/xmm, ymm/xmm
VTESTPD | Test packed double (sets ZF/CF) | ymm/xmm, ymm/xmm
VPTEST | Logical compare of integers (sets ZF/CF) | ymm/xmm, ymm/mem

AVX — Shuffle / Permute

Gedächtnisstütze | Beschreibung | Operanden
VSHUFPS | Shuffle packed single | ymm/xmm, ymm/xmm, ymm/mem, imm8
VSHUFPD | Shuffle packed double | ymm/xmm, ymm/xmm, ymm/mem, imm8
VPERMILPS | Permute in-lane packed single | ymm/xmm, ymm/mem, imm8
VPERMILPD | Permute in-lane packed double | ymm/xmm, ymm/mem, imm8
VPERM2F128 | Permute 128-bit lanes | ymm, ymm, ymm/mem, imm8
VUNPCKHPS | Unpack high packed single | ymm/xmm, ymm/xmm, ymm/mem
VUNPCKLPS | Unpack low packed single | ymm/xmm, ymm/xmm, ymm/mem
VUNPCKHPD | Unpack high packed double | ymm/xmm, ymm/xmm, ymm/mem
VUNPCKLPD | Unpack low packed double | ymm/xmm, ymm/xmm, ymm/mem

AVX — Integer Operations

Gedächtnisstütze | Beschreibung | Operanden
VPADDB | Add packed bytes | ymm/xmm, ymm/xmm, ymm/mem
VPADDW | Add packed words | ymm/xmm, ymm/xmm, ymm/mem
VPADDD | Add packed doublewords | ymm/xmm, ymm/xmm, ymm/mem
VPADDQ | Add packed quadwords | ymm/xmm, ymm/xmm, ymm/mem
VPSUBB | Subtract packed bytes | ymm/xmm, ymm/xmm, ymm/mem
VPSUBW | Subtract packed words | ymm/xmm, ymm/xmm, ymm/mem
VPSUBD | Subtract packed doublewords | ymm/xmm, ymm/xmm, ymm/mem
VPSUBQ | Subtract packed quadwords | ymm/xmm, ymm/xmm, ymm/mem
VPAND | Bitwise AND | ymm/xmm, ymm/xmm, ymm/mem
VPANDN | Bitwise AND-NOT | ymm/xmm, ymm/xmm, ymm/mem
VPOR | Bitwise OR | ymm/xmm, ymm/xmm, ymm/mem
VPXOR | Bitwise XOR | ymm/xmm, ymm/xmm, ymm/mem
VPSLLW | Shift left logical words | ymm/xmm, xmm/mem, imm8
VPSLLD | Shift left logical doublewords | ymm/xmm, xmm/mem, imm8
VPSLLQ | Shift left logical quadwords | ymm/xmm, xmm/mem, imm8
VPSRLW | Shift right logical words | ymm/xmm, xmm/mem, imm8
VPSRLD | Shift right logical doublewords | ymm/xmm, xmm/mem, imm8
VPSRLQ | Shift right logical quadwords | ymm/xmm, xmm/mem, imm8
VPSRAW | Shift right arithmetic words | ymm/xmm, xmm/mem, imm8
VPSRAD | Shift right arithmetic doublewords | ymm/xmm, xmm/mem, imm8
VPMULLW | Multiply packed words (low) | ymm/xmm, ymm/xmm, ymm/mem
VPMULLD | Multiply packed doublewords (low) | ymm/xmm, ymm/xmm, ymm/mem
VPMULHW | Multiply packed words (high) | ymm/xmm, ymm/xmm, ymm/mem
VPMULHUW | Multiply packed words (high, unsigned) | ymm/xmm, ymm/xmm, ymm/mem
VPMULUDQ | Multiply unsigned dword to qword | ymm/xmm, ymm/xmm, ymm/mem
VPMULDQ | Multiply signed dword to qword | ymm/xmm, ymm/xmm, ymm/mem
VPMADDUBSW | Multiply unsigned bytes, add adjacent, saturate | ymm/xmm, ymm/xmm, ymm/mem
VPMADDWD | Multiply and add words to doublewords | ymm/xmm, ymm/xmm, ymm/mem
VPSADBW | Sum of absolute differences | ymm/xmm, ymm/xmm, ymm/mem

AVX — Convert Instructions

Gedächtnisstütze | Beschreibung | Operanden
VCVTPD2PS | Convert packed double to single | ymm/xmm, ymm/xmm/mem
VCVTPS2PD | Convert packed single to double | ymm/xmm, ymm/xmm/mem
VCVTSD2SS | Convert scalar double to single | xmm, xmm, xmm/Speicher
VCVTSS2SD | Convert scalar single to double | xmm, xmm, xmm/Speicher
VCVTDQ2PD | Convert packed dword to double | ymm/xmm, xmm/mem
VCVTPD2DQ | Convert packed double to dword | ymm/xmm, ymm/xmm/mem
VCVTDQ2PS | Convert packed dword to single | ymm/xmm, ymm/mem
VCVTPS2DQ | Convert packed single to dword | ymm/xmm, ymm/mem
VCVTTPD2DQ | Truncate packed double to dword | ymm/xmm, ymm/mem
VCVTTPS2DQ | Truncate packed single to dword | ymm/xmm, ymm/mem
VCVTTSD2SI | Truncate scalar double to integer | reg, xmm/mem
VCVTTSS2SI | Truncate scalar single to integer | reg, xmm/mem
VCVTSI2SD | Convert integer to scalar double | xmm, xmm, reg/mem
VCVTSI2SS | Convert integer to scalar single | xmm, xmm, reg/mem
VCVTSD2SI | Convert scalar double to integer | reg, xmm/mem
VCVTSS2SI | Convert scalar single to integer | reg, xmm/mem
VCVTPS2PH | Convert packed single to half precision | xmm/mem, ymm/xmm, imm8
VCPH2PS | Convert half precision to packed single | ymm/xmm, xmm/mem

AVX — Blend / Select / Horizontal

Gedächtnisstütze | Beschreibung | Operanden
VBLENDPS | Blend packed single (imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VBLENDPD | Blend packed double (imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VBLENDVPS | Variable blend packed single | ymm/xmm, ymm/xmm, ymm/mem
VBLENDVPD | Variable blend packed double | ymm/xmm, ymm/xmm, ymm/mem
VPBLENDVB | Variable blend packed bytes | ymm/xmm, ymm/xmm, ymm/mem
VPBLENDW | Blend packed words (imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VDPPS | Dot product packed single (imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VDPPD | Dot product packed double (imm8) | xmm, xmm, xmm/mem, imm8
VHADDPS | Horizontal add packed single | ymm/xmm, ymm/xmm, ymm/mem
VHADDPD | Horizontal add packed double | ymm/xmm, ymm/xmm, ymm/mem
VHSUBPS | Horizontal subtract packed single | ymm/xmm, ymm/xmm, ymm/mem
VHSUBPD | Horizontal subtract packed double | ymm/xmm, ymm/xmm, ymm/mem
VADDSUBPS | Add/subtract alternating packed single | ymm/xmm, ymm/xmm, ymm/mem
VADDSUBPD | Add/subtract alternating packed double | ymm/xmm, ymm/xmm, ymm/mem

AVX2

Gedächtnisstütze | Beschreibung | Operanden
VPBROADCASTB | Broadcast byte to all elements | ymm/xmm, reg/mem
VPBROADCASTW | Broadcast word to all elements | ymm/xmm, reg/mem
VPBROADCASTD | Broadcast dword to all elements | ymm/xmm, reg/mem
VPBROADCASTQ | Broadcast qword to all elements | ymm/xmm, reg/mem
VBROADCASTI128 | Broadcast 128-bit to all lanes | ymm, mem128
VPERM2I128 | Permute 128-bit integer lanes | ymm, ymm, ymm/mem, imm8
VPERMD | Permute doublewords | ymm, ymm, ymm/mem
VPERMPD | Permute double-precision floats | ymm, ymm, ymm/mem, imm8
VPERMPS | Permute single-precision floats | ymm, ymm, ymm/mem
VPERMQ | Permute quadwords | ymm, ymm/mem, imm8
VPERMIL2PS | Two-source permute of singles | ymm/xmm, ymm/xmm, ymm/mem, imm4
VPERMIL2PD | Two-source permute of doubles | ymm/xmm, ymm/xmm, ymm/mem, imm4
VGATHERDPD | Gather double with dword indices | ymm/xmm, mem, ymm/xmm
VGATHERQPD | Gather double with qword indices | ymm/xmm, mem, ymm/xmm
VGATHERDPS | Gather single with dword indices | ymm/xmm, mem, ymm/xmm
VGATHERQPS | Gather single with qword indices | ymm/xmm, mem, ymm/xmm
VPGATHERDD | Gather dwords with dword indices | ymm/xmm, mem, ymm/xmm
VPGATHERDQ | Gather dwords with qword indices | ymm/xmm, mem, ymm/xmm
VPGATHERQD | Gather qwords with dword indices | ymm/xmm, mem, ymm/xmm
VPGATHERQQ | Gather qwords with qword indices | ymm/xmm, mem, ymm/xmm
VPMASKMOVD | Masked move of dwords | ymm/xmm, ymm/xmm, mem
VPMASKMOVQ | Masked move of qwords | ymm/xmm, ymm/xmm, mem
VPSLLVD | Variable shift left logical dwords | ymm/xmm, ymm/xmm, ymm/mem
VPSLLVQ | Variable shift left logical qwords | ymm/xmm, ymm/xmm, ymm/mem
VPSRLVD | Variable shift right logical dwords | ymm/xmm, ymm/xmm, ymm/mem
VPSRLVQ | Variable shift right logical qwords | ymm/xmm, ymm/xmm, ymm/mem
VPSRAVD | Variable shift right arith dwords | ymm/xmm, ymm/xmm, ymm/mem
VPMOVSXBW | Sign-extend bytes to words | ymm/xmm, xmm/mem
VPMOVSXBD | Sign-extend bytes to dwords | ymm/xmm, xmm/mem
VPMOVSXBQ | Sign-extend bytes to qwords | ymm/xmm, xmm/mem
VPMOVSXWD | Sign-extend words to dwords | ymm/xmm, xmm/mem
VPMOVSXWQ | Sign-extend words to qwords | ymm/xmm, xmm/mem
VPMOVSXDQ | Sign-extend dwords to qwords | ymm/xmm, xmm/mem
VPMOVZXBW | Zero-extend bytes to words | ymm/xmm, xmm/mem
VPMOVZXBD | Zero-extend bytes to dwords | ymm/xmm, xmm/mem
VPMOVZXBQ | Zero-extend bytes to qwords | ymm/xmm, xmm/mem
VPMOVZXWD | Zero-extend words to dwords | ymm/xmm, xmm/mem
VPMOVZXWQ | Zero-extend words to qwords | ymm/xmm, xmm/mem
VPMOVZXDQ | Zero-extend dwords to qwords | ymm/xmm, xmm/mem
VPSHUFB | Shuffle packed bytes (per-lane) | ymm/xmm, ymm/xmm, ymm/mem
VPSHUFD | Shuffle packed dwords (per-lane, imm8) | ymm/xmm, ymm/mem, imm8
VPSHUFHW | Shuffle packed high words (imm8) | ymm/xmm, ymm/mem, imm8
VPSHUFLW | Shuffle packed low words (imm8) | ymm/xmm, ymm/mem, imm8
VPABSB | Absolute value of bytes | ymm/xmm, ymm/mem
VPABSW | Absolute value of words | ymm/xmm, ymm/mem
VPABSD | Absolute value of dwords | ymm/xmm, ymm/mem
VPMAXSB | Maximum of signed bytes | ymm/xmm, ymm/xmm, ymm/mem
VPMAXSW | Maximum of signed words | ymm/xmm, ymm/xmm, ymm/mem
VPMAXSD | Maximum of signed dwords | ymm/xmm, ymm/xmm, ymm/mem
VPMAXUB | Maximum of unsigned bytes | ymm/xmm, ymm/xmm, ymm/mem
VPMAXUW | Maximum of unsigned words | ymm/xmm, ymm/xmm, ymm/mem
VPMAXUD | Maximum of unsigned dwords | ymm/xmm, ymm/xmm, ymm/mem
VPMINSB | Minimum of signed bytes | ymm/xmm, ymm/xmm, ymm/mem
VPMINSW | Minimum of signed words | ymm/xmm, ymm/xmm, ymm/mem
VPMINSD | Minimum of signed dwords | ymm/xmm, ymm/xmm, ymm/mem
VPMINUB | Minimum of unsigned bytes | ymm/xmm, ymm/xmm, ymm/mem
VPMINUW | Minimum of unsigned words | ymm/xmm, ymm/xmm, ymm/mem
VPMINUD | Minimum of unsigned dwords | ymm/xmm, ymm/xmm, ymm/mem
VPINSRB | Insert byte | xmm, xmm, reg/mem, imm8
VPINSRD | Insert dword | xmm, xmm, reg/mem, imm8
VPINSRQ | Insert qword | xmm, xmm, reg/mem, imm8
VPEXTRB | Extract byte | reg/mem, xmm, imm8
VPEXTRD | Extract dword | reg/mem, xmm, imm8
VPEXTRQ | Extract qword | reg/mem, xmm, imm8
VPMOVMSKB | Move byte mask to GPR | reg, ymm/xmm
VPHADDW | Horizontal add words | ymm/xmm, ymm/xmm, ymm/mem
VPHADDD | Horizontal add dwords | ymm/xmm, ymm/xmm, ymm/mem
VPHADDSW | Horizontal add words with saturation | ymm/xmm, ymm/xmm, ymm/mem
VPHSUBW | Horizontal subtract words | ymm/xmm, ymm/xmm, ymm/mem
VPHSUBD | Horizontal subtract dwords | ymm/xmm, ymm/xmm, ymm/mem
VPHSUBSW | Horizontal subtract words with saturation | ymm/xmm, ymm/xmm, ymm/mem
VPMULHRSW | Multiply high with round and scale | ymm/xmm, ymm/xmm, ymm/mem
VPSIGNB | Sign of bytes | ymm/xmm, ymm/xmm, ymm/mem
VPSIGNW | Sign of words | ymm/xmm, ymm/xmm, ymm/mem
VPSIGND | Sign of dwords | ymm/xmm, ymm/xmm, ymm/mem
VPALIGNR | Align right (concatenate and shift, imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VPCMPEQB | Compare bytes for equality | ymm/xmm, ymm/xmm, ymm/mem
VPCMPEQW | Compare words for equality | ymm/xmm, ymm/xmm, ymm/mem
VPCMPEQD | Compare dwords for equality | ymm/xmm, ymm/xmm, ymm/mem
VPCMPEQQ | Compare qwords for equality | ymm/xmm, ymm/xmm, ymm/mem
VPCMPGTB | Compare bytes for greater than | ymm/xmm, ymm/xmm, ymm/mem
VPCMPGTW | Compare words for greater than | ymm/xmm, ymm/xmm, ymm/mem
VPCMPGTD | Compare dwords for greater than | ymm/xmm, ymm/xmm, ymm/mem
VPCMPGTQ | Compare qwords for greater than | ymm/xmm, ymm/xmm, ymm/mem
VINSERTI128 | Insert 128-bit integer lane (imm8) | ymm, ymm, xmm/mem, imm8
VEXTRACTI128 | Extract 128-bit integer lane (imm8) | xmm/mem, ymm, imm8
VINSERTF128 | Insert 128-bit float lane (imm8) | ymm, ymm, xmm/mem, imm8
VEXTRACTF128 | Extract 128-bit float lane (imm8) | xmm/mem, ymm, imm8

FMA — Fused Multiply-Add

Gedächtnisstütze | Beschreibung | Operanden
VFMADD132PS | FMA: a*b+c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMADD213PS | FMA: a*b+c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMADD231PS | FMA: a*b+c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMADD132PD | FMA: a*b+c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMADD213PD | FMA: a*b+c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMADD231PD | FMA: a*b+c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMADD132SS | FMA: a*b+c (single, scalar) | xmm, xmm, xmm/Speicher
VFMADD213SS | FMA: a*b+c (single, scalar) | xmm, xmm, xmm/Speicher
VFMADD231SS | FMA: a*b+c (single, scalar) | xmm, xmm, xmm/Speicher
VFMADD132SD | FMA: a*b+c (double, scalar) | xmm, xmm, xmm/Speicher
VFMADD213SD | FMA: a*b+c (double, scalar) | xmm, xmm, xmm/Speicher
VFMADD231SD | FMA: a*b+c (double, scalar) | xmm, xmm, xmm/Speicher
VFMSUB132PS | FMA: a*b-c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMSUB213PS | FMA: a*b-c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMSUB231PS | FMA: a*b-c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMSUB132PD | FMA: a*b-c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMSUB213PD | FMA: a*b-c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMSUB231PD | FMA: a*b-c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMSUB132SS | FMA: a*b-c (single, scalar) | xmm, xmm, xmm/Speicher
VFMSUB213SS | FMA: a*b-c (single, scalar) | xmm, xmm, xmm/Speicher
VFMSUB231SS | FMA: a*b-c (single, scalar) | xmm, xmm, xmm/Speicher
VFMSUB132SD | FMA: a*b-c (doppelt, skalar) | xmm, xmm, xmm/Speicher
VFMSUB213SD | FMA: a*b-c (doppelt, skalar) | xmm, xmm, xmm/Speicher
VFMSUB231SD | FMA: a*b-c (doppelt, skalar) | xmm, xmm, xmm/Speicher
VFMADDSUB132PS | FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt) | ymm/xmm, ymm/xmm, ymm/mem
VFMADDSUB213PS | FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt) | ymm/xmm, ymm/xmm, ymm/mem
VFMADDSUB231PS | FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt) | ymm/xmm, ymm/xmm, ymm/mem
VFMADDSUB132PD | FMA: a*b+c / a*b-c (alternierend, doppelt gepackt) | ymm/xmm, ymm/xmm, ymm/mem
VFMADDSUB213PD | FMA: a*b+c / a*b-c (alternierend, doppelt gepackt) | ymm/xmm, ymm/xmm, ymm/mem
VFMADDSUB231PD | FMA: a*b+c / a*b-c (alternierend, doppelt gepackt) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD132PS | FMA: -(a*b)+c (einzeln, verpackt) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD213PS | FMA: -(a*b)+c (einzeln, verpackt) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD231PS | FMA: -(a*b)+c (einzeln, verpackt) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD132PD | FMA: -(a*b)+c (doppelt, gepackt) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD213PD | FMA: -(a*b)+c (doppelt, gepackt) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD231PD | FMA: -(a*b)+c (doppelt, gepackt) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD132SS | FMA: -(a*b)+c (einzeln, skalar) | xmm, xmm, xmm/Speicher
VFNMADD213SS | FMA: -(a*b)+c (einzeln, skalar) | xmm, xmm, xmm/Speicher
VFNMADD231SS | FMA: -(a*b)+c (einzeln, skalar) | xmm, xmm, xmm/Speicher
VFNMADD132SD | FMA: -(a*b)+c (doppelt, skalar) | xmm, xmm, xmm/Speicher
VFNMADD213SD | FMA: -(a*b)+c (doppelt, skalar) | xmm, xmm, xmm/Speicher
VFNMADD231SD | FMA: -(a*b)+c (doppelt, skalar) | xmm, xmm, xmm/Speicher
VFNMSUB132PS | FMA: -(a*b)-c (einzeln, verpackt) | ymm/xmm, ymm/xmm, ymm/mem
VFNMSUB213PS | FMA: -(a*b)-c (einzeln, verpackt) | ymm/xmm, ymm/xmm, ymm/mem
VFNMSUB231PS | FMA: -(a*b)-c (einzeln, verpackt) | ymm/xmm, ymm/xmm, ymm/mem
VFNMSUB132PD | FMA: -(a*b)-c (doppelt, gepackt) | ymm/xmm, ymm/xmm, ymm/mem
VFNMSUB213PD | FMA: -(a*b)-c (doppelt, gepackt) | ymm/xmm, ymm/xmm, ymm/mem
VFNMSUB231PD | FMA: -(a*b)-c (doppelt, gepackt) | ymm/xmm, ymm/xmm, ymm/mem
VFNMSUB132SS | FMA: -(a*b)-c (einzeln, skalar) | xmm, xmm, xmm/Speicher
VFNMSUB213SS | FMA: -(a*b)-c (einzeln, skalar) | xmm, xmm, xmm/Speicher
VFNMSUB231SS | FMA: -(a*b)-c (einzeln, skalar) | xmm, xmm, xmm/Speicher
VFNMSUB132SD | FMA: -(a*b)-c (doppelt, skalar) | xmm, xmm, xmm/Speicher
VFNMSUB213SD | FMA: -(a*b)-c (doppelt, skalar) | xmm, xmm, xmm/Speicher
VFNMSUB231SD | FMA: -(a*b)-c (doppelt, skalar) | xmm, xmm, xmm/Speicher

AVX-512 – Hauptunterschiede

AVX-512 erweitert YMM auf 512-Bit-ZMM-Register und fügt Opmask-Register k0-k7 hinzu. Mnemonics verwenden ein optionalesZSuffix oder das EVEX-Präfix. Wichtige neue Anweisungen:

Gedächtnisstütze | Beschreibung | Operanden
VMOVDQA32 | Ausgerichtetes Dword/Qword verschieben (mit Opmask) | zmm, mem / mem, zmm
VMOVDQA64 | Ausgerichtetes qword verschieben (mit opmask) | zmm, mem / mem, zmm
VMOVDQU32 | Nicht ausgerichtetes Dword/Qword verschieben (mit opmask) | zmm, mem / mem, zmm
VMOVDQU64 | Nicht ausgerichtetes qword verschieben (mit opmask) | zmm, mem / mem, zmm
VPABSQ | Absoluter Wert von qwords | zmm, zmm/mem
VPMAXSQ | Maximal vorzeichenbehaftete Qwords | zmm, zmm, zmm/mem
VPMINSQ | Mindestens signierte Qwords | zmm, zmm, zmm/mem
VPMAXUQ | Maximal vorzeichenlose Qwords | zmm, zmm, zmm/mem
VPMINUQ | Mindestens vorzeichenlose Qwords | zmm, zmm, zmm/mem
VPCONFLICTD | Erkennen Sie Konflikte im Dword-Vektor | zmm, zmm/mem
VPCONFLICTQ | Erkennen Sie Konflikte im Qword-Vektor | zmm, zmm/mem
VPLZCNTD | Zählen Sie führende Nullen im Dword-Vektor | zmm, zmm/mem
VPLZCNTQ | Zählen Sie führende Nullen im Qword-Vektor | zmm, zmm/mem
VCOMPRESS | Gepackte Elemente komprimieren (durch Maske) | zmm, zmm/mem
VEXPAND | Gepackte Elemente erweitern (durch Maske) | zmm, zmm/mem
VPCOMPRESSD | Komprimieren Sie gepackte Dwords | zmm, zmm/mem
VPCOMPRESSQ | Komprimieren Sie gepackte Qwords | zmm, zmm/mem
VPEXPANDD | Erweitern Sie gepackte Dwords | zmm, zmm/mem
VPEXPANDQ | Erweitern Sie gepackte Qwords | zmm, zmm/mem
VPERMI2B | Permutieren Sie Bytes mit Index und Maske | zmm, zmm, zmm/mem
VPERMI2W | Permutieren Sie Wörter mit Index und Maske | zmm, zmm, zmm/mem
VPERMI2D | Permutieren Sie Dwords mit Index und Maske | zmm, zmm, zmm/mem
VPERMI2Q | Qwords mit Index und Maske permutieren | zmm, zmm, zmm/mem
VPERMT2B | Bytes mit Index und Maske permutieren (zwei Quellen) | zmm, zmm, zmm/mem
VPERMT2W | Wörter mit Index und Maske permutieren (zwei Quellen) | zmm, zmm, zmm/mem
VPERMT2D | Dwords mit Index und Maske permutieren (zwei Quellen) | zmm, zmm, zmm/mem
VPERMT2Q | Qwords mit Index und Maske permutieren (zwei Quellen) | zmm, zmm, zmm/mem
VGETMANTPS | Extrahieren Sie die normalisierte Mantisse aus einer einzelnen | zmm, zmm/mem, imm8
VGETMANTPD | Extrahieren Sie die normalisierte Mantisse aus dem Doppelten | zmm, zmm/mem, imm8
VFPCLASSPS | Testgepackte Single für die Klasse (NaN/Inf/Null) | zmm, zmm/mem, imm8
VFPCLASSPD | Testpackung doppelt für den Unterricht | zmm, zmm/mem, imm8
VRCP14PS | 14-Bit reziproke gepackte Single | zmm, zmm/mem
VRCP14PD | 14-Bit reziprokes gepacktes Double | zmm, zmm/mem
VRCP14SS | 14-Bit-reziproker Skalar-Single | xmm, xmm, xmm/Speicher
VRCP14SD | 14-Bit reziprokes Skalar-Double | xmm, xmm, xmm/Speicher
VRSQRT14PS | 14-Bit reziprokes sqrt-gepacktes Single | zmm, zmm/mem
VRSQRT14PD | 14-Bit reziprokes sqrt-gepacktes Doppel | zmm, zmm/mem
VSCALEFPS | Skalieren Sie einzeln mit Zweierpotenzen | zmm, zmm, zmm/mem
VSCALEFPD | Skala doppelt gepackt durch Zweierpotenz | zmm, zmm, zmm/mem
VFIXUPIMMPS | Verpackte Single reparieren (NaN-Handhabung) | zmm, zmm, zmm/mem, imm8
VFIXUPIMMPD | Verpacktes Doppel reparieren (NaN-Handhabung) | zmm, zmm, zmm/mem, imm8
VREDUCEPS | Gepackte Single reduzieren (auf N Bits runden) | zmm, zmm/mem, imm8
VREDUCEPD | Packed Double reduzieren (auf N Bits runden) | zmm, zmm/mem, imm8
VRNDSCALEPS | Rund verpacktes Einzelstück mit Skala | zmm, zmm/mem, imm8
VRNDSCALEPD | Rund verpackt, doppelt mit Skala | zmm, zmm/mem, imm8
VPMADD52HUQ | Multiplizieren und addieren Sie 52-Bit-QWords ohne Vorzeichen mit hohem Wert | zmm, zmm, zmm/mem
VPMADD52LUQ | Multiplizieren und addieren Sie 52-Bit-Quoten ohne Vorzeichen mit niedrigem Wert | zmm, zmm, zmm/mem
VPSLLVW | Variable logische Wörter nach links verschieben | zmm, zmm, zmm/mem
VPSLLVDQ | Variable logisches Dword/Qword nach links verschieben | zmm, zmm, zmm/mem
VPSRAVQ | Variable arithmetische Qwords nach rechts verschieben | zmm, zmm, zmm/mem
VPSRLVW | Variable logische Wörter nach rechts verschieben | zmm, zmm, zmm/mem
VPSRLVDQ | Variables logisches Dword/Qword nach rechts verschieben | zmm, zmm, zmm/mem
VPTERNLOGD | Bitweise Operation mit drei Eingaben (Dword) | zmm, zmm, zmm/mem, imm8
VPTERNLOGQ | Bitweise Operation mit drei Eingaben (qword) | zmm, zmm, zmm/mem, imm8
VPMOVDB | Packen und kürzen Sie Dwords in Bytes (schmal) | mem, zmm / xmm, zmm
VPMOVDW | Packen und kürzen Sie Dwords in Wörter (schmal) | mem, zmm / xmm, zmm
VPMOVQB | Packen und kürzen Sie qwords in Bytes (schmal) | mem, zmm / xmm, zmm
VPMOVQD | Packen und kürzen Sie qwords in dwords (schmal) | mem, zmm / xmm, zmm
VPMOVQW | Packen und kürzen Sie qwords in Wörter (schmal) | mem, zmm / xmm, zmm
VPMOVWB | Packen und kürzen Sie Wörter in Bytes (schmal) | mem, zmm / xmm, zmm
VPOPCNTB | Populationsanzahl der Bytes (Vektor) | zmm, zmm/mem
VPOPCNTW | Bevölkerungszahl von Wörtern (Vektor) | zmm, zmm/mem
VPOPCNTD | Bevölkerungszahl von Dwords (Vektor) | zmm, zmm/mem
VPOPCNTQ | Bevölkerungszahl von qwords (Vektor) | zmm, zmm/mem
VDBPSADBW | Doppelblockgepackte Summe von ABS-Diffs (Wörtern) | zmm, zmm, zmm/mem, imm8
VSHUFI32X4 | Mischen Sie 128-Bit-Spuren mit 32-Bit-Elementen | zmm, zmm, zmm/mem, imm8
VSHUFI64X2 | Mischen Sie 128-Bit-Spuren mit 64-Bit-Elementen | zmm, zmm, zmm/mem, imm8

Anweisungen zum Maskenregister (k0-k7)

AVX-512 führt 8 Maskenregister (k0-k7) für prädizierte Operationen ein. k0 ist fest mit allen Einsen verbunden (keine Maskierung). Die typische Syntax istvmovdqa32 zmm1 {k1}{z}, zmm2.

Gedächtnisstütze | Beschreibung | Operanden
KMOVB/KMOVW/KMOVD/KMOVQ | Verschieben Sie das Maskenregister zum/vom GPR oder Speicher | k, k/reg/mem
KADDB/KADDW/KADDD/KADDQ | Fügen Sie zwei Maskenregister hinzu | k, k, k
KANDB/KANDW/KANDD/KANDQ | Bitweises UND von Maskenregistern | k, k, k
KANDNB/KANDNW/KANDND/KANDNQ | Bitweises UND-NICHT von Maskenregistern | k, k, k
KORB/KORW/KORD/KORQ | Bitweises ODER von Maskenregistern | k, k, k
KXORB/KXORW/KXORD/KXORQ | Bitweises XOR von Maskenregistern | k, k, k
KXNORB/KXNORW/KXNORD/KXNORQ | Bitweises XNOR von Maskenregistern | k, k, k
KNOTB/KNOTW/KNOTD/KNOTQ | Bitweises NICHT des Maskenregisters | k, k
KORTESTB/KORTESTW/KORTESTD/KORTESTQ | ODER-Test (setzt CF/ZF, wenn das Ergebnis nur Einsen/Null ist) | k, k
KSHIFTLB/KSHIFTLW/KSHIFTLD/KSHIFTLQ | Verschiebe das Maskenregister um imm8 nach links | k, k, imm8
KSHIFTRB/KSHIFTRW/KSHIFTRD/KSHIFTRQ | Verschiebe das Maskenregister um imm8 nach rechts | k, k, imm8

AVX-512BW – Byte-/Worterweiterungen

Gedächtnisstütze | Beschreibung | Operanden
VPADDB | Gepackte Bytes hinzufügen (512-Bit mit Opmask) | zmm, zmm, zmm/mem
VPADDW | Gepackte Wörter hinzufügen (512-Bit mit Opmask) | zmm, zmm, zmm/mem
VPSUBB | Gepackte Bytes subtrahieren (512-Bit mit Opmask) | zmm, zmm, zmm/mem
VPSUBW | Gepackte Wörter subtrahieren (512-Bit mit Opmask) | zmm, zmm, zmm/mem
VPSLLVW | Variable logische Wörter nach links verschieben | zmm, zmm, zmm/mem
VPSRLVW | Variable logische Wörter nach rechts verschieben | zmm, zmm, zmm/mem
VPSRAVW | Variable arithmetische Wörter nach rechts verschieben | zmm, zmm, zmm/mem
VPABSB | Absoluter Wert der Bytes (512-Bit) | zmm, zmm/mem
VPABSW | Absoluter Wortwert (512-Bit) | zmm, zmm/mem
VPMOVB2M | Verschieben Sie die Bytemaske vom Vektor in das k-Register | k, zmm
VPMOVW2M | Verschieben Sie die Wortmaske vom Vektor in das k-Register | k, zmm
VPMOVM2B | Maske vom k-Register in den Byte-Vektor verschieben | zmm, k
VPMOVM2W | Maske vom k-Register in den Wortvektor verschieben | zmm, k
VDBPSADBW | Doppelblockgepackte Summe von ABS-Diffs (Wörtern) | zmm, zmm, zmm/mem, imm8

AVX-512DQ – Doppel-/Quadword-Erweiterungen

Gedächtnisstütze | Beschreibung | Operanden
VPMULLQ | Multiplizieren Sie gepackte Qwords mit Vorzeichen (niedrige 64 Bit) | zmm, zmm, zmm/mem
VPANDQ | Bitweises UND von qwords | zmm, zmm, zmm/mem
VPORQ | Bitweises ODER von qwords | zmm, zmm, zmm/mem
VPXORQ | Bitweises XOR von qwords | zmm, zmm, zmm/mem
VPABSQ | Absoluter Wert von qwords | zmm, zmm/mem
VPMOVD2M | Verschieben Sie die Dword-Maske vom Vektor in das k-Register | k, zmm
VPMOVQ2M | Verschieben Sie die qword-Maske vom Vektor in das k-Register | k, zmm
VPMOVM2D | Verschieben Sie die Maske vom k-Register in den dword-Vektor | zmm, k
VPMOVM2Q | Maske vom k-Register in den qword-Vektor verschieben | zmm, k

AVX-512ER – Exponentiell/Reziprok

Eingeführt in Intel Xeon Phi (Knights Landing). Bietet hochpräzise exponentielle, reziproke und reziproke Quadrate.

Gedächtnisstütze | Beschreibung | Operanden
VEXP2PD | Exponentielle Näherung zur Basis 2 (doppelt, gepackt) | zmm, zmm/mem
VEXP2PS | Exponentielle Näherung zur Basis 2 (einfach, gepackt) | zmm, zmm/mem
VRCP28PD | 28-Bit-Reziproknäherung (doppelt, gepackt) | zmm, zmm/mem
VRCP28PS | 28-Bit-Reziproknäherung (einzeln, gepackt) | zmm, zmm/mem
VRCP28SD | 28-Bit-Reziproknäherung (doppelt, skalar) | xmm, xmm, xmm/Speicher
VRCP28SS | 28-Bit-Reziproknäherung (einfach, skalar) | xmm, xmm, xmm/Speicher
VRSQRT28PD | 28-Bit reziproke Quadratnäherung (doppelt, gepackt) | zmm, zmm/mem
VRSQRT28PS | 28-Bit reziproke Quadratnäherung (einzeln, gepackt) | zmm, zmm/mem
VRSQRT28SD | 28-Bit reziproke Quadratnäherung (doppelt, skalar) | xmm, xmm, xmm/Speicher
VRSQRT28SS | 28-Bit-Reziprok-Quadrat-Näherung (einfach, skalar) | xmm, xmm, xmm/Speicher

AVX-512PF – Prefetch Gather/Scatter

Prefetch-Hinweise für Gather/Scatter-Vorgänge (nur Xeon Phi). Verwendet VSIB-Adressierung.

Gedächtnisstütze | Beschreibung | Operanden
VGATHERPF0DPD | Prefetch Gather Double, Intent Level 0 | mem (VSIB)
VGATHERPF0DPS | Prefetch Gather Single, Intent Level 0 | mem (VSIB)
VGATHERPF1DPD | Prefetch Gather Double, Intent Level 1 | mem (VSIB)
VGATHERPF1DPS | Prefetch Gather Single, Intent Level 1 | mem (VSIB)
VSCATTERPF0DPD | Prefetch-Scatter-Double, Absichtsstufe 0 | mem (VSIB)
VSCATTERPF0DPS | Prefetch-Scatter einzeln, Absichtsebene 0 | mem (VSIB)
VSCATTERPF1DPD | Prefetch-Scatter-Double, Absichtsstufe 1 | mem (VSIB)
VSCATTERPF1DPS | Prefetch-Scatter einzeln, Absichtsebene 1 | mem (VSIB)

AVX-512VPOPCNTDQ – Vektor-Popcount

Gedächtnisstütze | Beschreibung | Operanden
VPOPCNTD | Populationsanzahl von Dword-Elementen | zmm, zmm/mem
VPOPCNTQ | Populationszahl von qword-Elementen | zmm, zmm/mem

AVX-512BITALG – Bit-Algorithmen

Gedächtnisstütze | Beschreibung | Operanden
VPOPCNTB | Populationsanzahl von Byte-Elementen | zmm, zmm/mem
VPOPCNTW | Populationszahl von Wortelementen | zmm, zmm/mem
VPSHUFBITQMB | Mischen Sie die Bits im Qword zur Byte-Maske | k, zmm, zmm/mem

AVX-512VBMI – Vektorbyte-Manipulation

Gedächtnisstütze | Beschreibung | Operanden
VPERMB | Bytes über Lanes hinweg permutieren | zmm, zmm, zmm/mem
VPERMI2B | Zwei-Quellen-Permutation von Bytes mit Index | zmm, zmm, zmm/mem
VPERMT2B | Permutation von Bytes aus zwei Quellen (Index im Ziel) | zmm, zmm, zmm/mem
VPMULTISHIFTQB | Mehrfaches Verschieben und Verketten von Qwords zu Bytes | zmm, zmm, zmm/mem

AVX-512VBMI2 – Byte-/Wortkomprimierung/-erweiterung

Gedächtnisstütze | Beschreibung | Operanden
VCOMPRESSB | Gepackte Bytes komprimieren (durch Maske) | zmm, zmm/mem
VCOMPRESSW | Komprimieren Sie gepackte Wörter (durch Maske) | zmm, zmm/mem
VEXPANDB | Gepackte Bytes erweitern (nach Maske) | zmm, zmm/mem
VEXPANDW | Gepackte Wörter erweitern (durch Maske) | zmm, zmm/mem
VPSHLDV | Variable Verschiebung nach links doppelt (verkettete Verschiebung) | zmm, zmm, zmm/mem
VPSHLDVW | Variable Doppelwörter nach links verschieben | zmm, zmm, zmm/mem
VPSHRDV | Variable Verschiebung nach rechts doppelt (verkettete Verschiebung) | zmm, zmm, zmm/mem
VPSHRDVW | Variable Doppelwörter nach rechts verschieben | zmm, zmm, zmm/mem

GFNI – Galois Field Neue Anweisungen

Gedächtnisstütze | Beschreibung | Operanden
VGF2P8AFFINEINVQB | Galois-Feld-Affintransformation invers | zmm/xmm, zmm/xmm, zmm/mem, imm8
VGF2P8AFFINEQB | Galoisfeldaffine Transformation | zmm/xmm, zmm/xmm, zmm/mem, imm8
VGF2P8MULB | Galois-Feld multipliziert Bytes (GF(2^8)) | zmm/xmm, zmm/xmm, zmm/mem

AVX-512 – Streuspeicher

Gedächtnisstütze | Beschreibung | Operanden
VSCATTERDPS | Scatter-gepackte Single mit Dword-Indizes | mem, zmm
VSCATTERDPD | Scatter-gepacktes Doppel mit Dword-Indizes | mem, zmm
VSCATTERQPS | Streugepackte Single mit Qword-Indizes | mem, zmm
VSCATTERQPD | Scatter-gepacktes Doppel mit Qword-Indizes | mem, zmm

AVX-512 – Zusätzliche Operationen

Gedächtnisstütze | Beschreibung | Operanden
VALIGND | Dwords ausrichten (verketten und verschieben) | zmm, zmm, zmm/mem, imm8
VALIGNQ | Qwords ausrichten (verketten und verschieben) | zmm, zmm, zmm/mem, imm8
VBLENDMPD | Mischen Sie die Mischung doppelt aus der Maske | zmm, zmm, zmm/mem
VBLENDMPS | Mischung verpackt einzeln aus der Maske | zmm, zmm, zmm/mem
VPBLENDMD | Mischen Sie gepackte Dwords aus der Maske | zmm, zmm, zmm/mem
VPBLENDMQ | Mischen Sie gepackte QWords aus der Maske | zmm, zmm, zmm/mem
VCOMPRESSPS | Verpackte Single komprimieren (durch Maske) | zmm, zmm/mem
VCOMPRESSPD | Komprimieren Sie das Doppelte (durch Maske) | zmm, zmm/mem
VCOMPRESSD | Komprimieren Sie gepackte Dwords (durch Maske) | zmm, zmm/mem
VCOMPRESSQ | Komprimieren Sie gepackte Qwords (durch Maske) | zmm, zmm/mem
VEXPANDPS | Gepackte Single erweitern (nach Maske) | zmm, zmm/mem
VEXPANDPD | Gepacktes Doppel erweitern (durch Maske) | zmm, zmm/mem
VEXPANDD | Gepackte Dwords erweitern (nach Maske) | zmm, zmm/mem
VEXPANDQ | Gepackte QWords erweitern (nach Maske) | zmm, zmm/mem
VFIXUPIMMSD | Skalar-Double reparieren (NaN-Handhabung) | xmm, xmm, xmm/mem, imm8
VFIXUPIMMSS | Skalar-Single reparieren (NaN-Handhabung) | xmm, xmm, xmm/mem, imm8
VREDUCESD | Skalar-Double reduzieren (auf N Bits runden) | xmm, xmm, xmm/mem, imm8
VREDUCESS | Skalare Single reduzieren (auf N Bits runden) | xmm, xmm, xmm/mem, imm8
VRNDSCALESD | Rundes Skalardoppel mit Skala | xmm, xmm, xmm/mem, imm8
VRNDSCALESS | Runder Skalar einzeln mit Skala | xmm, xmm, xmm/mem, imm8
VRANGESD | Bereichseinschränkung Skalar Double | xmm, xmm, xmm/mem, imm8
VRANGESS | Bereichseinschränkung Skalar Single | xmm, xmm, xmm/mem, imm8
VGETEXPSD | Exponenten-Skalar-Doppel extrahieren | xmm, xmm, xmm/Speicher
VGETEXPSS | Exponentenskalar einzeln extrahieren | xmm, xmm, xmm/Speicher
VGETMANTSD | Extrahieren Sie das normalisierte Mantissen-Skalar-Double | xmm, xmm, xmm/mem, imm8
VGETMANTSS | Extrahieren Sie den normalisierten Mantissenskalar einzeln | xmm, xmm, xmm/mem, imm8
VPSRAVQ | Variable arithmetische Qwords nach rechts verschieben | zmm, zmm, zmm/mem
VPERMI2W | Permutation von Wörtern aus zwei Quellen mit Index | zmm, zmm, zmm/mem
VPERMT2W | Permutation von Wörtern aus zwei Quellen (Index im Ziel) | zmm, zmm, zmm/mem
VPERMI2D | Zwei-Quellen-Permutation von Dwords mit Index | zmm, zmm, zmm/mem
VPERMI2Q | Zwei-Quellen-Permutation von qwords mit Index | zmm, zmm, zmm/mem
VPERMI2PS | Permutation von Singles aus zwei Quellen mit Index | zmm, zmm, zmm/mem
VPERMI2PD | Zwei-Quellen-Permutation von Doubles mit Index | zmm, zmm, zmm/mem
VPERMT2D | Zwei-Quellen-Permutation von Dwords (Index im Ziel) | zmm, zmm, zmm/mem
VPERMT2Q | Permutation von qwords aus zwei Quellen (Index im Ziel) | zmm, zmm, zmm/mem
VPERMT2PS | Zwei-Quellen-Permutation von Singles (Index im Ziel) | zmm, zmm, zmm/mem
VPERMT2PD | Zwei-Quellen-Permutation von Doubles (Index im Ziel) | zmm, zmm, zmm/mem
Notiz:AVX-512-Anweisungen können Opmask-Register (k1-k7) verwenden. Opmask Null (k0) ist mit allen Einsen fest verdrahtet und fungiert als „keine Maske“. Die typische Syntax ist:vmovdqa32 zmm1 {k1}{z}, zmm2Dabei aktiviert {k1} die Maskierung und {z} den Nullungsmaskenmodus. Das Suffix-Suffix (32/64 für dword/qword-Elementgröße) bestimmt, für welche Elemente die Maske gilt.

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Ein 256-Bit-YMM-Register kann acht einfach genaue Werte aufnehmen.

Ein 256-Bit-YMM-Register kann acht einfach genaue Werte aufnehmen.


BMI Mnemonics - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

BMI Mnemonics

BMI and BMI2 instructions provide bit-manipulation operations such as bit extraction, population transforms, and parallel bit deposit/extract operations.

Kategorie: Mnemonik-Familienübersichten

Syntax

andn rax, rcx, rdx
bextr rax, rcx, rdx
pext rax, rcx, rdx

Beschreibung

BMI and BMI2 instructions provide bit-manipulation operations such as bit extraction, population transforms, and parallel bit deposit/extract operations.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

These instructions are CPU-feature dependent. Use them only when the deployment target is known or guarded by feature checks.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurück zum Befehlsindex


BMI1/BMI2-Mnemonik - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

BMI1/BMI2-Mnemonik

Bitmanipulationsbefehlss&auml;tze 1 und 2, eingef&uuml;hrt in Intel Haswell (2013) und AMD Jaguar/Piledriver. Diese Anweisungen beschleunigen Bitfeldoperationen und Arithmetik mit beliebiger Genauigkeit.

Kategorie: Mnemonik-Familienübersichten

Beschreibung

Bitmanipulationsbefehlssätze 1 und 2, eingeführt in Intel Haswell (2013) und AMD Jaguar/Piledriver. Diese Anweisungen beschleunigen Bitfeldoperationen und Arithmetik mit beliebiger Genauigkeit.

BMI1

Gedächtnisstütze | Beschreibung | Operanden | CPUID-Flag
ANDN | Bitweises UND-NICHT: dst = ~src1 & src2 | reg, reg, reg/mem | BMI1
BEXTR | Bitfeld-Extraktion: Aufeinanderfolgende Bits extrahieren | reg, reg/mem, reg/imm | BMI1
BLSI | Niedrigstes gesetztes Bit isolieren: dst = src & -src | reg, reg/mem | BMI1
BLSMSK | Maske bis zum niedrigsten gesetzten Bit: dst = src ^ (src-1) | reg, reg/mem | BMI1
BLSR | Niedrigstes gesetztes Bit zurücksetzen: dst = src & (src-1) | reg, reg/mem | BMI1
TZCNT | Nachgestellte Nullen zählen (verwendet im Gegensatz zu BSF das F3-Präfix) | reg, reg/mem | BMI1

BMI1-Beispiele

andn   eax, ebx, ecx      ; eax = ~ebx & ecx
bextr  eax, ecx, 8        ; eax = bits 15:8 of ecx (start=8, len=8)
blsi   eax, [var]         ; eax = [var] & -[var]
blsmsk eax, edx           ; eax = edx ^ (edx-1)
blsr   eax, ecx           ; eax = ecx & (ecx-1)  -- clears lowest set bit
tzcnt  eax, ebx           ; eax = count trailing zeros in ebx

BMI2

Gedächtnisstütze | Beschreibung | Operanden | CPUID-Flag
BZHI | Null hohe Bits: wenn index<operand_size, dst=src & mask | reg, reg/mem, reg | BMI2
MULX | Vorzeichenlose Multiplikation ohne Auswirkungen auf Flags | reg, reg, reg/mem | BMI2
PDEP | Parallele Biteinzahlung: Streuen Sie die Bits mithilfe einer Maske | reg, reg, reg/mem | BMI2
PEXT | Parallele Bits extrahieren: Bits mithilfe einer Maske sammeln | reg, reg, reg/mem | BMI2
RORX | Sofort nach rechts drehen (keine Flaggen betroffen) | reg, reg/mem, imm8 | BMI2
SARX | Arithmetik um Variable nach rechts verschieben (keine Flags) | reg, reg/mem, reg | BMI2
SHLX | Logische Verschiebung nach links durch Variable (keine Flags) | reg, reg/mem, reg | BMI2
SHRX | Logisch nach rechts verschieben nach Variable (keine Flags) | reg, reg/mem, reg | BMI2

BMI2-Beispiele

bzhi   eax, ebx, ecx       ; zero bits above position ecx in ebx
mulx   edx, eax, ecx       ; edx:eax = ecx * [implicit rdx:rax]
pdep   rax, rbx, rcx       ; deposit bits of rbx using mask in rcx
pext   rax, rbx, rcx       ; extract bits of rbx using mask in rcx
rorx   eax, [var], 8       ; rotate right by 8, no flags
sarx   eax, ebx, ecx       ; arithmetic shift right ebx by ecx
shlx   eax, ebx, ecx       ; logical shift left ebx by ecx
shrx   eax, ebx, ecx       ; logical shift right ebx by ecx

ADCX / ADOX – Add. mit beliebiger Präzision

Intel Haswell führte ADCX und ADOX für Multipräzisionsarithmetik mit unabhängigen Carry Chains ein.

Gedächtnisstütze | Beschreibung | Operanden
ADCX | Mit Carry hinzufügen (verwendet nur CF-Flag) | reg32/64, reg/mem
ADOX | Mit Überlauf hinzufügen (verwendet nur das OF-Flag) | reg32/64, reg/mem
; Multi-precision addition with dual carry chains
adcx  rcx, [rsi+0]         ; add with carry chain 1 (CF)
adox  rdx, [rsi+8]         ; add with carry chain 2 (OF)
adcx  r8,  [rsi+16]        ; continue chain 1
adox  r9,  [rsi+24]        ; continue chain 2
Notiz:ADCX verwendet ausschließlich das Carry Flag (CF). ADOX verwendet ausschließlich das Overflow Flag (OF). Dadurch können zwei unabhängige Übertragsketten parallel ablaufen, was den Durchsatz für die Arithmetik großer Ganzzahlen verdoppelt.

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


Cache and Memory Ordering Mnemonics - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

Cache and Memory Ordering Mnemonics

Cache-oriented instructions control prefetching, cache-line flushes, fences, and memory-ordering boundaries. They are normally used in low-level runtime code.

Kategorie: Mnemonik-Familienübersichten

Syntax

prefetcht0 [rcx]
clflush [rcx]
mfence

Beschreibung

Cache-oriented instructions control prefetching, cache-line flushes, fences, and memory-ordering boundaries. They are normally used in low-level runtime code.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Use these instructions sparingly. Incorrect fences or flushes can make code slower without improving correctness.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurück zum Befehlsindex


Cache-Steuerung/Prefetch-Mnemonik - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

Cache-Steuerung/Prefetch-Mnemonik

Anweisungen zur Verwaltung der Cache-Hierarchie, zum Vorabruf, zu nicht-tempor&auml;ren Speichern und zu Barrieren bei der Speicherordnung.

Kategorie: Mnemonik-Familienübersichten

Beschreibung

Anweisungen zur Verwaltung der Cache-Hierarchie, zum Vorabruf, zu nicht-temporären Speichern und zu Barrieren bei der Speicherordnung.

Prefetch-Anweisungen

Gedächtnisstütze | Beschreibung | Operanden
PREFETCHh | Daten auf der angegebenen Hinweisebene vorab in den Cache abrufen | mem8
PREFETCHNTA | Vorababruf in den L1-Datencache (nicht temporär, minimale Verschmutzung) | mem8
PREFETCHT0 | Vorabruf in alle Cache-Ebenen (L1, L2, L3) | mem8
PREFETCHT1 | Prefetch in L2 und L3 (nicht L1) | mem8
PREFETCHT2 | Nur in L3 vorabholen | mem8
PREFETCHW | Prefetch zum Schreiben (RFO-Latenz reduzieren, AMD/Intel) | mem8
PREFETCHWT1 | Prefetch zum Schreiben in L2 (AVX-512) | mem8
; Prefetch data for read-intensive processing
prefetcht0 [rsi+64]       ; start loading cache line into L1
prefetcht1 [rsi+128]      ; prefetch into L2
prefetchnta [rsi+192]     ; non-temporal (don't pollute caches)

; Prefetch for write
prefetchw [rdi+64]        ; hint: we'll write here soon

Leeren/Rückschreiben der Cache-Zeile

Gedächtnisstütze | Beschreibung | Operanden
CLFLUSH | Cache-Zeile mit Adresse leeren (zurückschreiben + ungültig machen) | mem8
CLFLUSHOPT | Cache-Zeile leeren (optimiert, gepuffert) | mem8
CLWB | Zurückschreiben der Cache-Zeile (bei Bedarf im Cache behalten) | mem8
CLZERO | Keine Cache-Zeile (nur AMD, löscht 64 Bytes) | keine (verwendet [rax-Adresse])
CLDEMOTE | Cache-Zeile von L1 auf niedrigere Ebenen (L2/L3) herabstufen | mem8
; Write-back and flush a cache-aligned buffer
clflushopt [rdi]           ; optimized cache line flush
clwb       [rdi]           ; write-back but keep in cache

; Memory-mapped I/O: ensure write is visible to device
mov    DWORD PTR [mmio_reg], eax
clflush [mmio_reg]         ; flush write from cache to memory

Nicht-temporale (Streaming-)Speicher

Nicht-temporäre Speicherungen umgehen den Cache und schreiben direkt in den Speicher, wodurch eine Cache-Verschmutzung vermieden wird. Ideal für große Datenstrukturen, die einmal geschrieben werden.

Gedächtnisstütze | Beschreibung | Operanden
MOVNTI | Nicht-temporäre Speicherung von Ganzzahlen (dword/qword) | mem32/64, reg
MOVNTDQ | Nicht-temporärer Speicher von 128 Bit (SSE2) | mem128, xmm
MOVNTDQA | Nicht-temporäre Last (Streaming-Lasthinweis, SSE4.1) | xmm, mem128
MOVNTPD | Nichtzeitlicher Speicher von gepacktem Doppel (SSE2) | mem128, xmm
MOVNTPS | Nicht-temporäre Speicherung gepackter Singles (SSE) | mem128, xmm
VMOVNTDQ | VEX nicht-temporaler 128/256-Bit-Speicher (AVX) | mem, ymm/xmm
VMOVNTPD | VEX nichtzeitlicher Doppelspeicher (AVX) | mem, ymm/xmm
VMOVNTPS | VEX nicht-temporärer Einzelspeicher (AVX) | mem, ymm/xmm
VMOVNTDQA | Nichtzeitliche VEX-Last (AVX2) | ymm/xmm, mem
; Non-temporal memory copy (large blocks)
; AVX variant - streaming store avoids cache pollution
vmovntdq [rdi],   ymm0    ; write 32 bytes, bypass cache
vmovntdq [rdi+32], ymm1   ; next 32 bytes
; ... use sfence to ensure visibility
sfence

; Non-temporal integer store (for single values)
movnti [rdi], eax          ; atomic 32-bit streaming store
movnti [rdi], rax          ; 64-bit streaming store

Erinnerungsbarrieren und Zäune

Gedächtnisstütze | Beschreibung
SFENCE | Filialzaun (serialisiert alle Filialvorgänge)
LFENCE | Ladezaun (serialisiert alle Ladevorgänge)
MFENCE | Speicherzaun (serialisiert alle Lade- und Speichervorgänge)
SFENCE | Ladenzaun (stellt sicher, dass alle vorherigen Geschäfte weltweit sichtbar sind)
LFENCE | Ladezaun (stellt sicher, dass alle vorherigen Ladungen vor der nächsten Ladung abgeschlossen sind)
; Memory ordering: producer-consumer
; Thread 1 (producer):
mov    DWORD PTR [data], eax
sfence                       ; ensure data visible before flag
mov    DWORD PTR [flag], 1

; Thread 2 (consumer):
spin:
    mov    eax, DWORD PTR [flag]
    lfence                   ; ensure flag loaded before data
    test   eax, eax
    jz     spin
    mov    ebx, DWORD PTR [data]

; Full memory barrier (both loads and stores)
lock or DWORD PTR [rsp], 0  ; alternative full barrier
; or simply:
mfence

Nutzungsmuster der Cache-Kontrolle

Streaming Copy (memcpy mit NT-Stores)

; Copy 4096 bytes with non-temporal stores
mov    ecx, 128             ; 4096 / 32 (256-bit)
mov    rsi, src
mov    rdi, dst
loop:
    vmovdqa ymm0, [rsi]
    vmovntdq [rdi], ymm0
    add    rsi, 32
    add    rdi, 32
    dec    ecx
    jnz    loop
sfence                       ; ensure all NT stores are visible
vzeroupper

Cache-Line-Flush für NVDIMM-Persistenz

; Ensure data is persistent on NVDIMM
mov    DWORD PTR [journal], eax
clwb   [journal]            ; write-back cache line
sfence                       ; order CLWB before next barrier
; ... optionally wait for PCOMMIT (older platforms) ...
; With Intel eADR, CLWB + SFENCE is sufficient for persistency

Vorabruf für Strided-Zugriffsmuster

; Strided matrix access (column-major)
xor    ecx, ecx
loop_col:
    prefetcht0 [rsi+rdx*8]   ; prefetch column element
    movsd  xmm0, [rsi]
    addsd  xmm0, [rdi+rcx]
    movsd  [rsi], xmm0
    add    rsi, rdx           ; stride
    inc    ecx
    cmp    ecx, 64
    jb     loop_col

Zusammenfassung der Anweisungen nach Hinweisstufe

Anweisung | Cache-Auswirkungen | Anwendungsfall
PREFETCHNTA | Nur L1, nicht temporär | Einmaliges Lesen der Daten minimiert die L2/L3-Verschmutzung
PREFETCHT0 | L1, L2, L3 | Auf die Daten wird demnächst mehrmals zugegriffen
PREFETCHT1 | L2, L3 (L1 überspringen) | Auf die Daten wird bald zugegriffen, aber nicht sofort
PREFETCHT2 | Nur L3 | Auf die Daten wird in naher Zukunft zugegriffen
PREFETCHW | Alle Level, exklusiv | Zu schreibende Daten (exklusiver Zustand)
MOVNT* | Cache umgehen (Schreibkombination) | Große Streaming-Schreibvorgänge (Framebuffer, große Puffer)
CLFLUSH | Cache-Zeile leeren und ungültig machen | Cachekohärenter DMA, Persistenz
CLFLUSHOPT | Flush (gepuffert, schneller) | Wie CLFLUSH, aber höherer Durchsatz
CLWB | Zurückschreiben (Cache beibehalten) | NVDIMM-Persistenz, behält die Zeile im Cache bei
CLDEMOTE | Wechseln Sie von L1 zu L2/L3 | Reduzieren Sie den L1-Druck für Daten, die nicht sofort benötigt werden

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


Core x64 Mnemonics - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

Core x64 Mnemonics

Core mnemonics cover integer arithmetic, data movement, stack operations, calls, returns, comparisons, branches, shifts, rotates, and flag operations.

Kategorie: Mnemonik-Familienübersichten

Syntax

mov rax, rcx
add rax, rdx
cmp rax, 10
jge done

Beschreibung

Core mnemonics cover integer arithmetic, data movement, stack operations, calls, returns, comparisons, branches, shifts, rotates, and flag operations.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurück zum Befehlsindex


Crypto Mnemonics - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

Crypto Mnemonics

Crypto mnemonics include AES, carry-less multiply, and hash-assist instructions used by optimized cryptographic routines.

Kategorie: Mnemonik-Familienübersichten

Syntax

aesenc xmm0, xmm1
pclmulqdq xmm0, xmm1, 0
sha256rnds2 xmm0, xmm1, xmm2

Beschreibung

Crypto mnemonics include AES, carry-less multiply, and hash-assist instructions used by optimized cryptographic routines.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Do not assume crypto instructions exist on every x64 CPU. Runtime feature detection is required for general-purpose binaries.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurück zum Befehlsindex


Kern-GPR-Mnemonik - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

Kern-GPR-Mnemonik

In diesem Abschnitt werden die vom PBXB64-Assembler unterst&uuml;tzten x86-64-General-Purpose-Register-Anweisungen (GPR) dokumentiert. Alle Anweisungen verwenden Intel-Syntax.

Kategorie: Mnemonik-Familienübersichten

Beschreibung

In diesem Abschnitt werden die vom PBXB64-Assembler unterstützten x86-64-General-Purpose-Register-Anweisungen (GPR) dokumentiert. Alle Anweisungen verwenden Intel-Syntax.

Datenbewegung

Gedächtnisstütze | Beschreibung | Operanden
MOV | Verschieben Sie Daten zwischen Registern, Speicher und Sofortdaten | reg/mem, reg/mem/imm
MOVZX | Bewegen Sie sich ohne Verlängerung | reg, reg/mem
MOVSX | Umzug mit Schilderverlängerung | reg, reg/mem
MOVSXD | Mit Vorzeichenerweiterung verschieben (32-Bit auf 64-Bit) | reg64, reg/mem32
CMOVcc | Bedingter Umzug (siehe unten) | reg, reg/mem
XCHG | Daten zwischen Operanden austauschen | reg, reg/mem
BSWAP | Byte-Swap (Reverse Endianness) | reg32/64
MOVBE | Verschieben mit Big-Endian-Konvertierung (Laden/Speichern) | reg, mem / mem, reg
MOVABS | 64-Bit-Absolutwert verschieben (Alias ​​auf MOV mit imm64) | reg64, imm64

Bedingte Bewegungen (CMOVcc)

Gedächtnisstütze | Zustand | Flaggen
CMOVA / CMOVNBE | Oben (nicht unten oder gleich) | CF=0 und ZF=0
CMOVAE / CMOVNB | Oben oder gleich (nicht unten) | CF=0
CMOVB / CMOVNAE | Unten (nicht darüber oder gleich) | CF=1
CMOVBE / CMOVNA | Unterhalb oder gleich (nicht darüber) | CF=1 oder ZF=1
CMOVE / CMOVZ | Gleich (Null) | ZF=1
CMOVNE / CMOVNZ | Ungleich (nicht Null) | ZF=0
CMOVG / CMOVNLE | Größer (mit Vorzeichen, nicht kleiner oder gleich) | ZF=0 und SF=OF
CMOVGE / CMOVNL | Größer oder gleich (mit Vorzeichen, nicht kleiner) | SF=OF
CMOVL / CMOVNGE | Kleiner (mit Vorzeichen, nicht größer oder gleich) | SF!=OF
CMOVLE / CMOVNG | Kleiner oder gleich (mit Vorzeichen, nicht größer) | ZF=1 oder SF!=OF
CMOVO | Überlauf | OF=1
CMOVNO | Nicht überlaufen | OF=0
CMOVS | Vorzeichen (negativ) | SF=1
CMOVNS | Nicht signieren (nicht negativ) | SF=0
CMOVP / CMOVPE | Parität (gerade) | PF=1
CMOVNP / CMOVPO | Keine Parität (ungerade) | PF=0

Arithmetik

Gedächtnisstütze | Beschreibung | Operanden
ADD | Ganzzahlige Addition | reg/mem, reg/mem/imm
ADC | Mit Carry hinzufügen | reg/mem, reg/mem/imm
SUB | Ganzzahlige Subtraktion | reg/mem, reg/mem/imm
SBB | Mit „borgen“ subtrahieren | reg/mem, reg/mem/imm
MUL | Vorzeichenlose Multiplikation (r/m * AL/AX/EAX/RAX) | reg/mem
IMUL | Vorzeichenbehaftete Multiplikation (mehrere Formen) | reg/mem / reg, reg/mem / reg, reg/mem, imm
DIV | Division ohne Vorzeichen (r/m dividiert AX/EAX/RAX) | reg/mem
IDIV | Unterzeichnete Kluft | reg/mem
INC | Erhöhen Sie um 1 | reg/mem
DEC | Um 1 verringern | reg/mem
NEG | Negieren (Zweierkomplement) | reg/mem
CMP | Vergleichen (setzt Flags, kein Ergebnis) | reg/mem, reg/mem/imm
TEST | Logischer Vergleich (UND setzt Flags) | reg/mem, reg/mem/imm

DerMULUndDIVAnweisungen verwenden implizite Quell-/Zielregister:

Operandengröße | MUL: r/m * | Ergebnis (Produkt) | DIV: r/m dividiert | Quotient | Rest
8-Bit | AL | AXT | AXT | AL | AH
16-Bit | AXT | DX:AX | DX:AX | AXT | DX
32-Bit | EAX | EDX:EAX | EDX:EAX | EAX | EDX
64-Bit | RAX | RDX:RAX | RDX:RAX | RAX | RDX

DerIMULDie Anweisung hat drei Formen:

  • Einzelner Operand: imul r/m— gleiches implizites Verhalten wie MUL
  • Zwei Operanden: imul reg, r/m— reg = reg * r/m
  • Drei Operanden: imul reg, r/m, imm— reg = r/m * imm

Logisch / Bitweise

Gedächtnisstütze | Beschreibung | Operanden
AND | Bitwise AND | reg/mem, reg/mem/imm
OR | Bitwise OR | reg/mem, reg/mem/imm
XOR | Bitwise XOR | reg/mem, reg/mem/imm
NOT | Bitweises NICHT (Einzelkomplement) | reg/mem
ANDN | Bitweises UND-NICHT (BMI1) | reg, reg, reg/mem

Verschieben / Drehen

Gedächtnisstütze | Beschreibung | Operanden
SHL / SAL | Logisch/arithmetisch nach links verschieben | reg/mem, imm8/CL
SHR | Logisch nach rechts verschieben | reg/mem, imm8/CL
SAR | Arithmetik nach rechts verschieben (vorzeichenerhaltend) | reg/mem, imm8/CL
ROL | Nach links drehen | reg/mem, imm8/CL
ROR | Nach rechts drehen | reg/mem, imm8/CL
RCL | Durch Tragen nach links drehen | reg/mem, imm8/CL
RCR | Nach rechts drehen durch Tragen | reg/mem, imm8/CL
SHLD | Doppelte Präzisionsverschiebung nach links | reg/mem, reg, imm8/CL
SHRD | Doppelte Präzisionsverschiebung nach rechts | reg/mem, reg, imm8/CL

Stapeloperationen

Gedächtnisstütze | Beschreibung | Operanden
PUSH | Auf Stapel schieben (RSP um 8 in x64 dekrementiert) | reg/mem/imm
POP | Pop vom Stapel (RSP um 8 in x64 erhöht) | reg/mem
PUSHA / PUSHAD | Alle GPRs pushen (nicht gültig im x64-Modus) | keiner
POPA / POPAD | Pop alle GPRs (nicht gültig im x64-Modus) | keiner
PUSHF / PUSHFD | Drücken Sie EFLAGS/RFLAGS | keiner
POPF / POPFD | Pop EFLAGS/RFLAGS | keiner
PUSHQ | Push QWORD (impliziter 64-Bit-Push) | imm32
ENTER | Stapelrahmen erstellen (push rbp, mov rbp, rsp; sub rsp, X) | imm16, imm8
LEAVE | Stack-Frame zerstören (mov rsp, rbp; pop rbp) | keiner
Notiz:Im x64-ModusPUSHUndPOPArbeiten Sie immer mit 64-Bit-Werten (RSP wird um 8 angepasst). 32-Bit- und 16-Bit-Push/Pop sind in x64 nicht kodierbar.PUSHA/POPAsind nicht verfügbar.

Kontrollübertragung

Bedingungslose Sprünge

Gedächtnisstütze | Beschreibung | Operanden
JMP | Bedingungsloser Sprung | Etikett/Reg/Speicher
CALL | Aufrufvorgang (Push-Rücksprungadresse) | Etikett/Reg/Speicher
RET | Rückkehr vom Verfahren (Pops-Rücksprungadresse) | none / imm16 (Pop N Bytes)
RETF | Far Return (wird in x64 nicht verwendet) | keine / imm16

Bedingte Sprünge

Gedächtnisstütze | Zustand | Flaggen
JA / JNBE | Springe, wenn oben | CF=0 und ZF=0
JAE / JNB / JNC | Springe, wenn höher oder gleich | CF=0
JB / JNAE / JC | Springe, wenn unten | CF=1
JBE / JNA | Springe, wenn weniger als oder gleich | CF=1 oder ZF=1
JE / JZ | Bei Gleichheit springen | ZF=1
JNE / JNZ | Springe, wenn nicht gleich | ZF=0
JG / JNLE | Springe, wenn größer (vorzeichenbehaftet) | ZF=0 und SF=OF
JGE / JNL | Springen, wenn größer oder gleich (mit Vorzeichen) | SF=OF
JL / JNGE | Springe, wenn weniger (vorzeichenbehaftet) | SF!=OF
JLE / JNG | Springen, wenn kleiner oder gleich (mit Vorzeichen) | ZF=1 oder SF!=OF
JO | Bei Überlauf springen | OF=1
JNO | Springe, wenn nicht überlaufen | OF=0
JS | Springe, wenn Vorzeichen (negativ) | SF=1
JNS | Springen Sie, wenn Sie nicht unterschreiben | SF=0
JP / JPE | Springe, wenn die Parität gerade ist | PF=1
JNP / JPO | Springe, wenn die Parität ungerade ist | PF=0
JCXZ / JECXZ / JRCXZ | Springe, wenn CX/ECX/RCX Null ist | CX/ECX/RCX=0

Schleifenanweisungen

Gedächtnisstütze | Beschreibung | Operanden
LOOP | CX/ECX/RCX dekrementieren, springen, wenn nicht Null | Etikett
LOOPE / LOOPZ | LOOP während gleich/null | Etikett
LOOPNE / LOOPNZ | LOOP solange ungleich/nicht Null | Etikett

String-Operationen

Gedächtnisstütze | Beschreibung | Operanden
MOVS / MOVSB / MOVSW / MOVSD / MOVSQ | Zeichenfolge verschieben (RSI→RDI, nach Größe anpassen) | keiner
CMPS / CMPSB / CMPSW / CMPSD / CMPSQ | Zeichenfolge vergleichen (RSI vs. RDI) | keiner
SCAS / SCASB / SCASW / SCASD / SCASQ | Scan-String (vergleiche AL/AX/EAX/RAX mit [RDI]) | keiner
LODS / LODSB / LODSW / LODSD / LODSQ | String laden ([RSI]→AL/AX/EAX/RAX) | keiner
STOS / STOSB / STOSW / STOSD / STOSQ | Zeichenfolge speichern (AL/AX/EAX/RAX→[RDI]) | keiner

String-Anweisungen werden häufig mit dem kombiniertREPPräfix für Blockoperationen:

cld                     ; clear direction flag (forward)
rep movsb               ; copy RCX bytes from RSI to RDI
rep stosd               ; fill RCX dwords with EAX
repne scasb             ; scan for AL in [RDI], RCX times

Flaggenkontrolle

Gedächtnisstütze | Beschreibung
STC | Carry-Flag setzen (CF=1)
CLC | Clear Carry Flag (CF=0)
CMC | Komplement-Carry-Flag (CF=!CF)
STD | Richtungsflag setzen (DF=1)
CLD | Flag „Richtung löschen“ (DF=0)
STI | Interrupt-Flag setzen (IF=1)
CLI | Interrupt-Flag löschen (IF=0)
LAHF | Flags in AH laden (SF:ZF:0:AF:0:PF:1:CF)
SAHF | Speichern Sie AH in Flags
SAHF | Speichern Sie AH im unteren RFLAGS-Byte

Bit-Manipulation

Gedächtnisstütze | Beschreibung | Operanden
BT | Bittest (speichert Bit an Position in CF) | reg/mem, reg/imm
BTS | Bit testen und einstellen | reg/mem, reg/imm
BTR | Bittest und Reset | reg/mem, reg/imm
BTC | Bittest und Ergänzung | reg/mem, reg/imm
BSF | Bit-Scan vorwärts (niedrigstes gesetztes Bit) | reg, reg/mem
BSR | Bit-Scan rückwärts (höchstes gesetztes Bit) | reg, reg/mem
POPCNT | Bevölkerungszahl (Anzahl der gesetzten Bits) – SSE4.2 | reg, reg/mem
LZCNT | Führende Nullen zählen – BMI1 (über F3 0F BD) | reg, reg/mem
TZCNT | Nachgestellte Nullen zählen – BMI1 | reg, reg/mem

Tauschen / Konvertieren

Gedächtnisstütze | Beschreibung | Operanden
XADD | Austauschen und hinzufügen (atomar) | reg/mem, reg
CMPXCHG | Vergleichen und austauschen (atomar) | reg/mem, reg
CMPXCHG8B | Vergleichen und tauschen Sie 8 Bytes (atomar) aus | mem64
CMPXCHG16B | Vergleichen und tauschen Sie 16 Bytes (atomar, benötigt LOCK) | mem128
CBW / CWDE / CDQE | Konvertieren Sie Byte in Wort / Wort in Dword / Dword in Qword | keine (verwendet AL/AX/EAX)
CWD / CDQ / CQO | Konvertieren Sie Wort in Dword / Dword in Qword / Qword in Dqword (DX:AX / EDX:EAX / RDX:RAX) | keiner
CWDE | Wandeln Sie Wort (AX) in Doppelwort (EAX) mit Vorzeichenerweiterung um | keiner
CDQE | Doppelwort (EAX) in Quadwort (RAX) mit Vorzeichenerweiterung umwandeln | keiner

Atomar-/Sperrpräfix

DerLOCKDas Präfix macht bestimmte Anweisungen auf Multiprozessorsystemen atomar. Unterstützte Anweisungen:

lock add / lock adc / lock sub / lock sbb / lock and / lock or / lock xor
lock inc / lock dec / lock neg / lock not
lock xadd / lock cmpxchg / lock cmpxchg8b / lock cmpxchg16b
lock bts / lock btr / lock btc

Beispiel:

lock inc DWORD PTR [counter]       ; atomic increment
lock cmpxchg DWORD PTR [ptr], ecx   ; atomic compare-exchange

Legacy / Kompatibilität

Gedächtnisstütze | Beschreibung
AAA | ASCII-Anpassung nach Hinzufügung (nicht gültig in x64)
AAS | ASCII-Anpassung nach Subtraktion (nicht gültig in x64)
AAM | ASCII-Anpassung nach Multiplikation (nicht gültig in x64)
AAD | ASCII-Anpassung vor der Division (nicht gültig in x64)
DAA | Dezimalanpassung nach Addition (nicht gültig in x64)
DAS | Dezimalanpassung nach Subtraktion (nicht gültig in x64)
Notiz:Die ASCII- und Dezimal-Anpassungsanweisungen sind im x64-Modus nicht codierbar, der Assembler akzeptiert sie jedoch aus Gründen der Kompatibilität mit Legacy-Code auf Quellebene.

NOP und Multi-Byte-NOPs

Gedächtnisstütze | Codierung | Größe
NOP | 90 | 1 Byte
NOP(2 Byte) | 66 90 | 2 Bytes
NOP(3 Byte) | 0F 1F 00 | 3 Bytes
NOP(4 Byte) | 0F 1F 40 00 | 4 Bytes
NOP(5 Byte) | 0F 1F 44 00 00 | 5 Bytes
NOP(6 Byte) | 66 0F 1F 44 00 00 | 6 Bytes
NOP(7 Byte) | 0F 1F 80 00 00 00 00 | 7 Bytes
NOP(8 Byte) | 0F 1F 84 00 00 00 00 00 | 8 Byte
NOP(9 Byte) | 66 0F 1F 84 00 00 00 00 00 | 9 Bytes

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


MMX Mnemonics - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

MMX Mnemonics

MMX instructions operate on legacy MM registers. They share state with the x87 FPU and require cleanup with emms before returning to floating-point code.

Kategorie: Mnemonik-Familienübersichten

Syntax

movq mm0, qword ptr [rcx]
paddb mm0, mm1
emms

Beschreibung

MMX instructions operate on legacy MM registers. They share state with the x87 FPU and require cleanup with emms before returning to floating-point code.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Prefer XMM/SSE instructions for new code. Use MMX only when maintaining old assembly fragments.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurück zum Befehlsindex


MMX-Mnemonik - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

MMX-Mnemonik

MMX (MultiMedia eXtensions) bietet 64-Bit-SIMD-Operationen auf MMX-Registern (mm0&ndash;mm7), die dem x87-FPU-Stack als Alias &#8203;&#8203;zugeordnet sind. PBXB64 unterst&uuml;tzt alle 57 MMX-Befehle. MMX-Register sind 64 Bit breit und verarbeiten gepackte Byte-, Wort- oder Doppelwort-Ganzzahlen.

Kategorie: Mnemonik-Familienübersichten

Beschreibung

MMX (MultiMedia eXtensions) bietet 64-Bit-SIMD-Operationen auf MMX-Registern (mm0–mm7), die dem x87-FPU-Stack als Alias ​​zugeordnet sind. PBXB64 unterstützt alle 57 MMX-Befehle. MMX-Register sind 64 Bit breit und verarbeiten gepackte Byte-, Wort- oder Doppelwort-Ganzzahlen.

Notiz:MMX-Register teilen sich den physischen Speicher mit x87-FPU-Registern. Immer verwendenEMMSnach dem MMX-Code, bevor Sie FPU-Anweisungen verwenden. Bevorzugen Sie auf modernen CPUs SSE2 für Integer-SIMD.

Datenbewegung

Gedächtnisstütze | Beschreibung | Operanden
MOVD | Doppelwort in/vom MMX-Register verschieben | mm, reg32/mem32 / reg32, mm
MOVQ | Quadword in/vom MMX-Register verschieben | mm, mm/mem64 / mem64, mm

Gepackte Arithmetik

Gedächtnisstütze | Beschreibung | Operanden
PADDB | Gepackte Bytes hinzufügen (bei Überlauf umbrechen) | mm, mm/mem64
PADDW | Gepackte Wörter hinzufügen (Umbruch) | mm, mm/mem64
PADDD | Gepackte Doppelwörter hinzufügen (Umbruch) | mm, mm/mem64
PADDSB | Fügen Sie gepackte Bytes mit vorzeichenbehafteter Sättigung hinzu | mm, mm/mem64
PADDSW | Fügen Sie gepackte Wörter mit vorzeichenbehafteter Sättigung hinzu | mm, mm/mem64
PADDUSB | Fügen Sie gepackte Bytes mit vorzeichenloser Sättigung hinzu | mm, mm/mem64
PADDUSW | Fügen Sie gepackte Wörter mit vorzeichenloser Sättigung hinzu | mm, mm/mem64
PSUBB | Gepackte Bytes subtrahieren (Wrap) | mm, mm/mem64
PSUBW | Gepackte Wörter subtrahieren (Umbruch) | mm, mm/mem64
PSUBD | Gepackte Doppelwörter subtrahieren (Umbruch) | mm, mm/mem64
PSUBSB | Subtrahieren Sie gepackte Bytes mit vorzeichenbehafteter Sättigung | mm, mm/mem64
PSUBSW | Subtrahieren Sie gepackte Wörter mit vorzeichenbehafteter Sättigung | mm, mm/mem64
PSUBUSB | Subtrahieren Sie gepackte Bytes mit vorzeichenloser Sättigung | mm, mm/mem64
PSUBUSW | Subtrahieren Sie gepackte Wörter mit vorzeichenloser Sättigung | mm, mm/mem64
PMULLW | Multiplizieren Sie gepackte Wörter (niedrige 16 Bits des Produkts) | mm, mm/mem64
PMULHW | Multiplizieren Sie gepackte Wörter (höhere 16 Bits des Produkts) | mm, mm/mem64
PMULHUW | Mehrfach gepackte vorzeichenlose Wörter (hohe 16 Bit) | mm, mm/mem64
PMADDWD | Multiplizieren Sie gepackte Wörter und fügen Sie sie zu Doppelwörtern hinzu | mm, mm/mem64

Vergleich

Gedächtnisstütze | Beschreibung | Operanden
PCMPEQB | Vergleichen Sie gepackte Bytes auf Gleichheit | mm, mm/mem64
PCMPEQW | Vergleichen Sie gepackte Wörter auf Gleichheit | mm, mm/mem64
PCMPEQD | Vergleichen Sie gepackte Doppelwörter auf Gleichheit | mm, mm/mem64
PCMPGTB | Vergleichen Sie gepackte Bytes auf größer als (mit Vorzeichen) | mm, mm/mem64
PCMPGTW | Vergleichen Sie gepackte Wörter für größer als | mm, mm/mem64
PCMPGTD | Vergleichen Sie gepackte Doppelwörter für größer als | mm, mm/mem64

Logisch

Gedächtnisstütze | Beschreibung | Operanden
PAND | Bitwise AND | mm, mm/mem64
PANDN | Bitwise AND-NOT | mm, mm/mem64
POR | Bitwise OR | mm, mm/mem64
PXOR | Bitwise XOR | mm, mm/mem64

Schicht

Gedächtnisstütze | Beschreibung | Operanden
PSLLW | Pack verschiebt logische Wörter nach links | mm, imm8/mm
PSLLD | Pack-Shift-Links-logische Doppelwörter | mm, imm8/mm
PSLLQ | Packen Sie das logische Vierwort nach links | mm, imm8/mm
PSRLW | Packen Sie logische Wörter nach rechts | mm, imm8/mm
PSRLD | Packen Sie logische Doppelwörter mit Rechtsverschiebung | mm, imm8/mm
PSRLQ | Packen Sie das logische Vierwort nach rechts | mm, imm8/mm
PSRAW | Packen Sie arithmetische Wörter nach rechts | mm, imm8/mm
PSRAD | Packen Sie arithmetische Doppelwörter mit Rechtsverschiebung | mm, imm8/mm

Packen / Auspacken

Gedächtnisstütze | Beschreibung | Operanden
PACKSSWB | Vorzeichenbehaftete Wörter in Bytes packen (gesättigt) | mm, mm/mem64
PACKSSDW | Vorzeichenbehaftete Doppelwörter zu Wörtern packen (gesättigt) | mm, mm/mem64
PACKUSWB | Packen Sie vorzeichenlose Wörter in Bytes (unsigned sat.) | mm, mm/mem64
PUNPCKHBW | Hohe Bytes entpacken (Interleave) | mm, mm/mem64
PUNPCKHWD | Packen Sie hohe Wörter aus | mm, mm/mem64
PUNPCKHDQ | Hohe Doppelwörter auspacken | mm, mm/mem64
PUNPCKLBW | Low-Bytes entpacken | mm, mm/mem64
PUNPCKLWD | Packen Sie niedrige Wörter aus | mm, mm/mem64
PUNPCKLDQ | Entpacken Sie niedrige Doppelwörter | mm, mm/mem64

Konvertierung

Gedächtnisstütze | Beschreibung | Operanden
PACKSSWB | Wörter in Bytes packen (gesättigt) | mm, mm/mem64
PACKSSDW | Doppelwörter zu Wörtern packen (gesättigt) | mm, mm/mem64
PACKUSWB | Packen Sie Wörter in Bytes (ohne Vorzeichen gesättigt) | mm, mm/mem64
PMOVMSKB | Bytemaske nach GPR verschieben (MSB jedes Bytes) | reg, mm

Staatsverwaltung

Gedächtnisstütze | Beschreibung
EMMS | Leerer MMX-Status (MMX/x87-Tag-Wort löschen)
FEMMS | Schnelles EMMS (AMD, löscht weniger Register)

MMX-Beispiele

; Add 8 bytes with saturation
movq    mm0, [byte_array_a]
movq    mm1, [byte_array_b]
paddusb mm0, mm1          ; unsigned saturated add
movq    [result], mm0

; Compare two 16-bit vectors
movq    mm0, [vector_a]
movq    mm1, [vector_b]
pcmpeqw mm0, mm1          ; word-wise equality
movq    [result], mm0

; Calculate sum of absolute differences
movq    mm0, [block_a]
movq    mm1, [block_b]
psadbw  mm0, mm1         ; sum of absolute differences -> low qword
movd    eax, mm0         ; result in eax

; Always clear MMX state before FPU
emms                     ; important!

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


SGX / VMX / CET-Mnemonik - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

SGX / VMX / CET-Mnemonik

SGX (Software Guard Extensions), VMX (Virtual Machine Extensions) und CET (Control-Flow Enforcement Technology). Hierbei handelt es sich um spezielle Sicherheits- und Virtualisierungsbefehlss&auml;tze, die auf neueren Intel-Prozessoren verf&uuml;gbar sind.

Kategorie: Mnemonik-Familienübersichten

Beschreibung

SGX (Software Guard Extensions), VMX (Virtual Machine Extensions) und CET (Control-Flow Enforcement Technology). Hierbei handelt es sich um spezielle Sicherheits- und Virtualisierungsbefehlssätze, die auf neueren Intel-Prozessoren verfügbar sind.

SGX – Software Guard-Erweiterungen

SGX ermöglicht die Erstellung isolierter Enklaven innerhalb des Adressraums. Anweisungen sind in drei Berechtigungsstufen unterteilt:

ENCLS – Supervisor (Ring 0)

Gedächtnisstütze | Beschreibung
ENCLS[ECREATE] | Erstellen Sie eine Enklave
ENCLS[EADD] | Fügen Sie einer Enklave eine Seite hinzu
ENCLS[EEXTEND] | Erweitern Sie die Messung einer Enklavenseite
ENCLS[EINIT] | Enklave initialisieren (vollständige Messung)
ENCLS[ELDB] | Laden Sie eine Enclave-Seite als blockiert
ENCLS[ELDU] | Laden Sie eine Enclave-Seite als entsperrt
ENCLS[EPA] | Fügen Sie eine Versionsarray-Seite hinzu
ENCLS[EREMOVE] | Eine Seite aus einer Enklave entfernen
ENCLS[ETRACK] | Aktivieren Sie die Nachverfolgung von Enclave-Seitenänderungen
ENCLS[EWB] | Schreiben Sie zurück und entfernen Sie eine Enklavenseite
ENCLS[EAUG] | Fügen Sie eine Seite für dynamisches Wachstum hinzu (SGX2)
ENCLS[EMODPR] | Seitenberechtigungen/-einschränkungen ändern (SGX2)
ENCLS[EMODT] | Seitentyp ändern (SGX2)
ENCLS[EDECRD] | Seitenverweisanzahl verringern (SGX2)
ENCLS[ETRACKC] | Aktivieren Sie die Weiterleitungsverfolgung für untergeordnete Enklaven

ENCLU – Benutzer (Ring 3, innerhalb der Enklave)

Gedächtnisstütze | Beschreibung
ENCLU[EENTER] | Betreten Sie eine Enklave
ENCLU[ERESUME] | Setzen Sie eine Enklave nach einer Unterbrechung/Ausnahme fort
ENCLU[EEXIT] | Verlasse die Enklave
ENCLU[EGETKEY] | Holen Sie sich einen von der Hardware abgeleiteten Schlüssel von der Enklave
ENCLU[EREPORT] | Erstellen Sie einen kryptografischen Bericht
ENCLU[EACCEPT] | Akzeptieren Sie eine Seitenänderung (SGX2)
ENCLU[EMODPE] | Ändern Sie den zulässigen Seitenschutz (SGX2)
ENCLU[EACCEPTCOPY] | Akzeptieren Sie eine kopierte Seite (SGX2)

ENCLV – Virtualisierung (Ring 0, VMM)

Gedächtnisstütze | Beschreibung
ENCLV[EDECLASSIFY] | Löschen Sie die klassifizierten Attribute einer Seite
ENCLV[ETRACKC] | Verfolgen Sie Änderungen an der Seite der untergeordneten Enklave
; SGX enclave entry (inside host)
lea rcx, [secs]            ; SGX Enclave Control Structure
lea rdx, [base_address]
lea r8,  [source_page]
mov eax, 0                 ; ECREATE
ENCLS

; SGX enclave entry (inside enclave)
lea rax, [tcs]             ; Thread Control Structure
lea rbx, [aep]             ; Asynchronous Exit Pointer
mov rcx, [entry_address]   ; Entry point in enclave
ENCLU[EENTER]

VMX – Erweiterungen für virtuelle Maschinen

Hardware-Virtualisierungsunterstützung für Hypervisoren/VMMs.

VMX-Management

Gedächtnisstütze | Beschreibung | Operanden
VMXON | Geben Sie den VMX-Vorgang ein | mem64 (VMXON-Region ptr)
VMXOFF | Beenden Sie den VMX-Vorgang | keiner
VMPTRLD | Aktuellen VMCS-Zeiger laden | mem64
VMPTRST | Aktuellen VMCS-Zeiger speichern | mem64
VMCLEAR | VMCS löschen (Cache-Status leeren) | mem64
VMREAD | Feld aus VMCS lesen | reg, reg/mem
VMWRITE | Feld in VMCS schreiben | reg/mem, reg

VM-Ein-/Ausstieg

Gedächtnisstütze | Beschreibung
VMLAUNCH | Virtuelle Maschine starten (erster Eintrag)
VMRESUME | Virtuelle Maschine fortsetzen (nachfolgende Einträge)

VM-Exit-Behandlung

Gedächtnisstütze | Beschreibung | Operanden
VMCALL | Rufen Sie VMM vom Gast aus auf (VM-Exit) | keiner
VMFUNC | VM-Funktionsaufruf (Blatt in EAX) | keiner

VM-Schatten-/TLB-Steuerung

Gedächtnisstütze | Beschreibung | Operanden
INVEPT | EPT (Extended Page Table) ungültig machen | reg, mem128
INVVPID | VPID (Virtuelle Prozessor-ID) ungültig machen | reg, mem128
VMPTRLD | VMCS-Zeiger laden | mem64
; Basic VMM: launch a guest
vmxon [vmxon_region]       ; enter VMX operation
vmptrld [vmcs]             ; load VMCS
; ... set up VMCS fields ...
vmlaunch                   ; launch guest
; ... on VM exit ...
vmresume                   ; resume guest
vmxoff                     ; exit VMX operation

CET – Control-Flow-Enforcement-Technologie

CET bietet Shadow Stack (hardware-erzwungener Schutz der Rücksendeadresse) und indirekte Zweigverfolgung (Indirect Branch Tracking, IBT). Verfügbar auf Intel Tiger Lake+.

Schattenstapel (SS)

Gedächtnisstütze | Beschreibung | Operanden
RDSSP | Schattenstapelzeiger lesen | reg64
INCSSP | Erhöhen Sie den Shadow-Stack-Zeiger um N*8 | reg32
SAVEPREVSSP | Speichern Sie den vorherigen Schattenstapelzeiger | keiner
RSTORSSP | Schattenstapelzeiger wiederherstellen | mem64
WRSS | Auf Shadow Stack schreiben (Supervisor) | mem64, reg64
WRUSS | Auf Shadow Stack schreiben (Benutzer) | mem64, reg64
SETSSBSY | Markieren Sie den Schattenstapel als beschäftigt | keiner
CLRSSBSY | Löschen Sie die Besetzt-Flagge des Shadow-Stacks | mem64

Indirekte Filialverfolgung (IBT)

Gedächtnisstütze | Beschreibung | Codierung
ENDBR64 | Ende der Verzweigung (64-Bit, an Verzweigungszielen) | F3 0F 1E FA
ENDBR32 | Ende der Verzweigung (32-Bit) | F3 0F 1E FB
NOTRACK | Präfix: IBT-Prüfung für den nächsten JMP/CALL unterdrücken | F2-Präfix

CET-Beispiele

; Shadow stack save/restore
rdssp  rax                ; read current shadow stack pointer
mov    [saved_ssp], rax   ; save it for later restore

; Set up shadow stack for a new context
rstorssp [new_ss_frame]   ; restore shadow stack pointer
saveprevssp               ; save previous SSP
ret                       ; shadow stack will also pop

; IBT-compliant function
func:
    endbr64               ; required at every indirect branch target
    push rbp
    mov rbp, rsp
    ; ... function body ...
    pop rbp
    ret

; Indirect call through function pointer
call_func:
    endbr64
    mov rax, [pfn]        ; load function pointer
    notrack call rax       ; call without IBT check (NOTRACK prefix)
Notiz:Der CET-Shadow-Stack erfordert Betriebssystemunterstützung (Windows 10 20H1+ Kernel-Modus, Windows 11-Benutzermodus). Auf CPUs ohne CET lösen diese Anweisungen #UD aus.

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


SGX and VMX Mnemonics - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

SGX and VMX Mnemonics

SGX and VMX instructions belong to enclave and virtualization support. They are privileged or feature-dependent and are not ordinary application instructions.

Kategorie: Mnemonik-Familienübersichten

Syntax

vmcall
vmlaunch
encls

Beschreibung

SGX and VMX instructions belong to enclave and virtualization support. They are privileged or feature-dependent and are not ordinary application instructions.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Application code should treat these as specialist system-programming instructions and document required CPU, OS, and privilege assumptions.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurück zum Befehlsindex


SSE Mnemonics - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

SSE Mnemonics

SSE instructions operate on XMM registers and are used for scalar and packed floating-point operations. Common scalar forms include movss, movsd, addss, addsd, mulss, and mulsd.

Kategorie: Mnemonik-Familienübersichten

Syntax

movsd xmm0, qword ptr [rbp-8]
addsd xmm0, xmm1
movsd qword ptr [rbp-16], xmm0

Beschreibung

SSE instructions operate on XMM registers and are used for scalar and packed floating-point operations. Common scalar forms include movss, movsd, addss, addsd, mulss, and mulsd.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Use the single-precision suffix ss for 32-bit floats and the double-precision suffix sd for 64-bit floats.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurück zum Befehlsindex


SSE/SSE2/SSE3/SSSE3/SSE4-Mnemonik - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

SSE/SSE2/SSE3/SSSE3/SSE4-Mnemonik

Alle Anweisungen der SSE-Familie arbeiten mit 128-Bit-XMM-Registern. PBXB64 unterst&uuml;tzt SSE bis SSE4.2 mit vollst&auml;ndiger Intel-Syntax.

Kategorie: Mnemonik-Familienübersichten

Beschreibung

Alle Anweisungen der SSE-Familie arbeiten mit 128-Bit-XMM-Registern. PBXB64 unterstützt SSE bis SSE4.2 mit vollständiger Intel-Syntax.

SSE – Streaming von SIMD-Erweiterungen

Original SSE (KNI/Katmai neue Anleitung). Gleitkommaoperationen mit einfacher Genauigkeit auf XMM-Registern.

SSE-Datenbewegung

Gedächtnisstütze | Beschreibung | Operanden
MOVAPS | Ausgerichtetes, gepacktes Einzelstück verschieben (16-Byte-ausgerichtet) | xmm, xmm/mem128 / mem128, xmm
MOVUPS | Move unaligned packed single | xmm, xmm/mem128 / mem128, xmm
MOVSS | Move scalar single | xmm, xmm/mem32 / mem32, xmm
MOVLPS | Niedrig gepackte Single verschieben (untere 64 Bit) | xmm, mem64 / mem64, xmm
MOVHPS | Hochgepackte Single verschieben (obere 64 Bit) | xmm, mem64 / mem64, xmm
MOVLHPS | Bewegen Sie sich von unten nach oben einzeln | xmm, xmm
MOVHLPS | Bewegen Sie sich einzeln von oben nach unten | xmm, xmm
MOVMSKPS | Vorzeichenmaske nach GPR verschieben (4 Vorzeichenbits → GPR) | reg, xmm

SSE-gepackte Arithmetik (einfache Genauigkeit)

Gedächtnisstütze | Beschreibung | Operanden
ADDPS | Fügen Sie verpackte Single hinzu | xmm, xmm/mem128
ADDSS | Skalare Single hinzufügen | xmm, xmm/mem32
SUBPS | Gepackte Single subtrahieren | xmm, xmm/mem128
SUBSS | Subtrahieren Sie den Skalar einzeln | xmm, xmm/mem32
MULPS | Mehrfach gepackte Single | xmm, xmm/mem128
MULSS | Skalar-Single multiplizieren | xmm, xmm/mem32
DIVPS | Teilweise einzeln verpackt | xmm, xmm/mem128
DIVSS | Teilen Sie den Skalar einfach | xmm, xmm/mem32
SQRTPS | Quadratwurzelgepackte Single | xmm, xmm/mem128
SQRTSS | Quadratwurzel-Skalar-Single | xmm, xmm/mem32
RCPPS | Reziprok gepacktes Single (ungefähr) | xmm, xmm/mem128
RCPSS | Reziproker Skalar Single (ungefähr) | xmm, xmm/mem32
RSQRTPS | Reziproke Quadratwurzel gepackte Einzelzahl (ungefähr) | xmm, xmm/mem128
RSQRTSS | Reziproker Quadratwurzelskalar einfach (ungefähr) | xmm, xmm/mem32
MAXPS | Maximal gepacktes Einzelstück | xmm, xmm/mem128
MAXSS | Maximaler Skalar-Single | xmm, xmm/mem32
MINPS | Mindestens einzeln verpackt | xmm, xmm/mem128
MINSS | Minimaler Skalar-Single | xmm, xmm/mem32

SSE Logisch / Vergleich

Gedächtnisstütze | Beschreibung | Operanden
ANDPS | Bitwise AND of packed singles | xmm, xmm/mem128
ANDNPS | Bitwise AND-NOT of packed singles | xmm, xmm/mem128
ORPS | Bitwise OR of packed singles | xmm, xmm/mem128
XORPS | Bitwise XOR of packed singles | xmm, xmm/mem128
CMPPS | Vergleichen Sie gepackte Singles (imm8-Prädikat) | xmm, xmm/mem128, imm8
CMPSS | Skalare Single vergleichen (imm8-Prädikat) | xmm, xmm/mem32, imm8
COMISS | Vergleichen Sie geordnete Skalar-Singles (Setzt Flags) | xmm, xmm/mem32
UCOMISS | Ungeordnete Skalar-Single vergleichen (setzt Flags) | xmm, xmm/mem32

CMPPS/CMPSS-Direktprädikate:

Imm | Prädikat | Beschreibung
0 | EQ | Gleich
1 | LT | Weniger als
2 | LE | Kleiner oder gleich
3 | UNORD | Ungeordnet
4 | NEQ | Ungleich
5 | NLT | Nicht weniger als
6 | NLE | Nicht kleiner oder gleich
7 | ORD | Bestellt

SSE Mischen/Auspacken

Gedächtnisstütze | Beschreibung | Operanden
SHUFPS | Shuffle packed single | xmm, xmm/mem128, imm8
UNPCKHPS | Unpack high packed single | xmm, xmm/mem128
UNPCKLPS | Unpack low packed single | xmm, xmm/mem128

SSE-Steuerung

Gedächtnisstütze | Beschreibung
STMXCSR | MXCSR-Register speichern (Steuerung/Status)
LDMXCSR | MXCSR-Register laden
FXRSTOR | Stellen Sie den x87- und SSE-Status wieder her
FXSAVE | Speichern Sie den x87- und SSE-Status

SSE2 – Streaming von SIMD-Erweiterungen 2

Fügt Gleitkomma- und Ganzzahl-SIMD-Operationen mit doppelter Genauigkeit hinzu (MMX-ähnlich bei XMM).

SSE2 Arithmetik mit doppelter Genauigkeit

Gedächtnisstütze | Beschreibung | Operanden
ADDPD | Fügen Sie das verpackte Doppel hinzu | xmm, xmm/mem128
ADDSD | Skalardoppel hinzufügen | xmm, xmm/mem64
SUBPD | Subtrahieren Sie das gepackte Doppel | xmm, xmm/mem128
SUBSD | Subtrahiere das Skalardoppel | xmm, xmm/mem64
MULPD | Mehrfach gepacktes Doppeltes | xmm, xmm/mem128
MULSD | Skalar mit dem Doppelten multiplizieren | xmm, xmm/mem64
DIVPD | Doppelt verpackt teilen | xmm, xmm/mem128
DIVSD | Teilen Sie den Skalar durch das Doppelte | xmm, xmm/mem64
SQRTPS | Quadratwurzel gepackt (PS-Variante in SSE) | xmm, xmm/mem128
SQRTPD | Quadratwurzel doppelt gepackt | xmm, xmm/mem128
SQRTSD | Quadratwurzel-Skalar-Double | xmm, xmm/mem64
MAXPD | Maximal doppelt bepackt | xmm, xmm/mem128
MAXSD | Maximales Skalar-Double | xmm, xmm/mem64
MINPD | Mindestens doppelt verpackt | xmm, xmm/mem128
MINSD | Minimales Skalardoppel | xmm, xmm/mem64

SSE2-Datenbewegung

Gedächtnisstütze | Beschreibung | Operanden
MOVAPD | Move aligned packed double | xmm, xmm/mem128 / mem128, xmm
MOVUPD | Move unaligned packed double | xmm, xmm/mem128 / mem128, xmm
MOVSD | Move scalar double | xmm, xmm/mem64 / mem64, xmm
MOVLPD | Move low packed double | xmm, mem64 / mem64, xmm
MOVHPD | Move high packed double | xmm, mem64 / mem64, xmm
MOVMSKPD | Vorzeichenmaske nach GPR verschieben (2 Bits) | reg, xmm
MOVDQ2Q | Verschieben Sie XMM in das MMX-Register (niedriges Quadwort). | mm, xmm
MOVQ2DQ | MMX in das XMM-Register verschieben (niedriges Quadword) | xmm, mm

SSE2-Ganzzahloperationen (XMM)

Gedächtnisstütze | Beschreibung | Operanden
MOVD | Move doubleword to/from XMM | xmm, reg32/mem32 / reg32, xmm
MOVQ | Move quadword to/from XMM | xmm, reg64/mem64 / reg64/rm, xmm
MOVDQA | Ausgerichtetes Doppelquadwort verschieben (16-Byte-ausgerichtet) | xmm, xmm/mem128 / mem128, xmm
MOVDQU | Move unaligned double quadword | xmm, xmm/mem128 / mem128, xmm
PADDB | Fügen Sie gepackte Byte-Ganzzahlen hinzu | xmm, xmm/mem128
PADDW | Fügen Sie gepackte Wort-Ganzzahlen hinzu | xmm, xmm/mem128
PADDD | Fügen Sie gepackte Doppelwort-Ganzzahlen hinzu | xmm, xmm/mem128
PADDQ | Fügen Sie gepackte Quadword-Ganzzahlen hinzu | xmm, xmm/mem128
PSUBB | Subtrahieren Sie gepackte Byte-Ganzzahlen | xmm, xmm/mem128
PSUBW | Subtrahieren Sie ganze Zahlen gepackter Wörter | xmm, xmm/mem128
PSUBD | Subtrahieren Sie gepackte Doppelwort-Ganzzahlen | xmm, xmm/mem128
PSUBQ | Subtrahieren Sie gepackte Quadword-Ganzzahlen | xmm, xmm/mem128
PMULLW | Multiplizieren Sie gepackte Wort-Ganzzahlen (niedrige 16 Bits) | xmm, xmm/mem128
PMULHW | Multiplizieren Sie gepackte Wort-Ganzzahlen (hohe 16 Bits) | xmm, xmm/mem128
PMULHUW | Multiplizieren Sie gepackte Wort-Ganzzahlen (hohe 16 Bit, ohne Vorzeichen) | xmm, xmm/mem128
PMULUDQ | Multiplizieren Sie ein vorzeichenloses Doppelwort mit einem Quadwort | xmm, xmm/mem128
PMADDWD | Multiplizieren Sie das gepackte Wort und addieren Sie es zum Doppelwort | xmm, xmm/mem128
PSADBW | Sum of absolute differences | xmm, xmm/mem128

SSE2 Packed Integer Logical

Gedächtnisstütze | Beschreibung | Operanden
PAND | Bitweises UND von gepackten ganzen Zahlen | xmm, xmm/mem128
PANDN | Bitweises UND-NICHT von gepackten ganzen Zahlen | xmm, xmm/mem128
POR | Bitweises ODER gepackter Ganzzahlen | xmm, xmm/mem128
PXOR | Bitweises XOR gepackter Ganzzahlen | xmm, xmm/mem128

SSE2 Packed Shift

Gedächtnisstütze | Beschreibung | Operanden
PSLLW | Logisch gepacktes Wort nach links verschieben | xmm, imm8 / xmm
PSLLD | Logisch gepacktes Doppelwort nach links verschieben | xmm, imm8 / xmm
PSLLQ | Verschieben Sie das logisch gepackte Quadwort nach links | xmm, imm8 / xmm
PSRLW | Verschieben Sie das logisch gepackte Wort nach rechts | xmm, imm8 / xmm
PSRLD | Verschieben Sie das logisch gepackte Doppelwort nach rechts | xmm, imm8 / xmm
PSRLQ | Verschieben Sie das logisch gepackte Quadwort nach rechts | xmm, imm8 / xmm
PSRAW | Verschieben Sie das arithmetisch gepackte Wort nach rechts | xmm, imm8 / xmm
PSRAD | Nach rechts verschieben arithmetisch gepacktes Doppelwort | xmm, imm8 / xmm

SSE2-Vergleich

Gedächtnisstütze | Beschreibung | Operanden
CMPPD | Vergleichen Sie gepacktes Doppel (imm8-Prädikat) | xmm, xmm/mem128, imm8
CMPSD | Skalar-Double vergleichen (imm8-Prädikat) | xmm, xmm/mem64, imm8
COMISD | Vergleichen Sie das geordnete Skalar-Double (Setzt Flags) | xmm, xmm/mem64
UCOMISD | Ungeordnetes Skalar-Double vergleichen (setzt Flags) | xmm, xmm/mem64
PCMPEQB | Vergleichen Sie gepackte Bytes auf Gleichheit | xmm, xmm/mem128
PCMPEQW | Vergleichen Sie gepackte Wörter auf Gleichheit | xmm, xmm/mem128
PCMPEQD | Vergleichen Sie gepackte Doppelwörter auf Gleichheit | xmm, xmm/mem128
PCMPGTB | Vergleichen Sie gepackte Bytes auf größer als (mit Vorzeichen) | xmm, xmm/mem128
PCMPGTW | Vergleichen Sie gepackte Wörter für größer als | xmm, xmm/mem128
PCMPGTD | Vergleichen Sie gepackte Doppelwörter für größer als | xmm, xmm/mem128

SSE2-Konvertierungsanweisungen

Gedächtnisstütze | Beschreibung | Operanden
CVTPD2PS | Wandeln Sie gepacktes Doppel in gepacktes Einzel um | xmm, xmm/mem128
CVTPS2PD | Wandeln Sie gepacktes Einzel in gepacktes Doppel um | xmm, xmm/mem64
CVTSD2SS | Wandeln Sie Skalar-Doppel in Skalar-Einfach um | xmm, xmm/mem64
CVTSS2SD | Konvertieren Sie den einfachen Skalar in den doppelten Skalar | xmm, xmm/mem32
CVTDQ2PD | Konvertieren Sie gepacktes Doppelwort in gepacktes Doppelwort | xmm, xmm/mem64
CVTPD2DQ | Konvertieren Sie gepacktes Doppel in gepacktes Doppelwort | xmm, xmm/mem128
CVTDQ2PS | Konvertieren Sie ein gepacktes Doppelwort in ein gepacktes Einzelwort | xmm, xmm/mem128
CVTPS2DQ | Konvertieren Sie ein gepacktes Einzelwort in ein gepacktes Doppelwort | xmm, xmm/mem128
CVTTPD2DQ | Gepacktes Doppel zu gepacktem Doppelwort abschneiden | xmm, xmm/mem128
CVTTPS2DQ | Gepacktes Einzelwort in gepacktes Doppelwort kürzen | xmm, xmm/mem128
CVTTSD2SI | Truncate scalar double to integer | reg32/64, xmm/mem64
CVTTSI2SD | Ganzzahl auf Skalardoppel kürzen | xmm, reg32/64/mem32
CVTSD2SI | Konvertieren Sie das Skalar-Double in eine ganze Zahl (rund) | reg32/64, xmm/mem64
CVTSI2SD | Convert integer to scalar double | xmm, reg32/64/mem32
CVTSS2SI | Konvertieren Sie einen einzelnen Skalar in eine ganze Zahl (rund) | reg32/64, xmm/mem32
CVTSI2SS | Convert integer to scalar single | xmm, reg32/64/mem32
CVTTSS2SI | Truncate scalar single to integer | reg32/64, xmm/mem32

SSE2 Mischen / Auspacken / Packen

Gedächtnisstütze | Beschreibung | Operanden
PACKSSWB | Vorzeichenbehaftete Wörter in Bytes packen (gesättigt) | xmm, xmm/mem128
PACKSSDW | Vorzeichenbehaftete Doppelwörter zu Wörtern packen (gesättigt) | xmm, xmm/mem128
PACKUSWB | Vorzeichenlose Wörter in Bytes packen (unsigned sat) | xmm, xmm/mem128
PUNPCKHBW | Entpacken Sie High-Bytes | xmm, xmm/mem128
PUNPCKHWD | Packen Sie hohe Wörter aus | xmm, xmm/mem128
PUNPCKHDQ | Hohe Doppelwörter auspacken | xmm, xmm/mem128
PUNPCKHQDQ | Entpacken Sie hohe Quadwords | xmm, xmm/mem128
PUNPCKLBW | Low-Bytes entpacken | xmm, xmm/mem128
PUNPCKLWD | Packen Sie niedrige Wörter aus | xmm, xmm/mem128
PUNPCKLDQ | Entpacken Sie niedrige Doppelwörter | xmm, xmm/mem128
PUNPCKLQDQ | Entpacken Sie niedrige Quadwords | xmm, xmm/mem128
SHUFPD | Shuffle packed double | xmm, xmm/mem128, imm8
PSHUFD | Mischen Sie gepackte Doppelwörter | xmm, xmm/mem128, imm8
PSHUFHW | Mischen Sie gepackte hohe Wörter | xmm, xmm/mem128, imm8
PSHUFLW | Mischen Sie gepackte niedrige Wörter | xmm, xmm/mem128, imm8
PSHUFB | Gepackte Bytes mischen (SSSE3) | xmm, xmm/mem128

SSE2-Cache-Steuerung

Gedächtnisstütze | Beschreibung | Operanden
MASKMOVDQU | Maskierter Speicher gepackter Ganzzahlen | xmm, xmm
MOVNTDQ | Nichtzeitlicher Speicher gepackter Ganzzahlen | mem128, xmm
MOVNTI | Nicht-temporäre Speicherung von Ganzzahlen (Doppelwort/Vierwort) | mem32/64, reg
MOVNTPD | Nichtzeitlicher Speicher von gepacktem Doppel | mem128, xmm
PAUSE | Spin-Loop-Hinweis (verbessert Leistung/Power) | keiner

SSE3 – Streaming von SIMD-Erweiterungen 3

Gedächtnisstütze | Beschreibung | Operanden
ADDSUBPD | Gepacktes Doppel addieren/subtrahieren (alternierend) | xmm, xmm/mem128
ADDSUBPS | Gepackte Single addieren/subtrahieren (alternierend) | xmm, xmm/mem128
HADDPD | Horizontal add packed double | xmm, xmm/mem128
HADDPS | Horizontal add packed single | xmm, xmm/mem128
HSUBPD | Horizontal subtract packed double | xmm, xmm/mem128
HSUBPS | Horizontal subtract packed single | xmm, xmm/mem128
MOVDDUP | Verschieben und duplizieren (eines auf beide Hälften von XMM) | xmm, xmm/mem64
MOVSHDUP | Move and duplicate high singles | xmm, xmm/mem128
MOVSLDUP | Move and duplicate low singles | xmm, xmm/mem128
LDDQU | Laden Sie nicht ausgerichtete 128-Bit-Dateien (vermeidet die Aufteilung der Cache-Zeile) | xmm, mem128
FISTTP | FPU: Ganzzahl abschneiden und speichern (x87-Stapel platzen lassen) | mem16/32/64

SSSE3 – Ergänzendes SSE3

Gedächtnisstütze | Beschreibung | Operanden
PSIGNB | Vorzeichen gepackter Bytes (negativ oder null) | xmm, xmm/mem128
PSIGNW | Zeichen gepackter Wörter | xmm, xmm/mem128
PSIGND | Zeichen für gepackte Doppelwörter | xmm, xmm/mem128
PSHUFB | Gepackte Shuffle-Bytes (Permutationstabelle) | xmm, xmm/mem128
PMULHRSW | Verpackt mehrfach hoch mit Rundung und Skala | xmm, xmm/mem128
PABSB | Gepackter absoluter Bytewert | xmm, xmm/mem128
PABSW | Verpackter absoluter Wortwert | xmm, xmm/mem128
PABSD | Gepackter Absolutwert von Doppelwörtern | xmm, xmm/mem128
PHADDSW | Gepackte horizontale Wörter mit Sättigung hinzufügen | xmm, xmm/mem128
PHSUBW | Gepackte horizontale Subtraktionswörter | xmm, xmm/mem128
PHSUBD | Gepackte horizontale Subtraktionsdoppelwörter | xmm, xmm/mem128
PHADDD | Gepackte horizontale Doppelwörter hinzufügen | xmm, xmm/mem128
PHADDW | Gepackte horizontale Wörter hinzufügen | xmm, xmm/mem128
PMADDUBSW | Multiply unsigned bytes, add adjacent, saturate | xmm, xmm/mem128
PALIGNR | Gepackt rechts ausrichten (verketten und verschieben) | xmm, xmm/mem128, imm8
PHSUBSW | Gepackte horizontale subtrahierte vorzeichenbehaftete Wörter mit Sättigung | xmm, xmm/mem128

SSE4.1 – SSE4

Gedächtnisstütze | Beschreibung | Operanden
PMULLD | Mehrfach gepackte vorzeichenbehaftete Doppelwörter (niedrige 32 Bit) | xmm, xmm/mem128
PMULDQ | Multiplizieren Sie gepackte vorzeichenbehaftete Doppelwörter zu Quadwörtern | xmm, xmm/mem128
PCMPEQQ | Vergleichen Sie gepackte Quadwords auf Gleichheit | xmm, xmm/mem128
PCMPGTQ | Vergleichen Sie gepackte Quadwords für größer als (vorzeichenbehaftet) | xmm, xmm/mem128
PMAXSB | Maximale Anzahl gepackter signierter Bytes | xmm, xmm/mem128
PMAXSW | Maximal gepackte vorzeichenbehaftete Wörter | xmm, xmm/mem128
PMAXSD | Maximal gepackte signierte Doppelwörter | xmm, xmm/mem128
PMAXUB | Maximal gepackte Bytes ohne Vorzeichen | xmm, xmm/mem128
PMAXUW | Maximal gepackte Wörter ohne Vorzeichen | xmm, xmm/mem128
PMAXUD | Maximal gepackte vorzeichenlose Doppelwörter | xmm, xmm/mem128
PMINSB | Minimum an gepackten signierten Bytes | xmm, xmm/mem128
PMINSW | Mindestens gepackte vorzeichenbehaftete Wörter | xmm, xmm/mem128
PMINSD | Mindestens gepackte signierte Doppelwörter | xmm, xmm/mem128
PMINUB | Minimum an gepackten vorzeichenlosen Bytes | xmm, xmm/mem128
PMINUW | Minimum an gepackten Wörtern ohne Vorzeichen | xmm, xmm/mem128
PMINUD | Mindestens gepackte, vorzeichenlose Doppelwörter | xmm, xmm/mem128
PINSRB | Byte einfügen (aus GPR oder Speicher) | xmm, reg/mem32, imm8
PINSRD | Doppelwort einfügen | xmm, reg/mem32, imm8
PINSRQ | Quadword einfügen | xmm, reg/mem64, imm8
PEXTRB | Byte in GPR oder Speicher extrahieren | reg/mem8, xmm, imm8
PEXTRD | Doppelwort extrahieren | reg/mem32, xmm, imm8
PEXTRQ | Quadword extrahieren | reg/mem64, xmm, imm8
INSERTPS | Gepackte Single einfügen (aus der Quelle zusammenführen) | xmm, xmm/mem32, imm8
EXTRACTPS | Extrahieren Sie gepackte Singles in GPR/Speicher | reg/mem32, xmm, imm8
PHMINPOSUW | Gepackte horizontale Min. vorzeichenloser Wörter, Speicherposition | xmm, xmm/mem128
PMOVSXBW | Bewegen Sie sich mit Vorzeichenerweiterung, Bytes zu Wörtern | xmm, xmm/mem64
PMOVSXBD | Verschieben Sie mit Vorzeichenerweiterung Bytes in Doppelwörter | xmm, xmm/mem32
PMOVSXBQ | Verschieben Sie mit Vorzeichenerweiterung Bytes in Quadwords | xmm, xmm/mem16
PMOVSXWD | Bewegen Sie sich mit Zeichenerweiterung, Wörter zu Doppelwörtern | xmm, xmm/mem64
PMOVSXWQ | Verschieben Sie Wörter mit Zeichenerweiterung in Quadwörter | xmm, xmm/mem32
PMOVSXDQ | Bewegen Sie sich mit Vorzeichenerweiterung, Doppelwörter zu Quadwörtern | xmm, xmm/mem64
PMOVZXBW | Verschieben Sie mit Null-Erweiterung, Bytes zu Wörtern | xmm, xmm/mem64
PMOVZXBD | Verschieben Sie Bytes mit der Erweiterung Null in Doppelwörter | xmm, xmm/mem32
PMOVZXBQ | Verschieben Sie Bytes mit der Erweiterung Null in Quadwords | xmm, xmm/mem16
PMOVZXWD | Verschieben Sie Wörter ohne Erweiterung in Doppelwörter | xmm, xmm/mem64
PMOVZXWQ | Verschieben Sie Wörter ohne Erweiterung in Quadwörter | xmm, xmm/mem32
PMOVZXDQ | Verschieben Sie Doppelwörter mit Nullerweiterung in Quadwörter | xmm, xmm/mem64
PBLENDVB | Variable Mischung gepackter Bytes (nach XMM0-Maske) | xmm, xmm/mem128
PBLENDW | Mischung aus gepackten Wörtern (Sofortmaske) | xmm, xmm/mem128, imm8
BLENDPD | Mischung verpackt doppelt (sofortige Maske) | xmm, xmm/mem128, imm8
BLENDPS | Blend verpackte Single (Sofortmaske) | xmm, xmm/mem128, imm8
BLENDVPD | Variable Mischung doppelt gepackt (durch XMM0-Maske) | xmm, xmm/mem128
BLENDVPS | Variable Mischung gepackt einzeln (nach XMM0-Maske) | xmm, xmm/mem128
DPPS | Skalarprodukt der gepackten Einzelmenge | xmm, xmm/mem128, imm8
DPPD | Skalarprodukt des gepackten Doppels | xmm, xmm/mem128, imm8
MPSADBW | Mehrfachsumme absoluter Differenzen (8-Bit) | xmm, xmm/mem128, imm8
ROUNDPS | Rund verpackte Single | xmm, xmm/mem128, imm8
ROUNDSS | Runde Skalar-Single | xmm, xmm/mem32, imm8
ROUNDPD | Rund verpackt, doppelt | xmm, xmm/mem128, imm8
ROUNDSD | Rundes Skalardoppel | xmm, xmm/mem64, imm8
PTEST | Logischer Vergleich gepackter Ganzzahlen (setzt ZF/CF) | xmm, xmm/mem128
PACKUSDW | Vorzeichenbehaftete Doppelwörter in vorzeichenlose Wörter packen (gesättigt) | xmm, xmm/mem128
MOVNTDQA | Nicht-temporäre Last (Streaming-Lasthinweis) | xmm, mem128

SSE4.2 – SSE4.2

Gedächtnisstütze | Beschreibung | Operanden
PCMPGTQ | Vergleichen Sie gepackte Quadwords für größer als (vorzeichenbehaftet) | xmm, xmm/mem128
PCMPEQQ | Vergleichen Sie gepackte Quadwords auf Gleichheit | xmm, xmm/mem128
CRC32 | Akkumulieren Sie den CRC32C-Wert | reg32/64, reg/mem8/16/32/64
POPCNT | Bevölkerungszahl (Anzahl der 1-Bits) | reg, reg/mem
PCMPESTRI | Gepackte Zeichenfolgen mit expliziter Länge und Index vergleichen | xmm, xmm/mem128, imm8
PCMPESTRM | Gepackte Zeichenfolgen mit expliziter Länge vergleichen, Maske | xmm, xmm/mem128, imm8
PCMPISTRI | Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Index | xmm, xmm/mem128, imm8
PCMPISTRM | Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Maske | xmm, xmm/mem128, imm8

String-Textverarbeitung (SSE4.2 imm8-Flags)

Die String-Vergleichsanweisungen verwenden ein imm8-Byte zur Steuerung:

Bits | Feld | Werte
1:0 | Aggregiertes Ergebnis | 00=jeweils gleich, 01=gleich geordnet, 10=gleich mit Vorzeichen, 11=gleich ohne Vorzeichen
3:2 | Polarität | 00=+, 01=negativ, 10=maskiert+, 11=maskiert-
5:4 | Ausgabeauswahl | 00 = niedrigstwertiger Index, 01 = höchstwertiger Index, 10 = erstes gesetztes Bit
6 | Intrsx | 0=int-Byte-Vergleich, 1=vorzeichenloser Byte-Vergleich

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


System Mnemonics - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

System Mnemonics

System mnemonics include control-register access, timestamp reads, CPU identification, interrupts, and other low-level machine operations.

Kategorie: Mnemonik-Familienübersichten

Syntax

cpuid
rdtsc
int3

Beschreibung

System mnemonics include control-register access, timestamp reads, CPU identification, interrupts, and other low-level machine operations.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Many system instructions are privileged or have strict runtime constraints. In normal user-mode PBXB64 programs, use only safe instructions such as cpuid and rdtsc when appropriate.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurück zum Befehlsindex


Systemanweisungen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

Systemanweisungen

Systemanweisungen bieten Zugriff auf CPU-Funktionen, Steuerregister, Speicherverwaltung, E/A-Ports und Leistungs&uuml;berwachung. Die meisten erfordern erh&ouml;hte Berechtigungen (Ring 0 / Kernel-Modus).

Kategorie: Mnemonik-Familienübersichten

Beschreibung

Systemanweisungen bieten Zugriff auf CPU-Funktionen, Steuerregister, Speicherverwaltung, E/A-Ports und Leistungsüberwachung. Die meisten erfordern erhöhte Berechtigungen (Ring 0 / Kernel-Modus).

Warnung:Viele Systemanweisungen sind privilegiert und verursachen eine Ausnahme (#GP), wenn sie auf Ring 3 (Benutzermodus) ausgeführt werden. In PB-Programmen mit Vorsicht verwenden, normalerweise über einen Gerätetreiber oder einen Kernel-Dienst.

CPU-Identifikation und Funktionserkennung

Gedächtnisstütze | Beschreibung | Operanden | Privileg
CPUID | CPU-Identifikation (EAX=Leaf, ECX=Subleaf, gibt EAX/EBX/ECX/EDX zurück) | keiner | Benutzer
XGETBV | Erweitertes Steuerregister XCR lesen (ECX=index) | keiner | Benutzer
XSETBV | Erweitertes Steuerregister XCR schreiben (muss Ring 0 sein) | keiner | Rufen Sie 0 an
; CPUID example: check for AVX2 support
mov eax, 7               ; leaf 7 = extended features
mov ecx, 0               ; subleaf 0
cpuid
test ebx, 20             ; bit 5 = AVX2
jnz has_avx2

; XGETBV example: check XCR0 for AVX state
mov ecx, 0               ; XCR0
xgetbv                   ; returns EDX:EAX
test eax, 6              ; bits 1+2 = XMM + YMM state enabled
jnz avx_enabled

Zeitstempel und Leistungsindikatoren

Gedächtnisstütze | Beschreibung | Operanden | Privileg
RDTSC | Zeitstempelzähler lesen (gibt EDX:EAX zurück) | keiner | Benutzer
RDTSCP | TSC + Prozessor-ID lesen (gibt EDX:EAX, ECX=IA32_TSC_AUX zurück) | keiner | Benutzer
RDPMC | Leistungsüberwachungszähler lesen (ECX=Zähler) | keiner | Benutzer*
; High-resolution timing
rdtsc                    ; eax = TSC low, edx = TSC high
shl rdx, 32
or  rax, rdx             ; rax = 64-bit TSC value
; ...
rdtscp                   ; similar but with processor ID in ecx
mov [processor_id], ecx

Kontrollregister

Gedächtnisstütze | Beschreibung | Operanden | Privileg
MOV CR0, reg | Steuerregister CR0 schreiben | reg64 | Rufen Sie 0 an
MOV reg, CR0 | Steuerregister CR0 lesen | reg64 | Rufen Sie 0 an
MOV CR2, reg | Schreiben Sie CR2 (lineare Seitenfehleradresse) | reg64 | Rufen Sie 0 an
MOV reg, CR2 | Lesen Sie CR2 | reg64 | Rufen Sie 0 an
MOV CR3, reg | Schreiben Sie CR3 (Basisadresse der Seitentabelle) | reg64 | Rufen Sie 0 an
MOV reg, CR3 | Lesen Sie CR3 | reg64 | Rufen Sie 0 an
MOV CR4, reg | CR4 schreiben (Erweiterungssteuerung) | reg64 | Rufen Sie 0 an
MOV reg, CR4 | Lesen Sie CR4 | reg64 | Rufen Sie 0 an
MOV CR8, reg | CR8 schreiben (Aufgabenpriorität, nur x64) | reg64 | Rufen Sie 0 an
MOV reg, CR8 | Lesen Sie CR8 | reg64 | Rufen Sie 0 an

Debug-Register

Gedächtnisstütze | Beschreibung | Operanden | Privileg
MOV DR0-DR7, reg | Debug-Register schreiben | reg64 | Rufen Sie 0 an
MOV reg, DR0-DR7 | Debug-Register lesen | reg64 | Rufen Sie 0 an

Anweisungen zur Deskriptortabelle

Gedächtnisstütze | Beschreibung | Operanden | Privileg
SGDT | Speichern Sie das globale Deskriptortabellenregister | mem80 (Pseudo-Deskriptor) | Benutzer
SIDT | Speichern Sie das Interrupt-Deskriptortabellenregister | mem80 | Benutzer
SLDT | Lokales Deskriptortabellenregister speichern | reg/mem16/64 | Benutzer
SMSW | Speichern Sie das Maschinenstatuswort (CR0, niedrige 16 Bits) | reg/mem16/64 | Benutzer
STR | Aufgabenregister speichern | reg/mem16/64 | Benutzer
LGDT | Laden Sie das Global Descriptor Table-Register | mem80 (Pseudo-Deskriptor) | Rufen Sie 0 an
LIDT | Interrupt-Deskriptor-Tabellenregister laden | mem80 | Rufen Sie 0 an
LLDT | Laden Sie das Register der lokalen Deskriptortabelle | reg/mem16/64 | Rufen Sie 0 an
LMSW | Maschinenstatuswort laden | reg/mem16/64 | Rufen Sie 0 an
LTR | Aufgabenregister laden | reg/mem16/64 | Rufen Sie 0 an

Anweisungen zum Segmentregister

Gedächtnisstütze | Beschreibung | Operanden | Privileg
LAR | Zugriffsrechte laden (Segmentdeskriptor) | reg, reg/mem16 | Benutzer
LSL | Segmentlimit laden | reg, reg/mem16 | Benutzer
VERR | Segment zum Lesen überprüfen | reg/mem16 | Benutzer
VERW | Segment zum Schreiben überprüfen | reg/mem16 | Benutzer
MOV segment, reg | Segmentregister laden (CS/DS/ES/FS/GS/SS) | reg16/64 | Klingeln 0*
MOV reg, segment | Segmentregister lesen | reg16/64 | Benutzer

Anweisungen zum I/O-Port

Gedächtnisstütze | Beschreibung | Operanden | Privileg
IN | Eingabe vom I/O-Port | AL/AX/EAX, DX/imm8 | Klingeln 0*
OUT | Ausgabe an den I/O-Port | DX/imm8, AL/AX/EAX | Klingeln 0*
INS / INSB / INSW / INSD | Eingabezeichenfolge vom E/A-Port zum Speicher | keine (verwendet DX, RDI) | Klingeln 0*
OUTS / OUTSB / OUTSW / OUTSD | Ausgabezeichenfolge aus dem Speicher an den E/A-Port | keine (verwendet DX, RSI) | Klingeln 0*
Notiz:Auf I/O-Anweisungen kann über Ring 3 zugegriffen werden, wenn die I/O Permission Bitmap (IOPL) dies zulässt. Unter Windows ist der E/A-Zugriff im Benutzermodus generell blockiert.

Unterbrechung / Ausnahme

Gedächtnisstütze | Beschreibung | Operanden | Privileg
INT n | Software-Interrupt (löst Interrupt n aus) | imm8 | Benutzer
INT3 | Haltepunkt-Interrupt (#BP, Debugger-Trap) | keiner | Benutzer
INTO | Unterbrechung bei Überlauf (wenn OF=1, #OF) | keiner | Benutzer
BOUND | Array-Grenzen prüfen (nicht gültig in x64) | reg, mem | Benutzer
IRET / IRETD / IRETQ | Interrupt-Rückgabe (Pops CS:RIP, RFLAGS, Stack) | keiner | Rufen Sie 0 an
; Software interrupt
mov ah, 0x09             ; DOS: write string
mov dx, offset message
int 0x21                 ; DOS system call

; Debugger breakpoint
int3                     ; same as 'bp' in PB

; Simple system call (Linux x64)
mov eax, 60              ; sys_exit
xor edi, edi             ; exit code 0
syscall                  ; invoke kernel

Anweisungen zum Systemaufruf

Gedächtnisstütze | Beschreibung | Operanden | Privileg
SYSCALL | Schneller Systemaufruf (AMD/x64 Linux: RCX=RIP, R11=RFLAGS) | keiner | Benutzer
SYSRET | Rückkehr vom schnellen Systemaufruf | keiner | Rufen Sie 0 an
SYSENTER | Schneller Systemaufruf (Intel): setzt EIP=MSR SYSENTER_EIP | keiner | Benutzer
SYSEXIT | Schnelle Rückkehr von SYSENTER | keiner | Rufen Sie 0 an

TLS-/Segmentbasisanweisungen

Gedächtnisstütze | Beschreibung | Operanden | Privileg
SWAPGS | GS-Basisregister mit KernelGSBase (MSR C0000102) tauschen | keiner | Rufen Sie 0 an
RDFSBASE | FS-Basisadresse lesen | reg64 | Benutzer
RDGSBASE | GS-Basisadresse lesen | reg64 | Benutzer
WRFSBASE | Schreiben Sie die FS-Basisadresse | reg64 | Klingeln 0*
WRGSBASE | GS-Basisadresse schreiben | reg64 | Klingeln 0*
; Windows: get PEB via GS segment
mov rax, QWORD PTR gs:[0x60]   ; PEB address

; Linux x64: swap GS for kernel entry
swapgs                         ; exchange user GS with kernel GS
mov QWORD PTR gs:[0x10], rsp   ; save kernel stack pointer

Modellspezifische Register (MSR)

Gedächtnisstütze | Beschreibung | Operanden | Privileg
RDMSR | MSR lesen (ECX=MSR-Adresse, gibt EDX:EAX zurück) | keiner | Rufen Sie 0 an
WRMSR | MSR schreiben (ECX=Adresse, EDX:EAX=Wert) | keiner | Rufen Sie 0 an
; Read IA32_APIC_BASE MSR
mov ecx, 0x1B             ; IA32_APIC_BASE MSR
rdmsr                     ; edx:eax = APIC base address
; edx = high 32 bits, eax = low 32 bits
shl rdx, 32
or  rax, rdx              ; rax = full 64-bit value

Cache-/Speicherverwaltung

Gedächtnisstütze | Beschreibung | Operanden | Privileg
CLFLUSH | Cache-Zeile mit Adresse leeren | mem8 | Benutzer
CLFLUSHOPT | Optimierte Flush-Cache-Zeile | mem8 | Benutzer
CLWB | Zurückschreiben der Cache-Zeile (im Cache behalten) | mem8 | Benutzer
INVD | Interne Caches ungültig machen (kein Zurückschreiben) | keiner | Rufen Sie 0 an
WBINVD | Caches zurückschreiben und ungültig machen | keiner | Rufen Sie 0 an
INVLPG | TLB-Eintrag für Adresse ungültig machen | mem8 | Rufen Sie 0 an
INVPCID | TLB-Einträge mit PCID ungültig machen | reg, mem128 | Rufen Sie 0 an
INVEPT | Einträge in der erweiterten Seitentabelle ungültig machen | reg, mem128 | Rufen Sie 0 an
INVVPID | VPID-TLB-Einträge ungültig machen | reg, mem128 | Rufen Sie 0 an
WFENCE | Warten Sie auf SFENCE (no-op in modernen CPUs) | keiner | Benutzer

Energieverwaltung / Halt

Gedächtnisstütze | Beschreibung | Operanden | Privileg
HLT | Prozessor bis zum nächsten Interrupt anhalten | keiner | Rufen Sie 0 an
MWAIT | Überwachen und warten Sie auf Schreibvorgänge | keine (verwendet EAX/ECX) | Rufen Sie 0 an
MONITOR | Adressbereich für MWAIT einrichten | keine (verwendet RAX/RCX/RDX) | Rufen Sie 0 an
MWAITX | Erweitertes MWAIT mit Timing-Hinweis | keiner | Rufen Sie 0 an
MONITORX | Erweiterter MONITOR | keiner | Rufen Sie 0 an
CLZERO | Null-Cache-Zeile (nur AMD) | keiner | Benutzer
PAUSE | Spin-Wait-Hinweis (reduziert die Leistung/verbessert HT) | keiner | Benutzer
UMONITOR | MONITOR auf Benutzerebene | reg | Benutzer
UMWAIT | MWAIT auf Benutzerebene | reg, imm8 | Benutzer
TPAUSE | Zeitgesteuerte PAUSE | reg, imm8 | Benutzer
; Spin-wait loop with PAUSE
spin_loop:
    pause
    cmp DWORD PTR [lock_var], 0
    jne spin_loop

; Kernel halt
hlt                        ; stop CPU until interrupt

Verschiedenes / Veraltet

Gedächtnisstütze | Beschreibung | Operanden
SALC | AL basierend auf Übertrag festlegen (undokumentiert, CF→AL=0xFF/0x00) | keiner
UD0 | Undefinierte Anweisung (erhöht #UD) | keiner
UD1 | Undefinierte Anweisung (Formular mit zwei Operanden) | reg, reg/mem
UD2 | Undefinierte Anweisung (garantiert #UD, 2 Bytes: 0F 0B) | keiner
XLAT / XLATB | Byte übersetzen (AL = [RBX + AL]) | keiner
WAIT / FWAIT | Warten Sie auf den FPU/Math-Coprozessor | keiner
NOP | Keine Operation (einschließlich Multibyte-NOPs) | keiner

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


x87 FPU Mnemonics - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

x87 FPU Mnemonics

x87 mnemonics operate on the legacy floating-point stack. PBXB64 primarily targets SSE2+ for floating-point code, but x87 remains relevant for old inline assembly.

Kategorie: Mnemonik-Familienübersichten

Syntax

fld qword ptr [rbp-8]
fadd qword ptr [rbp-16]
fstp qword ptr [rbp-24]

Beschreibung

x87 mnemonics operate on the legacy floating-point stack. PBXB64 primarily targets SSE2+ for floating-point code, but x87 remains relevant for old inline assembly.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Prefer SSE scalar instructions for new x64 code unless compatibility with an existing x87 sequence is required.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Zurück zum Befehlsindex


x87-FPU-Mnemonik - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Mnemonik-Familienübersichten Hilfe zum PBXB64-Compiler

x87-FPU-Mnemonik

Die x87-Gleitkommaeinheit bietet 80-Bit-Arithmetik mit erweiterter Genauigkeit. PBXB64 unterst&uuml;tzt den vollst&auml;ndigen x87-Befehlssatz. Der x87 verf&uuml;gt &uuml;ber 8 Register (ST0-ST7), die als Stapel organisiert sind, und unterst&uuml;tzt einfache (32-Bit), doppelte (64-Bit) und erweiterte (80-Bit) Genauigkeit.

Kategorie: Mnemonik-Familienübersichten

Beschreibung

Die x87-Gleitkommaeinheit bietet 80-Bit-Arithmetik mit erweiterter Genauigkeit. PBXB64 unterstützt den vollständigen x87-Befehlssatz. Der x87 verfügt über 8 Register (ST0-ST7), die als Stapel organisiert sind, und unterstützt einfache (32-Bit), doppelte (64-Bit) und erweiterte (80-Bit) Genauigkeit.

Notiz:Bevorzugen Sie auf modernen x64-Prozessoren SSE-Anweisungen für skalare Gleitkommazahlen. Der x87 wird hauptsächlich für Berechnungen mit erweiterter Genauigkeit (80-Bit) oder für die Kompatibilität mit Legacy-Code verwendet.

Datenübertragung

Gedächtnisstütze | Beschreibung | Operanden
FLD | Echten Wert auf Stapel laden (Push) | mem32/64/80 / ST(i)
FST | Speichern Sie den tatsächlichen Wert (pop = FSTP) | mem32/64 / ST(i)
FSTP | Speichern Sie echten Wert und Pop | mem32/64/80 / ST(i)
FILD | Ganzzahlwert auf Stapel laden (Push) | mem16/32/64
FIST | Ganzzahligen Wert speichern | mem16/32
FISTP | Speichern Sie einen ganzzahligen Wert und Pop | mem16/32/64
FISTTP | Ganzzahl abschneiden und speichern, Pop (SSE3) | mem16/32/64
FBLD | BCD-Wert laden (18-stelliges gepacktes BCD) | mem80 (TBYTE)
FBSTP | Speichern Sie den BCD-Wert und den Pop | mem80 (TBYTE)
FXCH | Tausche ST(0) mit ST(i) | ST(i)
; Load constants
fld     [double_var]       ; push 64-bit value
fild    [int_val]          ; push integer converted to float
fldz                       ; push +0.0
fld1                       ; push +1.0
fldpi                      ; push pi
fldl2t                     ; push log2(10)
fldl2e                     ; push log2(e)
fldlg2                     ; push log10(2)
fldln2                     ; push ln(2)

; Store results
fstp    [result]           ; pop and store to memory

Grundrechenarten

Gedächtnisstütze | Beschreibung | Operanden
FADD | Addieren (ST0 = ST0 + src) | mem32/64 / ST(i)
FADDP | Addieren und Pop (ST(i) = ST(i)+ST0, dann Pop) | ST(i), ST(0)
FIADD | Fügen Sie eine Ganzzahl zu ST0 hinzu | mem16/32
FSUB | Subtrahieren (ST0 = ST0 - src) | mem32/64 / ST(i)
FSUBP | Subtrahieren und Pop | ST(i), ST(0)
FSUBR | Rückwärts subtrahieren (ST0 = src - ST0) | mem32/64 / ST(i)
FSUBRP | Subtrahieren Sie Reverse und Pop | ST(i), ST(0)
FISUB | Ganzzahl subtrahieren | mem16/32
FMUL | Multiplizieren (ST0 = ST0 * src) | mem32/64 / ST(i)
FMULP | Multiplizieren und Pop | ST(i), ST(0)
FIMUL | Mit einer Ganzzahl multiplizieren | mem16/32
FDIV | Teilen (ST0 = ST0 / src) | mem32/64 / ST(i)
FDIVP | Teilen und platzen | ST(i), ST(0)
FDIVR | Rückwärts dividieren (ST0 = src / ST0) | mem32/64 / ST(i)
FDIVRP | Umgekehrt teilen und platzen lassen | ST(i), ST(0)
FIDIV | Durch ganze Zahl dividieren | mem16/32
FPREM | Teilweise Rest | keiner
FPREM1 | Teilweise Rest (IEEE) | keiner
FABS | Absoluter Wert | keiner
FCHS | Vorzeichen ändern (negieren) | keiner
FRNDINT | Auf Ganzzahl runden (aktueller Rundungsmodus) | keiner
FSQRT | Quadratwurzel | keiner
FSCALE | Skalierung durch Zweierpotenz (ST0 * 2^ST1) | keiner
FXTRACT | Extrahieren Sie Exponent und Signifikand | keiner
; Compute: result = sqrt(a*a + b*b)
fld     [a]                ; ST0 = a
fmul    ST0, ST0           ; ST0 = a^2
fld     [b]                ; ST0 = b, ST1 = a^2
fmul    ST0, ST0           ; ST0 = b^2, ST1 = a^2
faddp   ST1, ST0           ; ST0 = a^2 + b^2
fsqrt                      ; ST0 = sqrt(a^2 + b^2)
fstp    [result]           ; store result, pop

Vergleich

Gedächtnisstütze | Beschreibung | Operanden
FCOM | Vergleichen Sie ST0 mit src (stellt das FPU-Statuswort C0/C2/C3 ein) | mem32/64 / ST(i)
FCOMP | Vergleichen und Pop | mem32/64 / ST(i)
FCOMPP | Vergleichen und Pop zweimal | keiner
FICOM | Vergleichen Sie ST0 mit einer Ganzzahl | mem16/32
FICOMP | Vergleichen Sie Integer und Pop | mem16/32
FCOMI | Vergleichen und setzen Sie EFLAGS (P6+, ST0 mit ST[i]) | ST(i)
FCOMIP | Vergleichen, EFLAGS setzen und Pop | ST(i)
FUCOMI | Ungeordneter Vergleich, EFLAGS setzen | ST(i)
FUCOMIP | Ungeordneter Vergleich, EFLAGS setzen, Pop | ST(i)
FUCOM | Ungeordneter Vergleich (keine Ausnahme bei NaN) | ST(i)
FUCOMP | Ungeordneter Vergleich und Pop | ST(i)
FUCOMPP | Ungeordneter Vergleich und zweimal Pop | keiner
FTST | Testen Sie ST0 gegen 0,0 | keiner
FXAM | Untersuchen Sie ST0 (NaN, normal, denormal, Null usw.) | keiner
; Compare ST0 with ST1
fcom    ST1                ; compare, sets FPU flags
fstsw   ax                 ; store FPU status word to AX
sahf                       ; load AH into EFLAGS
jae     above_or_equal

; Compare using FCOMI (direct EFLAGS)
fcomi   ST0, ST1           ; sets ZF/PF/CF directly
jb      below
je      equal
ja      above

Konstanten

Gedächtnisstütze | Beschreibung | Gepushter Wert
FLDZ | Laden Sie +0,0 | +0,0
FLD1 | Laden Sie +1,0 | +1,0
FLDPI | Belastung pi (π) | 3.14159265358979324
FLDL2E | Log2(e) laden | 1.44269504088896341
FLDLN2 | Lade ln(2) | 0,69314718055994531
FLDL2T | Log2(10) laden | 3.32192809488736235
FLDLG2 | Log10(2) laden | 0,30102999566398120

Trigonometrisch / Transzendental

Gedächtnisstütze | Beschreibung
FSIN | Sinus von ST0 (ST0 im Bogenmaß)
FCOS | Kosinus von ST0
FSINCOS | Sinus und Cosinus von ST0 (ST1=sin, ST0=cos)
FPTAN | Partielle Tangente (ST1=tan, ST0=1,0)
FPATAN | Teilarkustangens (ST1/ST0 → ST1=atan, pop)
F2XM1 | 2^ST0 - 1
FYL2X | ST1 * log2(ST0), pop
FYL2XP1 | ST1 * log2(ST0 + 1), pop
; Compute sin(x)
fld     [x]
fsin                       ; ST0 = sin(x)
fstp    [result]           ; store

; Compute x * log2(y)
fld     [y]
fld     [x]
fyl2x                      ; ST0 = x * log2(y)
fstp    [result]

; Compute 2^x - 1
fld     [x]
f2xm1                      ; ST0 = 2^x - 1
fstp    [result]

Kontrolle / Status

Gedächtnisstütze | Beschreibung | Operanden
FNCLEX | FPU-Ausnahmen löschen (keine Wartezeit) | keiner
FCLEX | FPU-Ausnahmen löschen (warten) | keiner
FNINIT | FPU initialisieren (keine Wartezeit) | keiner
FINIT | FPU initialisieren (warten) | keiner
FSTSW | FPU-Statuswort speichern | mem16 / AX
FSTCW | FPU-Steuerwort speichern | mem16
FLDCW | FPU-Steuerwort laden | mem16
FSTENV | Speichern Sie die FPU-Umgebung | mem (14/28 Byte)
FLDENV | Laden Sie die FPU-Umgebung | mem
FSAVE | FPU-Status speichern (94/108 Byte) | mem
FRSTOR | FPU-Status wiederherstellen | mem
FINCSTP | Erhöhen Sie den FPU-Stapelzeiger | keiner
FDECSTP | Dekrementieren Sie den FPU-Stapelzeiger | keiner
FFREE | Freies FPU-Register ST(i) | ST(i)
FNOP | FPU funktioniert nicht | keiner
FWAIT | Warten auf FPU (Assembly: WAIT) | keiner

FPU-Steuerwort

Das FPU-Steuerwort steuert Präzision, Rundungsmodus und Ausnahmemasken:

Bit(s) | Feld | Werte
1:0 | Rundungskontrolle | 00=am nächsten, 01=unten, 10=oben, 11=abschneiden
3:2 | Präzise Kontrolle | 00=24-Bit (einzeln), 10=53-Bit (doppelt), 11=64-Bit (erweitert)
5 | Ausnahme: Präzision | 0=maskiert, 1=demaskiert
6 | Ausnahme: Unterlauf |
7 | Ausnahme: Überlauf |
8 | Ausnahme: Nullteilung |
9 | Ausnahme: Denormal |
10 | Ausnahme: Ungültig |
; Set rounding to truncate (toward zero)
fstcw  [cw]               ; save current control word
mov    ax, [cw]
or     ax, 0x0C00         ; set RC bits to 11 (truncate)
mov    [cw_new], ax
fldcw  [cw_new]           ; load new control word

Category: Assembly

PBXB64 Status: Referenzthema fuer Assembler-Syntax und Familienhinweise; untergeordnete Instruktionsseiten und registrierte Tests liefern den endgueltigen Support-Nachweis.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prüfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-Übersichten als Einstieg in fokussierte Assembler-Tests. Eine vollständige Prüfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gültig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurückkehrt. Sichern Sie nichtflüchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich veränderte Flags oder Register.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.

Validierungsbeleg

Validierungsbeleg: Verwenden Sie die registrierten Inline-Assembler- und Standalone-Assembler-Validierungsprogramme als Nachweis fuer konkrete unterstuetzte Instruktionsformen und nennen Sie die genaue Testdatei auf der Unterseite, wenn vorhanden.


Datenbewegung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

Datenbewegung

Themen in diesem Kapitel

MOVAPD - Move aligned packed double MOVDQU - Move unaligned double quadword MOVHLPS - Move high to low packed single MOVHPD - Move high packed double MOVHPS - Move high packed single (upper 64 bits) MOVLHPS - Move low to high packed single MOVLPD - Move low packed double MOVLPS - Move low packed single (lower 64 bits) MOVMSKPS - Move sign mask to GPR (4 sign bits -> GPR) MOVSHDUP - Move and duplicate high singles MOVSLDUP - Move and duplicate low singles MOVUPD - Move unaligned packed double VBROADCASTF128 - Broadcast 128-bit to all lanes VBROADCASTI128 - Broadcast 128-bit to all lanes VBROADCASTSD - Broadcast double to all elements VBROADCASTSS - Broadcast single to all elements VEXTRACTF128 - Extract 128-bit float lane (imm8) VEXTRACTI128 - Extract 128-bit integer lane (imm8) VINSERTF128 - Insert 128-bit float lane (imm8) VINSERTI128 - Insert 128-bit integer lane (imm8) VMOVAPD - Move aligned packed double VMOVD - Move doubleword to/from XMM VMOVDDUP - Move and duplicate one double VMOVDQA - Move aligned double quadword VMOVDQU - Move unaligned double quadword VMOVHPD - Move high packed double VMOVHPS - Move high packed single VMOVLPD - Move low packed double VMOVLPS - Move low packed single (64-bit) VMOVQ - Move quadword to/from XMM VMOVSD - Move scalar double VMOVSHDUP - Move and duplicate high singles VMOVSLDUP - Move and duplicate low singles VMOVSS - Move scalar single VMOVUPD - Move unaligned packed double VMOVUPS - Move unaligned packed single VPBROADCASTB - Broadcast byte to all elements VPBROADCASTD - Broadcast dword to all elements VPBROADCASTQ - Broadcast qword to all elements VPBROADCASTW - Broadcast word to all elements VPEXTRB - Extract byte VPEXTRD - Extract dword VPEXTRQ - Extract qword VPINSRB - Insert byte VPINSRD - Insert dword VPINSRQ - Insert qword VPMASKMOVD - Masked move of dwords VPMASKMOVQ - Masked move of qwords VPMOVMSKB - Move byte mask to GPR


MOVAPD - Move aligned packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

MOVAPD - Move aligned packed double

Category: Data Movement

Kategorie: Datenbewegung

Syntax

MOVAPD xmm, xmm/mem128 / mem128, xmm

Beschreibung

Category: Data Movement

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVAPD - Move aligned packed double. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128 / mem128, xmm.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory
mem128, xmm | uses XMM vector/scalar registers; may read or write memory

Aligned memory forms require the alignment documented by the instruction family, commonly 16-byte alignment for 128-bit SSE packed operands.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    movapd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movapd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVAPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVAPD ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVDQU - Move unaligned double quadword - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

MOVDQU - Move unaligned double quadword

Category: Data Movement

Kategorie: Datenbewegung

Syntax

MOVDQU xmm, xmm/mem128 / mem128, xmm

Beschreibung

Category: Data Movement

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVDQU - Move unaligned double quadword. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128 / mem128, xmm.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory
mem128, xmm | uses XMM vector/scalar registers; may read or write memory

Aligned memory forms require the alignment documented by the instruction family, commonly 16-byte alignment for 128-bit SSE packed operands.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    movdqu xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movdqu xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVDQU ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVDQU ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVHLPS - Move high to low packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

MOVHLPS - Move high to low packed single

Category: Data Movement

Kategorie: Datenbewegung

Syntax

MOVHLPS xmm, xmm

Beschreibung

Category: Data Movement

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVHLPS - Move high to low packed single. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    movhlps xmm0, xmm1
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movhlps xmm0, xmm1
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVHLPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVHLPS ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVHPD - Move high packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

MOVHPD - Move high packed double

Category: Data Movement

Kategorie: Datenbewegung

Syntax

MOVHPD xmm, mem64 / mem64, xmm

Beschreibung

Category: Data Movement

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVHPD - Move high packed double. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, mem64 / mem64, xmm.

Operands and Sizes

Form | Meaning
xmm, mem64 | uses XMM vector/scalar registers; may read or write memory
mem64, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    movhpd xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movhpd xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVHPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVHPD ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVHPS - Move high packed single (upper 64 bits) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

MOVHPS - Move high packed single (upper 64 bits)

Category: Data Movement

Kategorie: Datenbewegung

Syntax

MOVHPS xmm, mem64 / mem64, xmm

Beschreibung

Category: Data Movement

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVHPS - Move high packed single (upper 64 bits). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, mem64 / mem64, xmm.

Operands and Sizes

Form | Meaning
xmm, mem64 | uses XMM vector/scalar registers; may read or write memory
mem64, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    movhps xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movhps xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVHPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVHPS ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVLHPS - Move low to high packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

MOVLHPS - Move low to high packed single

Category: Data Movement

Kategorie: Datenbewegung

Syntax

MOVLHPS xmm, xmm

Beschreibung

Category: Data Movement

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVLHPS - Move low to high packed single. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    movlhps xmm0, xmm1
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movlhps xmm0, xmm1
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVLHPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVLHPS ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVLPD - Move low packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

MOVLPD - Move low packed double

Category: Data Movement

Kategorie: Datenbewegung

Syntax

MOVLPD xmm, mem64 / mem64, xmm

Beschreibung

Category: Data Movement

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVLPD - Move low packed double. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, mem64 / mem64, xmm.

Operands and Sizes

Form | Meaning
xmm, mem64 | uses XMM vector/scalar registers; may read or write memory
mem64, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    movlpd xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movlpd xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVLPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVLPD ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVLPS - Move low packed single (lower 64 bits) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

MOVLPS - Move low packed single (lower 64 bits)

Category: Data Movement

Kategorie: Datenbewegung

Syntax

MOVLPS xmm, mem64 / mem64, xmm

Beschreibung

Category: Data Movement

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVLPS - Move low packed single (lower 64 bits). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, mem64 / mem64, xmm.

Operands and Sizes

Form | Meaning
xmm, mem64 | uses XMM vector/scalar registers; may read or write memory
mem64, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    movlps xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movlps xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVLPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVLPS ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVMSKPS - Move sign mask to GPR (4 sign bits -> GPR) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

MOVMSKPS - Move sign mask to GPR (4 sign bits -> GPR)

Category: Data Movement

Kategorie: Datenbewegung

Syntax

MOVMSKPS reg, xmm

Beschreibung

Category: Data Movement

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVMSKPS - Move sign mask to GPR (4 sign bits -> GPR). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen reg, xmm.

Operands and Sizes

Form | Meaning
reg, xmm | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    movmskps eax, xmm0
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movmskps eax, xmm0
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVMSKPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVMSKPS ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVSHDUP - Move and duplicate high singles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

MOVSHDUP - Move and duplicate high singles

Category: Data Movement

Kategorie: Datenbewegung

Syntax

MOVSHDUP xmm, xmm/mem128

Beschreibung

Category: Data Movement

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVSHDUP - Move and duplicate high singles. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    movshdup xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movshdup xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVSHDUP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVSHDUP ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVSLDUP - Move and duplicate low singles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

MOVSLDUP - Move and duplicate low singles

Category: Data Movement

Kategorie: Datenbewegung

Syntax

MOVSLDUP xmm, xmm/mem128

Beschreibung

Category: Data Movement

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVSLDUP - Move and duplicate low singles. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    movsldup xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movsldup xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVSLDUP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVSLDUP ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVUPD - Move unaligned packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

MOVUPD - Move unaligned packed double

Category: Data Movement

Kategorie: Datenbewegung

Syntax

MOVUPD xmm, xmm/mem128 / mem128, xmm

Beschreibung

Category: Data Movement

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVUPD - Move unaligned packed double. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128 / mem128, xmm.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory
mem128, xmm | uses XMM vector/scalar registers; may read or write memory

Aligned memory forms require the alignment documented by the instruction family, commonly 16-byte alignment for 128-bit SSE packed operands.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    movupd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movupd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVUPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVUPD ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VBROADCASTF128 - Broadcast 128-bit to all lanes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VBROADCASTF128 - Broadcast 128-bit to all lanes

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VBROADCASTF128 ymm, mem128

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VBROADCASTF128 - Broadcast 128-bit to all lanes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm, mem128.

Operands and Sizes

Form | Meaning
ymm, mem128 | uses YMM vector registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vbroadcastf128 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vbroadcastf128 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VBROADCASTF128 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VBROADCASTF128 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VBROADCASTI128 - Broadcast 128-bit to all lanes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VBROADCASTI128 - Broadcast 128-bit to all lanes

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VBROADCASTI128 ymm, mem128

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VBROADCASTI128 - Broadcast 128-bit to all lanes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm, mem128.

Operands and Sizes

Form | Meaning
ymm, mem128 | uses YMM vector registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vbroadcasti128 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vbroadcasti128 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VBROADCASTI128 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VBROADCASTI128 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VBROADCASTSD - Broadcast double to all elements - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VBROADCASTSD - Broadcast double to all elements

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VBROADCASTSD ymm, mem64

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VBROADCASTSD - Broadcast double to all elements. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm, mem64.

Operands and Sizes

Form | Meaning
ymm, mem64 | uses YMM vector registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vbroadcastsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vbroadcastsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VBROADCASTSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VBROADCASTSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VBROADCASTSS - Broadcast single to all elements - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VBROADCASTSS - Broadcast single to all elements

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VBROADCASTSS ymm/xmm, mem32

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VBROADCASTSS - Broadcast single to all elements. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem32.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem32 | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vbroadcastss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vbroadcastss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VBROADCASTSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VBROADCASTSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VEXTRACTF128 - Extract 128-bit float lane (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VEXTRACTF128 - Extract 128-bit float lane (imm8)

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VEXTRACTF128 xmm/mem, ymm, imm8

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VEXTRACTF128 - Extract 128-bit float lane (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm/mem, ymm, imm8.

Operands and Sizes

Form | Meaning
xmm | uses XMM vector/scalar registers; may read or write memory
mem, ymm, imm8 | uses YMM vector registers; may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vextractf128 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vextractf128 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VEXTRACTF128 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VEXTRACTF128 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VEXTRACTI128 - Extract 128-bit integer lane (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VEXTRACTI128 - Extract 128-bit integer lane (imm8)

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VEXTRACTI128 xmm/mem, ymm, imm8

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VEXTRACTI128 - Extract 128-bit integer lane (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm/mem, ymm, imm8.

Operands and Sizes

Form | Meaning
xmm | uses XMM vector/scalar registers; may read or write memory
mem, ymm, imm8 | uses YMM vector registers; may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vextracti128 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vextracti128 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VEXTRACTI128 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VEXTRACTI128 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VINSERTF128 - Insert 128-bit float lane (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VINSERTF128 - Insert 128-bit float lane (imm8)

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VINSERTF128 ymm, ymm, xmm/mem, imm8

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VINSERTF128 - Insert 128-bit float lane (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm, ymm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm, ymm, xmm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vinsertf128 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vinsertf128 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VINSERTF128 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VINSERTF128 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VINSERTI128 - Insert 128-bit integer lane (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VINSERTI128 - Insert 128-bit integer lane (imm8)

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VINSERTI128 ymm, ymm, xmm/mem, imm8

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VINSERTI128 - Insert 128-bit integer lane (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm, ymm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm, ymm, xmm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vinserti128 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vinserti128 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VINSERTI128 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VINSERTI128 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVAPD - Move aligned packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVAPD - Move aligned packed double

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVAPD ymm/xmm, mem / mem, ymm/xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVAPD - Move aligned packed double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem / mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem | uses XMM vector/scalar registers; may read or write memory
mem, ymm | uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Aligned memory forms require the alignment documented by the instruction family, commonly 16-byte alignment for 128-bit SSE packed operands.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovapd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovapd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVAPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVAPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVD - Move doubleword to/from XMM - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVD - Move doubleword to/from XMM

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVD xmm, reg/mem / reg, xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVD - Move doubleword to/from XMM. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, reg/mem / reg, xmm.

Operands and Sizes

Form | Meaning
xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem | may read or write memory
reg, xmm | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVDDUP - Move and duplicate one double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVDDUP - Move and duplicate one double

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVDDUP ymm/xmm, ymm/mem

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVDDUP - Move and duplicate one double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovddup ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovddup ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVDDUP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVDDUP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVDQA - Move aligned double quadword - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVDQA - Move aligned double quadword

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVDQA ymm/xmm, mem / mem, ymm/xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVDQA - Move aligned double quadword. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem / mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem | uses XMM vector/scalar registers; may read or write memory
mem, ymm | uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Aligned memory forms require the alignment documented by the instruction family, commonly 16-byte alignment for 128-bit SSE packed operands.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovdqa ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovdqa ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVDQA ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVDQA ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVDQU - Move unaligned double quadword - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVDQU - Move unaligned double quadword

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVDQU ymm/xmm, mem / mem, ymm/xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVDQU - Move unaligned double quadword. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem / mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem | uses XMM vector/scalar registers; may read or write memory
mem, ymm | uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Aligned memory forms require the alignment documented by the instruction family, commonly 16-byte alignment for 128-bit SSE packed operands.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovdqu ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovdqu ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVDQU ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVDQU ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVHPD - Move high packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVHPD - Move high packed double

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVHPD xmm, xmm, mem64 / mem64, xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVHPD - Move high packed double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, mem64 / mem64, xmm.

Operands and Sizes

Form | Meaning
xmm, xmm, mem64 | uses XMM vector/scalar registers; may read or write memory
mem64, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovhpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovhpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVHPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVHPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVHPS - Move high packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVHPS - Move high packed single

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVHPS xmm, xmm, mem64 / mem64, xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVHPS - Move high packed single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, mem64 / mem64, xmm.

Operands and Sizes

Form | Meaning
xmm, xmm, mem64 | uses XMM vector/scalar registers; may read or write memory
mem64, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovhps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovhps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVHPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVHPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVLPD - Move low packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVLPD - Move low packed double

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVLPD xmm, xmm, mem64 / mem64, xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVLPD - Move low packed double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, mem64 / mem64, xmm.

Operands and Sizes

Form | Meaning
xmm, xmm, mem64 | uses XMM vector/scalar registers; may read or write memory
mem64, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovlpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovlpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVLPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVLPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVLPS - Move low packed single (64-bit) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVLPS - Move low packed single (64-bit)

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVLPS xmm, xmm, mem64 / mem64, xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVLPS - Move low packed single (64-bit). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, mem64 / mem64, xmm.

Operands and Sizes

Form | Meaning
xmm, xmm, mem64 | uses XMM vector/scalar registers; may read or write memory
mem64, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovlps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovlps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVLPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVLPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVQ - Move quadword to/from XMM - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVQ - Move quadword to/from XMM

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVQ xmm, reg/mem / reg, xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVQ - Move quadword to/from XMM. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, reg/mem / reg, xmm.

Operands and Sizes

Form | Meaning
xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem | may read or write memory
reg, xmm | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVSD - Move scalar double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVSD - Move scalar double

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVSD xmm, xmm/mem / mem64, xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVSD - Move scalar double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem / mem64, xmm.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory
mem64, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVSHDUP - Move and duplicate high singles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVSHDUP - Move and duplicate high singles

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVSHDUP ymm/xmm, ymm/mem

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVSHDUP - Move and duplicate high singles. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovshdup ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovshdup ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVSHDUP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVSHDUP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVSLDUP - Move and duplicate low singles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVSLDUP - Move and duplicate low singles

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVSLDUP ymm/xmm, ymm/mem

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVSLDUP - Move and duplicate low singles. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovsldup ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovsldup ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVSLDUP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVSLDUP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVSS - Move scalar single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVSS - Move scalar single

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVSS xmm, xmm/mem / mem32, xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVSS - Move scalar single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem / mem32, xmm.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory
mem32, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVUPD - Move unaligned packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVUPD - Move unaligned packed double

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVUPD ymm/xmm, mem / mem, ymm/xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVUPD - Move unaligned packed double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem / mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem | uses XMM vector/scalar registers; may read or write memory
mem, ymm | uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Aligned memory forms require the alignment documented by the instruction family, commonly 16-byte alignment for 128-bit SSE packed operands.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovupd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovupd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVUPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVUPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVUPS - Move unaligned packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VMOVUPS - Move unaligned packed single

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VMOVUPS ymm/xmm, mem / mem, ymm/xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVUPS - Move unaligned packed single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem / mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem | uses XMM vector/scalar registers; may read or write memory
mem, ymm | uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Aligned memory forms require the alignment documented by the instruction family, commonly 16-byte alignment for 128-bit SSE packed operands.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovups ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovups ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVUPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVUPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPBROADCASTB - Broadcast byte to all elements - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VPBROADCASTB - Broadcast byte to all elements

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VPBROADCASTB ymm/xmm, reg/mem

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPBROADCASTB - Broadcast byte to all elements. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, reg/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpbroadcastb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpbroadcastb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPBROADCASTB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPBROADCASTB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPBROADCASTD - Broadcast dword to all elements - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VPBROADCASTD - Broadcast dword to all elements

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VPBROADCASTD ymm/xmm, reg/mem

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPBROADCASTD - Broadcast dword to all elements. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, reg/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpbroadcastd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpbroadcastd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPBROADCASTD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPBROADCASTD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPBROADCASTQ - Broadcast qword to all elements - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VPBROADCASTQ - Broadcast qword to all elements

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VPBROADCASTQ ymm/xmm, reg/mem

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPBROADCASTQ - Broadcast qword to all elements. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, reg/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpbroadcastq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpbroadcastq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPBROADCASTQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPBROADCASTQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPBROADCASTW - Broadcast word to all elements - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VPBROADCASTW - Broadcast word to all elements

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VPBROADCASTW ymm/xmm, reg/mem

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPBROADCASTW - Broadcast word to all elements. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, reg/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpbroadcastw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpbroadcastw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPBROADCASTW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPBROADCASTW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPEXTRB - Extract byte - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VPEXTRB - Extract byte

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VPEXTRB reg/mem, xmm, imm8

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPEXTRB - Extract byte. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen reg/mem, xmm, imm8.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem, xmm, imm8 | uses XMM vector/scalar registers; may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpextrb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpextrb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPEXTRB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPEXTRB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPEXTRD - Extract dword - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VPEXTRD - Extract dword

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VPEXTRD reg/mem, xmm, imm8

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPEXTRD - Extract dword. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen reg/mem, xmm, imm8.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem, xmm, imm8 | uses XMM vector/scalar registers; may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpextrd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpextrd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPEXTRD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPEXTRD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPEXTRQ - Extract qword - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VPEXTRQ - Extract qword

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VPEXTRQ reg/mem, xmm, imm8

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPEXTRQ - Extract qword. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen reg/mem, xmm, imm8.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem, xmm, imm8 | uses XMM vector/scalar registers; may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpextrq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpextrq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPEXTRQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPEXTRQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPINSRB - Insert byte - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VPINSRB - Insert byte

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VPINSRB xmm, xmm, reg/mem, imm8

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPINSRB - Insert byte. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, reg/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpinsrb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpinsrb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPINSRB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPINSRB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPINSRD - Insert dword - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VPINSRD - Insert dword

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VPINSRD xmm, xmm, reg/mem, imm8

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPINSRD - Insert dword. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, reg/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpinsrd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpinsrd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPINSRD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPINSRD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPINSRQ - Insert qword - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VPINSRQ - Insert qword

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VPINSRQ xmm, xmm, reg/mem, imm8

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPINSRQ - Insert qword. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, reg/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpinsrq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpinsrq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPINSRQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPINSRQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMASKMOVD - Masked move of dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VPMASKMOVD - Masked move of dwords

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VPMASKMOVD ymm/xmm, ymm/xmm, mem

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMASKMOVD - Masked move of dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, mem | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmaskmovd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmaskmovd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMASKMOVD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMASKMOVD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMASKMOVQ - Masked move of qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VPMASKMOVQ - Masked move of qwords

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VPMASKMOVQ ymm/xmm, ymm/xmm, mem

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMASKMOVQ - Masked move of qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, mem | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmaskmovq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmaskmovq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMASKMOVQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMASKMOVQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVMSKB - Move byte mask to GPR - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Datenbewegung Hilfe zum PBXB64-Compiler

VPMOVMSKB - Move byte mask to GPR

Category: Data Movement

Kategorie: Datenbewegung

Syntax

VPMOVMSKB reg, ymm/xmm

Beschreibung

Category: Data Movement

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVMSKB - Move byte mask to GPR. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen reg, ymm/xmm.

Operands and Sizes

Form | Meaning
reg, ymm | uses YMM vector registers; may read or write memory; uses a general-purpose register
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovmskb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovmskb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVMSKB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVMSKB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Arithmetik - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

Arithmetik

Themen in diesem Kapitel

ADDSUBPD - Gepacktes Doppel addieren/subtrahieren (alternierend) ADDSUBPS - Gepackte Single addieren/subtrahieren (alternierend) DAA - Dezimalanpassung nach Addition (nicht gültig in x64) DAS FADD - Addieren (ST0 = ST0 + src) FADDP - Addieren und Pop (ST(i) = ST(i)+ST0, dann Pop) HADDPD - Horizontal add packed double HADDPS - Horizontal add packed single HSUBPD - Horizontal subtract packed double HSUBPS - Horizontal subtract packed single PMADDUBSW - Multiply unsigned bytes, add adjacent, saturate PMINSB - Minimum an gepackten signierten Bytes PMINUB - Minimum an gepackten vorzeichenlosen Bytes PMINUW - Minimum an gepackten Wörtern ohne Vorzeichen VADDSUBPD - Add/subtract alternating packed double VADDSUBPS - Add/subtract alternating packed single VAESENCLAST - VEX/EVEX AES-Last-Round-Verschlüsselung VHADDPD - Horizontal add packed double VHADDPS - Horizontal add packed single VHSUBPD - Horizontal subtract packed double VHSUBPS - Horizontal subtract packed single VPADDB - Add packed bytes VPADDD - Add packed doublewords VPADDQ - Add packed quadwords VPADDW - Add packed words VPHADDD - Horizontal add dwords VPHADDSW - Horizontal add words with saturation VPHADDW - Horizontal add words VPHSUBD - Horizontal subtract dwords VPHSUBSW - Horizontal subtract words with saturation VPHSUBW - Horizontal subtract words VPMADD52HUQ - Multiplizieren und addieren Sie 52-Bit-QWords ohne Vorzeichen mit hohem Wert VPMADD52LUQ - Multiplizieren und addieren Sie 52-Bit-Quoten ohne Vorzeichen mit niedrigem Wert VPMADDUBSW - Multiply unsigned bytes, add adjacent, saturate VPMADDWD - Multiply and add words to doublewords VPMAXSB - Maximum of signed bytes VPMAXSD - Maximum of signed dwords VPMAXSW - Maximum of signed words VPMAXUB - Maximum of unsigned bytes VPMAXUD - Maximum of unsigned dwords VPMAXUW - Maximum of unsigned words VPMINSB - Minimum of signed bytes VPMINSD - Minimum of signed dwords VPMINSW - Minimum of signed words VPMINUB - Minimum of unsigned bytes VPMINUD - Minimum of unsigned dwords VPMINUW - Minimum of unsigned words VPMULDQ - Multiply signed dword to qword VPMULHRSW - Multiply high with round and scale VPMULHUW - Multiply packed words (high, unsigned) VPMULHW - Multiply packed words (high) VPMULLD - Multiply packed doublewords (low) VPMULLW - Multiply packed words (low) VPMULUDQ - Multiply unsigned dword to qword VPSUBB - Subtract packed bytes VPSUBD - Subtract packed doublewords VPSUBQ - Subtract packed quadwords VPSUBW - Subtract packed words VRSQRT14PD - 14-Bit reziprokes sqrt-gepacktes Doppel VRSQRT14PS - 14-Bit reziprokes sqrt-gepacktes Single


ADDSUBPD - Gepacktes Doppel addieren/subtrahieren (alternierend) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

ADDSUBPD - Gepacktes Doppel addieren/subtrahieren (alternierend)

Category: Arithmetic

Kategorie: Arithmetik

Syntax

ADDSUBPD xmm, xmm/mem128

Beschreibung

Category: Arithmetic

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ADDSUBPD - Gepacktes Doppel addieren/subtrahieren (alternierend). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    addsubpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! addsubpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ADDSUBPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ADDSUBPD ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ADDSUBPS - Gepackte Single addieren/subtrahieren (alternierend) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

ADDSUBPS - Gepackte Single addieren/subtrahieren (alternierend)

Category: Arithmetic

Kategorie: Arithmetik

Syntax

ADDSUBPS xmm, xmm/mem128

Beschreibung

Category: Arithmetic

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ADDSUBPS - Gepackte Single addieren/subtrahieren (alternierend). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    addsubps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! addsubps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ADDSUBPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ADDSUBPS ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


DAA - Dezimalanpassung nach Addition (nicht gültig in x64) DAS - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

DAA - Dezimalanpassung nach Addition (nicht gültig in x64) DAS

Category: Arithmetic

Kategorie: Arithmetik

Syntax

DAA Dezimalanpassung nach Subtraktion (nicht gültig in x64)

Beschreibung

Category: Arithmetic

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

DAA - Dezimalanpassung nach Addition (nicht gültig in x64) DAS. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen Dezimalanpassung nach Subtraktion (nicht gültig in x64).

Operands and Sizes

Form | Meaning
Dezimalanpassung nach Subtraktion (nicht gültig in x64) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    daa operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! daa operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

DAA ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

DAA ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FADD - Addieren (ST0 = ST0 + src) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

FADD - Addieren (ST0 = ST0 + src)

Category: Arithmetic

Kategorie: Arithmetik

Syntax

FADD mem32/64 / ST(i)

Beschreibung

Category: Arithmetic

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FADD - Addieren (ST0 = ST0 + src). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem32/64 / ST(i).

Operands and Sizes

Form | Meaning
mem32 | may read or write memory
64 | follow the operand order shown in the syntax
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fadd [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fadd [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FADD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FADD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FADDP - Addieren und Pop (ST(i) = ST(i)+ST0, dann Pop) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

FADDP - Addieren und Pop (ST(i) = ST(i)+ST0, dann Pop)

Category: Arithmetic

Kategorie: Arithmetik

Syntax

FADDP ST(i), ST(0)

Beschreibung

Category: Arithmetic

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FADDP - Addieren und Pop (ST(i) = ST(i)+ST0, dann Pop). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i), ST(0).

Operands and Sizes

Form | Meaning
ST(i), ST(0) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    faddp operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! faddp operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FADDP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FADDP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


HADDPD - Horizontal add packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

HADDPD - Horizontal add packed double

Category: Arithmetic

Kategorie: Arithmetik

Syntax

HADDPD xmm, xmm/mem128

Beschreibung

Category: Arithmetic

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

HADDPD - Horizontal add packed double. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    haddpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! haddpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

HADDPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

HADDPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


HADDPS - Horizontal add packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

HADDPS - Horizontal add packed single

Category: Arithmetic

Kategorie: Arithmetik

Syntax

HADDPS xmm, xmm/mem128

Beschreibung

Category: Arithmetic

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

HADDPS - Horizontal add packed single. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    haddps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! haddps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

HADDPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

HADDPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


HSUBPD - Horizontal subtract packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

HSUBPD - Horizontal subtract packed double

Category: Arithmetic

Kategorie: Arithmetik

Syntax

HSUBPD xmm, xmm/mem128

Beschreibung

Category: Arithmetic

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

HSUBPD - Horizontal subtract packed double. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    hsubpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! hsubpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

HSUBPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

HSUBPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


HSUBPS - Horizontal subtract packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

HSUBPS - Horizontal subtract packed single

Category: Arithmetic

Kategorie: Arithmetik

Syntax

HSUBPS xmm, xmm/mem128

Beschreibung

Category: Arithmetic

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

HSUBPS - Horizontal subtract packed single. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    hsubps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! hsubps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

HSUBPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

HSUBPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMADDUBSW - Multiply unsigned bytes, add adjacent, saturate - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

PMADDUBSW - Multiply unsigned bytes, add adjacent, saturate

Category: Arithmetic

Kategorie: Arithmetik

Syntax

PMADDUBSW xmm, xmm/mem128

Beschreibung

Category: Arithmetic

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMADDUBSW - Multiply unsigned bytes, add adjacent, saturate. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pmaddubsw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmaddubsw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMADDUBSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMADDUBSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMINSB - Minimum an gepackten signierten Bytes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

PMINSB - Minimum an gepackten signierten Bytes

Category: Arithmetic

Kategorie: Arithmetik

Syntax

PMINSB xmm, xmm/mem128

Beschreibung

Category: Arithmetic

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMINSB - Minimum an gepackten signierten Bytes. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pminsb xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pminsb xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMINSB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMINSB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMINUB - Minimum an gepackten vorzeichenlosen Bytes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

PMINUB - Minimum an gepackten vorzeichenlosen Bytes

Category: Arithmetic

Kategorie: Arithmetik

Syntax

PMINUB xmm, xmm/mem128

Beschreibung

Category: Arithmetic

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMINUB - Minimum an gepackten vorzeichenlosen Bytes. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pminub xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pminub xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMINUB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMINUB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMINUW - Minimum an gepackten Wörtern ohne Vorzeichen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

PMINUW - Minimum an gepackten Wörtern ohne Vorzeichen

Category: Arithmetic

Kategorie: Arithmetik

Syntax

PMINUW xmm, xmm/mem128

Beschreibung

Category: Arithmetic

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMINUW - Minimum an gepackten Wörtern ohne Vorzeichen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pminuw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pminuw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMINUW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMINUW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VADDSUBPD - Add/subtract alternating packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VADDSUBPD - Add/subtract alternating packed double

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VADDSUBPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VADDSUBPD - Add/subtract alternating packed double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vaddsubpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vaddsubpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VADDSUBPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VADDSUBPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VADDSUBPS - Add/subtract alternating packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VADDSUBPS - Add/subtract alternating packed single

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VADDSUBPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VADDSUBPS - Add/subtract alternating packed single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vaddsubps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vaddsubps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VADDSUBPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VADDSUBPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VAESENCLAST - VEX/EVEX AES-Last-Round-Verschlüsselung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VAESENCLAST - VEX/EVEX AES-Last-Round-Verschlüsselung

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VAESENCLAST xmm/ymm/zmm, xmm/ymm/zmm, mem

Beschreibung

Category: Arithmetic

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VAESENCLAST - VEX/EVEX AES-Last-Round-Verschlüsselung. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm/ymm/zmm, xmm/ymm/zmm, mem.

Operands and Sizes

Form | Meaning
xmm | uses XMM vector/scalar registers; may read or write memory
ymm | uses YMM vector registers; may read or write memory
zmm, xmm | uses XMM vector/scalar registers; may read or write memory
ymm | uses YMM vector registers; may read or write memory
zmm, mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vaesenclast ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vaesenclast ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VAESENCLAST ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VAESENCLAST ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VHADDPD - Horizontal add packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VHADDPD - Horizontal add packed double

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VHADDPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VHADDPD - Horizontal add packed double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vhaddpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vhaddpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VHADDPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VHADDPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VHADDPS - Horizontal add packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VHADDPS - Horizontal add packed single

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VHADDPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VHADDPS - Horizontal add packed single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vhaddps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vhaddps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VHADDPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VHADDPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VHSUBPD - Horizontal subtract packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VHSUBPD - Horizontal subtract packed double

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VHSUBPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VHSUBPD - Horizontal subtract packed double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vhsubpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vhsubpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VHSUBPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VHSUBPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VHSUBPS - Horizontal subtract packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VHSUBPS - Horizontal subtract packed single

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VHSUBPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VHSUBPS - Horizontal subtract packed single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vhsubps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vhsubps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VHSUBPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VHSUBPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPADDB - Add packed bytes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPADDB - Add packed bytes

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPADDB ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPADDB - Add packed bytes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpaddb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpaddb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPADDB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPADDB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPADDD - Add packed doublewords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPADDD - Add packed doublewords

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPADDD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPADDD - Add packed doublewords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpaddd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpaddd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPADDD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPADDD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPADDQ - Add packed quadwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPADDQ - Add packed quadwords

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPADDQ ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPADDQ - Add packed quadwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpaddq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpaddq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPADDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPADDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPADDW - Add packed words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPADDW - Add packed words

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPADDW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPADDW - Add packed words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpaddw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpaddw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPADDW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPADDW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPHADDD - Horizontal add dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPHADDD - Horizontal add dwords

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPHADDD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPHADDD - Horizontal add dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vphaddd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vphaddd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPHADDD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPHADDD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPHADDSW - Horizontal add words with saturation - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPHADDSW - Horizontal add words with saturation

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPHADDSW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPHADDSW - Horizontal add words with saturation. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vphaddsw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vphaddsw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPHADDSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPHADDSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPHADDW - Horizontal add words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPHADDW - Horizontal add words

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPHADDW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPHADDW - Horizontal add words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vphaddw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vphaddw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPHADDW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPHADDW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPHSUBD - Horizontal subtract dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPHSUBD - Horizontal subtract dwords

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPHSUBD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPHSUBD - Horizontal subtract dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vphsubd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vphsubd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPHSUBD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPHSUBD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPHSUBSW - Horizontal subtract words with saturation - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPHSUBSW - Horizontal subtract words with saturation

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPHSUBSW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPHSUBSW - Horizontal subtract words with saturation. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vphsubsw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vphsubsw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPHSUBSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPHSUBSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPHSUBW - Horizontal subtract words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPHSUBW - Horizontal subtract words

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPHSUBW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPHSUBW - Horizontal subtract words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vphsubw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vphsubw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPHSUBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPHSUBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← VPHSUBSW - Horizontal subtract words with saturation Nach oben VPMADD52HUQ - Multiplizieren und addieren Sie 52-Bit-QWords ohne Vorzeichen mit hohem Wert →


VPMADD52HUQ - Multiplizieren und addieren Sie 52-Bit-QWords ohne Vorzeichen mit hohem Wert - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMADD52HUQ - Multiplizieren und addieren Sie 52-Bit-QWords ohne Vorzeichen mit hohem Wert

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMADD52HUQ zmm, zmm, zmm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMADD52HUQ - Multiplizieren und addieren Sie 52-Bit-QWords ohne Vorzeichen mit hohem Wert. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmadd52huq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmadd52huq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMADD52HUQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMADD52HUQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMADD52LUQ - Multiplizieren und addieren Sie 52-Bit-Quoten ohne Vorzeichen mit niedrigem Wert - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMADD52LUQ - Multiplizieren und addieren Sie 52-Bit-Quoten ohne Vorzeichen mit niedrigem Wert

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMADD52LUQ zmm, zmm, zmm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMADD52LUQ - Multiplizieren und addieren Sie 52-Bit-Quoten ohne Vorzeichen mit niedrigem Wert. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmadd52luq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmadd52luq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMADD52LUQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMADD52LUQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← VPMADD52HUQ - Multiplizieren und addieren Sie 52-Bit-QWords ohne Vorzeichen mit hohem Wert Nach oben VPMADDUBSW - Multiply unsigned bytes, add adjacent, saturate →


VPMADDUBSW - Multiply unsigned bytes, add adjacent, saturate - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMADDUBSW - Multiply unsigned bytes, add adjacent, saturate

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMADDUBSW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMADDUBSW - Multiply unsigned bytes, add adjacent, saturate. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmaddubsw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmaddubsw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMADDUBSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMADDUBSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← VPMADD52LUQ - Multiplizieren und addieren Sie 52-Bit-Quoten ohne Vorzeichen mit niedrigem Wert Nach oben VPMADDWD - Multiply and add words to doublewords →


VPMADDWD - Multiply and add words to doublewords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMADDWD - Multiply and add words to doublewords

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMADDWD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMADDWD - Multiply and add words to doublewords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmaddwd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmaddwd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMADDWD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMADDWD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMAXSB - Maximum of signed bytes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMAXSB - Maximum of signed bytes

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMAXSB ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMAXSB - Maximum of signed bytes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmaxsb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmaxsb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMAXSB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMAXSB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMAXSD - Maximum of signed dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMAXSD - Maximum of signed dwords

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMAXSD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMAXSD - Maximum of signed dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmaxsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmaxsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMAXSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMAXSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMAXSW - Maximum of signed words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMAXSW - Maximum of signed words

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMAXSW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMAXSW - Maximum of signed words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmaxsw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmaxsw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMAXSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMAXSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMAXUB - Maximum of unsigned bytes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMAXUB - Maximum of unsigned bytes

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMAXUB ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMAXUB - Maximum of unsigned bytes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmaxub ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmaxub ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMAXUB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMAXUB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMAXUD - Maximum of unsigned dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMAXUD - Maximum of unsigned dwords

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMAXUD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMAXUD - Maximum of unsigned dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmaxud ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmaxud ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMAXUD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMAXUD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMAXUW - Maximum of unsigned words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMAXUW - Maximum of unsigned words

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMAXUW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMAXUW - Maximum of unsigned words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmaxuw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmaxuw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMAXUW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMAXUW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMINSB - Minimum of signed bytes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMINSB - Minimum of signed bytes

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMINSB ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMINSB - Minimum of signed bytes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpminsb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpminsb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMINSB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMINSB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMINSD - Minimum of signed dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMINSD - Minimum of signed dwords

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMINSD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMINSD - Minimum of signed dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpminsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpminsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMINSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMINSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMINSW - Minimum of signed words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMINSW - Minimum of signed words

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMINSW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMINSW - Minimum of signed words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpminsw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpminsw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMINSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMINSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMINUB - Minimum of unsigned bytes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMINUB - Minimum of unsigned bytes

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMINUB ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMINUB - Minimum of unsigned bytes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpminub ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpminub ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMINUB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMINUB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMINUD - Minimum of unsigned dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMINUD - Minimum of unsigned dwords

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMINUD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMINUD - Minimum of unsigned dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpminud ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpminud ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMINUD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMINUD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMINUW - Minimum of unsigned words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMINUW - Minimum of unsigned words

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMINUW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMINUW - Minimum of unsigned words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpminuw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpminuw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMINUW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMINUW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMULDQ - Multiply signed dword to qword - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMULDQ - Multiply signed dword to qword

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMULDQ ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMULDQ - Multiply signed dword to qword. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmuldq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmuldq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMULDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMULDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMULHRSW - Multiply high with round and scale - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMULHRSW - Multiply high with round and scale

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMULHRSW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMULHRSW - Multiply high with round and scale. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmulhrsw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmulhrsw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMULHRSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMULHRSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMULHUW - Multiply packed words (high, unsigned) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMULHUW - Multiply packed words (high, unsigned)

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMULHUW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMULHUW - Multiply packed words (high, unsigned). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmulhuw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmulhuw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMULHUW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMULHUW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMULHW - Multiply packed words (high) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMULHW - Multiply packed words (high)

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMULHW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMULHW - Multiply packed words (high). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmulhw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmulhw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMULHW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMULHW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMULLD - Multiply packed doublewords (low) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMULLD - Multiply packed doublewords (low)

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMULLD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMULLD - Multiply packed doublewords (low). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmulld ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmulld ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMULLD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMULLD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMULLW - Multiply packed words (low) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMULLW - Multiply packed words (low)

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMULLW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMULLW - Multiply packed words (low). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmullw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmullw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMULLW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMULLW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMULUDQ - Multiply unsigned dword to qword - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPMULUDQ - Multiply unsigned dword to qword

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPMULUDQ ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMULUDQ - Multiply unsigned dword to qword. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmuludq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmuludq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMULUDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMULUDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSUBB - Subtract packed bytes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPSUBB - Subtract packed bytes

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPSUBB ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSUBB - Subtract packed bytes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsubb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsubb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSUBB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSUBB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSUBD - Subtract packed doublewords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPSUBD - Subtract packed doublewords

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPSUBD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSUBD - Subtract packed doublewords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsubd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsubd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSUBD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSUBD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSUBQ - Subtract packed quadwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPSUBQ - Subtract packed quadwords

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPSUBQ ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSUBQ - Subtract packed quadwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsubq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsubq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSUBQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSUBQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSUBW - Subtract packed words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VPSUBW - Subtract packed words

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VPSUBW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSUBW - Subtract packed words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsubw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsubw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSUBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSUBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRSQRT14PD - 14-Bit reziprokes sqrt-gepacktes Doppel - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VRSQRT14PD - 14-Bit reziprokes sqrt-gepacktes Doppel

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VRSQRT14PD zmm, zmm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRSQRT14PD - 14-Bit reziprokes sqrt-gepacktes Doppel. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrsqrt14pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrsqrt14pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRSQRT14PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRSQRT14PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRSQRT14PS - 14-Bit reziprokes sqrt-gepacktes Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Arithmetik Hilfe zum PBXB64-Compiler

VRSQRT14PS - 14-Bit reziprokes sqrt-gepacktes Single

Category: Arithmetic

Kategorie: Arithmetik

Syntax

VRSQRT14PS zmm, zmm/mem

Beschreibung

Category: Arithmetic

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRSQRT14PS - 14-Bit reziprokes sqrt-gepacktes Single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrsqrt14ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrsqrt14ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRSQRT14PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRSQRT14PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Bitoperationen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

Bitoperationen

Themen in diesem Kapitel

AAA - ASCII-Anpassung nach Hinzufügung (nicht gültig in x64) AAS AAM - ASCII-Anpassung nach Multiplikation (nicht gültig in x64) AAD ANDN - Bitweises UND-NICHT: dst = ~src1 & src2 BEXTR - Bitfeld-Extraktion: Aufeinanderfolgende Bits extrahieren BLSI - Niedrigstes gesetztes Bit isolieren: dst = src & -src BLSR - Niedrigstes gesetztes Bit zurücksetzen: dst = src & (src-1) CDQE - Doppelwort (EAX) in Quadwort (RAX) mit Vorzeichenerweiterung umwandeln CMOVNO - Nicht überlaufen CMOVNS - Nicht signieren (nicht negativ) CMOVO - Überlauf CMOVS - Vorzeichen (negativ) CMPXCHG16B - Vergleichen und tauschen Sie 16 Bytes (atomar, benötigt LOCK) CMPXCHG8B - Vergleichen und tauschen Sie 8 Bytes (atomar) aus CWDE - Wandeln Sie Wort (AX) in Doppelwort (EAX) mit Vorzeichenerweiterung um EMMS - Leerer MMX-Status (MMX/x87-Tag-Wort löschen) FEMMS ENDBR32 - Ende der Verzweigung (32-Bit) ENDBR64 - Ende der Verzweigung (64-Bit, an Verzweigungszielen) FCHS - Vorzeichen ändern (negieren) FCOM - Vergleichen Sie ST0 mit src (stellt das FPU-Statuswort C0/C2/C3 ein) FLDCW - FPU-Steuerwort laden FSTCW - FPU-Steuerwort speichern FSTSW - FPU-Statuswort speichern FUCOM - Ungeordneter Vergleich (keine Ausnahme bei NaN) FUCOMP - Ungeordneter Vergleich und Pop FUCOMPP - Ungeordneter Vergleich und zweimal Pop FXAM - Untersuchen Sie ST0 (NaN, normal, denormal, Null usw.) FXTRACT - Extrahieren Sie Exponent und Signifikand GF2P8AFFINEINVQB - Galois-Feld-Affintransformation invers (älteres SSE) GF2P8AFFINEQB - Galois-Feld-Affintransformation (altes SSE) HLT - Prozessor bis zum nächsten Interrupt anhalten IN - Eingabe vom I/O-Port INVVPID - VPID (Virtuelle Prozessor-ID) ungültig machen JNO - Springe, wenn nicht überlaufen JNS - Springen Sie, wenn Sie nicht unterschreiben JO - Bei Überlauf springen JS - Springe, wenn Vorzeichen (negativ) LAR - Zugriffsrechte laden (Segmentdeskriptor) LDDQU - Laden Sie nicht ausgerichtete 128-Bit-Dateien (vermeidet die Aufteilung der Cache-Zeile) LGDT - Laden Sie das Global Descriptor Table-Register LIDT - Interrupt-Deskriptor-Tabellenregister laden LLDT - Laden Sie das Register der lokalen Deskriptortabelle LMSW - Maschinenstatuswort laden LOOP - CX/ECX/RCX dekrementieren, springen, wenn nicht Null LZCNT - Führende Nullen zählen - BMI1 (über F3 0F BD) MONITORX - Erweiterter MONITOR MOVABS - 64-Bit-Absolutwert verschieben (Alias ​​auf MOV mit imm64) MOVBE - Verschieben mit Big-Endian-Konvertierung (Laden/Speichern) MOVDQ2Q - Verschieben Sie XMM in das MMX-Register (niedriges Quadwort). MOVDQA - Ausgerichtetes Doppelquadwort verschieben (16-Byte-ausgerichtet) MOVNTDQ - Nicht-temporärer Speicher von 128 Bit (SSE2) MOVNTDQA - Nicht-temporäre Last (Streaming-Lasthinweis, SSE4.1) MOVNTI - Nicht-temporäre Speicherung von Ganzzahlen (dword/qword) MOVQ2DQ - MMX in das XMM-Register verschieben (niedriges Quadword) MOVSXD - Mit Vorzeichenerweiterung verschieben (32-Bit auf 64-Bit) MOVZX - Bewegen Sie sich ohne Verlängerung MPSADBW - Mehrfachsumme absoluter Differenzen (8-Bit) MWAIT - Überwachen und warten Sie auf Schreibvorgänge OUT - Ausgabe an den I/O-Port PCLMULQDQ - Übertragsfreie Multiplikation zweier 64-Bit-Hälften PEXTRD - Doppelwort extrahieren PEXTRQ - Quadword extrahieren PINSRD - Doppelwort einfügen PINSRQ - Quadword einfügen PMOVSXBD - Verschieben Sie mit Vorzeichenerweiterung Bytes in Doppelwörter PMOVSXBQ - Verschieben Sie mit Vorzeichenerweiterung Bytes in Quadwords PMOVSXBW - Bewegen Sie sich mit Vorzeichenerweiterung, Bytes zu Wörtern PMOVSXDQ - Bewegen Sie sich mit Vorzeichenerweiterung, Doppelwörter zu Quadwörtern PMOVZXBQ - Verschieben Sie Bytes mit der Erweiterung Null in Quadwords PMULUDQ - Multiplizieren Sie ein vorzeichenloses Doppelwort mit einem Quadwort PREFETCHH - Daten auf der angegebenen Hinweisebene vorab in den Cache abrufen PREFETCHNTA - Vorababruf in den L1-Datencache (nicht temporär, minimale Verschmutzung) PREFETCHT0 - Vorabruf in alle Cache-Ebenen (L1, L2, L3) PREFETCHT2 - Nur in L3 vorabholen PUSHQ - Push QWORD (impliziter 64-Bit-Push) RCR - Nach rechts drehen durch Tragen RDTSCP - TSC + Prozessor-ID lesen (gibt EDX:EAX, ECX=IA32_TSC_AUX zurück) RETF - Far Return (wird in x64 nicht verwendet) ROL - Nach links drehen ROR - Nach rechts drehen SAVEPREVSSP - Speichern Sie den vorherigen Schattenstapelzeiger SGDT - Speichern Sie das globale Deskriptortabellenregister SHLD - Doppelte Präzisionsverschiebung nach links SHRD - Doppelte Präzisionsverschiebung nach rechts SIDT - Speichern Sie das Interrupt-Deskriptortabellenregister SLDT - Lokales Deskriptortabellenregister speichern SMSW - Speichern Sie das Maschinenstatuswort (CR0, niedrige 16 Bits) UD1 - Undefinierte Anweisung (Formular mit zwei Operanden) UMONITOR - MONITOR auf Benutzerebene VALIGND - Dwords ausrichten (verketten und verschieben) VALIGNQ - Qwords ausrichten (verketten und verschieben) VFIXUPIMMSD - Skalar-Double reparieren (NaN-Handhabung) VFIXUPIMMSS - Skalar-Single reparieren (NaN-Handhabung) VGATHERDPD - Gather double with dword indices VGATHERDPS - Gather single with dword indices VGATHERQPD - Gather double with qword indices VGATHERQPS - Gather single with qword indices VGETMANTPD - Extrahieren Sie die normalisierte Mantisse aus dem Doppelten VGETMANTPS - Extrahieren Sie die normalisierte Mantisse aus einer einzelnen VGETMANTSD - Extrahieren Sie das normalisierte Mantissen-Skalar-Double VGETMANTSS - Extrahieren Sie den normalisierten Mantissenskalar einzeln VGF2P8AFFINEINVQB - Galois-Feld-Affintransformation invers VGF2P8AFFINEQB - Galoisfeldaffine Transformation VMOVNTDQ - VEX nicht-temporaler 128/256-Bit-Speicher (AVX) VMOVNTPS - VEX nicht-temporärer Einzelspeicher (AVX) VMXOFF - Beenden Sie den VMX-Vorgang VMXON - Geben Sie den VMX-Vorgang ein VPABSD - Absolute value of dwords VPABSQ - Absoluter Wert von qwords VPABSW - Absolute value of words VPAND - Bitwise AND VPANDN - Bitwise AND-NOT VPANDQ - Bitweises UND von qwords VPCONFLICTD - Erkennen Sie Konflikte im Dword-Vektor VPCONFLICTQ - Erkennen Sie Konflikte im Qword-Vektor VPGATHERDD - Gather dwords with dword indices VPGATHERDQ - Gather dwords with qword indices VPGATHERQD - Gather qwords with dword indices VPGATHERQQ - Gather qwords with qword indices VPLZCNTD - Zählen Sie führende Nullen im Dword-Vektor VPLZCNTQ - Zählen Sie führende Nullen im Qword-Vektor VPMAXSQ - Maximal vorzeichenbehaftete Qwords VPMAXUQ - Maximal vorzeichenlose Qwords VPMINSQ - Mindestens signierte Qwords VPMINUQ - Mindestens vorzeichenlose Qwords VPMOVSXBD - Sign-extend bytes to dwords VPMOVSXBQ - Sign-extend bytes to qwords VPMOVSXBW - Sign-extend bytes to words VPMOVSXDQ - Sign-extend dwords to qwords VPMOVSXWD - Sign-extend words to dwords VPMOVSXWQ - Sign-extend words to qwords VPMOVZXBD - Zero-extend bytes to dwords VPMOVZXBQ - Zero-extend bytes to qwords VPMOVZXBW - Zero-extend bytes to words VPMOVZXDQ - Zero-extend dwords to qwords VPMOVZXWD - Zero-extend words to dwords VPMOVZXWQ - Zero-extend words to qwords VPMULTISHIFTQB - Mehrfaches Verschieben und Verketten von Qwords zu Bytes VPOPCNTB - Populationsanzahl der Bytes (Vektor) VPOPCNTD - Bevölkerungszahl von Dwords (Vektor) VPOPCNTQ - Bevölkerungszahl von qwords (Vektor) VPOPCNTW - Bevölkerungszahl von Wörtern (Vektor) VPOR - Bitwise OR VPORQ - Bitweises ODER von qwords VPSIGND - Sign of dwords VPSIGNW - Sign of words VPSLLD - Shift left logical doublewords VPSLLQ - Shift left logical quadwords VPSLLVD - Variable shift left logical dwords VPSLLVDQ - Variable logisches Dword/Qword nach links verschieben VPSLLVQ - Variable shift left logical qwords VPSLLW - Shift left logical words VPSRAD - Shift right arithmetic doublewords VPSRAVD - Variable shift right arith dwords VPSRAVQ - Variable arithmetische Qwords nach rechts verschieben VPSRAW - Shift right arithmetic words VPSRLD - Shift right logical doublewords VPSRLQ - Shift right logical quadwords VPSRLVD - Variable shift right logical dwords VPSRLVDQ - Variables logisches Dword/Qword nach rechts verschieben VPSRLVQ - Variable shift right logical qwords VPSRLW - Shift right logical words VPTERNLOGD - Bitweise Operation mit drei Eingaben (Dword) VPTERNLOGQ - Bitweise Operation mit drei Eingaben (qword) VPXOR - Bitwise XOR VPXORQ - Bitweises XOR von qwords VRCP14SD - 14-Bit reziprokes Skalar-Double VRCP14SS - 14-Bit-reziproker Skalar-Single VRCP28SD - 28-Bit-Reziproknäherung (doppelt, skalar) VRCP28SS - 28-Bit-Reziproknäherung (einfach, skalar) VREDUCESD - Skalar-Double reduzieren (auf N Bits runden) VREDUCESS - Skalare Single reduzieren (auf N Bits runden) VRSQRT28SD - 28-Bit reziproke Quadratnäherung (doppelt, skalar) VRSQRT28SS - 28-Bit-Reziprok-Quadrat-Näherung (einfach, skalar) VSHUFI32X4 - Mischen Sie 128-Bit-Spuren mit 32-Bit-Elementen VSHUFI64X2 - Mischen Sie 128-Bit-Spuren mit 64-Bit-Elementen WRSS - Auf Shadow Stack schreiben (Supervisor)


AAA - ASCII-Anpassung nach Hinzufügung (nicht gültig in x64) AAS - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

AAA - ASCII-Anpassung nach Hinzufügung (nicht gültig in x64) AAS

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

AAA ASCII-Anpassung nach Subtraktion (nicht gültig in x64)

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

AAA - ASCII-Anpassung nach Hinzufügung (nicht gültig in x64) AAS. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen ASCII-Anpassung nach Subtraktion (nicht gültig in x64).

Operands and Sizes

Form | Meaning
ASCII-Anpassung nach Subtraktion (nicht gültig in x64) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    aaa operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! aaa operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

AAA ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

AAA ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


AAM - ASCII-Anpassung nach Multiplikation (nicht gültig in x64) AAD - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

AAM - ASCII-Anpassung nach Multiplikation (nicht gültig in x64) AAD

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

AAM ASCII-Anpassung vor der Division (nicht gültig in x64)

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

AAM - ASCII-Anpassung nach Multiplikation (nicht gültig in x64) AAD. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen ASCII-Anpassung vor der Division (nicht gültig in x64).

Operands and Sizes

Form | Meaning
ASCII-Anpassung vor der Division (nicht gültig in x64) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    aam operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! aam operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

AAM ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

AAM ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ANDN - Bitweises UND-NICHT: dst = ~src1 & src2 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

ANDN - Bitweises UND-NICHT: dst = ~src1 & src2

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

ANDN reg, reg, reg/mem

Beschreibung

Category: Bit Operations

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ANDN - Bitweises UND-NICHT: dst = ~src1 & src2. Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg, reg/mem.

Operands and Sizes

Form | Meaning
reg, reg, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    andn eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! andn eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ANDN ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ANDN ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BEXTR - Bitfeld-Extraktion: Aufeinanderfolgende Bits extrahieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

BEXTR - Bitfeld-Extraktion: Aufeinanderfolgende Bits extrahieren

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

BEXTR reg, reg/mem, reg/imm

Beschreibung

Category: Bit Operations

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

BEXTR - Bitfeld-Extraktion: Aufeinanderfolgende Bits extrahieren. Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem, reg/imm.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem, reg | may read or write memory; uses a general-purpose register
imm | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    bextr eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! bextr eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

BEXTR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BEXTR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BLSI - Niedrigstes gesetztes Bit isolieren: dst = src & -src - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

BLSI - Niedrigstes gesetztes Bit isolieren: dst = src & -src

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

BLSI reg, reg/mem

Beschreibung

Category: Bit Operations

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

BLSI - Niedrigstes gesetztes Bit isolieren: dst = src & -src. Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    blsi eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! blsi eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

BLSI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BLSI ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BLSR - Niedrigstes gesetztes Bit zurücksetzen: dst = src & (src-1) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

BLSR - Niedrigstes gesetztes Bit zurücksetzen: dst = src & (src-1)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

BLSR reg, reg/mem

Beschreibung

Category: Bit Operations

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

BLSR - Niedrigstes gesetztes Bit zurücksetzen: dst = src & (src-1). Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    blsr eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! blsr eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

BLSR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BLSR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CDQE - Doppelwort (EAX) in Quadwort (RAX) mit Vorzeichenerweiterung umwandeln - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

CDQE - Doppelwort (EAX) in Quadwort (RAX) mit Vorzeichenerweiterung umwandeln

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

CDQE keiner

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CDQE - Doppelwort (EAX) in Quadwort (RAX) mit Vorzeichenerweiterung umwandeln. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    cdqe operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cdqe operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CDQE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CDQE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CMOVNO - Nicht überlaufen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

CMOVNO - Nicht überlaufen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

CMOVNO OF=0

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CMOVNO - Nicht überlaufen. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen OF=0.

Operands and Sizes

Form | Meaning
OF=0 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    cmovno operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cmovno operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CMOVNO ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMOVNO ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CMOVNS - Nicht signieren (nicht negativ) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

CMOVNS - Nicht signieren (nicht negativ)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

CMOVNS SF=0

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CMOVNS - Nicht signieren (nicht negativ). Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen SF=0.

Operands and Sizes

Form | Meaning
SF=0 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    cmovns operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cmovns operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CMOVNS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMOVNS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CMOVO - Überlauf - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

CMOVO - Überlauf

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

CMOVO OF=1

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CMOVO - Überlauf. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen OF=1.

Operands and Sizes

Form | Meaning
OF=1 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    cmovo operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cmovo operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CMOVO ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMOVO ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CMOVS - Vorzeichen (negativ) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

CMOVS - Vorzeichen (negativ)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

CMOVS SF=1

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CMOVS - Vorzeichen (negativ). Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen SF=1.

Operands and Sizes

Form | Meaning
SF=1 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    cmovs operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cmovs operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CMOVS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMOVS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CMPXCHG16B - Vergleichen und tauschen Sie 16 Bytes (atomar, benötigt LOCK) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

CMPXCHG16B - Vergleichen und tauschen Sie 16 Bytes (atomar, benötigt LOCK)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

CMPXCHG16B mem128

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CMPXCHG16B - Vergleichen und tauschen Sie 16 Bytes (atomar, benötigt LOCK). Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen mem128.

Operands and Sizes

Form | Meaning
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    cmpxchg16b [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cmpxchg16b [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CMPXCHG16B ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMPXCHG16B ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CMPXCHG8B - Vergleichen und tauschen Sie 8 Bytes (atomar) aus - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

CMPXCHG8B - Vergleichen und tauschen Sie 8 Bytes (atomar) aus

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

CMPXCHG8B mem64

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CMPXCHG8B - Vergleichen und tauschen Sie 8 Bytes (atomar) aus. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen mem64.

Operands and Sizes

Form | Meaning
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    cmpxchg8b [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cmpxchg8b [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CMPXCHG8B ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMPXCHG8B ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← CMPXCHG16B - Vergleichen und tauschen Sie 16 Bytes (atomar, benötigt LOCK) Nach oben CWDE - Wandeln Sie Wort (AX) in Doppelwort (EAX) mit Vorzeichenerweiterung um →


CWDE - Wandeln Sie Wort (AX) in Doppelwort (EAX) mit Vorzeichenerweiterung um - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

CWDE - Wandeln Sie Wort (AX) in Doppelwort (EAX) mit Vorzeichenerweiterung um

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

CWDE keiner

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CWDE - Wandeln Sie Wort (AX) in Doppelwort (EAX) mit Vorzeichenerweiterung um. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    cwde operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cwde operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CWDE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CWDE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


EMMS - Leerer MMX-Status (MMX/x87-Tag-Wort löschen) FEMMS - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

EMMS - Leerer MMX-Status (MMX/x87-Tag-Wort löschen) FEMMS

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

EMMS Schnelles EMMS (AMD, löscht weniger Register)

Beschreibung

Category: Bit Operations

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

EMMS - Leerer MMX-Status (MMX/x87-Tag-Wort löschen) FEMMS. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen Schnelles EMMS (AMD, löscht weniger Register).

Operands and Sizes

Form | Meaning
Schnelles EMMS (AMD, löscht weniger Register) | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    emms eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! emms eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

EMMS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

EMMS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ENDBR32 - Ende der Verzweigung (32-Bit) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

ENDBR32 - Ende der Verzweigung (32-Bit)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

ENDBR32 F3 0F 1E FB

Beschreibung

Category: Bit Operations

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ENDBR32 - Ende der Verzweigung (32-Bit). Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen F3 0F 1E FB.

Operands and Sizes

Form | Meaning
F3 0F 1E FB | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    endbr32 operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! endbr32 operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ENDBR32 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ENDBR32 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ENDBR64 - Ende der Verzweigung (64-Bit, an Verzweigungszielen) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

ENDBR64 - Ende der Verzweigung (64-Bit, an Verzweigungszielen)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

ENDBR64 F3 0F 1E FA

Beschreibung

Category: Bit Operations

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ENDBR64 - Ende der Verzweigung (64-Bit, an Verzweigungszielen). Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen F3 0F 1E FA.

Operands and Sizes

Form | Meaning
F3 0F 1E FA | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    endbr64 operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! endbr64 operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ENDBR64 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ENDBR64 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FCHS - Vorzeichen ändern (negieren) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

FCHS - Vorzeichen ändern (negieren)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

FCHS keiner

Beschreibung

Category: Bit Operations

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FCHS - Vorzeichen ändern (negieren). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fchs operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fchs operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FCHS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FCHS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FCOM - Vergleichen Sie ST0 mit src (stellt das FPU-Statuswort C0/C2/C3 ein) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

FCOM - Vergleichen Sie ST0 mit src (stellt das FPU-Statuswort C0/C2/C3 ein)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

FCOM mem32/64 / ST(i)

Beschreibung

Category: Bit Operations

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FCOM - Vergleichen Sie ST0 mit src (stellt das FPU-Statuswort C0/C2/C3 ein). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem32/64 / ST(i).

Operands and Sizes

Form | Meaning
mem32 | may read or write memory
64 | follow the operand order shown in the syntax
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fcom [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fcom [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FCOM ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FCOM ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


FLDCW - FPU-Steuerwort laden - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

FLDCW - FPU-Steuerwort laden

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

FLDCW mem16

Beschreibung

Category: Bit Operations

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FLDCW - FPU-Steuerwort laden. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem16.

Operands and Sizes

Form | Meaning
mem16 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fldcw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fldcw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FLDCW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FLDCW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FSTCW - FPU-Steuerwort speichern - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

FSTCW - FPU-Steuerwort speichern

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

FSTCW mem16

Beschreibung

Category: Bit Operations

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FSTCW - FPU-Steuerwort speichern. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem16.

Operands and Sizes

Form | Meaning
mem16 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fstcw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fstcw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FSTCW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FSTCW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FSTSW - FPU-Statuswort speichern - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

FSTSW - FPU-Statuswort speichern

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

FSTSW mem16 / AX

Beschreibung

Category: Bit Operations

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FSTSW - FPU-Statuswort speichern. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem16 / AX.

Operands and Sizes

Form | Meaning
mem16 | may read or write memory
AX | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fstsw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fstsw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FSTSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FSTSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FUCOM - Ungeordneter Vergleich (keine Ausnahme bei NaN) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

FUCOM - Ungeordneter Vergleich (keine Ausnahme bei NaN)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

FUCOM ST(i)

Beschreibung

Category: Bit Operations

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FUCOM - Ungeordneter Vergleich (keine Ausnahme bei NaN). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i).

Operands and Sizes

Form | Meaning
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fucom operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fucom operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FUCOM ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FUCOM ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


FUCOMP - Ungeordneter Vergleich und Pop - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

FUCOMP - Ungeordneter Vergleich und Pop

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

FUCOMP ST(i)

Beschreibung

Category: Bit Operations

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FUCOMP - Ungeordneter Vergleich und Pop. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i).

Operands and Sizes

Form | Meaning
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fucomp operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fucomp operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FUCOMP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FUCOMP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


FUCOMPP - Ungeordneter Vergleich und zweimal Pop - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

FUCOMPP - Ungeordneter Vergleich und zweimal Pop

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

FUCOMPP keiner

Beschreibung

Category: Bit Operations

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FUCOMPP - Ungeordneter Vergleich und zweimal Pop. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fucompp operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fucompp operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FUCOMPP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FUCOMPP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


FXAM - Untersuchen Sie ST0 (NaN, normal, denormal, Null usw.) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

FXAM - Untersuchen Sie ST0 (NaN, normal, denormal, Null usw.)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

FXAM keiner

Beschreibung

Category: Bit Operations

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FXAM - Untersuchen Sie ST0 (NaN, normal, denormal, Null usw.). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fxam operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fxam operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FXAM ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FXAM ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FXTRACT - Extrahieren Sie Exponent und Signifikand - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

FXTRACT - Extrahieren Sie Exponent und Signifikand

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

FXTRACT keiner

Beschreibung

Category: Bit Operations

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FXTRACT - Extrahieren Sie Exponent und Signifikand. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fxtract operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fxtract operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FXTRACT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FXTRACT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GF2P8AFFINEINVQB - Galois-Feld-Affintransformation invers (älteres SSE) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

GF2P8AFFINEINVQB - Galois-Feld-Affintransformation invers (älteres SSE)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

GF2P8AFFINEINVQB xmm, xmm/mem128, imm8

Beschreibung

Category: Bit Operations

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

GF2P8AFFINEINVQB - Galois-Feld-Affintransformation invers (älteres SSE). Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    gf2p8affineinvqb xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! gf2p8affineinvqb xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

GF2P8AFFINEINVQB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

GF2P8AFFINEINVQB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GF2P8AFFINEQB - Galois-Feld-Affintransformation (altes SSE) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

GF2P8AFFINEQB - Galois-Feld-Affintransformation (altes SSE)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

GF2P8AFFINEQB xmm, xmm/mem128, imm8

Beschreibung

Category: Bit Operations

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

GF2P8AFFINEQB - Galois-Feld-Affintransformation (altes SSE). Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    gf2p8affineqb xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! gf2p8affineqb xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

GF2P8AFFINEQB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

GF2P8AFFINEQB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


HLT - Prozessor bis zum nächsten Interrupt anhalten - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

HLT - Prozessor bis zum nächsten Interrupt anhalten

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

HLT keiner

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

HLT - Prozessor bis zum nächsten Interrupt anhalten. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    hlt operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! hlt operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

HLT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

HLT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


IN - Eingabe vom I/O-Port - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

IN - Eingabe vom I/O-Port

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

IN AL/AX/EAX, DX/imm8

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

IN - Eingabe vom I/O-Port. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen AL/AX/EAX, DX/imm8.

Operands and Sizes

Form | Meaning
AL | follow the operand order shown in the syntax
AX | follow the operand order shown in the syntax
EAX, DX | follow the operand order shown in the syntax
imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    in operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! in operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

IN ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

IN ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


INVVPID - VPID (Virtuelle Prozessor-ID) ungültig machen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

INVVPID - VPID (Virtuelle Prozessor-ID) ungültig machen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

INVVPID reg, mem128

Beschreibung

Category: Bit Operations

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

INVVPID - VPID (Virtuelle Prozessor-ID) ungültig machen. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen reg, mem128.

Operands and Sizes

Form | Meaning
reg, mem128 | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    invvpid eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! invvpid eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

INVVPID ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

INVVPID ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


JNO - Springe, wenn nicht überlaufen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

JNO - Springe, wenn nicht überlaufen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

JNO OF=0

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

JNO - Springe, wenn nicht überlaufen. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen OF=0.

Operands and Sizes

Form | Meaning
OF=0 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    jno operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! jno operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

JNO ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

JNO ist eine control-transfer Instruktion fuer control flow. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


JNS - Springen Sie, wenn Sie nicht unterschreiben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

JNS - Springen Sie, wenn Sie nicht unterschreiben

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

JNS SF=0

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

JNS - Springen Sie, wenn Sie nicht unterschreiben. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen SF=0.

Operands and Sizes

Form | Meaning
SF=0 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    jns operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! jns operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

JNS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

JNS ist eine control-transfer Instruktion fuer control flow. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


JO - Bei Überlauf springen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

JO - Bei Überlauf springen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

JO OF=1

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

JO - Bei Überlauf springen. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen OF=1.

Operands and Sizes

Form | Meaning
OF=1 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    jo operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! jo operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

JO ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

JO ist eine control-transfer Instruktion fuer control flow. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


JS - Springe, wenn Vorzeichen (negativ) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

JS - Springe, wenn Vorzeichen (negativ)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

JS SF=1

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

JS - Springe, wenn Vorzeichen (negativ). Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen SF=1.

Operands and Sizes

Form | Meaning
SF=1 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    js operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! js operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

JS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

JS ist eine control-transfer Instruktion fuer control flow. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LAR - Zugriffsrechte laden (Segmentdeskriptor) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

LAR - Zugriffsrechte laden (Segmentdeskriptor)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

LAR reg, reg/mem16

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

LAR - Zugriffsrechte laden (Segmentdeskriptor). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem16.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem16 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    lar eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! lar eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

LAR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LAR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LDDQU - Laden Sie nicht ausgerichtete 128-Bit-Dateien (vermeidet die Aufteilung der Cache-Zeile) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

LDDQU - Laden Sie nicht ausgerichtete 128-Bit-Dateien (vermeidet die Aufteilung der Cache-Zeile)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

LDDQU xmm, mem128

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

LDDQU - Laden Sie nicht ausgerichtete 128-Bit-Dateien (vermeidet die Aufteilung der Cache-Zeile). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, mem128.

Operands and Sizes

Form | Meaning
xmm, mem128 | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    lddqu xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! lddqu xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

LDDQU ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LDDQU ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LGDT - Laden Sie das Global Descriptor Table-Register - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

LGDT - Laden Sie das Global Descriptor Table-Register

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

LGDT mem80 (Pseudo-Deskriptor)

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

LGDT - Laden Sie das Global Descriptor Table-Register. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen mem80 (Pseudo-Deskriptor).

Operands and Sizes

Form | Meaning
mem80 (Pseudo-Deskriptor) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    lgdt [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! lgdt [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

LGDT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LGDT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← LDDQU - Laden Sie nicht ausgerichtete 128-Bit-Dateien (vermeidet die Aufteilung der Cache-Zeile) Nach oben LIDT - Interrupt-Deskriptor-Tabellenregister laden →


LIDT - Interrupt-Deskriptor-Tabellenregister laden - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

LIDT - Interrupt-Deskriptor-Tabellenregister laden

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

LIDT mem80

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

LIDT - Interrupt-Deskriptor-Tabellenregister laden. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen mem80.

Operands and Sizes

Form | Meaning
mem80 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    lidt [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! lidt [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

LIDT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LIDT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LLDT - Laden Sie das Register der lokalen Deskriptortabelle - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

LLDT - Laden Sie das Register der lokalen Deskriptortabelle

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

LLDT reg/mem16/64

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

LLDT - Laden Sie das Register der lokalen Deskriptortabelle. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg/mem16/64.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem16 | may read or write memory
64 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    lldt eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! lldt eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

LLDT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LLDT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LMSW - Maschinenstatuswort laden - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

LMSW - Maschinenstatuswort laden

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

LMSW reg/mem16/64

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

LMSW - Maschinenstatuswort laden. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg/mem16/64.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem16 | may read or write memory
64 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    lmsw eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! lmsw eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

LMSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LMSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LOOP - CX/ECX/RCX dekrementieren, springen, wenn nicht Null - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

LOOP - CX/ECX/RCX dekrementieren, springen, wenn nicht Null

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

LOOP Etikett

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

LOOP - CX/ECX/RCX dekrementieren, springen, wenn nicht Null. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen Etikett.

Operands and Sizes

Form | Meaning
Etikett | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    loop operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! loop operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

LOOP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LOOP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LZCNT - Führende Nullen zählen - BMI1 (über F3 0F BD) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

LZCNT - Führende Nullen zählen - BMI1 (über F3 0F BD)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

LZCNT reg, reg/mem

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

LZCNT - Führende Nullen zählen – BMI1 (über F3 0F BD). Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    lzcnt eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! lzcnt eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

LZCNT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LZCNT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MONITORX - Erweiterter MONITOR - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

MONITORX - Erweiterter MONITOR

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

MONITORX keiner

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MONITORX - Erweiterter MONITOR. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    monitorx operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! monitorx operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MONITORX ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MONITORX ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVABS - 64-Bit-Absolutwert verschieben (Alias ​​auf MOV mit imm64) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

MOVABS - 64-Bit-Absolutwert verschieben (Alias ​​auf MOV mit imm64)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

MOVABS reg64, imm64

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVABS - 64-Bit-Absolutwert verschieben (Alias ​​auf MOV mit imm64). Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen reg64, imm64.

Operands and Sizes

Form | Meaning
reg64, imm64 | may read or write memory; uses an immediate control byte or value; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    movabs eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movabs eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVABS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVABS ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVBE - Verschieben mit Big-Endian-Konvertierung (Laden/Speichern) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

MOVBE - Verschieben mit Big-Endian-Konvertierung (Laden/Speichern)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

MOVBE reg, mem / mem, reg

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVBE - Verschieben mit Big-Endian-Konvertierung (Laden/Speichern). Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen reg, mem / mem, reg.

Operands and Sizes

Form | Meaning
reg, mem | may read or write memory; uses a general-purpose register
mem, reg | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    movbe eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movbe eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVBE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVBE ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← MOVABS - 64-Bit-Absolutwert verschieben (Alias ​​auf MOV mit imm64) Nach oben MOVDQ2Q - Verschieben Sie XMM in das MMX-Register (niedriges Quadwort). →


MOVDQ2Q - Verschieben Sie XMM in das MMX-Register (niedriges Quadwort). - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

MOVDQ2Q - Verschieben Sie XMM in das MMX-Register (niedriges Quadwort).

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

MOVDQ2Q mm, xmm

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVDQ2Q - Verschieben Sie XMM in das MMX-Register (niedriges Quadwort).. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen mm, xmm.

Operands and Sizes

Form | Meaning
mm, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    movdq2q xmm0, xmm1
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movdq2q xmm0, xmm1
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVDQ2Q ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVDQ2Q ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← MOVBE - Verschieben mit Big-Endian-Konvertierung (Laden/Speichern) Nach oben MOVDQA - Ausgerichtetes Doppelquadwort verschieben (16-Byte-ausgerichtet) →


MOVDQA - Ausgerichtetes Doppelquadwort verschieben (16-Byte-ausgerichtet) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

MOVDQA - Ausgerichtetes Doppelquadwort verschieben (16-Byte-ausgerichtet)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

MOVDQA xmm, xmm/mem128 / mem128, xmm

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVDQA - Ausgerichtetes Doppelquadwort verschieben (16-Byte-ausgerichtet). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128 / mem128, xmm.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory
mem128, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    movdqa xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movdqa xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVDQA ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVDQA ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVNTDQ - Nicht-temporärer Speicher von 128 Bit (SSE2) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

MOVNTDQ - Nicht-temporärer Speicher von 128 Bit (SSE2)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

MOVNTDQ mem128, xmm

Beschreibung

Category: Bit Operations

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVNTDQ - Nicht-temporärer Speicher von 128 Bit (SSE2). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem128, xmm.

Operands and Sizes

Form | Meaning
mem128, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    movntdq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movntdq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVNTDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVNTDQ ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVNTDQA - Nicht-temporäre Last (Streaming-Lasthinweis, SSE4.1) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

MOVNTDQA - Nicht-temporäre Last (Streaming-Lasthinweis, SSE4.1)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

MOVNTDQA xmm, mem128

Beschreibung

Category: Bit Operations

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVNTDQA - Nicht-temporäre Last (Streaming-Lasthinweis, SSE4.1). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen xmm, mem128.

Operands and Sizes

Form | Meaning
xmm, mem128 | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    movntdqa xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movntdqa xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVNTDQA ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVNTDQA ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVNTI - Nicht-temporäre Speicherung von Ganzzahlen (dword/qword) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

MOVNTI - Nicht-temporäre Speicherung von Ganzzahlen (dword/qword)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

MOVNTI mem32/64, reg

Beschreibung

Category: Bit Operations

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVNTI - Nicht-temporäre Speicherung von Ganzzahlen (dword/qword). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem32/64, reg.

Operands and Sizes

Form | Meaning
mem32 | may read or write memory
64, reg | uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    movnti eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movnti eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVNTI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVNTI ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVQ2DQ - MMX in das XMM-Register verschieben (niedriges Quadword) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

MOVQ2DQ - MMX in das XMM-Register verschieben (niedriges Quadword)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

MOVQ2DQ xmm, mm

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVQ2DQ - MMX in das XMM-Register verschieben (niedriges Quadword). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, mm.

Operands and Sizes

Form | Meaning
xmm, mm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    movq2dq xmm0, xmm1
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movq2dq xmm0, xmm1
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVQ2DQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVQ2DQ ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVSXD - Mit Vorzeichenerweiterung verschieben (32-Bit auf 64-Bit) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

MOVSXD - Mit Vorzeichenerweiterung verschieben (32-Bit auf 64-Bit)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

MOVSXD reg64, reg/mem32

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVSXD - Mit Vorzeichenerweiterung verschieben (32-Bit auf 64-Bit). Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen reg64, reg/mem32.

Operands and Sizes

Form | Meaning
reg64, reg | uses a general-purpose register
mem32 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    movsxd eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movsxd eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVSXD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVSXD ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVZX - Bewegen Sie sich ohne Verlängerung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

MOVZX - Bewegen Sie sich ohne Verlängerung

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

MOVZX reg, reg/mem

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVZX - Bewegen Sie sich ohne Verlängerung. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    movzx eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movzx eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVZX ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVZX ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MPSADBW - Mehrfachsumme absoluter Differenzen (8-Bit) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

MPSADBW - Mehrfachsumme absoluter Differenzen (8-Bit)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

MPSADBW xmm, xmm/mem128, imm8

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MPSADBW - Mehrfachsumme absoluter Differenzen (8-Bit). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    mpsadbw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! mpsadbw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MPSADBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MPSADBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MWAIT - Überwachen und warten Sie auf Schreibvorgänge - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

MWAIT - Überwachen und warten Sie auf Schreibvorgänge

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

MWAIT keine (verwendet EAX/ECX)

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MWAIT - Überwachen und warten Sie auf Schreibvorgänge. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keine (verwendet EAX/ECX).

Operands and Sizes

Form | Meaning
keine (verwendet EAX | follow the operand order shown in the syntax
ECX) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    mwait operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! mwait operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MWAIT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MWAIT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


OUT - Ausgabe an den I/O-Port - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

OUT - Ausgabe an den I/O-Port

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

OUT DX/imm8, AL/AX/EAX

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

OUT - Ausgabe an den I/O-Port. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen DX/imm8, AL/AX/EAX.

Operands and Sizes

Form | Meaning
DX | follow the operand order shown in the syntax
imm8, AL | may read or write memory; uses an immediate control byte or value
AX | follow the operand order shown in the syntax
EAX | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    out operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! out operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

OUT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

OUT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PCLMULQDQ - Übertragsfreie Multiplikation zweier 64-Bit-Hälften - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PCLMULQDQ - Übertragsfreie Multiplikation zweier 64-Bit-Hälften

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PCLMULQDQ xmm, xmm/mem128, imm8

Beschreibung

Category: Bit Operations

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PCLMULQDQ - Übertragsfreie Multiplikation zweier 64-Bit-Hälften. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pclmulqdq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pclmulqdq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PCLMULQDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PCLMULQDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PEXTRD - Doppelwort extrahieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PEXTRD - Doppelwort extrahieren

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PEXTRD reg/mem32, xmm, imm8

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PEXTRD - Doppelwort extrahieren. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen reg/mem32, xmm, imm8.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem32, xmm, imm8 | uses XMM vector/scalar registers; may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    pextrd xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pextrd xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PEXTRD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PEXTRD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PEXTRQ - Quadword extrahieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PEXTRQ - Quadword extrahieren

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PEXTRQ reg/mem64, xmm, imm8

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PEXTRQ - Quadword extrahieren. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen reg/mem64, xmm, imm8.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem64, xmm, imm8 | uses XMM vector/scalar registers; may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    pextrq xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pextrq xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PEXTRQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PEXTRQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PINSRD - Doppelwort einfügen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PINSRD - Doppelwort einfügen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PINSRD xmm, reg/mem32, imm8

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PINSRD - Doppelwort einfügen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, reg/mem32, imm8.

Operands and Sizes

Form | Meaning
xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem32, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    pinsrd xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pinsrd xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PINSRD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PINSRD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PINSRQ - Quadword einfügen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PINSRQ - Quadword einfügen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PINSRQ xmm, reg/mem64, imm8

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PINSRQ - Quadword einfügen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, reg/mem64, imm8.

Operands and Sizes

Form | Meaning
xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem64, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    pinsrq xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pinsrq xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PINSRQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PINSRQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMOVSXBD - Verschieben Sie mit Vorzeichenerweiterung Bytes in Doppelwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PMOVSXBD - Verschieben Sie mit Vorzeichenerweiterung Bytes in Doppelwörter

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PMOVSXBD xmm, xmm/mem32

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMOVSXBD - Verschieben Sie mit Vorzeichenerweiterung Bytes in Doppelwörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem32.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem32 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    pmovsxbd xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmovsxbd xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMOVSXBD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMOVSXBD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMOVSXBQ - Verschieben Sie mit Vorzeichenerweiterung Bytes in Quadwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PMOVSXBQ - Verschieben Sie mit Vorzeichenerweiterung Bytes in Quadwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PMOVSXBQ xmm, xmm/mem16

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMOVSXBQ - Verschieben Sie mit Vorzeichenerweiterung Bytes in Quadwords. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem16.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem16 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pmovsxbq xmm0, xmm1
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmovsxbq xmm0, xmm1
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMOVSXBQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMOVSXBQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PMOVSXBD - Verschieben Sie mit Vorzeichenerweiterung Bytes in Doppelwörter Nach oben PMOVSXBW - Bewegen Sie sich mit Vorzeichenerweiterung, Bytes zu Wörtern →


PMOVSXBW - Bewegen Sie sich mit Vorzeichenerweiterung, Bytes zu Wörtern - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PMOVSXBW - Bewegen Sie sich mit Vorzeichenerweiterung, Bytes zu Wörtern

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PMOVSXBW xmm, xmm/mem64

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMOVSXBW - Bewegen Sie sich mit Vorzeichenerweiterung, Bytes zu Wörtern. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem64.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    pmovsxbw xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmovsxbw xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMOVSXBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMOVSXBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PMOVSXBQ - Verschieben Sie mit Vorzeichenerweiterung Bytes in Quadwords Nach oben PMOVSXDQ - Bewegen Sie sich mit Vorzeichenerweiterung, Doppelwörter zu Quadwörtern →


PMOVSXDQ - Bewegen Sie sich mit Vorzeichenerweiterung, Doppelwörter zu Quadwörtern - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PMOVSXDQ - Bewegen Sie sich mit Vorzeichenerweiterung, Doppelwörter zu Quadwörtern

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PMOVSXDQ xmm, xmm/mem64

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMOVSXDQ - Bewegen Sie sich mit Vorzeichenerweiterung, Doppelwörter zu Quadwörtern. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem64.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    pmovsxdq xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmovsxdq xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMOVSXDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMOVSXDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PMOVSXBW - Bewegen Sie sich mit Vorzeichenerweiterung, Bytes zu Wörtern Nach oben PMOVZXBQ - Verschieben Sie Bytes mit der Erweiterung Null in Quadwords →


PMOVZXBQ - Verschieben Sie Bytes mit der Erweiterung Null in Quadwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PMOVZXBQ - Verschieben Sie Bytes mit der Erweiterung Null in Quadwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PMOVZXBQ xmm, xmm/mem16

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMOVZXBQ - Verschieben Sie Bytes mit der Erweiterung Null in Quadwords. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem16.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem16 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pmovzxbq xmm0, xmm1
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmovzxbq xmm0, xmm1
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMOVZXBQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMOVZXBQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PMOVSXDQ - Bewegen Sie sich mit Vorzeichenerweiterung, Doppelwörter zu Quadwörtern Nach oben PMULUDQ - Multiplizieren Sie ein vorzeichenloses Doppelwort mit einem Quadwort →


PMULUDQ - Multiplizieren Sie ein vorzeichenloses Doppelwort mit einem Quadwort - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PMULUDQ - Multiplizieren Sie ein vorzeichenloses Doppelwort mit einem Quadwort

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PMULUDQ xmm, xmm/mem128

Beschreibung

Category: Bit Operations

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMULUDQ - Multiplizieren Sie ein vorzeichenloses Doppelwort mit einem Quadwort. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pmuludq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmuludq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMULUDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMULUDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PMOVZXBQ - Verschieben Sie Bytes mit der Erweiterung Null in Quadwords Nach oben PREFETCHH - Daten auf der angegebenen Hinweisebene vorab in den Cache abrufen →


PREFETCHH - Daten auf der angegebenen Hinweisebene vorab in den Cache abrufen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PREFETCHH - Daten auf der angegebenen Hinweisebene vorab in den Cache abrufen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PREFETCHH mem8

Beschreibung

Category: Bit Operations

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PREFETCHH - Daten auf der angegebenen Hinweisebene vorab in den Cache abrufen. Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem8.

Operands and Sizes

Form | Meaning
mem8 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    prefetchh [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! prefetchh [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PREFETCHH ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PREFETCHH ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PMULUDQ - Multiplizieren Sie ein vorzeichenloses Doppelwort mit einem Quadwort Nach oben PREFETCHNTA - Vorababruf in den L1-Datencache (nicht temporär, minimale Verschmutzung) →


PREFETCHNTA - Vorababruf in den L1-Datencache (nicht temporär, minimale Verschmutzung) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PREFETCHNTA - Vorababruf in den L1-Datencache (nicht temporär, minimale Verschmutzung)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PREFETCHNTA mem8

Beschreibung

Category: Bit Operations

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PREFETCHNTA - Vorababruf in den L1-Datencache (nicht temporär, minimale Verschmutzung). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem8.

Operands and Sizes

Form | Meaning
mem8 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    prefetchnta [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! prefetchnta [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PREFETCHNTA ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PREFETCHNTA ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PREFETCHT0 - Vorabruf in alle Cache-Ebenen (L1, L2, L3) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PREFETCHT0 - Vorabruf in alle Cache-Ebenen (L1, L2, L3)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PREFETCHT0 mem8

Beschreibung

Category: Bit Operations

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PREFETCHT0 - Vorabruf in alle Cache-Ebenen (L1, L2, L3). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem8.

Operands and Sizes

Form | Meaning
mem8 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    prefetcht0 [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! prefetcht0 [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PREFETCHT0 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PREFETCHT0 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PREFETCHT2 - Nur in L3 vorabholen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PREFETCHT2 - Nur in L3 vorabholen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PREFETCHT2 mem8

Beschreibung

Category: Bit Operations

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PREFETCHT2 - Nur in L3 vorabholen. Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem8.

Operands and Sizes

Form | Meaning
mem8 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    prefetcht2 [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! prefetcht2 [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PREFETCHT2 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PREFETCHT2 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PUSHQ - Push QWORD (impliziter 64-Bit-Push) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

PUSHQ - Push QWORD (impliziter 64-Bit-Push)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

PUSHQ imm32

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PUSHQ - Push QWORD (impliziter 64-Bit-Push). Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen imm32.

Operands and Sizes

Form | Meaning
imm32 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pushq operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pushq operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PUSHQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PUSHQ ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RCR - Nach rechts drehen durch Tragen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

RCR - Nach rechts drehen durch Tragen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

RCR reg/mem, imm8/CL

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RCR - Nach rechts drehen durch Tragen. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen reg/mem, imm8/CL.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem, imm8 | may read or write memory; uses an immediate control byte or value
CL | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    rcr eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rcr eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RCR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RCR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RDTSCP - TSC + Prozessor-ID lesen (gibt EDX:EAX, ECX=IA32_TSC_AUX zurück) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

RDTSCP - TSC + Prozessor-ID lesen (gibt EDX:EAX, ECX=IA32_TSC_AUX zurück)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

RDTSCP keiner

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RDTSCP - TSC + Prozessor-ID lesen (gibt EDX:EAX, ECX=IA32_TSC_AUX zurück). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    rdtscp operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rdtscp operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RDTSCP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RDTSCP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RETF - Far Return (wird in x64 nicht verwendet) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

RETF - Far Return (wird in x64 nicht verwendet)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

RETF keine / imm16

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RETF - Far Return (wird in x64 nicht verwendet). Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen keine / imm16.

Operands and Sizes

Form | Meaning
keine | follow the operand order shown in the syntax
imm16 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    retf operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! retf operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RETF ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RETF ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ROL - Nach links drehen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

ROL - Nach links drehen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

ROL reg/mem, imm8/CL

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ROL - Nach links drehen. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen reg/mem, imm8/CL.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem, imm8 | may read or write memory; uses an immediate control byte or value
CL | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    rol eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rol eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ROL ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ROL ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ROR - Nach rechts drehen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

ROR - Nach rechts drehen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

ROR reg/mem, imm8/CL

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ROR - Nach rechts drehen. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen reg/mem, imm8/CL.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem, imm8 | may read or write memory; uses an immediate control byte or value
CL | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    ror eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! ror eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ROR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ROR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SAVEPREVSSP - Speichern Sie den vorherigen Schattenstapelzeiger - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

SAVEPREVSSP - Speichern Sie den vorherigen Schattenstapelzeiger

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

SAVEPREVSSP keiner

Beschreibung

Category: Bit Operations

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SAVEPREVSSP - Speichern Sie den vorherigen Schattenstapelzeiger. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    saveprevssp operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! saveprevssp operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SAVEPREVSSP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SAVEPREVSSP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SGDT - Speichern Sie das globale Deskriptortabellenregister - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

SGDT - Speichern Sie das globale Deskriptortabellenregister

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

SGDT mem80 (Pseudo-Deskriptor)

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SGDT - Speichern Sie das globale Deskriptortabellenregister. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen mem80 (Pseudo-Deskriptor).

Operands and Sizes

Form | Meaning
mem80 (Pseudo-Deskriptor) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    sgdt [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sgdt [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SGDT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SGDT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHLD - Doppelte Präzisionsverschiebung nach links - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

SHLD - Doppelte Präzisionsverschiebung nach links

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

SHLD reg/mem, reg, imm8/CL

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SHLD - Doppelte Präzisionsverschiebung nach links. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen reg/mem, reg, imm8/CL.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem, reg, imm8 | may read or write memory; uses an immediate control byte or value; uses a general-purpose register
CL | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    shld eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! shld eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SHLD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHLD ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHRD - Doppelte Präzisionsverschiebung nach rechts - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

SHRD - Doppelte Präzisionsverschiebung nach rechts

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

SHRD reg/mem, reg, imm8/CL

Beschreibung

Category: Bit Operations

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SHRD - Doppelte Präzisionsverschiebung nach rechts. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen reg/mem, reg, imm8/CL.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem, reg, imm8 | may read or write memory; uses an immediate control byte or value; uses a general-purpose register
CL | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    shrd eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! shrd eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SHRD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHRD ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SIDT - Speichern Sie das Interrupt-Deskriptortabellenregister - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

SIDT - Speichern Sie das Interrupt-Deskriptortabellenregister

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

SIDT mem80

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SIDT - Speichern Sie das Interrupt-Deskriptortabellenregister. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen mem80.

Operands and Sizes

Form | Meaning
mem80 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    sidt [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sidt [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SIDT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SIDT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SLDT - Lokales Deskriptortabellenregister speichern - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

SLDT - Lokales Deskriptortabellenregister speichern

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

SLDT reg/mem16/64

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SLDT - Lokales Deskriptortabellenregister speichern. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg/mem16/64.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem16 | may read or write memory
64 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    sldt eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sldt eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SLDT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SLDT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SMSW - Speichern Sie das Maschinenstatuswort (CR0, niedrige 16 Bits) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

SMSW - Speichern Sie das Maschinenstatuswort (CR0, niedrige 16 Bits)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

SMSW reg/mem16/64

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SMSW - Speichern Sie das Maschinenstatuswort (CR0, niedrige 16 Bits). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg/mem16/64.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem16 | may read or write memory
64 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    smsw eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! smsw eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SMSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SMSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UD1 - Undefinierte Anweisung (Formular mit zwei Operanden) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

UD1 - Undefinierte Anweisung (Formular mit zwei Operanden)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

UD1 reg, reg/mem

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

UD1 - Undefinierte Anweisung (Formular mit zwei Operanden). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    ud1 eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! ud1 eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

UD1 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

UD1 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UMONITOR - MONITOR auf Benutzerebene - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

UMONITOR - MONITOR auf Benutzerebene

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

UMONITOR reg

Beschreibung

Category: Bit Operations

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

UMONITOR - MONITOR auf Benutzerebene. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    umonitor eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! umonitor eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

UMONITOR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

UMONITOR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VALIGND - Dwords ausrichten (verketten und verschieben) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VALIGND - Dwords ausrichten (verketten und verschieben)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VALIGND zmm, zmm, zmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VALIGND - Dwords ausrichten (verketten und verschieben). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    valignd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! valignd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VALIGND ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VALIGND ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VALIGNQ - Qwords ausrichten (verketten und verschieben) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VALIGNQ - Qwords ausrichten (verketten und verschieben)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VALIGNQ zmm, zmm, zmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VALIGNQ - Qwords ausrichten (verketten und verschieben). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    valignq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! valignq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VALIGNQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VALIGNQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFIXUPIMMSD - Skalar-Double reparieren (NaN-Handhabung) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VFIXUPIMMSD - Skalar-Double reparieren (NaN-Handhabung)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VFIXUPIMMSD xmm, xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFIXUPIMMSD - Skalar-Double reparieren (NaN-Handhabung). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfixupimmsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfixupimmsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFIXUPIMMSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFIXUPIMMSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFIXUPIMMSS - Skalar-Single reparieren (NaN-Handhabung) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VFIXUPIMMSS - Skalar-Single reparieren (NaN-Handhabung)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VFIXUPIMMSS xmm, xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFIXUPIMMSS - Skalar-Single reparieren (NaN-Handhabung). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfixupimmss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfixupimmss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFIXUPIMMSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFIXUPIMMSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGATHERDPD - Gather double with dword indices - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VGATHERDPD - Gather double with dword indices

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VGATHERDPD ymm/xmm, mem, ymm/xmm

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGATHERDPD - Gather double with dword indices. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgatherdpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgatherdpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGATHERDPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGATHERDPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGATHERDPS - Gather single with dword indices - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VGATHERDPS - Gather single with dword indices

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VGATHERDPS ymm/xmm, mem, ymm/xmm

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGATHERDPS - Gather single with dword indices. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgatherdps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgatherdps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGATHERDPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGATHERDPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGATHERQPD - Gather double with qword indices - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VGATHERQPD - Gather double with qword indices

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VGATHERQPD ymm/xmm, mem, ymm/xmm

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGATHERQPD - Gather double with qword indices. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgatherqpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgatherqpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGATHERQPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGATHERQPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGATHERQPS - Gather single with qword indices - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VGATHERQPS - Gather single with qword indices

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VGATHERQPS ymm/xmm, mem, ymm/xmm

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGATHERQPS - Gather single with qword indices. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgatherqps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgatherqps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGATHERQPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGATHERQPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGETMANTPD - Extrahieren Sie die normalisierte Mantisse aus dem Doppelten - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VGETMANTPD - Extrahieren Sie die normalisierte Mantisse aus dem Doppelten

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VGETMANTPD zmm, zmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGETMANTPD - Extrahieren Sie die normalisierte Mantisse aus dem Doppelten. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgetmantpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgetmantpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGETMANTPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGETMANTPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGETMANTPS - Extrahieren Sie die normalisierte Mantisse aus einer einzelnen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VGETMANTPS - Extrahieren Sie die normalisierte Mantisse aus einer einzelnen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VGETMANTPS zmm, zmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGETMANTPS - Extrahieren Sie die normalisierte Mantisse aus einer einzelnen. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgetmantps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgetmantps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGETMANTPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGETMANTPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← VGETMANTPD - Extrahieren Sie die normalisierte Mantisse aus dem Doppelten Nach oben VGETMANTSD - Extrahieren Sie das normalisierte Mantissen-Skalar-Double →


VGETMANTSD - Extrahieren Sie das normalisierte Mantissen-Skalar-Double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VGETMANTSD - Extrahieren Sie das normalisierte Mantissen-Skalar-Double

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VGETMANTSD xmm, xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGETMANTSD - Extrahieren Sie das normalisierte Mantissen-Skalar-Double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgetmantsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgetmantsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGETMANTSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGETMANTSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← VGETMANTPS - Extrahieren Sie die normalisierte Mantisse aus einer einzelnen Nach oben VGETMANTSS - Extrahieren Sie den normalisierten Mantissenskalar einzeln →


VGETMANTSS - Extrahieren Sie den normalisierten Mantissenskalar einzeln - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VGETMANTSS - Extrahieren Sie den normalisierten Mantissenskalar einzeln

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VGETMANTSS xmm, xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGETMANTSS - Extrahieren Sie den normalisierten Mantissenskalar einzeln. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgetmantss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgetmantss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGETMANTSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGETMANTSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGF2P8AFFINEINVQB - Galois-Feld-Affintransformation invers - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VGF2P8AFFINEINVQB - Galois-Feld-Affintransformation invers

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VGF2P8AFFINEINVQB zmm/xmm, zmm/xmm, zmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGF2P8AFFINEINVQB - Galois-Feld-Affintransformation invers. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm/xmm, zmm/xmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm | may read or write memory
xmm, zmm | uses XMM vector/scalar registers; may read or write memory
xmm, zmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgf2p8affineinvqb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgf2p8affineinvqb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGF2P8AFFINEINVQB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGF2P8AFFINEINVQB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGF2P8AFFINEQB - Galoisfeldaffine Transformation - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VGF2P8AFFINEQB - Galoisfeldaffine Transformation

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VGF2P8AFFINEQB zmm/xmm, zmm/xmm, zmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGF2P8AFFINEQB - Galoisfeldaffine Transformation. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm/xmm, zmm/xmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm | may read or write memory
xmm, zmm | uses XMM vector/scalar registers; may read or write memory
xmm, zmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgf2p8affineqb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgf2p8affineqb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGF2P8AFFINEQB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGF2P8AFFINEQB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVNTDQ - VEX nicht-temporaler 128/256-Bit-Speicher (AVX) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VMOVNTDQ - VEX nicht-temporaler 128/256-Bit-Speicher (AVX)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VMOVNTDQ mem, ymm/xmm

Beschreibung

Category: Bit Operations

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVNTDQ - VEX nicht-temporaler 128/256-Bit-Speicher (AVX). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem, ymm/xmm.

Operands and Sizes

Form | Meaning
mem, ymm | uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovntdq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovntdq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVNTDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVNTDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVNTPS - VEX nicht-temporärer Einzelspeicher (AVX) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VMOVNTPS - VEX nicht-temporärer Einzelspeicher (AVX)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VMOVNTPS mem, ymm/xmm

Beschreibung

Category: Bit Operations

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVNTPS - VEX nicht-temporärer Einzelspeicher (AVX). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem, ymm/xmm.

Operands and Sizes

Form | Meaning
mem, ymm | uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovntps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovntps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVNTPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVNTPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMXOFF - Beenden Sie den VMX-Vorgang - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VMXOFF - Beenden Sie den VMX-Vorgang

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VMXOFF keiner

Beschreibung

Category: Bit Operations

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMXOFF - Beenden Sie den VMX-Vorgang. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmxoff ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmxoff ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMXOFF ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMXOFF ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMXON - Geben Sie den VMX-Vorgang ein - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VMXON - Geben Sie den VMX-Vorgang ein

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VMXON mem64 (VMXON-Region ptr)

Beschreibung

Category: Bit Operations

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMXON - Geben Sie den VMX-Vorgang ein. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen mem64 (VMXON-Region ptr).

Operands and Sizes

Form | Meaning
mem64 (VMXON-Region ptr) | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmxon ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmxon ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMXON ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMXON ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPABSD - Absolute value of dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPABSD - Absolute value of dwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPABSD ymm/xmm, ymm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPABSD - Absolute value of dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpabsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpabsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPABSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPABSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPABSQ - Absoluter Wert von qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPABSQ - Absoluter Wert von qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPABSQ zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPABSQ - Absoluter Wert von qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpabsq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpabsq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPABSQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPABSQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPABSW - Absolute value of words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPABSW - Absolute value of words

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPABSW ymm/xmm, ymm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPABSW - Absolute value of words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpabsw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpabsw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPABSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPABSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPAND - Bitwise AND - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPAND - Bitwise AND

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPAND ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPAND - Bitwise AND. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpand ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpand ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPAND ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPAND ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPANDN - Bitwise AND-NOT - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPANDN - Bitwise AND-NOT

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPANDN ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPANDN - Bitwise AND-NOT. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpandn ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpandn ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPANDN ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPANDN ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPANDQ - Bitweises UND von qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPANDQ - Bitweises UND von qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPANDQ zmm, zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPANDQ - Bitweises UND von qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpandq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpandq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPANDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPANDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPCONFLICTD - Erkennen Sie Konflikte im Dword-Vektor - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPCONFLICTD - Erkennen Sie Konflikte im Dword-Vektor

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPCONFLICTD zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPCONFLICTD - Erkennen Sie Konflikte im Dword-Vektor. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpconflictd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpconflictd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPCONFLICTD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPCONFLICTD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPCONFLICTQ - Erkennen Sie Konflikte im Qword-Vektor - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPCONFLICTQ - Erkennen Sie Konflikte im Qword-Vektor

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPCONFLICTQ zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPCONFLICTQ - Erkennen Sie Konflikte im Qword-Vektor. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpconflictq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpconflictq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPCONFLICTQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPCONFLICTQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPGATHERDD - Gather dwords with dword indices - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPGATHERDD - Gather dwords with dword indices

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPGATHERDD ymm/xmm, mem, ymm/xmm

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPGATHERDD - Gather dwords with dword indices. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpgatherdd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpgatherdd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPGATHERDD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPGATHERDD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPGATHERDQ - Gather dwords with qword indices - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPGATHERDQ - Gather dwords with qword indices

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPGATHERDQ ymm/xmm, mem, ymm/xmm

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPGATHERDQ - Gather dwords with qword indices. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpgatherdq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpgatherdq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPGATHERDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPGATHERDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPGATHERQD - Gather qwords with dword indices - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPGATHERQD - Gather qwords with dword indices

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPGATHERQD ymm/xmm, mem, ymm/xmm

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPGATHERQD - Gather qwords with dword indices. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpgatherqd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpgatherqd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPGATHERQD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPGATHERQD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPGATHERQQ - Gather qwords with qword indices - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPGATHERQQ - Gather qwords with qword indices

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPGATHERQQ ymm/xmm, mem, ymm/xmm

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPGATHERQQ - Gather qwords with qword indices. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpgatherqq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpgatherqq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPGATHERQQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPGATHERQQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPLZCNTD - Zählen Sie führende Nullen im Dword-Vektor - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPLZCNTD - Zählen Sie führende Nullen im Dword-Vektor

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPLZCNTD zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPLZCNTD - Zählen Sie führende Nullen im Dword-Vektor. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vplzcntd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vplzcntd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPLZCNTD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPLZCNTD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPLZCNTQ - Zählen Sie führende Nullen im Qword-Vektor - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPLZCNTQ - Zählen Sie führende Nullen im Qword-Vektor

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPLZCNTQ zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPLZCNTQ - Zählen Sie führende Nullen im Qword-Vektor. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vplzcntq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vplzcntq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPLZCNTQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPLZCNTQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMAXSQ - Maximal vorzeichenbehaftete Qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMAXSQ - Maximal vorzeichenbehaftete Qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMAXSQ zmm, zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMAXSQ - Maximal vorzeichenbehaftete Qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmaxsq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmaxsq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMAXSQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMAXSQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMAXUQ - Maximal vorzeichenlose Qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMAXUQ - Maximal vorzeichenlose Qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMAXUQ zmm, zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMAXUQ - Maximal vorzeichenlose Qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmaxuq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmaxuq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMAXUQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMAXUQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMINSQ - Mindestens signierte Qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMINSQ - Mindestens signierte Qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMINSQ zmm, zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMINSQ - Mindestens signierte Qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpminsq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpminsq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMINSQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMINSQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMINUQ - Mindestens vorzeichenlose Qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMINUQ - Mindestens vorzeichenlose Qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMINUQ zmm, zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMINUQ - Mindestens vorzeichenlose Qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpminuq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpminuq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMINUQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMINUQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVSXBD - Sign-extend bytes to dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMOVSXBD - Sign-extend bytes to dwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMOVSXBD ymm/xmm, xmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVSXBD - Sign-extend bytes to dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovsxbd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovsxbd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVSXBD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVSXBD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVSXBQ - Sign-extend bytes to qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMOVSXBQ - Sign-extend bytes to qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMOVSXBQ ymm/xmm, xmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVSXBQ - Sign-extend bytes to qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovsxbq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovsxbq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVSXBQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVSXBQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVSXBW - Sign-extend bytes to words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMOVSXBW - Sign-extend bytes to words

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMOVSXBW ymm/xmm, xmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVSXBW - Sign-extend bytes to words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovsxbw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovsxbw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVSXBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVSXBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVSXDQ - Sign-extend dwords to qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMOVSXDQ - Sign-extend dwords to qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMOVSXDQ ymm/xmm, xmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVSXDQ - Sign-extend dwords to qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovsxdq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovsxdq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVSXDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVSXDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVSXWD - Sign-extend words to dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMOVSXWD - Sign-extend words to dwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMOVSXWD ymm/xmm, xmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVSXWD - Sign-extend words to dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovsxwd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovsxwd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVSXWD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVSXWD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVSXWQ - Sign-extend words to qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMOVSXWQ - Sign-extend words to qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMOVSXWQ ymm/xmm, xmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVSXWQ - Sign-extend words to qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovsxwq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovsxwq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVSXWQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVSXWQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVZXBD - Zero-extend bytes to dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMOVZXBD - Zero-extend bytes to dwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMOVZXBD ymm/xmm, xmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVZXBD - Zero-extend bytes to dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovzxbd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovzxbd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVZXBD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVZXBD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVZXBQ - Zero-extend bytes to qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMOVZXBQ - Zero-extend bytes to qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMOVZXBQ ymm/xmm, xmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVZXBQ - Zero-extend bytes to qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovzxbq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovzxbq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVZXBQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVZXBQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVZXBW - Zero-extend bytes to words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMOVZXBW - Zero-extend bytes to words

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMOVZXBW ymm/xmm, xmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVZXBW - Zero-extend bytes to words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovzxbw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovzxbw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVZXBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVZXBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVZXDQ - Zero-extend dwords to qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMOVZXDQ - Zero-extend dwords to qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMOVZXDQ ymm/xmm, xmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVZXDQ - Zero-extend dwords to qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovzxdq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovzxdq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVZXDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVZXDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVZXWD - Zero-extend words to dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMOVZXWD - Zero-extend words to dwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMOVZXWD ymm/xmm, xmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVZXWD - Zero-extend words to dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovzxwd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovzxwd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVZXWD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVZXWD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVZXWQ - Zero-extend words to qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMOVZXWQ - Zero-extend words to qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMOVZXWQ ymm/xmm, xmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVZXWQ - Zero-extend words to qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovzxwq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovzxwq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVZXWQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVZXWQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMULTISHIFTQB - Mehrfaches Verschieben und Verketten von Qwords zu Bytes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPMULTISHIFTQB - Mehrfaches Verschieben und Verketten von Qwords zu Bytes

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPMULTISHIFTQB zmm, zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMULTISHIFTQB - Mehrfaches Verschieben und Verketten von Qwords zu Bytes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmultishiftqb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmultishiftqb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMULTISHIFTQB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMULTISHIFTQB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPOPCNTB - Populationsanzahl der Bytes (Vektor) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPOPCNTB - Populationsanzahl der Bytes (Vektor)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPOPCNTB zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPOPCNTB - Populationsanzahl der Bytes (Vektor). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpopcntb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpopcntb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPOPCNTB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPOPCNTB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPOPCNTD - Bevölkerungszahl von Dwords (Vektor) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPOPCNTD - Bevölkerungszahl von Dwords (Vektor)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPOPCNTD zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPOPCNTD - Bevölkerungszahl von Dwords (Vektor). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpopcntd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpopcntd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPOPCNTD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPOPCNTD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPOPCNTQ - Bevölkerungszahl von qwords (Vektor) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPOPCNTQ - Bevölkerungszahl von qwords (Vektor)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPOPCNTQ zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPOPCNTQ - Bevölkerungszahl von qwords (Vektor). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpopcntq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpopcntq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPOPCNTQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPOPCNTQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPOPCNTW - Bevölkerungszahl von Wörtern (Vektor) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPOPCNTW - Bevölkerungszahl von Wörtern (Vektor)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPOPCNTW zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPOPCNTW - Bevölkerungszahl von Wörtern (Vektor). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpopcntw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpopcntw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPOPCNTW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPOPCNTW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPOR - Bitwise OR - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPOR - Bitwise OR

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPOR ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPOR - Bitwise OR. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpor ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpor ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPOR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPOR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPORQ - Bitweises ODER von qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPORQ - Bitweises ODER von qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPORQ zmm, zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPORQ - Bitweises ODER von qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vporq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vporq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPORQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPORQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSIGND - Sign of dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSIGND - Sign of dwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSIGND ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSIGND - Sign of dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsignd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsignd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSIGND ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSIGND ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSIGNW - Sign of words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSIGNW - Sign of words

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSIGNW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSIGNW - Sign of words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsignw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsignw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSIGNW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSIGNW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSLLD - Shift left logical doublewords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSLLD - Shift left logical doublewords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSLLD ymm/xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSLLD - Shift left logical doublewords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpslld ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpslld ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSLLD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSLLD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VPSLLQ - Shift left logical quadwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSLLQ - Shift left logical quadwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSLLQ ymm/xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSLLQ - Shift left logical quadwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsllq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsllq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSLLQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSLLQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VPSLLVD - Variable shift left logical dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSLLVD - Variable shift left logical dwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSLLVD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSLLVD - Variable shift left logical dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsllvd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsllvd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSLLVD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSLLVD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VPSLLVDQ - Variable logisches Dword/Qword nach links verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSLLVDQ - Variable logisches Dword/Qword nach links verschieben

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSLLVDQ zmm, zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSLLVDQ - Variable logisches Dword/Qword nach links verschieben. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsllvdq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsllvdq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSLLVDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSLLVDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VPSLLVQ - Variable shift left logical qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSLLVQ - Variable shift left logical qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSLLVQ ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSLLVQ - Variable shift left logical qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsllvq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsllvq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSLLVQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSLLVQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VPSLLW - Shift left logical words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSLLW - Shift left logical words

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSLLW ymm/xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSLLW - Shift left logical words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsllw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsllw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSLLW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSLLW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VPSRAD - Shift right arithmetic doublewords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSRAD - Shift right arithmetic doublewords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSRAD ymm/xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSRAD - Shift right arithmetic doublewords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsrad ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsrad ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSRAD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSRAD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSRAVD - Variable shift right arith dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSRAVD - Variable shift right arith dwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSRAVD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSRAVD - Variable shift right arith dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsravd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsravd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSRAVD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSRAVD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSRAVQ - Variable arithmetische Qwords nach rechts verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSRAVQ - Variable arithmetische Qwords nach rechts verschieben

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSRAVQ zmm, zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSRAVQ - Variable arithmetische Qwords nach rechts verschieben. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsravq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsravq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSRAVQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSRAVQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSRAW - Shift right arithmetic words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSRAW - Shift right arithmetic words

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSRAW ymm/xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSRAW - Shift right arithmetic words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsraw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsraw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSRAW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSRAW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSRLD - Shift right logical doublewords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSRLD - Shift right logical doublewords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSRLD ymm/xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSRLD - Shift right logical doublewords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsrld ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsrld ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSRLD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSRLD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSRLQ - Shift right logical quadwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSRLQ - Shift right logical quadwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSRLQ ymm/xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSRLQ - Shift right logical quadwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsrlq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsrlq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSRLQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSRLQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSRLVD - Variable shift right logical dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSRLVD - Variable shift right logical dwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSRLVD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSRLVD - Variable shift right logical dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsrlvd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsrlvd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSRLVD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSRLVD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSRLVDQ - Variables logisches Dword/Qword nach rechts verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSRLVDQ - Variables logisches Dword/Qword nach rechts verschieben

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSRLVDQ zmm, zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSRLVDQ - Variables logisches Dword/Qword nach rechts verschieben. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsrlvdq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsrlvdq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSRLVDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSRLVDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSRLVQ - Variable shift right logical qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSRLVQ - Variable shift right logical qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSRLVQ ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSRLVQ - Variable shift right logical qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsrlvq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsrlvq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSRLVQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSRLVQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSRLW - Shift right logical words - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPSRLW - Shift right logical words

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPSRLW ymm/xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSRLW - Shift right logical words. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsrlw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsrlw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSRLW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSRLW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPTERNLOGD - Bitweise Operation mit drei Eingaben (Dword) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPTERNLOGD - Bitweise Operation mit drei Eingaben (Dword)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPTERNLOGD zmm, zmm, zmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPTERNLOGD - Bitweise Operation mit drei Eingaben (Dword). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpternlogd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpternlogd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPTERNLOGD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPTERNLOGD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPTERNLOGQ - Bitweise Operation mit drei Eingaben (qword) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPTERNLOGQ - Bitweise Operation mit drei Eingaben (qword)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPTERNLOGQ zmm, zmm, zmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPTERNLOGQ - Bitweise Operation mit drei Eingaben (qword). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpternlogq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpternlogq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPTERNLOGQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPTERNLOGQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPXOR - Bitwise XOR - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPXOR - Bitwise XOR

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPXOR ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPXOR - Bitwise XOR. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpxor ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpxor ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPXOR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPXOR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPXORQ - Bitweises XOR von qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VPXORQ - Bitweises XOR von qwords

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VPXORQ zmm, zmm, zmm/mem

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPXORQ - Bitweises XOR von qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpxorq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpxorq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPXORQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPXORQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRCP14SD - 14-Bit reziprokes Skalar-Double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VRCP14SD - 14-Bit reziprokes Skalar-Double

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VRCP14SD xmm, xmm, xmm/Speicher

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRCP14SD - 14-Bit reziprokes Skalar-Double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrcp14sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrcp14sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRCP14SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRCP14SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRCP14SS - 14-Bit-reziproker Skalar-Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VRCP14SS - 14-Bit-reziproker Skalar-Single

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VRCP14SS xmm, xmm, xmm/Speicher

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRCP14SS - 14-Bit-reziproker Skalar-Single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrcp14ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrcp14ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRCP14SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRCP14SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRCP28SD - 28-Bit-Reziproknäherung (doppelt, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VRCP28SD - 28-Bit-Reziproknäherung (doppelt, skalar)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VRCP28SD xmm, xmm, xmm/Speicher

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRCP28SD - 28-Bit-Reziproknäherung (doppelt, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrcp28sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrcp28sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRCP28SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRCP28SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRCP28SS - 28-Bit-Reziproknäherung (einfach, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VRCP28SS - 28-Bit-Reziproknäherung (einfach, skalar)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VRCP28SS xmm, xmm, xmm/Speicher

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRCP28SS - 28-Bit-Reziproknäherung (einfach, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrcp28ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrcp28ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRCP28SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRCP28SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VREDUCESD - Skalar-Double reduzieren (auf N Bits runden) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VREDUCESD - Skalar-Double reduzieren (auf N Bits runden)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VREDUCESD xmm, xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VREDUCESD - Skalar-Double reduzieren (auf N Bits runden). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vreducesd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vreducesd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VREDUCESD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VREDUCESD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VREDUCESS - Skalare Single reduzieren (auf N Bits runden) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VREDUCESS - Skalare Single reduzieren (auf N Bits runden)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VREDUCESS xmm, xmm, xmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VREDUCESS - Skalare Single reduzieren (auf N Bits runden). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vreducess ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vreducess ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VREDUCESS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VREDUCESS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRSQRT28SD - 28-Bit reziproke Quadratnäherung (doppelt, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VRSQRT28SD - 28-Bit reziproke Quadratnäherung (doppelt, skalar)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VRSQRT28SD xmm, xmm, xmm/Speicher

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRSQRT28SD - 28-Bit reziproke Quadratnäherung (doppelt, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrsqrt28sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrsqrt28sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRSQRT28SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRSQRT28SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRSQRT28SS - 28-Bit-Reziprok-Quadrat-Näherung (einfach, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VRSQRT28SS - 28-Bit-Reziprok-Quadrat-Näherung (einfach, skalar)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VRSQRT28SS xmm, xmm, xmm/Speicher

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRSQRT28SS - 28-Bit-Reziprok-Quadrat-Näherung (einfach, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrsqrt28ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrsqrt28ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRSQRT28SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRSQRT28SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSHUFI32X4 - Mischen Sie 128-Bit-Spuren mit 32-Bit-Elementen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VSHUFI32X4 - Mischen Sie 128-Bit-Spuren mit 32-Bit-Elementen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VSHUFI32X4 zmm, zmm, zmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSHUFI32X4 - Mischen Sie 128-Bit-Spuren mit 32-Bit-Elementen. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vshufi32x4 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vshufi32x4 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSHUFI32X4 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSHUFI32X4 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSHUFI64X2 - Mischen Sie 128-Bit-Spuren mit 64-Bit-Elementen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

VSHUFI64X2 - Mischen Sie 128-Bit-Spuren mit 64-Bit-Elementen

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

VSHUFI64X2 zmm, zmm, zmm/mem, imm8

Beschreibung

Category: Bit Operations

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSHUFI64X2 - Mischen Sie 128-Bit-Spuren mit 64-Bit-Elementen. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vshufi64x2 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vshufi64x2 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSHUFI64X2 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSHUFI64X2 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


WRSS - Auf Shadow Stack schreiben (Supervisor) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Bitoperationen Hilfe zum PBXB64-Compiler

WRSS - Auf Shadow Stack schreiben (Supervisor)

Category: Bit Operations

Kategorie: Bitoperationen

Syntax

WRSS mem64, reg64

Beschreibung

Category: Bit Operations

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

WRSS - Auf Shadow Stack schreiben (Supervisor). Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen mem64, reg64.

Operands and Sizes

Form | Meaning
mem64, reg64 | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    wrss eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! wrss eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

WRSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

WRSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Vergleich / Flags - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

Vergleich / Flags

Themen in diesem Kapitel

ADCX - Mit Carry hinzufügen (verwendet nur CF-Flag) ADOX - Mit Überlauf hinzufügen (verwendet nur das OF-Flag) BLENDPD - Mischung verpackt doppelt (sofortige Maske) BLENDPS - Blend verpackte Single (Sofortmaske) BLENDVPD - Variable Mischung doppelt gepackt (durch XMM0-Maske) BLENDVPS - Variable Mischung gepackt einzeln (nach XMM0-Maske) BLSMSK - Maske bis zum niedrigsten gesetzten Bit: dst = src ^ (src-1) BTC - Bittest und Ergänzung BTR - Bittest und Reset BTS - Bit testen und einstellen BZHI - Null hohe Bits: wenn index<operand_size, dst=src & mask CLI - Interrupt-Flag löschen (IF=0) LAHF CLRSSBSY - Löschen Sie die Besetzt-Flagge des Shadow-Stacks CMC - Komplement-Carry-Flag (CF=!CF) STD COMISD - Vergleichen Sie das geordnete Skalar-Double (Setzt Flags) COMISS - Vergleichen Sie geordnete Skalar-Singles (Setzt Flags) FCOMI - Vergleichen und setzen Sie EFLAGS (P6+, ST0 mit ST[i]) FCOMIP - Vergleichen, EFLAGS setzen und Pop FTST - Testen Sie ST0 gegen 0,0 FUCOMI - Ungeordneter Vergleich, EFLAGS setzen FUCOMIP - Ungeordneter Vergleich, EFLAGS setzen, Pop MASKMOVDQU - Maskierter Speicher gepackter Ganzzahlen MOVMSKPD - Vorzeichenmaske nach GPR verschieben (2 Bits) MULX - Vorzeichenlose Multiplikation ohne Auswirkungen auf Flags PBLENDVB - Variable Mischung gepackter Bytes (nach XMM0-Maske) PBLENDW - Mischung aus gepackten Wörtern (Sofortmaske) PCMPESTRM - Gepackte Zeichenfolgen mit expliziter Länge vergleichen, Maske PCMPISTRM - Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Maske PDEP - Parallele Biteinzahlung: Streuen Sie die Bits mithilfe einer Maske PEXT - Parallele Bits extrahieren: Bits mithilfe einer Maske sammeln PMOVMSKB - Bytemaske nach GPR verschieben (MSB jedes Bytes) RORX - Sofort nach rechts drehen (keine Flaggen betroffen) SAHF - Speichern Sie AH in Flags SAHF SARX - Arithmetik um Variable nach rechts verschieben (keine Flags) SHLX - Logische Verschiebung nach links durch Variable (keine Flags) SHRX - Logisch nach rechts verschieben nach Variable (keine Flags) STC - Carry-Flag setzen (CF=1) CLC SYSCALL - Schneller Systemaufruf (AMD/x64 Linux: RCX=RIP, R11=RFLAGS) UCOMISD - Ungeordnetes Skalar-Double vergleichen (setzt Flags) UCOMISS - Ungeordnete Skalar-Single vergleichen (setzt Flags) VBLENDMPD - Mischen Sie die Mischung doppelt aus der Maske VBLENDMPS - Mischung verpackt einzeln aus der Maske VCMPPD - Compare packed double (imm8) VCMPPS - Compare packed single (imm8) VCMPSD - Compare scalar double (imm8) VCMPSS - Compare scalar single (imm8) VCOMISD - Compare ordered scalar double (flags) VCOMISS - Compare ordered scalar single (flags) VCOMPRESS - Gepackte Elemente komprimieren (durch Maske) VCOMPRESSB - Gepackte Bytes komprimieren (durch Maske) VCOMPRESSD - Komprimieren Sie gepackte Dwords (durch Maske) VCOMPRESSPD - Komprimieren Sie das Doppelte (durch Maske) VCOMPRESSPS - Verpackte Single komprimieren (durch Maske) VCOMPRESSQ - Komprimieren Sie gepackte Qwords (durch Maske) VCOMPRESSW - Komprimieren Sie gepackte Wörter (durch Maske) VEXPAND - Gepackte Elemente erweitern (durch Maske) VEXPANDB - Gepackte Bytes erweitern (nach Maske) VEXPANDD - Gepackte Dwords erweitern (nach Maske) VEXPANDPD - Gepacktes Doppel erweitern (durch Maske) VEXPANDPS - Gepackte Single erweitern (nach Maske) VEXPANDQ - Gepackte QWords erweitern (nach Maske) VEXPANDW - Gepackte Wörter erweitern (durch Maske) VFPCLASSPD - Testpackung doppelt für den Unterricht VFPCLASSPS - Testgepackte Single für die Klasse (NaN/Inf/Null) VMOVDQA32 - Ausgerichtetes Dword/Qword verschieben (mit Opmask) VMOVDQA64 - Ausgerichtetes qword verschieben (mit opmask) VMOVDQU32 - Nicht ausgerichtetes Dword/Qword verschieben (mit opmask) VMOVDQU64 - Nicht ausgerichtetes qword verschieben (mit opmask) VPBLENDMD - Mischen Sie gepackte Dwords aus der Maske VPBLENDMQ - Mischen Sie gepackte QWords aus der Maske VPCMPEQB - Compare bytes for equality VPCMPEQD - Compare dwords for equality VPCMPEQQ - Compare qwords for equality VPCMPEQW - Compare words for equality VPCMPGTB - Compare bytes for greater than VPCMPGTD - Compare dwords for greater than VPCMPGTQ - Compare qwords for greater than VPCMPGTW - Compare words for greater than VPERMI2B - Permutieren Sie Bytes mit Index und Maske VPERMI2D - Permutieren Sie Dwords mit Index und Maske VPERMI2Q - Qwords mit Index und Maske permutieren VPERMI2W - Permutieren Sie Wörter mit Index und Maske VPERMT2B - Bytes mit Index und Maske permutieren (zwei Quellen) VPERMT2D - Dwords mit Index und Maske permutieren (zwei Quellen) VPERMT2Q - Qwords mit Index und Maske permutieren (zwei Quellen) VPERMT2W - Wörter mit Index und Maske permutieren (zwei Quellen) VPMOVB2M - Verschieben Sie die Bytemaske vom Vektor in das k-Register VPMOVD2M - Verschieben Sie die Dword-Maske vom Vektor in das k-Register VPMOVM2B - Maske vom k-Register in den Byte-Vektor verschieben VPMOVM2D - Verschieben Sie die Maske vom k-Register in den dword-Vektor VPMOVM2Q - Maske vom k-Register in den qword-Vektor verschieben VPMOVM2W - Maske vom k-Register in den Wortvektor verschieben VPMOVQ2M - Verschieben Sie die qword-Maske vom Vektor in das k-Register VPMOVW2M - Verschieben Sie die Wortmaske vom Vektor in das k-Register VPSHUFBITQMB - Mischen Sie die Bits im Qword zur Byte-Maske VPTEST - Logical compare of integers (sets ZF/CF) VTESTPD - Test packed double (sets ZF/CF) VTESTPS - Test packed single (sets ZF/CF) VUCOMISD - Compare unordered scalar double (flags) VUCOMISS - Compare unordered scalar single (flags)


ADCX - Mit Carry hinzufügen (verwendet nur CF-Flag) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

ADCX - Mit Carry hinzufügen (verwendet nur CF-Flag)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

ADCX reg32/64, reg/mem

Beschreibung

Category: Compare / Flags

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ADCX - Mit Carry hinzufügen (verwendet nur CF-Flag). Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg32/64, reg/mem.

Operands and Sizes

Form | Meaning
reg32 | uses a general-purpose register
64, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    adcx eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! adcx eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ADCX ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ADCX ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ADOX - Mit Überlauf hinzufügen (verwendet nur das OF-Flag) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

ADOX - Mit Überlauf hinzufügen (verwendet nur das OF-Flag)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

ADOX reg32/64, reg/mem

Beschreibung

Category: Compare / Flags

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ADOX - Mit Überlauf hinzufügen (verwendet nur das OF-Flag). Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg32/64, reg/mem.

Operands and Sizes

Form | Meaning
reg32 | uses a general-purpose register
64, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    adox eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! adox eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ADOX ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ADOX ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BLENDPD - Mischung verpackt doppelt (sofortige Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

BLENDPD - Mischung verpackt doppelt (sofortige Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

BLENDPD xmm, xmm/mem128, imm8

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

BLENDPD - Mischung verpackt doppelt (sofortige Maske). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    blendpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! blendpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

BLENDPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BLENDPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BLENDPS - Blend verpackte Single (Sofortmaske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

BLENDPS - Blend verpackte Single (Sofortmaske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

BLENDPS xmm, xmm/mem128, imm8

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

BLENDPS - Blend verpackte Single (Sofortmaske). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    blendps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! blendps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

BLENDPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BLENDPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BLENDVPD - Variable Mischung doppelt gepackt (durch XMM0-Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

BLENDVPD - Variable Mischung doppelt gepackt (durch XMM0-Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

BLENDVPD xmm, xmm/mem128

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

BLENDVPD - Variable Mischung doppelt gepackt (durch XMM0-Maske). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    blendvpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! blendvpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

BLENDVPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BLENDVPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BLENDVPS - Variable Mischung gepackt einzeln (nach XMM0-Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

BLENDVPS - Variable Mischung gepackt einzeln (nach XMM0-Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

BLENDVPS xmm, xmm/mem128

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

BLENDVPS - Variable Mischung gepackt einzeln (nach XMM0-Maske). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    blendvps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! blendvps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

BLENDVPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BLENDVPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BLSMSK - Maske bis zum niedrigsten gesetzten Bit: dst = src ^ (src-1) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

BLSMSK - Maske bis zum niedrigsten gesetzten Bit: dst = src ^ (src-1)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

BLSMSK reg, reg/mem

Beschreibung

Category: Compare / Flags

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

BLSMSK - Maske bis zum niedrigsten gesetzten Bit: dst = src ^ (src-1). Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    blsmsk eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! blsmsk eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

BLSMSK ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BLSMSK ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BTC - Bittest und Ergänzung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

BTC - Bittest und Ergänzung

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

BTC reg/mem, reg/imm

Beschreibung

Category: Compare / Flags

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

BTC - Bittest und Ergänzung. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen reg/mem, reg/imm.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem, reg | may read or write memory; uses a general-purpose register
imm | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    btc eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! btc eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

BTC ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BTC ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BTR - Bittest und Reset - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

BTR - Bittest und Reset

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

BTR reg/mem, reg/imm

Beschreibung

Category: Compare / Flags

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

BTR - Bittest und Reset. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen reg/mem, reg/imm.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem, reg | may read or write memory; uses a general-purpose register
imm | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    btr eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! btr eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

BTR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BTR ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BTS - Bit testen und einstellen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

BTS - Bit testen und einstellen

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

BTS reg/mem, reg/imm

Beschreibung

Category: Compare / Flags

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

BTS - Bit testen und einstellen. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen reg/mem, reg/imm.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem, reg | may read or write memory; uses a general-purpose register
imm | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    bts eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! bts eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

BTS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BTS ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BZHI - Null hohe Bits: wenn index<operand_size, dst=src & mask - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

BZHI - Null hohe Bits: wenn index<operand_size, dst=src & mask

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

BZHI reg, reg/mem, reg

Beschreibung

Category: Compare / Flags

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

BZHI - Null hohe Bits: wenn index<operand_size, dst=src & mask. Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem, reg.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem, reg | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    bzhi eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! bzhi eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

BZHI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BZHI ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CLI - Interrupt-Flag löschen (IF=0) LAHF - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

CLI - Interrupt-Flag löschen (IF=0) LAHF

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

CLI Flags in AH laden (SF:ZF:0:AF:0:PF:1:CF)

Beschreibung

Category: Compare / Flags

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CLI - Interrupt-Flag löschen (IF=0) LAHF. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen Flags in AH laden (SF:ZF:0:AF:0:PF:1:CF).

Operands and Sizes

Form | Meaning
Flags in AH laden (SF:ZF:0:AF:0:PF:1:CF) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    cli operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cli operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CLI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CLI ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CLRSSBSY - Löschen Sie die Besetzt-Flagge des Shadow-Stacks - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

CLRSSBSY - Löschen Sie die Besetzt-Flagge des Shadow-Stacks

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

CLRSSBSY mem64

Beschreibung

Category: Compare / Flags

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CLRSSBSY - Löschen Sie die Besetzt-Flagge des Shadow-Stacks. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen mem64.

Operands and Sizes

Form | Meaning
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    clrssbsy [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! clrssbsy [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CLRSSBSY ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CLRSSBSY ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CMC - Komplement-Carry-Flag (CF=!CF) STD - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

CMC - Komplement-Carry-Flag (CF=!CF) STD

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

CMC Richtungsflag setzen (DF=1)

Beschreibung

Category: Compare / Flags

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CMC - Komplement-Carry-Flag (CF=!CF) STD. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen Richtungsflag setzen (DF=1).

Operands and Sizes

Form | Meaning
Richtungsflag setzen (DF=1) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    cmc operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cmc operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CMC ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMC ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


COMISD - Vergleichen Sie das geordnete Skalar-Double (Setzt Flags) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

COMISD - Vergleichen Sie das geordnete Skalar-Double (Setzt Flags)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

COMISD xmm, xmm/mem64

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

COMISD - Vergleichen Sie das geordnete Skalar-Double (Setzt Flags). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem64.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    comisd xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! comisd xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

COMISD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

COMISD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


COMISS - Vergleichen Sie geordnete Skalar-Singles (Setzt Flags) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

COMISS - Vergleichen Sie geordnete Skalar-Singles (Setzt Flags)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

COMISS xmm, xmm/mem32

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

COMISS - Vergleichen Sie geordnete Skalar-Singles (Setzt Flags). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem32.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem32 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    comiss xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! comiss xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

COMISS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

COMISS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


FCOMI - Vergleichen und setzen Sie EFLAGS (P6+, ST0 mit ST[i]) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

FCOMI - Vergleichen und setzen Sie EFLAGS (P6+, ST0 mit ST[i])

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

FCOMI ST(i)

Beschreibung

Category: Compare / Flags

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FCOMI - Vergleichen und setzen Sie EFLAGS (P6+, ST0 mit ST[i]). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i).

Operands and Sizes

Form | Meaning
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fcomi operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fcomi operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FCOMI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FCOMI ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


FCOMIP - Vergleichen, EFLAGS setzen und Pop - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

FCOMIP - Vergleichen, EFLAGS setzen und Pop

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

FCOMIP ST(i)

Beschreibung

Category: Compare / Flags

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FCOMIP - Vergleichen, EFLAGS setzen und Pop. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i).

Operands and Sizes

Form | Meaning
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fcomip operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fcomip operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FCOMIP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FCOMIP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


FTST - Testen Sie ST0 gegen 0,0 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

FTST - Testen Sie ST0 gegen 0,0

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

FTST keiner

Beschreibung

Category: Compare / Flags

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FTST - Testen Sie ST0 gegen 0,0. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    ftst operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! ftst operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FTST ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FTST ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FUCOMI - Ungeordneter Vergleich, EFLAGS setzen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

FUCOMI - Ungeordneter Vergleich, EFLAGS setzen

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

FUCOMI ST(i)

Beschreibung

Category: Compare / Flags

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FUCOMI - Ungeordneter Vergleich, EFLAGS setzen. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i).

Operands and Sizes

Form | Meaning
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fucomi operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fucomi operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FUCOMI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FUCOMI ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


FUCOMIP - Ungeordneter Vergleich, EFLAGS setzen, Pop - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

FUCOMIP - Ungeordneter Vergleich, EFLAGS setzen, Pop

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

FUCOMIP ST(i)

Beschreibung

Category: Compare / Flags

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FUCOMIP - Ungeordneter Vergleich, EFLAGS setzen, Pop. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i).

Operands and Sizes

Form | Meaning
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fucomip operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fucomip operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FUCOMIP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FUCOMIP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


MASKMOVDQU - Maskierter Speicher gepackter Ganzzahlen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

MASKMOVDQU - Maskierter Speicher gepackter Ganzzahlen

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

MASKMOVDQU xmm, xmm

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MASKMOVDQU - Maskierter Speicher gepackter Ganzzahlen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    maskmovdqu xmm0, xmm1
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! maskmovdqu xmm0, xmm1
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MASKMOVDQU ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MASKMOVDQU ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVMSKPD - Vorzeichenmaske nach GPR verschieben (2 Bits) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

MOVMSKPD - Vorzeichenmaske nach GPR verschieben (2 Bits)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

MOVMSKPD reg, xmm

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVMSKPD - Vorzeichenmaske nach GPR verschieben (2 Bits). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen reg, xmm.

Operands and Sizes

Form | Meaning
reg, xmm | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    movmskpd xmm0, xmm1
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movmskpd xmm0, xmm1
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVMSKPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVMSKPD ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MULX - Vorzeichenlose Multiplikation ohne Auswirkungen auf Flags - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

MULX - Vorzeichenlose Multiplikation ohne Auswirkungen auf Flags

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

MULX reg, reg, reg/mem

Beschreibung

Category: Compare / Flags

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MULX - Vorzeichenlose Multiplikation ohne Auswirkungen auf Flags. Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg, reg/mem.

Operands and Sizes

Form | Meaning
reg, reg, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    mulx eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! mulx eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MULX ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MULX ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PBLENDVB - Variable Mischung gepackter Bytes (nach XMM0-Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

PBLENDVB - Variable Mischung gepackter Bytes (nach XMM0-Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

PBLENDVB xmm, xmm/mem128

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PBLENDVB - Variable Mischung gepackter Bytes (nach XMM0-Maske). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pblendvb xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pblendvb xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PBLENDVB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PBLENDVB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PBLENDW - Mischung aus gepackten Wörtern (Sofortmaske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

PBLENDW - Mischung aus gepackten Wörtern (Sofortmaske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

PBLENDW xmm, xmm/mem128, imm8

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PBLENDW - Mischung aus gepackten Wörtern (Sofortmaske). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pblendw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pblendw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PBLENDW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PBLENDW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PCMPESTRM - Gepackte Zeichenfolgen mit expliziter Länge vergleichen, Maske - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

PCMPESTRM - Gepackte Zeichenfolgen mit expliziter Länge vergleichen, Maske

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

PCMPESTRM xmm, xmm/mem128, imm8

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PCMPESTRM - Gepackte Zeichenfolgen mit expliziter Länge vergleichen, Maske. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pcmpestrm xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pcmpestrm xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PCMPESTRM ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PCMPESTRM ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


PCMPISTRM - Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Maske - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

PCMPISTRM - Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Maske

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

PCMPISTRM xmm, xmm/mem128, imm8

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PCMPISTRM - Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Maske. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pcmpistrm xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pcmpistrm xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PCMPISTRM ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PCMPISTRM ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

← PCMPESTRM - Gepackte Zeichenfolgen mit expliziter Länge vergleichen, Maske Nach oben PDEP - Parallele Biteinzahlung: Streuen Sie die Bits mithilfe einer Maske →


PDEP - Parallele Biteinzahlung: Streuen Sie die Bits mithilfe einer Maske - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

PDEP - Parallele Biteinzahlung: Streuen Sie die Bits mithilfe einer Maske

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

PDEP reg, reg, reg/mem

Beschreibung

Category: Compare / Flags

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PDEP - Parallele Biteinzahlung: Streuen Sie die Bits mithilfe einer Maske. Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg, reg/mem.

Operands and Sizes

Form | Meaning
reg, reg, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pdep eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pdep eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PDEP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PDEP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PCMPISTRM - Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Maske Nach oben PEXT - Parallele Bits extrahieren: Bits mithilfe einer Maske sammeln →


PEXT - Parallele Bits extrahieren: Bits mithilfe einer Maske sammeln - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

PEXT - Parallele Bits extrahieren: Bits mithilfe einer Maske sammeln

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

PEXT reg, reg, reg/mem

Beschreibung

Category: Compare / Flags

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PEXT - Parallele Bits extrahieren: Bits mithilfe einer Maske sammeln. Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg, reg/mem.

Operands and Sizes

Form | Meaning
reg, reg, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pext eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pext eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PEXT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PEXT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMOVMSKB - Bytemaske nach GPR verschieben (MSB jedes Bytes) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

PMOVMSKB - Bytemaske nach GPR verschieben (MSB jedes Bytes)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

PMOVMSKB reg, mm

Beschreibung

Category: Compare / Flags

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMOVMSKB - Bytemaske nach GPR verschieben (MSB jedes Bytes). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen reg, mm.

Operands and Sizes

Form | Meaning
reg, mm | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pmovmskb eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmovmskb eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMOVMSKB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMOVMSKB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RORX - Sofort nach rechts drehen (keine Flaggen betroffen) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

RORX - Sofort nach rechts drehen (keine Flaggen betroffen)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

RORX reg, reg/mem, imm8

Beschreibung

Category: Compare / Flags

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RORX - Sofort nach rechts drehen (keine Flaggen betroffen). Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem, imm8.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    rorx eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rorx eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RORX ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RORX ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SAHF - Speichern Sie AH in Flags SAHF - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

SAHF - Speichern Sie AH in Flags SAHF

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

SAHF Speichern Sie AH im unteren RFLAGS-Byte

Beschreibung

Category: Compare / Flags

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SAHF - Speichern Sie AH in Flags SAHF. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen Speichern Sie AH im unteren RFLAGS-Byte.

Operands and Sizes

Form | Meaning
Speichern Sie AH im unteren RFLAGS-Byte | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    sahf operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sahf operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SAHF ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SAHF ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SARX - Arithmetik um Variable nach rechts verschieben (keine Flags) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

SARX - Arithmetik um Variable nach rechts verschieben (keine Flags)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

SARX reg, reg/mem, reg

Beschreibung

Category: Compare / Flags

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SARX - Arithmetik um Variable nach rechts verschieben (keine Flags). Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem, reg.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem, reg | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    sarx eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sarx eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SARX ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SARX ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHLX - Logische Verschiebung nach links durch Variable (keine Flags) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

SHLX - Logische Verschiebung nach links durch Variable (keine Flags)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

SHLX reg, reg/mem, reg

Beschreibung

Category: Compare / Flags

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SHLX - Logische Verschiebung nach links durch Variable (keine Flags). Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem, reg.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem, reg | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    shlx eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! shlx eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SHLX ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHLX ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHRX - Logisch nach rechts verschieben nach Variable (keine Flags) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

SHRX - Logisch nach rechts verschieben nach Variable (keine Flags)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

SHRX reg, reg/mem, reg

Beschreibung

Category: Compare / Flags

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SHRX - Logisch nach rechts verschieben nach Variable (keine Flags). Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem, reg.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem, reg | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    shrx eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! shrx eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SHRX ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHRX ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


STC - Carry-Flag setzen (CF=1) CLC - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

STC - Carry-Flag setzen (CF=1) CLC

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

STC Clear Carry Flag (CF=0)

Beschreibung

Category: Compare / Flags

Assembly Group: CORE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

STC - Carry-Flag setzen (CF=1) CLC. Diese Instruktion gehoert zur CORE-Familie und verwendet die dokumentierten Operandenformen Clear Carry Flag (CF=0).

Operands and Sizes

Form | Meaning
Clear Carry Flag (CF=0) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    stc operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! stc operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_core.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

STC ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

STC ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SYSCALL - Schneller Systemaufruf (AMD/x64 Linux: RCX=RIP, R11=RFLAGS) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

SYSCALL - Schneller Systemaufruf (AMD/x64 Linux: RCX=RIP, R11=RFLAGS)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

SYSCALL keiner

Beschreibung

Category: Compare / Flags

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SYSCALL - Schneller Systemaufruf (AMD/x64 Linux: RCX=RIP, R11=RFLAGS). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    syscall operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! syscall operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SYSCALL ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SYSCALL ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UCOMISD - Ungeordnetes Skalar-Double vergleichen (setzt Flags) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

UCOMISD - Ungeordnetes Skalar-Double vergleichen (setzt Flags)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

UCOMISD xmm, xmm/mem64

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

UCOMISD - Ungeordnetes Skalar-Double vergleichen (setzt Flags). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem64.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    ucomisd xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! ucomisd xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

UCOMISD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

UCOMISD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


UCOMISS - Ungeordnete Skalar-Single vergleichen (setzt Flags) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

UCOMISS - Ungeordnete Skalar-Single vergleichen (setzt Flags)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

UCOMISS xmm, xmm/mem32

Beschreibung

Category: Compare / Flags

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

UCOMISS - Ungeordnete Skalar-Single vergleichen (setzt Flags). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem32.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem32 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    ucomiss xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! ucomiss xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

UCOMISS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

UCOMISS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VBLENDMPD - Mischen Sie die Mischung doppelt aus der Maske - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VBLENDMPD - Mischen Sie die Mischung doppelt aus der Maske

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VBLENDMPD zmm, zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VBLENDMPD - Mischen Sie die Mischung doppelt aus der Maske. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vblendmpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vblendmpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VBLENDMPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VBLENDMPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VBLENDMPS - Mischung verpackt einzeln aus der Maske - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VBLENDMPS - Mischung verpackt einzeln aus der Maske

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VBLENDMPS zmm, zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VBLENDMPS - Mischung verpackt einzeln aus der Maske. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vblendmps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vblendmps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VBLENDMPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VBLENDMPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCMPPD - Compare packed double (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VCMPPD - Compare packed double (imm8)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VCMPPD ymm/xmm, ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCMPPD - Compare packed double (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcmppd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcmppd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCMPPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCMPPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCMPPS - Compare packed single (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VCMPPS - Compare packed single (imm8)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VCMPPS ymm/xmm, ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCMPPS - Compare packed single (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcmpps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcmpps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCMPPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCMPPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCMPSD - Compare scalar double (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VCMPSD - Compare scalar double (imm8)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VCMPSD xmm, xmm, xmm/mem, imm8

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCMPSD - Compare scalar double (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcmpsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcmpsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCMPSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCMPSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCMPSS - Compare scalar single (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VCMPSS - Compare scalar single (imm8)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VCMPSS xmm, xmm, xmm/mem, imm8

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCMPSS - Compare scalar single (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcmpss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcmpss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCMPSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCMPSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCOMISD - Compare ordered scalar double (flags) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VCOMISD - Compare ordered scalar double (flags)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VCOMISD xmm, xmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCOMISD - Compare ordered scalar double (flags). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcomisd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcomisd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCOMISD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCOMISD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VCOMISS - Compare ordered scalar single (flags) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VCOMISS - Compare ordered scalar single (flags)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VCOMISS xmm, xmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCOMISS - Compare ordered scalar single (flags). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcomiss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcomiss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCOMISS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCOMISS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VCOMPRESS - Gepackte Elemente komprimieren (durch Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VCOMPRESS - Gepackte Elemente komprimieren (durch Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VCOMPRESS zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCOMPRESS - Gepackte Elemente komprimieren (durch Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcompress ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcompress ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCOMPRESS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCOMPRESS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VCOMPRESSB - Gepackte Bytes komprimieren (durch Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VCOMPRESSB - Gepackte Bytes komprimieren (durch Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VCOMPRESSB zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCOMPRESSB - Gepackte Bytes komprimieren (durch Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcompressb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcompressb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCOMPRESSB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCOMPRESSB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VCOMPRESSD - Komprimieren Sie gepackte Dwords (durch Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VCOMPRESSD - Komprimieren Sie gepackte Dwords (durch Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VCOMPRESSD zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCOMPRESSD - Komprimieren Sie gepackte Dwords (durch Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcompressd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcompressd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCOMPRESSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCOMPRESSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VCOMPRESSPD - Komprimieren Sie das Doppelte (durch Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VCOMPRESSPD - Komprimieren Sie das Doppelte (durch Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VCOMPRESSPD zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCOMPRESSPD - Komprimieren Sie das Doppelte (durch Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcompresspd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcompresspd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCOMPRESSPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCOMPRESSPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VCOMPRESSPS - Verpackte Single komprimieren (durch Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VCOMPRESSPS - Verpackte Single komprimieren (durch Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VCOMPRESSPS zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCOMPRESSPS - Verpackte Single komprimieren (durch Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcompressps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcompressps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCOMPRESSPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCOMPRESSPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VCOMPRESSQ - Komprimieren Sie gepackte Qwords (durch Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VCOMPRESSQ - Komprimieren Sie gepackte Qwords (durch Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VCOMPRESSQ zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCOMPRESSQ - Komprimieren Sie gepackte Qwords (durch Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcompressq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcompressq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCOMPRESSQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCOMPRESSQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VCOMPRESSW - Komprimieren Sie gepackte Wörter (durch Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VCOMPRESSW - Komprimieren Sie gepackte Wörter (durch Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VCOMPRESSW zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCOMPRESSW - Komprimieren Sie gepackte Wörter (durch Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcompressw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcompressw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCOMPRESSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCOMPRESSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VEXPAND - Gepackte Elemente erweitern (durch Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VEXPAND - Gepackte Elemente erweitern (durch Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VEXPAND zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VEXPAND - Gepackte Elemente erweitern (durch Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vexpand ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vexpand ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VEXPAND ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VEXPAND ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VEXPANDB - Gepackte Bytes erweitern (nach Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VEXPANDB - Gepackte Bytes erweitern (nach Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VEXPANDB zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VEXPANDB - Gepackte Bytes erweitern (nach Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vexpandb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vexpandb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VEXPANDB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VEXPANDB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VEXPANDD - Gepackte Dwords erweitern (nach Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VEXPANDD - Gepackte Dwords erweitern (nach Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VEXPANDD zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VEXPANDD - Gepackte Dwords erweitern (nach Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vexpandd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vexpandd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VEXPANDD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VEXPANDD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VEXPANDPD - Gepacktes Doppel erweitern (durch Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VEXPANDPD - Gepacktes Doppel erweitern (durch Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VEXPANDPD zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VEXPANDPD - Gepacktes Doppel erweitern (durch Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vexpandpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vexpandpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VEXPANDPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VEXPANDPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VEXPANDPS - Gepackte Single erweitern (nach Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VEXPANDPS - Gepackte Single erweitern (nach Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VEXPANDPS zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VEXPANDPS - Gepackte Single erweitern (nach Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vexpandps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vexpandps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VEXPANDPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VEXPANDPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VEXPANDQ - Gepackte QWords erweitern (nach Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VEXPANDQ - Gepackte QWords erweitern (nach Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VEXPANDQ zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VEXPANDQ - Gepackte QWords erweitern (nach Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vexpandq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vexpandq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VEXPANDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VEXPANDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VEXPANDW - Gepackte Wörter erweitern (durch Maske) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VEXPANDW - Gepackte Wörter erweitern (durch Maske)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VEXPANDW zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VEXPANDW - Gepackte Wörter erweitern (durch Maske). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vexpandw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vexpandw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VEXPANDW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VEXPANDW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFPCLASSPD - Testpackung doppelt für den Unterricht - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VFPCLASSPD - Testpackung doppelt für den Unterricht

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VFPCLASSPD zmm, zmm/mem, imm8

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFPCLASSPD - Testpackung doppelt für den Unterricht. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfpclasspd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfpclasspd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFPCLASSPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFPCLASSPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFPCLASSPS - Testgepackte Single für die Klasse (NaN/Inf/Null) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VFPCLASSPS - Testgepackte Single für die Klasse (NaN/Inf/Null)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VFPCLASSPS zmm, zmm/mem, imm8

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFPCLASSPS - Testgepackte Single für die Klasse (NaN/Inf/Null). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfpclassps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfpclassps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFPCLASSPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFPCLASSPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVDQA32 - Ausgerichtetes Dword/Qword verschieben (mit Opmask) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VMOVDQA32 - Ausgerichtetes Dword/Qword verschieben (mit Opmask)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VMOVDQA32 zmm, mem / mem, zmm

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVDQA32 - Ausgerichtetes Dword/Qword verschieben (mit Opmask). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, mem / mem, zmm.

Operands and Sizes

Form | Meaning
zmm, mem | may read or write memory
mem, zmm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovdqa32 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovdqa32 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVDQA32 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVDQA32 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVDQA64 - Ausgerichtetes qword verschieben (mit opmask) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VMOVDQA64 - Ausgerichtetes qword verschieben (mit opmask)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VMOVDQA64 zmm, mem / mem, zmm

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVDQA64 - Ausgerichtetes qword verschieben (mit opmask). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, mem / mem, zmm.

Operands and Sizes

Form | Meaning
zmm, mem | may read or write memory
mem, zmm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovdqa64 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovdqa64 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVDQA64 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVDQA64 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVDQU32 - Nicht ausgerichtetes Dword/Qword verschieben (mit opmask) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VMOVDQU32 - Nicht ausgerichtetes Dword/Qword verschieben (mit opmask)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VMOVDQU32 zmm, mem / mem, zmm

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVDQU32 - Nicht ausgerichtetes Dword/Qword verschieben (mit opmask). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, mem / mem, zmm.

Operands and Sizes

Form | Meaning
zmm, mem | may read or write memory
mem, zmm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovdqu32 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovdqu32 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVDQU32 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVDQU32 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVDQU64 - Nicht ausgerichtetes qword verschieben (mit opmask) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VMOVDQU64 - Nicht ausgerichtetes qword verschieben (mit opmask)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VMOVDQU64 zmm, mem / mem, zmm

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVDQU64 - Nicht ausgerichtetes qword verschieben (mit opmask). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, mem / mem, zmm.

Operands and Sizes

Form | Meaning
zmm, mem | may read or write memory
mem, zmm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovdqu64 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovdqu64 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVDQU64 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVDQU64 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPBLENDMD - Mischen Sie gepackte Dwords aus der Maske - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPBLENDMD - Mischen Sie gepackte Dwords aus der Maske

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPBLENDMD zmm, zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPBLENDMD - Mischen Sie gepackte Dwords aus der Maske. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpblendmd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpblendmd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPBLENDMD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPBLENDMD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPBLENDMQ - Mischen Sie gepackte QWords aus der Maske - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPBLENDMQ - Mischen Sie gepackte QWords aus der Maske

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPBLENDMQ zmm, zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPBLENDMQ - Mischen Sie gepackte QWords aus der Maske. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpblendmq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpblendmq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPBLENDMQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPBLENDMQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPCMPEQB - Compare bytes for equality - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPCMPEQB - Compare bytes for equality

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPCMPEQB ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPCMPEQB - Compare bytes for equality. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpcmpeqb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpcmpeqb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPCMPEQB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPCMPEQB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPCMPEQD - Compare dwords for equality - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPCMPEQD - Compare dwords for equality

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPCMPEQD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPCMPEQD - Compare dwords for equality. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpcmpeqd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpcmpeqd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPCMPEQD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPCMPEQD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPCMPEQQ - Compare qwords for equality - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPCMPEQQ - Compare qwords for equality

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPCMPEQQ ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPCMPEQQ - Compare qwords for equality. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpcmpeqq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpcmpeqq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPCMPEQQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPCMPEQQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPCMPEQW - Compare words for equality - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPCMPEQW - Compare words for equality

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPCMPEQW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPCMPEQW - Compare words for equality. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpcmpeqw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpcmpeqw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPCMPEQW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPCMPEQW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPCMPGTB - Compare bytes for greater than - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPCMPGTB - Compare bytes for greater than

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPCMPGTB ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPCMPGTB - Compare bytes for greater than. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpcmpgtb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpcmpgtb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPCMPGTB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPCMPGTB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPCMPGTD - Compare dwords for greater than - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPCMPGTD - Compare dwords for greater than

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPCMPGTD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPCMPGTD - Compare dwords for greater than. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpcmpgtd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpcmpgtd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPCMPGTD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPCMPGTD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPCMPGTQ - Compare qwords for greater than - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPCMPGTQ - Compare qwords for greater than

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPCMPGTQ ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPCMPGTQ - Compare qwords for greater than. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpcmpgtq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpcmpgtq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPCMPGTQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPCMPGTQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPCMPGTW - Compare words for greater than - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPCMPGTW - Compare words for greater than

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPCMPGTW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPCMPGTW - Compare words for greater than. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpcmpgtw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpcmpgtw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPCMPGTW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPCMPGTW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMI2B - Permutieren Sie Bytes mit Index und Maske - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPERMI2B - Permutieren Sie Bytes mit Index und Maske

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPERMI2B zmm, zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMI2B - Permutieren Sie Bytes mit Index und Maske. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermi2b ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermi2b ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMI2B ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMI2B ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMI2D - Permutieren Sie Dwords mit Index und Maske - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPERMI2D - Permutieren Sie Dwords mit Index und Maske

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPERMI2D zmm, zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMI2D - Permutieren Sie Dwords mit Index und Maske. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermi2d ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermi2d ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMI2D ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMI2D ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMI2Q - Qwords mit Index und Maske permutieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPERMI2Q - Qwords mit Index und Maske permutieren

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPERMI2Q zmm, zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMI2Q - Qwords mit Index und Maske permutieren. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermi2q ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermi2q ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMI2Q ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMI2Q ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMI2W - Permutieren Sie Wörter mit Index und Maske - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPERMI2W - Permutieren Sie Wörter mit Index und Maske

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPERMI2W zmm, zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMI2W - Permutieren Sie Wörter mit Index und Maske. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermi2w ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermi2w ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMI2W ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMI2W ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMT2B - Bytes mit Index und Maske permutieren (zwei Quellen) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPERMT2B - Bytes mit Index und Maske permutieren (zwei Quellen)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPERMT2B zmm, zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMT2B - Bytes mit Index und Maske permutieren (zwei Quellen). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermt2b ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermt2b ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMT2B ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMT2B ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMT2D - Dwords mit Index und Maske permutieren (zwei Quellen) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPERMT2D - Dwords mit Index und Maske permutieren (zwei Quellen)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPERMT2D zmm, zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMT2D - Dwords mit Index und Maske permutieren (zwei Quellen). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermt2d ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermt2d ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMT2D ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMT2D ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMT2Q - Qwords mit Index und Maske permutieren (zwei Quellen) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPERMT2Q - Qwords mit Index und Maske permutieren (zwei Quellen)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPERMT2Q zmm, zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMT2Q - Qwords mit Index und Maske permutieren (zwei Quellen). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermt2q ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermt2q ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMT2Q ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMT2Q ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMT2W - Wörter mit Index und Maske permutieren (zwei Quellen) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPERMT2W - Wörter mit Index und Maske permutieren (zwei Quellen)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPERMT2W zmm, zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMT2W - Wörter mit Index und Maske permutieren (zwei Quellen). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermt2w ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermt2w ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMT2W ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMT2W ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVB2M - Verschieben Sie die Bytemaske vom Vektor in das k-Register - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPMOVB2M - Verschieben Sie die Bytemaske vom Vektor in das k-Register

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPMOVB2M k, zmm

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVB2M - Verschieben Sie die Bytemaske vom Vektor in das k-Register. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen k, zmm.

Operands and Sizes

Form | Meaning
k, zmm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovb2m ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovb2m ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVB2M ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVB2M ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVD2M - Verschieben Sie die Dword-Maske vom Vektor in das k-Register - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPMOVD2M - Verschieben Sie die Dword-Maske vom Vektor in das k-Register

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPMOVD2M k, zmm

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVD2M - Verschieben Sie die Dword-Maske vom Vektor in das k-Register. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen k, zmm.

Operands and Sizes

Form | Meaning
k, zmm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovd2m ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovd2m ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVD2M ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVD2M ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVM2B - Maske vom k-Register in den Byte-Vektor verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPMOVM2B - Maske vom k-Register in den Byte-Vektor verschieben

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPMOVM2B zmm, k

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVM2B - Maske vom k-Register in den Byte-Vektor verschieben. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, k.

Operands and Sizes

Form | Meaning
zmm, k | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovm2b ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovm2b ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVM2B ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVM2B ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← VPMOVD2M - Verschieben Sie die Dword-Maske vom Vektor in das k-Register Nach oben VPMOVM2D - Verschieben Sie die Maske vom k-Register in den dword-Vektor →


VPMOVM2D - Verschieben Sie die Maske vom k-Register in den dword-Vektor - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPMOVM2D - Verschieben Sie die Maske vom k-Register in den dword-Vektor

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPMOVM2D zmm, k

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVM2D - Verschieben Sie die Maske vom k-Register in den dword-Vektor. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, k.

Operands and Sizes

Form | Meaning
zmm, k | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovm2d ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovm2d ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVM2D ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVM2D ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVM2Q - Maske vom k-Register in den qword-Vektor verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPMOVM2Q - Maske vom k-Register in den qword-Vektor verschieben

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPMOVM2Q zmm, k

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVM2Q - Maske vom k-Register in den qword-Vektor verschieben. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, k.

Operands and Sizes

Form | Meaning
zmm, k | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovm2q ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovm2q ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVM2Q ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVM2Q ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVM2W - Maske vom k-Register in den Wortvektor verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPMOVM2W - Maske vom k-Register in den Wortvektor verschieben

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPMOVM2W zmm, k

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVM2W - Maske vom k-Register in den Wortvektor verschieben. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, k.

Operands and Sizes

Form | Meaning
zmm, k | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovm2w ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovm2w ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVM2W ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVM2W ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVQ2M - Verschieben Sie die qword-Maske vom Vektor in das k-Register - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPMOVQ2M - Verschieben Sie die qword-Maske vom Vektor in das k-Register

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPMOVQ2M k, zmm

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVQ2M - Verschieben Sie die qword-Maske vom Vektor in das k-Register. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen k, zmm.

Operands and Sizes

Form | Meaning
k, zmm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovq2m ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovq2m ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVQ2M ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVQ2M ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVW2M - Verschieben Sie die Wortmaske vom Vektor in das k-Register - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPMOVW2M - Verschieben Sie die Wortmaske vom Vektor in das k-Register

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPMOVW2M k, zmm

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVW2M - Verschieben Sie die Wortmaske vom Vektor in das k-Register. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen k, zmm.

Operands and Sizes

Form | Meaning
k, zmm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovw2m ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovw2m ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVW2M ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVW2M ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSHUFBITQMB - Mischen Sie die Bits im Qword zur Byte-Maske - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPSHUFBITQMB - Mischen Sie die Bits im Qword zur Byte-Maske

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPSHUFBITQMB k, zmm, zmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSHUFBITQMB - Mischen Sie die Bits im Qword zur Byte-Maske. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen k, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
k, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpshufbitqmb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpshufbitqmb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSHUFBITQMB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSHUFBITQMB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPTEST - Logical compare of integers (sets ZF/CF) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VPTEST - Logical compare of integers (sets ZF/CF)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VPTEST ymm/xmm, ymm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPTEST - Logical compare of integers (sets ZF/CF). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vptest ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vptest ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPTEST ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPTEST ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VTESTPD - Test packed double (sets ZF/CF) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VTESTPD - Test packed double (sets ZF/CF)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VTESTPD ymm/xmm, ymm/xmm

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VTESTPD - Test packed double (sets ZF/CF). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vtestpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vtestpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VTESTPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VTESTPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VTESTPS - Test packed single (sets ZF/CF) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VTESTPS - Test packed single (sets ZF/CF)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VTESTPS ymm/xmm, ymm/xmm

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VTESTPS - Test packed single (sets ZF/CF). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vtestps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vtestps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VTESTPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VTESTPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VUCOMISD - Compare unordered scalar double (flags) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VUCOMISD - Compare unordered scalar double (flags)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VUCOMISD xmm, xmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VUCOMISD - Compare unordered scalar double (flags). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vucomisd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vucomisd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VUCOMISD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VUCOMISD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VUCOMISS - Compare unordered scalar single (flags) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Vergleich / Flags Hilfe zum PBXB64-Compiler

VUCOMISS - Compare unordered scalar single (flags)

Category: Compare / Flags

Kategorie: Vergleich / Flags

Syntax

VUCOMISS xmm, xmm/mem

Beschreibung

Category: Compare / Flags

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VUCOMISS - Compare unordered scalar single (flags). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vucomiss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vucomiss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VUCOMISS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VUCOMISS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


Shuffle / Permutation - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

Shuffle / Permutation

Themen in diesem Kapitel

ADDPD - Fügen Sie das verpackte Doppel hinzu ANDNPS - Bitwise AND-NOT of packed singles ANDPS - Bitwise AND of packed singles CMPPD - Vergleichen Sie gepacktes Doppel (imm8-Prädikat) CMPPS - Vergleichen Sie gepackte Singles (imm8-Prädikat) CVTDQ2PD - Konvertieren Sie gepacktes Doppelwort in gepacktes Doppelwort CVTDQ2PS - Konvertieren Sie ein gepacktes Doppelwort in ein gepacktes Einzelwort CVTPD2DQ - Konvertieren Sie gepacktes Doppel in gepacktes Doppelwort CVTPD2PS - Wandeln Sie gepacktes Doppel in gepacktes Einzel um CVTPS2DQ - Konvertieren Sie ein gepacktes Einzelwort in ein gepacktes Doppelwort CVTPS2PD - Wandeln Sie gepacktes Einzel in gepacktes Doppel um CVTTPD2DQ - Gepacktes Doppel zu gepacktem Doppelwort abschneiden CVTTPS2DQ - Gepacktes Einzelwort in gepacktes Doppelwort kürzen DIVPD - Doppelt verpackt teilen DPPD - Skalarprodukt des gepackten Doppels DPPS - Skalarprodukt der gepackten Einzelmenge EXTRACTPS - Extrahieren Sie gepackte Singles in GPR/Speicher FBLD - BCD-Wert laden (18-stelliges gepacktes BCD) INSERTPS - Gepackte Single einfügen (aus der Quelle zusammenführen) MAXPD - Maximal doppelt bepackt MAXPS - Maximal gepacktes Einzelstück MINPD - Mindestens doppelt verpackt MINPS - Mindestens einzeln verpackt MOVNTPD - Nichtzeitlicher Speicher von gepacktem Doppel (SSE2) MOVNTPS - Nicht-temporäre Speicherung gepackter Singles (SSE) MULPD - Mehrfach gepacktes Doppeltes ORPS - Bitwise OR of packed singles PABSB - Gepackter absoluter Bytewert PABSD - Gepackter Absolutwert von Doppelwörtern PABSW - Verpackter absoluter Wortwert PACKSSDW - Vorzeichenbehaftete Doppelwörter zu Wörtern packen (gesättigt) PACKSSWB - Vorzeichenbehaftete Wörter in Bytes packen (gesättigt) PACKUSDW - Vorzeichenbehaftete Doppelwörter in vorzeichenlose Wörter packen (gesättigt) PACKUSWB - Packen Sie vorzeichenlose Wörter in Bytes (unsigned sat.) PADDB - Gepackte Bytes hinzufügen (bei Überlauf umbrechen) PADDD - Gepackte Doppelwörter hinzufügen (Umbruch) PADDQ - Fügen Sie gepackte Quadword-Ganzzahlen hinzu PADDSB - Fügen Sie gepackte Bytes mit vorzeichenbehafteter Sättigung hinzu PADDSW - Fügen Sie gepackte Wörter mit vorzeichenbehafteter Sättigung hinzu PADDUSB - Fügen Sie gepackte Bytes mit vorzeichenloser Sättigung hinzu PADDUSW - Fügen Sie gepackte Wörter mit vorzeichenloser Sättigung hinzu PADDW - Gepackte Wörter hinzufügen (Umbruch) PALIGNR - Gepackt rechts ausrichten (verketten und verschieben) PCMPEQB - Vergleichen Sie gepackte Bytes auf Gleichheit PCMPEQD - Vergleichen Sie gepackte Doppelwörter auf Gleichheit PCMPEQQ - Vergleichen Sie gepackte Quadwords auf Gleichheit PCMPEQW - Vergleichen Sie gepackte Wörter auf Gleichheit PCMPESTRI - Gepackte Zeichenfolgen mit expliziter Länge und Index vergleichen PCMPGTB - Vergleichen Sie gepackte Bytes auf größer als (mit Vorzeichen) PCMPGTD - Vergleichen Sie gepackte Doppelwörter für größer als PCMPGTQ - Vergleichen Sie gepackte Quadwords für größer als (vorzeichenbehaftet) PCMPGTW - Vergleichen Sie gepackte Wörter für größer als PCMPISTRI - Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Index PHADDD - Gepackte horizontale Doppelwörter hinzufügen PHADDSW - Gepackte horizontale Wörter mit Sättigung hinzufügen PHADDW - Gepackte horizontale Wörter hinzufügen PHMINPOSUW - Gepackte horizontale Min. vorzeichenloser Wörter, Speicherposition PHSUBD - Gepackte horizontale Subtraktionsdoppelwörter PHSUBSW - Gepackte horizontale subtrahierte vorzeichenbehaftete Wörter mit Sättigung PHSUBW - Gepackte horizontale Subtraktionswörter PMADDWD - Multiplizieren Sie gepackte Wörter und fügen Sie sie zu Doppelwörtern hinzu PMAXSB - Maximale Anzahl gepackter signierter Bytes PMAXSD - Maximal gepackte signierte Doppelwörter PMAXSW - Maximal gepackte vorzeichenbehaftete Wörter PMAXUB - Maximal gepackte Bytes ohne Vorzeichen PMAXUD - Maximal gepackte vorzeichenlose Doppelwörter PMAXUW - Maximal gepackte Wörter ohne Vorzeichen PMINSD - Mindestens gepackte signierte Doppelwörter PMINSW - Mindestens gepackte vorzeichenbehaftete Wörter PMINUD - Mindestens gepackte, vorzeichenlose Doppelwörter PMULDQ - Multiplizieren Sie gepackte vorzeichenbehaftete Doppelwörter zu Quadwörtern PMULHRSW - Verpackt mehrfach hoch mit Rundung und Skala PMULHUW - Mehrfach gepackte vorzeichenlose Wörter (hohe 16 Bit) PMULHW - Multiplizieren Sie gepackte Wörter (höhere 16 Bits des Produkts) PMULLD - Mehrfach gepackte vorzeichenbehaftete Doppelwörter (niedrige 32 Bit) PMULLW - Multiplizieren Sie gepackte Wörter (niedrige 16 Bits des Produkts) PSHUFB - Gepackte Bytes mischen (SSSE3) PSHUFD - Mischen Sie gepackte Doppelwörter PSHUFHW - Mischen Sie gepackte hohe Wörter PSHUFLW - Mischen Sie gepackte niedrige Wörter PSIGNB - Vorzeichen gepackter Bytes (negativ oder null) PSIGND - Zeichen für gepackte Doppelwörter PSIGNW - Zeichen gepackter Wörter PSLLD - Pack-Shift-Links-logische Doppelwörter PSLLQ - Packen Sie das logische Vierwort nach links PSLLW - Pack verschiebt logische Wörter nach links PSRAD - Packen Sie arithmetische Doppelwörter mit Rechtsverschiebung PSRAW - Packen Sie arithmetische Wörter nach rechts PSRLD - Packen Sie logische Doppelwörter mit Rechtsverschiebung PSRLQ - Packen Sie das logische Vierwort nach rechts PSRLW - Packen Sie logische Wörter nach rechts PSUBB - Gepackte Bytes subtrahieren (Wrap) PSUBD - Gepackte Doppelwörter subtrahieren (Umbruch) PSUBQ - Subtrahieren Sie gepackte Quadword-Ganzzahlen PSUBSB - Subtrahieren Sie gepackte Bytes mit vorzeichenbehafteter Sättigung PSUBSW - Subtrahieren Sie gepackte Wörter mit vorzeichenbehafteter Sättigung PSUBUSB - Subtrahieren Sie gepackte Bytes mit vorzeichenloser Sättigung PSUBUSW - Subtrahieren Sie gepackte Wörter mit vorzeichenloser Sättigung PSUBW - Gepackte Wörter subtrahieren (Umbruch) PTEST - Logischer Vergleich gepackter Ganzzahlen (setzt ZF/CF) PUNPCKHBW - Hohe Bytes entpacken (Interleave) PUNPCKHDQ - Hohe Doppelwörter auspacken PUNPCKHQDQ - Entpacken Sie hohe Quadwords PUNPCKHWD - Packen Sie hohe Wörter aus PUNPCKLBW - Low-Bytes entpacken PUNPCKLDQ - Entpacken Sie niedrige Doppelwörter PUNPCKLQDQ - Entpacken Sie niedrige Quadwords PUNPCKLWD - Packen Sie niedrige Wörter aus RCPPS - Reziprok gepacktes Single (ungefähr) ROUNDPD - Rund verpackt, doppelt ROUNDPS - Rund verpackte Single RSQRTPS - Reziproke Quadratwurzel gepackte Einzelzahl (ungefähr) SHUFPD - Shuffle packed double SHUFPS - Shuffle packed single SQRTPD - Quadratwurzel doppelt gepackt SQRTPS - Quadratwurzelgepackte Single SUBPD - Subtrahieren Sie das gepackte Doppel UNPCKHPS - Unpack high packed single UNPCKLPS - Unpack low packed single VADDPD - Doppelpack hinzufügen (128/256) VADDPS - Gepackte Single hinzufügen (128/256) VANDNPD - Bitwise AND-NOT of packed doubles VANDNPS - Bitwise AND-NOT of packed singles VANDPD - Bitwise AND of packed doubles VANDPS - Bitwise AND of packed singles VBLENDPD - Blend packed double (imm8) VBLENDPS - Blend packed single (imm8) VBLENDVPD - Variable blend packed double VBLENDVPS - Variable blend packed single VCPH2PS - Convert half precision to packed single VCVTDQ2PD - Convert packed dword to double VCVTDQ2PS - Convert packed dword to single VCVTPD2DQ - Convert packed double to dword VCVTPD2PS - Convert packed double to single VCVTPS2DQ - Convert packed single to dword VCVTPS2PD - Convert packed single to double VCVTPS2PH - Convert packed single to half precision VCVTTPD2DQ - Truncate packed double to dword VCVTTPS2DQ - Truncate packed single to dword VDBPSADBW - Doppelblockgepackte Summe von ABS-Diffs (Wörtern) VDIVPD - Doppelt verpackt teilen VDIVPS - Teilweise einzeln verpackt VDPPD - Dot product packed double (imm8) VDPPS - Dot product packed single (imm8) VEXP2PD - Exponentielle Näherung zur Basis 2 (doppelt, gepackt) VEXP2PS - Exponentielle Näherung zur Basis 2 (einfach, gepackt) VFIXUPIMMPD - Verpacktes Doppel reparieren (NaN-Handhabung) VFIXUPIMMPS - Verpackte Single reparieren (NaN-Handhabung) VFMADD132PD - FMA: a*b+c (double, packed) VFMADD132PS - FMA: a*b+c (single, packed) VFMADD213PD - FMA: a*b+c (double, packed) VFMADD213PS - FMA: a*b+c (single, packed) VFMADD231PD - FMA: a*b+c (double, packed) VFMADD231PS - FMA: a*b+c (single, packed) VFMADDSUB132PD - FMA: a*b+c / a*b-c (alternierend, doppelt gepackt) VFMADDSUB132PS - FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt) VFMADDSUB213PD - FMA: a*b+c / a*b-c (alternierend, doppelt gepackt) VFMADDSUB213PS - FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt) VFMADDSUB231PD - FMA: a*b+c / a*b-c (alternierend, doppelt gepackt) VFMADDSUB231PS - FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt) VFMSUB132PD - FMA: a*b-c (double, packed) VFMSUB132PS - FMA: a*b-c (single, packed) VFMSUB213PD - FMA: a*b-c (double, packed) VFMSUB213PS - FMA: a*b-c (single, packed) VFMSUB231PD - FMA: a*b-c (double, packed) VFMSUB231PS - FMA: a*b-c (single, packed) VFNMADD132PD - FMA: -(a*b)+c (doppelt, gepackt) VFNMADD132PS - FMA: -(a*b)+c (einzeln, verpackt) VFNMADD213PD - FMA: -(a*b)+c (doppelt, gepackt) VFNMADD213PS - FMA: -(a*b)+c (einzeln, verpackt) VFNMADD231PD - FMA: -(a*b)+c (doppelt, gepackt) VFNMADD231PS - FMA: -(a*b)+c (einzeln, verpackt) VFNMSUB132PD - FMA: -(a*b)-c (doppelt, gepackt) VFNMSUB132PS - FMA: -(a*b)-c (einzeln, verpackt) VFNMSUB213PD - FMA: -(a*b)-c (doppelt, gepackt) VFNMSUB213PS - FMA: -(a*b)-c (einzeln, verpackt) VFNMSUB231PD - FMA: -(a*b)-c (doppelt, gepackt) VFNMSUB231PS - FMA: -(a*b)-c (einzeln, verpackt) VMAXPD - Maximal doppelt bepackt VMAXPS - Maximal gepacktes Einzelstück VMINPD - Mindestens doppelt verpackt VMINPS - Mindestens einzeln verpackt VMOVAPS - Verschieben Sie ausgerichtete verpackte Einzelstücke VMULPD - Mehrfach gepacktes Doppeltes VMULPS - Mehrfach gepackte Single VORPD - Bitwise OR of packed doubles VORPS - Bitwise OR of packed singles VPALIGNR - Align right (concatenate and shift, imm8) VPBLENDVB - Variable blend packed bytes VPBLENDW - Blend packed words (imm8) VPCOMPRESSD - Komprimieren Sie gepackte Dwords VPCOMPRESSQ - Komprimieren Sie gepackte Qwords VPERM2F128 - Permute 128-bit lanes VPERM2I128 - Permute 128-bit integer lanes VPERMD - Permute doublewords VPERMIL2PD - Two-source permute of doubles VPERMIL2PS - Two-source permute of singles VPERMILPD - Permute in-lane packed double VPERMILPS - Permute in-lane packed single VPERMPD - Permute double-precision floats VPERMPS - Permute single-precision floats VPERMQ - Permute quadwords VPEXPANDD - Erweitern Sie gepackte Dwords VPEXPANDQ - Erweitern Sie gepackte Qwords VPMOVDB - Packen und kürzen Sie Dwords in Bytes (schmal) VPMOVDW - Packen und kürzen Sie Dwords in Wörter (schmal) VPMOVQB - Packen und kürzen Sie qwords in Bytes (schmal) VPMOVQD - Packen und kürzen Sie qwords in dwords (schmal) VPMOVQW - Packen und kürzen Sie qwords in Wörter (schmal) VPMOVWB - Packen und kürzen Sie Wörter in Bytes (schmal) VPMULLQ - Multiplizieren Sie gepackte Qwords mit Vorzeichen (niedrige 64 Bit) VPSHUFB - Shuffle packed bytes (per-lane) VPSHUFD - Shuffle packed dwords (per-lane, imm8) VPSHUFHW - Shuffle packed high words (imm8) VPSHUFLW - Shuffle packed low words (imm8) VRCP14PD - 14-Bit reziprokes gepacktes Double VRCP14PS - 14-Bit reziproke gepackte Single VRCP28PD - 28-Bit-Reziproknäherung (doppelt, gepackt) VRCP28PS - 28-Bit-Reziproknäherung (einzeln, gepackt) VRCPPS - Gegenseitig verpackte Single (ungefähr) VREDUCEPD - Packed Double reduzieren (auf N Bits runden) VREDUCEPS - Gepackte Single reduzieren (auf N Bits runden) VRNDSCALEPD - Rund verpackt, doppelt mit Skala VRNDSCALEPS - Rund verpacktes Einzelstück mit Skala VROUNDPD - Rund verpackt, doppelt VROUNDPS - Rund verpackte Single VRSQRT28PD - 28-Bit reziproke Quadratnäherung (doppelt, gepackt) VRSQRT28PS - 28-Bit reziproke Quadratnäherung (einzeln, gepackt) VRSQRTPS - Reziproke quadratisch gepackte Single (ungefähr) VSCALEFPD - Skala doppelt gepackt durch Zweierpotenz VSCATTERDPD - Scatter-gepacktes Doppel mit Dword-Indizes VSCATTERDPS - Scatter-gepackte Single mit Dword-Indizes VSCATTERQPD - Scatter-gepacktes Doppel mit Qword-Indizes VSCATTERQPS - Streugepackte Single mit Qword-Indizes VSHUFPD - Shuffle packed double VSHUFPS - Shuffle packed single VSQRTPD - Quadratwurzel doppelt gepackt VSQRTPS - Quadratwurzelgepackte Single VSUBPD - Subtrahieren Sie das gepackte Doppel VSUBPS - Gepackte Single subtrahieren VUNPCKHPD - Unpack high packed double VUNPCKHPS - Unpack high packed single VUNPCKLPD - Unpack low packed double VUNPCKLPS - Unpack low packed single VXORPD - Bitwise XOR of packed doubles VXORPS - Bitwise XOR of packed singles XORPS - Bitwise XOR of packed singles


ADDPD - Fügen Sie das verpackte Doppel hinzu - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

ADDPD - Fügen Sie das verpackte Doppel hinzu

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

ADDPD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ADDPD - Fügen Sie das verpackte Doppel hinzu. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    addpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! addpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ADDPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ADDPD ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ANDNPS - Bitwise AND-NOT of packed singles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

ANDNPS - Bitwise AND-NOT of packed singles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

ANDNPS xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ANDNPS - Bitwise AND-NOT of packed singles. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    andnps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! andnps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ANDNPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ANDNPS ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ANDPS - Bitwise AND of packed singles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

ANDPS - Bitwise AND of packed singles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

ANDPS xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ANDPS - Bitwise AND of packed singles. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    andps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! andps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ANDPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ANDPS ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CMPPD - Vergleichen Sie gepacktes Doppel (imm8-Prädikat) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

CMPPD - Vergleichen Sie gepacktes Doppel (imm8-Prädikat)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

CMPPD xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CMPPD - Vergleichen Sie gepacktes Doppel (imm8-Prädikat). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    cmppd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cmppd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CMPPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMPPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CMPPS - Vergleichen Sie gepackte Singles (imm8-Prädikat) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

CMPPS - Vergleichen Sie gepackte Singles (imm8-Prädikat)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

CMPPS xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CMPPS - Vergleichen Sie gepackte Singles (imm8-Prädikat). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    cmpps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cmpps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CMPPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMPPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CVTDQ2PD - Konvertieren Sie gepacktes Doppelwort in gepacktes Doppelwort - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

CVTDQ2PD - Konvertieren Sie gepacktes Doppelwort in gepacktes Doppelwort

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

CVTDQ2PD xmm, xmm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CVTDQ2PD - Konvertieren Sie gepacktes Doppelwort in gepacktes Doppelwort. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem64.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    cvtdq2pd xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cvtdq2pd xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CVTDQ2PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTDQ2PD ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CVTDQ2PS - Konvertieren Sie ein gepacktes Doppelwort in ein gepacktes Einzelwort - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

CVTDQ2PS - Konvertieren Sie ein gepacktes Doppelwort in ein gepacktes Einzelwort

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

CVTDQ2PS xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CVTDQ2PS - Konvertieren Sie ein gepacktes Doppelwort in ein gepacktes Einzelwort. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    cvtdq2ps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cvtdq2ps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CVTDQ2PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTDQ2PS ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← CVTDQ2PD - Konvertieren Sie gepacktes Doppelwort in gepacktes Doppelwort Nach oben CVTPD2DQ - Konvertieren Sie gepacktes Doppel in gepacktes Doppelwort →


CVTPD2DQ - Konvertieren Sie gepacktes Doppel in gepacktes Doppelwort - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

CVTPD2DQ - Konvertieren Sie gepacktes Doppel in gepacktes Doppelwort

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

CVTPD2DQ xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CVTPD2DQ - Konvertieren Sie gepacktes Doppel in gepacktes Doppelwort. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    cvtpd2dq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cvtpd2dq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CVTPD2DQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTPD2DQ ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← CVTDQ2PS - Konvertieren Sie ein gepacktes Doppelwort in ein gepacktes Einzelwort Nach oben CVTPD2PS - Wandeln Sie gepacktes Doppel in gepacktes Einzel um →


CVTPD2PS - Wandeln Sie gepacktes Doppel in gepacktes Einzel um - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

CVTPD2PS - Wandeln Sie gepacktes Doppel in gepacktes Einzel um

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

CVTPD2PS xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CVTPD2PS - Wandeln Sie gepacktes Doppel in gepacktes Einzel um. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    cvtpd2ps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cvtpd2ps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CVTPD2PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTPD2PS ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← CVTPD2DQ - Konvertieren Sie gepacktes Doppel in gepacktes Doppelwort Nach oben CVTPS2DQ - Konvertieren Sie ein gepacktes Einzelwort in ein gepacktes Doppelwort →


CVTPS2DQ - Konvertieren Sie ein gepacktes Einzelwort in ein gepacktes Doppelwort - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

CVTPS2DQ - Konvertieren Sie ein gepacktes Einzelwort in ein gepacktes Doppelwort

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

CVTPS2DQ xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CVTPS2DQ - Konvertieren Sie ein gepacktes Einzelwort in ein gepacktes Doppelwort. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    cvtps2dq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cvtps2dq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CVTPS2DQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTPS2DQ ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CVTPS2PD - Wandeln Sie gepacktes Einzel in gepacktes Doppel um - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

CVTPS2PD - Wandeln Sie gepacktes Einzel in gepacktes Doppel um

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

CVTPS2PD xmm, xmm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CVTPS2PD - Wandeln Sie gepacktes Einzel in gepacktes Doppel um. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem64.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    cvtps2pd xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cvtps2pd xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CVTPS2PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTPS2PD ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← CVTPS2DQ - Konvertieren Sie ein gepacktes Einzelwort in ein gepacktes Doppelwort Nach oben CVTTPD2DQ - Gepacktes Doppel zu gepacktem Doppelwort abschneiden →


CVTTPD2DQ - Gepacktes Doppel zu gepacktem Doppelwort abschneiden - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

CVTTPD2DQ - Gepacktes Doppel zu gepacktem Doppelwort abschneiden

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

CVTTPD2DQ xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CVTTPD2DQ - Gepacktes Doppel zu gepacktem Doppelwort abschneiden. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    cvttpd2dq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cvttpd2dq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CVTTPD2DQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTTPD2DQ ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CVTTPS2DQ - Gepacktes Einzelwort in gepacktes Doppelwort kürzen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

CVTTPS2DQ - Gepacktes Einzelwort in gepacktes Doppelwort kürzen

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

CVTTPS2DQ xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CVTTPS2DQ - Gepacktes Einzelwort in gepacktes Doppelwort kürzen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    cvttps2dq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cvttps2dq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CVTTPS2DQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTTPS2DQ ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


DIVPD - Doppelt verpackt teilen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

DIVPD - Doppelt verpackt teilen

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

DIVPD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

DIVPD - Doppelt verpackt teilen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    divpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! divpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

DIVPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

DIVPD ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


DPPD - Skalarprodukt des gepackten Doppels - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

DPPD - Skalarprodukt des gepackten Doppels

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

DPPD xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

DPPD - Skalarprodukt des gepackten Doppels. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    dppd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! dppd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

DPPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

DPPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


DPPS - Skalarprodukt der gepackten Einzelmenge - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

DPPS - Skalarprodukt der gepackten Einzelmenge

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

DPPS xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

DPPS - Skalarprodukt der gepackten Einzelmenge. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    dpps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! dpps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

DPPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

DPPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


EXTRACTPS - Extrahieren Sie gepackte Singles in GPR/Speicher - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

EXTRACTPS - Extrahieren Sie gepackte Singles in GPR/Speicher

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

EXTRACTPS reg/mem32, xmm, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

EXTRACTPS - Extrahieren Sie gepackte Singles in GPR/Speicher. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen reg/mem32, xmm, imm8.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem32, xmm, imm8 | uses XMM vector/scalar registers; may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    extractps xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! extractps xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

EXTRACTPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

EXTRACTPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FBLD - BCD-Wert laden (18-stelliges gepacktes BCD) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

FBLD - BCD-Wert laden (18-stelliges gepacktes BCD)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

FBLD mem80 (TBYTE)

Beschreibung

Category: Shuffle / Permute

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FBLD - BCD-Wert laden (18-stelliges gepacktes BCD). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem80 (TBYTE).

Operands and Sizes

Form | Meaning
mem80 (TBYTE) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fbld [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fbld [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FBLD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FBLD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


INSERTPS - Gepackte Single einfügen (aus der Quelle zusammenführen) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

INSERTPS - Gepackte Single einfügen (aus der Quelle zusammenführen)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

INSERTPS xmm, xmm/mem32, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

INSERTPS - Gepackte Single einfügen (aus der Quelle zusammenführen). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem32, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem32, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    insertps xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! insertps xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

INSERTPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

INSERTPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MAXPD - Maximal doppelt bepackt - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

MAXPD - Maximal doppelt bepackt

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

MAXPD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MAXPD - Maximal doppelt bepackt. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    maxpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! maxpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MAXPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MAXPD ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MAXPS - Maximal gepacktes Einzelstück - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

MAXPS - Maximal gepacktes Einzelstück

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

MAXPS xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MAXPS - Maximal gepacktes Einzelstück. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    maxps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! maxps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MAXPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MAXPS ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MINPD - Mindestens doppelt verpackt - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

MINPD - Mindestens doppelt verpackt

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

MINPD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MINPD - Mindestens doppelt verpackt. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    minpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! minpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MINPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MINPD ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MINPS - Mindestens einzeln verpackt - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

MINPS - Mindestens einzeln verpackt

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

MINPS xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MINPS - Mindestens einzeln verpackt. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    minps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! minps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MINPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MINPS ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVNTPD - Nichtzeitlicher Speicher von gepacktem Doppel (SSE2) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

MOVNTPD - Nichtzeitlicher Speicher von gepacktem Doppel (SSE2)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

MOVNTPD mem128, xmm

Beschreibung

Category: Shuffle / Permute

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVNTPD - Nichtzeitlicher Speicher von gepacktem Doppel (SSE2). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem128, xmm.

Operands and Sizes

Form | Meaning
mem128, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    movntpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movntpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVNTPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVNTPD ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVNTPS - Nicht-temporäre Speicherung gepackter Singles (SSE) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

MOVNTPS - Nicht-temporäre Speicherung gepackter Singles (SSE)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

MOVNTPS mem128, xmm

Beschreibung

Category: Shuffle / Permute

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVNTPS - Nicht-temporäre Speicherung gepackter Singles (SSE). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem128, xmm.

Operands and Sizes

Form | Meaning
mem128, xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    movntps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movntps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVNTPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVNTPS ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MULPD - Mehrfach gepacktes Doppeltes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

MULPD - Mehrfach gepacktes Doppeltes

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

MULPD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MULPD - Mehrfach gepacktes Doppeltes. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    mulpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! mulpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MULPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MULPD ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ORPS - Bitwise OR of packed singles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

ORPS - Bitwise OR of packed singles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

ORPS xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ORPS - Bitwise OR of packed singles. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    orps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! orps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ORPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ORPS ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PABSB - Gepackter absoluter Bytewert - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PABSB - Gepackter absoluter Bytewert

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PABSB xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PABSB - Gepackter absoluter Bytewert. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pabsb xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pabsb xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PABSB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PABSB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PABSD - Gepackter Absolutwert von Doppelwörtern - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PABSD - Gepackter Absolutwert von Doppelwörtern

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PABSD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PABSD - Gepackter Absolutwert von Doppelwörtern. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pabsd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pabsd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PABSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PABSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PABSW - Verpackter absoluter Wortwert - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PABSW - Verpackter absoluter Wortwert

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PABSW xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PABSW - Verpackter absoluter Wortwert. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pabsw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pabsw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PABSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PABSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PACKSSDW - Vorzeichenbehaftete Doppelwörter zu Wörtern packen (gesättigt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PACKSSDW - Vorzeichenbehaftete Doppelwörter zu Wörtern packen (gesättigt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PACKSSDW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PACKSSDW - Vorzeichenbehaftete Doppelwörter zu Wörtern packen (gesättigt). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    packssdw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! packssdw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PACKSSDW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PACKSSDW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PACKSSWB - Vorzeichenbehaftete Wörter in Bytes packen (gesättigt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PACKSSWB - Vorzeichenbehaftete Wörter in Bytes packen (gesättigt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PACKSSWB mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PACKSSWB - Vorzeichenbehaftete Wörter in Bytes packen (gesättigt). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    packsswb [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! packsswb [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PACKSSWB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PACKSSWB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PACKSSDW - Vorzeichenbehaftete Doppelwörter zu Wörtern packen (gesättigt) Nach oben PACKUSDW - Vorzeichenbehaftete Doppelwörter in vorzeichenlose Wörter packen (gesättigt) →


PACKUSDW - Vorzeichenbehaftete Doppelwörter in vorzeichenlose Wörter packen (gesättigt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PACKUSDW - Vorzeichenbehaftete Doppelwörter in vorzeichenlose Wörter packen (gesättigt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PACKUSDW xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PACKUSDW - Vorzeichenbehaftete Doppelwörter in vorzeichenlose Wörter packen (gesättigt). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    packusdw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! packusdw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PACKUSDW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PACKUSDW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PACKUSWB - Packen Sie vorzeichenlose Wörter in Bytes (unsigned sat.) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PACKUSWB - Packen Sie vorzeichenlose Wörter in Bytes (unsigned sat.)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PACKUSWB mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PACKUSWB - Packen Sie vorzeichenlose Wörter in Bytes (unsigned sat.). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    packuswb [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! packuswb [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PACKUSWB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PACKUSWB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PACKUSDW - Vorzeichenbehaftete Doppelwörter in vorzeichenlose Wörter packen (gesättigt) Nach oben PADDB - Gepackte Bytes hinzufügen (bei Überlauf umbrechen) →


PADDB - Gepackte Bytes hinzufügen (bei Überlauf umbrechen) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PADDB - Gepackte Bytes hinzufügen (bei Überlauf umbrechen)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PADDB mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PADDB - Gepackte Bytes hinzufügen (bei Überlauf umbrechen). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    paddb [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! paddb [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PADDB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PADDB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PADDD - Gepackte Doppelwörter hinzufügen (Umbruch) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PADDD - Gepackte Doppelwörter hinzufügen (Umbruch)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PADDD mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PADDD - Gepackte Doppelwörter hinzufügen (Umbruch). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    paddd [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! paddd [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PADDD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PADDD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PADDQ - Fügen Sie gepackte Quadword-Ganzzahlen hinzu - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PADDQ - Fügen Sie gepackte Quadword-Ganzzahlen hinzu

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PADDQ xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PADDQ - Fügen Sie gepackte Quadword-Ganzzahlen hinzu. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    paddq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! paddq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PADDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PADDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PADDSB - Fügen Sie gepackte Bytes mit vorzeichenbehafteter Sättigung hinzu - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PADDSB - Fügen Sie gepackte Bytes mit vorzeichenbehafteter Sättigung hinzu

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PADDSB mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PADDSB - Fügen Sie gepackte Bytes mit vorzeichenbehafteter Sättigung hinzu. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    paddsb [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! paddsb [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PADDSB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PADDSB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PADDSW - Fügen Sie gepackte Wörter mit vorzeichenbehafteter Sättigung hinzu - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PADDSW - Fügen Sie gepackte Wörter mit vorzeichenbehafteter Sättigung hinzu

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PADDSW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PADDSW - Fügen Sie gepackte Wörter mit vorzeichenbehafteter Sättigung hinzu. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    paddsw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! paddsw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PADDSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PADDSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PADDSB - Fügen Sie gepackte Bytes mit vorzeichenbehafteter Sättigung hinzu Nach oben PADDUSB - Fügen Sie gepackte Bytes mit vorzeichenloser Sättigung hinzu →


PADDUSB - Fügen Sie gepackte Bytes mit vorzeichenloser Sättigung hinzu - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PADDUSB - Fügen Sie gepackte Bytes mit vorzeichenloser Sättigung hinzu

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PADDUSB mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PADDUSB - Fügen Sie gepackte Bytes mit vorzeichenloser Sättigung hinzu. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    paddusb [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! paddusb [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PADDUSB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PADDUSB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PADDSW - Fügen Sie gepackte Wörter mit vorzeichenbehafteter Sättigung hinzu Nach oben PADDUSW - Fügen Sie gepackte Wörter mit vorzeichenloser Sättigung hinzu →


PADDUSW - Fügen Sie gepackte Wörter mit vorzeichenloser Sättigung hinzu - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PADDUSW - Fügen Sie gepackte Wörter mit vorzeichenloser Sättigung hinzu

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PADDUSW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PADDUSW - Fügen Sie gepackte Wörter mit vorzeichenloser Sättigung hinzu. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    paddusw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! paddusw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PADDUSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PADDUSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PADDW - Gepackte Wörter hinzufügen (Umbruch) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PADDW - Gepackte Wörter hinzufügen (Umbruch)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PADDW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PADDW - Gepackte Wörter hinzufügen (Umbruch). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    paddw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! paddw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PADDW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PADDW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PALIGNR - Gepackt rechts ausrichten (verketten und verschieben) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PALIGNR - Gepackt rechts ausrichten (verketten und verschieben)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PALIGNR xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PALIGNR - Gepackt rechts ausrichten (verketten und verschieben). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    palignr xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! palignr xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PALIGNR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PALIGNR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PCMPEQB - Vergleichen Sie gepackte Bytes auf Gleichheit - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PCMPEQB - Vergleichen Sie gepackte Bytes auf Gleichheit

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PCMPEQB mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PCMPEQB - Vergleichen Sie gepackte Bytes auf Gleichheit. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pcmpeqb [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pcmpeqb [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PCMPEQB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PCMPEQB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PCMPEQD - Vergleichen Sie gepackte Doppelwörter auf Gleichheit - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PCMPEQD - Vergleichen Sie gepackte Doppelwörter auf Gleichheit

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PCMPEQD mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PCMPEQD - Vergleichen Sie gepackte Doppelwörter auf Gleichheit. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pcmpeqd [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pcmpeqd [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PCMPEQD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PCMPEQD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PCMPEQQ - Vergleichen Sie gepackte Quadwords auf Gleichheit - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PCMPEQQ - Vergleichen Sie gepackte Quadwords auf Gleichheit

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PCMPEQQ xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PCMPEQQ - Vergleichen Sie gepackte Quadwords auf Gleichheit. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pcmpeqq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pcmpeqq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PCMPEQQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PCMPEQQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PCMPEQW - Vergleichen Sie gepackte Wörter auf Gleichheit - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PCMPEQW - Vergleichen Sie gepackte Wörter auf Gleichheit

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PCMPEQW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PCMPEQW - Vergleichen Sie gepackte Wörter auf Gleichheit. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pcmpeqw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pcmpeqw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PCMPEQW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PCMPEQW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PCMPESTRI - Gepackte Zeichenfolgen mit expliziter Länge und Index vergleichen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PCMPESTRI - Gepackte Zeichenfolgen mit expliziter Länge und Index vergleichen

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PCMPESTRI xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PCMPESTRI - Gepackte Zeichenfolgen mit expliziter Länge und Index vergleichen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pcmpestri xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pcmpestri xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PCMPESTRI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PCMPESTRI ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


PCMPGTB - Vergleichen Sie gepackte Bytes auf größer als (mit Vorzeichen) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PCMPGTB - Vergleichen Sie gepackte Bytes auf größer als (mit Vorzeichen)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PCMPGTB mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PCMPGTB - Vergleichen Sie gepackte Bytes auf größer als (mit Vorzeichen). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pcmpgtb [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pcmpgtb [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PCMPGTB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PCMPGTB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PCMPESTRI - Gepackte Zeichenfolgen mit expliziter Länge und Index vergleichen Nach oben PCMPGTD - Vergleichen Sie gepackte Doppelwörter für größer als →


PCMPGTD - Vergleichen Sie gepackte Doppelwörter für größer als - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PCMPGTD - Vergleichen Sie gepackte Doppelwörter für größer als

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PCMPGTD mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PCMPGTD - Vergleichen Sie gepackte Doppelwörter für größer als. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pcmpgtd [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pcmpgtd [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PCMPGTD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PCMPGTD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PCMPGTB - Vergleichen Sie gepackte Bytes auf größer als (mit Vorzeichen) Nach oben PCMPGTQ - Vergleichen Sie gepackte Quadwords für größer als (vorzeichenbehaftet) →


PCMPGTQ - Vergleichen Sie gepackte Quadwords für größer als (vorzeichenbehaftet) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PCMPGTQ - Vergleichen Sie gepackte Quadwords für größer als (vorzeichenbehaftet)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PCMPGTQ xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PCMPGTQ - Vergleichen Sie gepackte Quadwords für größer als (vorzeichenbehaftet). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pcmpgtq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pcmpgtq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PCMPGTQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PCMPGTQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PCMPGTW - Vergleichen Sie gepackte Wörter für größer als - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PCMPGTW - Vergleichen Sie gepackte Wörter für größer als

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PCMPGTW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PCMPGTW - Vergleichen Sie gepackte Wörter für größer als. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pcmpgtw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pcmpgtw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PCMPGTW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PCMPGTW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PCMPGTQ - Vergleichen Sie gepackte Quadwords für größer als (vorzeichenbehaftet) Nach oben PCMPISTRI - Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Index →


PCMPISTRI - Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Index - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PCMPISTRI - Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Index

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PCMPISTRI xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PCMPISTRI - Gepackte Zeichenfolgen mit impliziter Länge vergleichen, Index. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pcmpistri xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pcmpistri xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PCMPISTRI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PCMPISTRI ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.


PHADDD - Gepackte horizontale Doppelwörter hinzufügen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PHADDD - Gepackte horizontale Doppelwörter hinzufügen

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PHADDD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PHADDD - Gepackte horizontale Doppelwörter hinzufügen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    phaddd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! phaddd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PHADDD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PHADDD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PHADDSW - Gepackte horizontale Wörter mit Sättigung hinzufügen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PHADDSW - Gepackte horizontale Wörter mit Sättigung hinzufügen

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PHADDSW xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PHADDSW - Gepackte horizontale Wörter mit Sättigung hinzufügen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    phaddsw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! phaddsw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PHADDSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PHADDSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PHADDW - Gepackte horizontale Wörter hinzufügen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PHADDW - Gepackte horizontale Wörter hinzufügen

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PHADDW xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PHADDW - Gepackte horizontale Wörter hinzufügen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    phaddw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! phaddw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PHADDW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PHADDW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PHADDSW - Gepackte horizontale Wörter mit Sättigung hinzufügen Nach oben PHMINPOSUW - Gepackte horizontale Min. vorzeichenloser Wörter, Speicherposition →


PHMINPOSUW - Gepackte horizontale Min. vorzeichenloser Wörter, Speicherposition - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PHMINPOSUW - Gepackte horizontale Min. vorzeichenloser Wörter, Speicherposition

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PHMINPOSUW xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PHMINPOSUW - Gepackte horizontale Min. vorzeichenloser Wörter, Speicherposition. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    phminposuw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! phminposuw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PHMINPOSUW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PHMINPOSUW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PHSUBD - Gepackte horizontale Subtraktionsdoppelwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PHSUBD - Gepackte horizontale Subtraktionsdoppelwörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PHSUBD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PHSUBD - Gepackte horizontale Subtraktionsdoppelwörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    phsubd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! phsubd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PHSUBD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PHSUBD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PHMINPOSUW - Gepackte horizontale Min. vorzeichenloser Wörter, Speicherposition Nach oben PHSUBSW - Gepackte horizontale subtrahierte vorzeichenbehaftete Wörter mit Sättigung →


PHSUBSW - Gepackte horizontale subtrahierte vorzeichenbehaftete Wörter mit Sättigung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PHSUBSW - Gepackte horizontale subtrahierte vorzeichenbehaftete Wörter mit Sättigung

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PHSUBSW xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PHSUBSW - Gepackte horizontale subtrahierte vorzeichenbehaftete Wörter mit Sättigung. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    phsubsw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! phsubsw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PHSUBSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PHSUBSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PHSUBW - Gepackte horizontale Subtraktionswörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PHSUBW - Gepackte horizontale Subtraktionswörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PHSUBW xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PHSUBW - Gepackte horizontale Subtraktionswörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    phsubw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! phsubw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PHSUBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PHSUBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PHSUBSW - Gepackte horizontale subtrahierte vorzeichenbehaftete Wörter mit Sättigung Nach oben PMADDWD - Multiplizieren Sie gepackte Wörter und fügen Sie sie zu Doppelwörtern hinzu →


PMADDWD - Multiplizieren Sie gepackte Wörter und fügen Sie sie zu Doppelwörtern hinzu - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMADDWD - Multiplizieren Sie gepackte Wörter und fügen Sie sie zu Doppelwörtern hinzu

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMADDWD mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMADDWD - Multiplizieren Sie gepackte Wörter und fügen Sie sie zu Doppelwörtern hinzu. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pmaddwd [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmaddwd [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMADDWD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMADDWD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMAXSB - Maximale Anzahl gepackter signierter Bytes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMAXSB - Maximale Anzahl gepackter signierter Bytes

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMAXSB xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMAXSB - Maximale Anzahl gepackter signierter Bytes. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pmaxsb xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmaxsb xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMAXSB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMAXSB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMAXSD - Maximal gepackte signierte Doppelwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMAXSD - Maximal gepackte signierte Doppelwörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMAXSD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMAXSD - Maximal gepackte signierte Doppelwörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pmaxsd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmaxsd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMAXSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMAXSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMAXSW - Maximal gepackte vorzeichenbehaftete Wörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMAXSW - Maximal gepackte vorzeichenbehaftete Wörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMAXSW xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMAXSW - Maximal gepackte vorzeichenbehaftete Wörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pmaxsw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmaxsw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMAXSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMAXSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMAXUB - Maximal gepackte Bytes ohne Vorzeichen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMAXUB - Maximal gepackte Bytes ohne Vorzeichen

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMAXUB xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMAXUB - Maximal gepackte Bytes ohne Vorzeichen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pmaxub xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmaxub xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMAXUB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMAXUB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMAXUD - Maximal gepackte vorzeichenlose Doppelwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMAXUD - Maximal gepackte vorzeichenlose Doppelwörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMAXUD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMAXUD - Maximal gepackte vorzeichenlose Doppelwörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pmaxud xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmaxud xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMAXUD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMAXUD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMAXUW - Maximal gepackte Wörter ohne Vorzeichen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMAXUW - Maximal gepackte Wörter ohne Vorzeichen

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMAXUW xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMAXUW - Maximal gepackte Wörter ohne Vorzeichen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pmaxuw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmaxuw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMAXUW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMAXUW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMINSD - Mindestens gepackte signierte Doppelwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMINSD - Mindestens gepackte signierte Doppelwörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMINSD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMINSD - Mindestens gepackte signierte Doppelwörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pminsd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pminsd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMINSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMINSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMINSW - Mindestens gepackte vorzeichenbehaftete Wörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMINSW - Mindestens gepackte vorzeichenbehaftete Wörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMINSW xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMINSW - Mindestens gepackte vorzeichenbehaftete Wörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pminsw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pminsw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMINSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMINSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMINUD - Mindestens gepackte, vorzeichenlose Doppelwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMINUD - Mindestens gepackte, vorzeichenlose Doppelwörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMINUD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMINUD - Mindestens gepackte, vorzeichenlose Doppelwörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pminud xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pminud xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMINUD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMINUD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PMINSW - Mindestens gepackte vorzeichenbehaftete Wörter Nach oben PMULDQ - Multiplizieren Sie gepackte vorzeichenbehaftete Doppelwörter zu Quadwörtern →


PMULDQ - Multiplizieren Sie gepackte vorzeichenbehaftete Doppelwörter zu Quadwörtern - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMULDQ - Multiplizieren Sie gepackte vorzeichenbehaftete Doppelwörter zu Quadwörtern

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMULDQ xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMULDQ - Multiplizieren Sie gepackte vorzeichenbehaftete Doppelwörter zu Quadwörtern. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pmuldq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmuldq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMULDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMULDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMULHRSW - Verpackt mehrfach hoch mit Rundung und Skala - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMULHRSW - Verpackt mehrfach hoch mit Rundung und Skala

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMULHRSW xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMULHRSW - Verpackt mehrfach hoch mit Rundung und Skala. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pmulhrsw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmulhrsw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMULHRSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMULHRSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PMULDQ - Multiplizieren Sie gepackte vorzeichenbehaftete Doppelwörter zu Quadwörtern Nach oben PMULHUW - Mehrfach gepackte vorzeichenlose Wörter (hohe 16 Bit) →


PMULHUW - Mehrfach gepackte vorzeichenlose Wörter (hohe 16 Bit) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMULHUW - Mehrfach gepackte vorzeichenlose Wörter (hohe 16 Bit)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMULHUW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMULHUW - Mehrfach gepackte vorzeichenlose Wörter (hohe 16 Bit). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pmulhuw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmulhuw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMULHUW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMULHUW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMULHW - Multiplizieren Sie gepackte Wörter (höhere 16 Bits des Produkts) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMULHW - Multiplizieren Sie gepackte Wörter (höhere 16 Bits des Produkts)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMULHW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMULHW - Multiplizieren Sie gepackte Wörter (höhere 16 Bits des Produkts). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pmulhw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmulhw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMULHW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMULHW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PMULHUW - Mehrfach gepackte vorzeichenlose Wörter (hohe 16 Bit) Nach oben PMULLD - Mehrfach gepackte vorzeichenbehaftete Doppelwörter (niedrige 32 Bit) →


PMULLD - Mehrfach gepackte vorzeichenbehaftete Doppelwörter (niedrige 32 Bit) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMULLD - Mehrfach gepackte vorzeichenbehaftete Doppelwörter (niedrige 32 Bit)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMULLD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMULLD - Mehrfach gepackte vorzeichenbehaftete Doppelwörter (niedrige 32 Bit). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pmulld xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmulld xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMULLD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMULLD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PMULHW - Multiplizieren Sie gepackte Wörter (höhere 16 Bits des Produkts) Nach oben PMULLW - Multiplizieren Sie gepackte Wörter (niedrige 16 Bits des Produkts) →


PMULLW - Multiplizieren Sie gepackte Wörter (niedrige 16 Bits des Produkts) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PMULLW - Multiplizieren Sie gepackte Wörter (niedrige 16 Bits des Produkts)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PMULLW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMULLW - Multiplizieren Sie gepackte Wörter (niedrige 16 Bits des Produkts). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pmullw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmullw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMULLW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMULLW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSHUFB - Gepackte Bytes mischen (SSSE3) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSHUFB - Gepackte Bytes mischen (SSSE3)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSHUFB xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSHUFB - Gepackte Bytes mischen (SSSE3). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pshufb xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pshufb xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSHUFB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSHUFB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSHUFD - Mischen Sie gepackte Doppelwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSHUFD - Mischen Sie gepackte Doppelwörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSHUFD xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSHUFD - Mischen Sie gepackte Doppelwörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pshufd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pshufd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSHUFD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSHUFD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSHUFHW - Mischen Sie gepackte hohe Wörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSHUFHW - Mischen Sie gepackte hohe Wörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSHUFHW xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSHUFHW - Mischen Sie gepackte hohe Wörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pshufhw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pshufhw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSHUFHW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSHUFHW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSHUFLW - Mischen Sie gepackte niedrige Wörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSHUFLW - Mischen Sie gepackte niedrige Wörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSHUFLW xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSHUFLW - Mischen Sie gepackte niedrige Wörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    pshuflw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pshuflw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSHUFLW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSHUFLW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSIGNB - Vorzeichen gepackter Bytes (negativ oder null) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSIGNB - Vorzeichen gepackter Bytes (negativ oder null)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSIGNB xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSIGNB - Vorzeichen gepackter Bytes (negativ oder null). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    psignb xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psignb xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSIGNB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSIGNB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSIGND - Zeichen für gepackte Doppelwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSIGND - Zeichen für gepackte Doppelwörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSIGND xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSIGND - Zeichen für gepackte Doppelwörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    psignd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psignd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSIGND ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSIGND ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSIGNW - Zeichen gepackter Wörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSIGNW - Zeichen gepackter Wörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSIGNW xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSIGNW - Zeichen gepackter Wörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    psignw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psignw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSIGNW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSIGNW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSLLD - Pack-Shift-Links-logische Doppelwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSLLD - Pack-Shift-Links-logische Doppelwörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSLLD mm, imm8/mm

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSLLD - Pack-Shift-Links-logische Doppelwörter. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, imm8/mm.

Operands and Sizes

Form | Meaning
mm, imm8 | may read or write memory; uses an immediate control byte or value
mm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pslld operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pslld operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSLLD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSLLD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


PSLLQ - Packen Sie das logische Vierwort nach links - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSLLQ - Packen Sie das logische Vierwort nach links

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSLLQ mm, imm8/mm

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSLLQ - Packen Sie das logische Vierwort nach links. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, imm8/mm.

Operands and Sizes

Form | Meaning
mm, imm8 | may read or write memory; uses an immediate control byte or value
mm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psllq operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psllq operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSLLQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSLLQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


PSLLW - Pack verschiebt logische Wörter nach links - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSLLW - Pack verschiebt logische Wörter nach links

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSLLW mm, imm8/mm

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSLLW - Pack verschiebt logische Wörter nach links. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, imm8/mm.

Operands and Sizes

Form | Meaning
mm, imm8 | may read or write memory; uses an immediate control byte or value
mm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psllw operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psllw operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSLLW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSLLW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


PSRAD - Packen Sie arithmetische Doppelwörter mit Rechtsverschiebung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSRAD - Packen Sie arithmetische Doppelwörter mit Rechtsverschiebung

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSRAD mm, imm8/mm

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSRAD - Packen Sie arithmetische Doppelwörter mit Rechtsverschiebung. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, imm8/mm.

Operands and Sizes

Form | Meaning
mm, imm8 | may read or write memory; uses an immediate control byte or value
mm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psrad operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psrad operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSRAD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSRAD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSRAW - Packen Sie arithmetische Wörter nach rechts - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSRAW - Packen Sie arithmetische Wörter nach rechts

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSRAW mm, imm8/mm

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSRAW - Packen Sie arithmetische Wörter nach rechts. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, imm8/mm.

Operands and Sizes

Form | Meaning
mm, imm8 | may read or write memory; uses an immediate control byte or value
mm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psraw operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psraw operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSRAW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSRAW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSRLD - Packen Sie logische Doppelwörter mit Rechtsverschiebung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSRLD - Packen Sie logische Doppelwörter mit Rechtsverschiebung

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSRLD mm, imm8/mm

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSRLD - Packen Sie logische Doppelwörter mit Rechtsverschiebung. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, imm8/mm.

Operands and Sizes

Form | Meaning
mm, imm8 | may read or write memory; uses an immediate control byte or value
mm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psrld operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psrld operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSRLD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSRLD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSRLQ - Packen Sie das logische Vierwort nach rechts - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSRLQ - Packen Sie das logische Vierwort nach rechts

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSRLQ mm, imm8/mm

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSRLQ - Packen Sie das logische Vierwort nach rechts. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, imm8/mm.

Operands and Sizes

Form | Meaning
mm, imm8 | may read or write memory; uses an immediate control byte or value
mm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psrlq operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psrlq operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSRLQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSRLQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSRLW - Packen Sie logische Wörter nach rechts - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSRLW - Packen Sie logische Wörter nach rechts

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSRLW mm, imm8/mm

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSRLW - Packen Sie logische Wörter nach rechts. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, imm8/mm.

Operands and Sizes

Form | Meaning
mm, imm8 | may read or write memory; uses an immediate control byte or value
mm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psrlw operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psrlw operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSRLW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSRLW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSUBB - Gepackte Bytes subtrahieren (Wrap) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSUBB - Gepackte Bytes subtrahieren (Wrap)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSUBB mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSUBB - Gepackte Bytes subtrahieren (Wrap). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psubb [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psubb [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSUBB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSUBB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSUBD - Gepackte Doppelwörter subtrahieren (Umbruch) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSUBD - Gepackte Doppelwörter subtrahieren (Umbruch)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSUBD mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSUBD - Gepackte Doppelwörter subtrahieren (Umbruch). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psubd [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psubd [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSUBD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSUBD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSUBQ - Subtrahieren Sie gepackte Quadword-Ganzzahlen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSUBQ - Subtrahieren Sie gepackte Quadword-Ganzzahlen

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSUBQ xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSUBQ - Subtrahieren Sie gepackte Quadword-Ganzzahlen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    psubq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psubq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSUBQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSUBQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSUBSB - Subtrahieren Sie gepackte Bytes mit vorzeichenbehafteter Sättigung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSUBSB - Subtrahieren Sie gepackte Bytes mit vorzeichenbehafteter Sättigung

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSUBSB mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSUBSB - Subtrahieren Sie gepackte Bytes mit vorzeichenbehafteter Sättigung. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psubsb [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psubsb [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSUBSB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSUBSB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSUBSW - Subtrahieren Sie gepackte Wörter mit vorzeichenbehafteter Sättigung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSUBSW - Subtrahieren Sie gepackte Wörter mit vorzeichenbehafteter Sättigung

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSUBSW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSUBSW - Subtrahieren Sie gepackte Wörter mit vorzeichenbehafteter Sättigung. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psubsw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psubsw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSUBSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSUBSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PSUBSB - Subtrahieren Sie gepackte Bytes mit vorzeichenbehafteter Sättigung Nach oben PSUBUSB - Subtrahieren Sie gepackte Bytes mit vorzeichenloser Sättigung →


PSUBUSB - Subtrahieren Sie gepackte Bytes mit vorzeichenloser Sättigung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSUBUSB - Subtrahieren Sie gepackte Bytes mit vorzeichenloser Sättigung

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSUBUSB mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSUBUSB - Subtrahieren Sie gepackte Bytes mit vorzeichenloser Sättigung. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psubusb [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psubusb [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSUBUSB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSUBUSB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PSUBSW - Subtrahieren Sie gepackte Wörter mit vorzeichenbehafteter Sättigung Nach oben PSUBUSW - Subtrahieren Sie gepackte Wörter mit vorzeichenloser Sättigung →


PSUBUSW - Subtrahieren Sie gepackte Wörter mit vorzeichenloser Sättigung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSUBUSW - Subtrahieren Sie gepackte Wörter mit vorzeichenloser Sättigung

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSUBUSW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSUBUSW - Subtrahieren Sie gepackte Wörter mit vorzeichenloser Sättigung. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psubusw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psubusw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSUBUSW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSUBUSW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSUBW - Gepackte Wörter subtrahieren (Umbruch) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PSUBW - Gepackte Wörter subtrahieren (Umbruch)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PSUBW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSUBW - Gepackte Wörter subtrahieren (Umbruch). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    psubw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psubw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSUBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSUBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PTEST - Logischer Vergleich gepackter Ganzzahlen (setzt ZF/CF) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PTEST - Logischer Vergleich gepackter Ganzzahlen (setzt ZF/CF)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PTEST xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PTEST - Logischer Vergleich gepackter Ganzzahlen (setzt ZF/CF). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    ptest xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! ptest xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PTEST ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PTEST ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PUNPCKHBW - Hohe Bytes entpacken (Interleave) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PUNPCKHBW - Hohe Bytes entpacken (Interleave)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PUNPCKHBW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PUNPCKHBW - Hohe Bytes entpacken (Interleave). Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    punpckhbw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! punpckhbw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PUNPCKHBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PUNPCKHBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PUNPCKHDQ - Hohe Doppelwörter auspacken - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PUNPCKHDQ - Hohe Doppelwörter auspacken

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PUNPCKHDQ mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PUNPCKHDQ - Hohe Doppelwörter auspacken. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    punpckhdq [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! punpckhdq [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PUNPCKHDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PUNPCKHDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PUNPCKHQDQ - Entpacken Sie hohe Quadwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PUNPCKHQDQ - Entpacken Sie hohe Quadwords

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PUNPCKHQDQ xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PUNPCKHQDQ - Entpacken Sie hohe Quadwords. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    punpckhqdq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! punpckhqdq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PUNPCKHQDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PUNPCKHQDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PUNPCKHWD - Packen Sie hohe Wörter aus - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PUNPCKHWD - Packen Sie hohe Wörter aus

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PUNPCKHWD mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PUNPCKHWD - Packen Sie hohe Wörter aus. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    punpckhwd [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! punpckhwd [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PUNPCKHWD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PUNPCKHWD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PUNPCKLBW - Low-Bytes entpacken - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PUNPCKLBW - Low-Bytes entpacken

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PUNPCKLBW mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PUNPCKLBW - Low-Bytes entpacken. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    punpcklbw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! punpcklbw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PUNPCKLBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PUNPCKLBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PUNPCKLDQ - Entpacken Sie niedrige Doppelwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PUNPCKLDQ - Entpacken Sie niedrige Doppelwörter

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PUNPCKLDQ mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PUNPCKLDQ - Entpacken Sie niedrige Doppelwörter. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    punpckldq [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! punpckldq [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PUNPCKLDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PUNPCKLDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PUNPCKLQDQ - Entpacken Sie niedrige Quadwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PUNPCKLQDQ - Entpacken Sie niedrige Quadwords

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PUNPCKLQDQ xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PUNPCKLQDQ - Entpacken Sie niedrige Quadwords. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    punpcklqdq xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! punpcklqdq xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PUNPCKLQDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PUNPCKLQDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PUNPCKLWD - Packen Sie niedrige Wörter aus - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

PUNPCKLWD - Packen Sie niedrige Wörter aus

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

PUNPCKLWD mm, mm/mem64

Beschreibung

Category: Shuffle / Permute

Assembly Group: MMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PUNPCKLWD - Packen Sie niedrige Wörter aus. Diese Instruktion gehoert zur MMX-Familie und verwendet die dokumentierten Operandenformen mm, mm/mem64.

Operands and Sizes

Form | Meaning
mm, mm | may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    punpcklwd [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! punpcklwd [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_mmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PUNPCKLWD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PUNPCKLWD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RCPPS - Reziprok gepacktes Single (ungefähr) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

RCPPS - Reziprok gepacktes Single (ungefähr)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

RCPPS xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RCPPS - Reziprok gepacktes Single (ungefähr). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    rcpps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rcpps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RCPPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RCPPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ROUNDPD - Rund verpackt, doppelt - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

ROUNDPD - Rund verpackt, doppelt

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

ROUNDPD xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ROUNDPD - Rund verpackt, doppelt. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    roundpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! roundpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ROUNDPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ROUNDPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ROUNDPS - Rund verpackte Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

ROUNDPS - Rund verpackte Single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

ROUNDPS xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ROUNDPS - Rund verpackte Single. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    roundps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! roundps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ROUNDPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ROUNDPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RSQRTPS - Reziproke Quadratwurzel gepackte Einzelzahl (ungefähr) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

RSQRTPS - Reziproke Quadratwurzel gepackte Einzelzahl (ungefähr)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

RSQRTPS xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RSQRTPS - Reziproke Quadratwurzel gepackte Einzelzahl (ungefähr). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    rsqrtps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rsqrtps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RSQRTPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RSQRTPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHUFPD - Shuffle packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

SHUFPD - Shuffle packed double

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

SHUFPD xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SHUFPD - Shuffle packed double. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    shufpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! shufpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SHUFPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHUFPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHUFPS - Shuffle packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

SHUFPS - Shuffle packed single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

SHUFPS xmm, xmm/mem128, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SHUFPS - Shuffle packed single. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    shufps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! shufps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SHUFPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHUFPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SQRTPD - Quadratwurzel doppelt gepackt - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

SQRTPD - Quadratwurzel doppelt gepackt

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

SQRTPD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SQRTPD - Quadratwurzel doppelt gepackt. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    sqrtpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sqrtpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SQRTPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SQRTPD ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SQRTPS - Quadratwurzelgepackte Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

SQRTPS - Quadratwurzelgepackte Single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

SQRTPS xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SQRTPS - Quadratwurzelgepackte Single. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    sqrtps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sqrtps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SQRTPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SQRTPS ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SUBPD - Subtrahieren Sie das gepackte Doppel - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

SUBPD - Subtrahieren Sie das gepackte Doppel

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

SUBPD xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SUBPD - Subtrahieren Sie das gepackte Doppel. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    subpd xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! subpd xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SUBPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SUBPD ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UNPCKHPS - Unpack high packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

UNPCKHPS - Unpack high packed single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

UNPCKHPS xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

UNPCKHPS - Unpack high packed single. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    unpckhps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! unpckhps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

UNPCKHPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

UNPCKHPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UNPCKLPS - Unpack low packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

UNPCKLPS - Unpack low packed single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

UNPCKLPS xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

UNPCKLPS - Unpack low packed single. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    unpcklps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! unpcklps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

UNPCKLPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

UNPCKLPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VADDPD - Doppelpack hinzufügen (128/256) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VADDPD - Doppelpack hinzufügen (128/256)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VADDPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VADDPD - Doppelpack hinzufügen (128/256). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vaddpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vaddpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VADDPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VADDPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VADDPS - Gepackte Single hinzufügen (128/256) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VADDPS - Gepackte Single hinzufügen (128/256)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VADDPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VADDPS - Gepackte Single hinzufügen (128/256). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vaddps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vaddps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VADDPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VADDPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VANDNPD - Bitwise AND-NOT of packed doubles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VANDNPD - Bitwise AND-NOT of packed doubles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VANDNPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VANDNPD - Bitwise AND-NOT of packed doubles. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vandnpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vandnpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VANDNPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VANDNPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VANDNPS - Bitwise AND-NOT of packed singles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VANDNPS - Bitwise AND-NOT of packed singles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VANDNPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VANDNPS - Bitwise AND-NOT of packed singles. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vandnps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vandnps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VANDNPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VANDNPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VANDPD - Bitwise AND of packed doubles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VANDPD - Bitwise AND of packed doubles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VANDPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VANDPD - Bitwise AND of packed doubles. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vandpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vandpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VANDPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VANDPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VANDPS - Bitwise AND of packed singles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VANDPS - Bitwise AND of packed singles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VANDPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VANDPS - Bitwise AND of packed singles. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vandps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vandps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VANDPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VANDPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VBLENDPD - Blend packed double (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VBLENDPD - Blend packed double (imm8)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VBLENDPD ymm/xmm, ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VBLENDPD - Blend packed double (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vblendpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vblendpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VBLENDPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VBLENDPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VBLENDPS - Blend packed single (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VBLENDPS - Blend packed single (imm8)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VBLENDPS ymm/xmm, ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VBLENDPS - Blend packed single (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vblendps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vblendps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VBLENDPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VBLENDPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VBLENDVPD - Variable blend packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VBLENDVPD - Variable blend packed double

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VBLENDVPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VBLENDVPD - Variable blend packed double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vblendvpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vblendvpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VBLENDVPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VBLENDVPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VBLENDVPS - Variable blend packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VBLENDVPS - Variable blend packed single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VBLENDVPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VBLENDVPS - Variable blend packed single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vblendvps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vblendvps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VBLENDVPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VBLENDVPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCPH2PS - Convert half precision to packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VCPH2PS - Convert half precision to packed single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VCPH2PS ymm/xmm, xmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCPH2PS - Convert half precision to packed single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcph2ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcph2ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCPH2PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCPH2PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTDQ2PD - Convert packed dword to double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VCVTDQ2PD - Convert packed dword to double

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VCVTDQ2PD ymm/xmm, xmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTDQ2PD - Convert packed dword to double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvtdq2pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvtdq2pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTDQ2PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTDQ2PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTDQ2PS - Convert packed dword to single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VCVTDQ2PS - Convert packed dword to single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VCVTDQ2PS ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTDQ2PS - Convert packed dword to single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvtdq2ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvtdq2ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTDQ2PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTDQ2PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTPD2DQ - Convert packed double to dword - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VCVTPD2DQ - Convert packed double to dword

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VCVTPD2DQ ymm/xmm, ymm/xmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTPD2DQ - Convert packed double to dword. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvtpd2dq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvtpd2dq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTPD2DQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTPD2DQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTPD2PS - Convert packed double to single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VCVTPD2PS - Convert packed double to single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VCVTPD2PS ymm/xmm, ymm/xmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTPD2PS - Convert packed double to single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvtpd2ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvtpd2ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTPD2PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTPD2PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTPS2DQ - Convert packed single to dword - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VCVTPS2DQ - Convert packed single to dword

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VCVTPS2DQ ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTPS2DQ - Convert packed single to dword. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvtps2dq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvtps2dq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTPS2DQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTPS2DQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTPS2PD - Convert packed single to double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VCVTPS2PD - Convert packed single to double

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VCVTPS2PD ymm/xmm, ymm/xmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTPS2PD - Convert packed single to double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvtps2pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvtps2pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTPS2PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTPS2PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTPS2PH - Convert packed single to half precision - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VCVTPS2PH - Convert packed single to half precision

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VCVTPS2PH xmm/mem, ymm/xmm, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTPS2PH - Convert packed single to half precision. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm/mem, ymm/xmm, imm8.

Operands and Sizes

Form | Meaning
xmm | uses XMM vector/scalar registers; may read or write memory
mem, ymm | uses YMM vector registers; may read or write memory
xmm, imm8 | uses XMM vector/scalar registers; may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvtps2ph ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvtps2ph ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTPS2PH ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTPS2PH ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTTPD2DQ - Truncate packed double to dword - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VCVTTPD2DQ - Truncate packed double to dword

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VCVTTPD2DQ ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTTPD2DQ - Truncate packed double to dword. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvttpd2dq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvttpd2dq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTTPD2DQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTTPD2DQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTTPS2DQ - Truncate packed single to dword - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VCVTTPS2DQ - Truncate packed single to dword

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VCVTTPS2DQ ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTTPS2DQ - Truncate packed single to dword. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvttps2dq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvttps2dq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTTPS2DQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTTPS2DQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VDBPSADBW - Doppelblockgepackte Summe von ABS-Diffs (Wörtern) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VDBPSADBW - Doppelblockgepackte Summe von ABS-Diffs (Wörtern)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VDBPSADBW zmm, zmm, zmm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VDBPSADBW - Doppelblockgepackte Summe von ABS-Diffs (Wörtern). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vdbpsadbw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vdbpsadbw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VDBPSADBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VDBPSADBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VDIVPD - Doppelt verpackt teilen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VDIVPD - Doppelt verpackt teilen

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VDIVPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VDIVPD - Doppelt verpackt teilen. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vdivpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vdivpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VDIVPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VDIVPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VDIVPS - Teilweise einzeln verpackt - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VDIVPS - Teilweise einzeln verpackt

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VDIVPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VDIVPS - Teilweise einzeln verpackt. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vdivps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vdivps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VDIVPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VDIVPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VDPPD - Dot product packed double (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VDPPD - Dot product packed double (imm8)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VDPPD xmm, xmm, xmm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VDPPD - Dot product packed double (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vdppd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vdppd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VDPPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VDPPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VDPPS - Dot product packed single (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VDPPS - Dot product packed single (imm8)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VDPPS ymm/xmm, ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VDPPS - Dot product packed single (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vdpps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vdpps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VDPPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VDPPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VEXP2PD - Exponentielle Näherung zur Basis 2 (doppelt, gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VEXP2PD - Exponentielle Näherung zur Basis 2 (doppelt, gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VEXP2PD zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VEXP2PD - Exponentielle Näherung zur Basis 2 (doppelt, gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vexp2pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vexp2pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VEXP2PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VEXP2PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VEXP2PS - Exponentielle Näherung zur Basis 2 (einfach, gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VEXP2PS - Exponentielle Näherung zur Basis 2 (einfach, gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VEXP2PS zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VEXP2PS - Exponentielle Näherung zur Basis 2 (einfach, gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vexp2ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vexp2ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VEXP2PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VEXP2PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFIXUPIMMPD - Verpacktes Doppel reparieren (NaN-Handhabung) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFIXUPIMMPD - Verpacktes Doppel reparieren (NaN-Handhabung)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFIXUPIMMPD zmm, zmm, zmm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFIXUPIMMPD - Verpacktes Doppel reparieren (NaN-Handhabung). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfixupimmpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfixupimmpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFIXUPIMMPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFIXUPIMMPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFIXUPIMMPS - Verpackte Single reparieren (NaN-Handhabung) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFIXUPIMMPS - Verpackte Single reparieren (NaN-Handhabung)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFIXUPIMMPS zmm, zmm, zmm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFIXUPIMMPS - Verpackte Single reparieren (NaN-Handhabung). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfixupimmps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfixupimmps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFIXUPIMMPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFIXUPIMMPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADD132PD - FMA: a*b+c (double, packed) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMADD132PD - FMA: a*b+c (double, packed)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMADD132PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADD132PD - FMA: a*b+c (double, packed). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmadd132pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmadd132pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADD132PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADD132PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADD132PS - FMA: a*b+c (single, packed) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMADD132PS - FMA: a*b+c (single, packed)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMADD132PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADD132PS - FMA: a*b+c (single, packed). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmadd132ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmadd132ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADD132PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADD132PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADD213PD - FMA: a*b+c (double, packed) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMADD213PD - FMA: a*b+c (double, packed)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMADD213PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADD213PD - FMA: a*b+c (double, packed). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmadd213pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmadd213pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADD213PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADD213PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADD213PS - FMA: a*b+c (single, packed) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMADD213PS - FMA: a*b+c (single, packed)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMADD213PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADD213PS - FMA: a*b+c (single, packed). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmadd213ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmadd213ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADD213PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADD213PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADD231PD - FMA: a*b+c (double, packed) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMADD231PD - FMA: a*b+c (double, packed)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMADD231PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADD231PD - FMA: a*b+c (double, packed). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmadd231pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmadd231pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADD231PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADD231PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADD231PS - FMA: a*b+c (single, packed) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMADD231PS - FMA: a*b+c (single, packed)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMADD231PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADD231PS - FMA: a*b+c (single, packed). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmadd231ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmadd231ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADD231PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADD231PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADDSUB132PD - FMA: a*b+c / a*b-c (alternierend, doppelt gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMADDSUB132PD - FMA: a*b+c / a*b-c (alternierend, doppelt gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMADDSUB132PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADDSUB132PD - FMA: a*b+c / a*b-c (alternierend, doppelt gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmaddsub132pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmaddsub132pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADDSUB132PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADDSUB132PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADDSUB132PS - FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMADDSUB132PS - FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMADDSUB132PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADDSUB132PS - FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmaddsub132ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmaddsub132ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADDSUB132PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADDSUB132PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADDSUB213PD - FMA: a*b+c / a*b-c (alternierend, doppelt gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMADDSUB213PD - FMA: a*b+c / a*b-c (alternierend, doppelt gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMADDSUB213PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADDSUB213PD - FMA: a*b+c / a*b-c (alternierend, doppelt gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmaddsub213pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmaddsub213pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADDSUB213PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADDSUB213PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADDSUB213PS - FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMADDSUB213PS - FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMADDSUB213PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADDSUB213PS - FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmaddsub213ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmaddsub213ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADDSUB213PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADDSUB213PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADDSUB231PD - FMA: a*b+c / a*b-c (alternierend, doppelt gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMADDSUB231PD - FMA: a*b+c / a*b-c (alternierend, doppelt gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMADDSUB231PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADDSUB231PD - FMA: a*b+c / a*b-c (alternierend, doppelt gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmaddsub231pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmaddsub231pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADDSUB231PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADDSUB231PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADDSUB231PS - FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMADDSUB231PS - FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMADDSUB231PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADDSUB231PS - FMA: a*b+c / a*b-c (abwechselnd, einzeln gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmaddsub231ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmaddsub231ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADDSUB231PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADDSUB231PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMSUB132PD - FMA: a*b-c (double, packed) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMSUB132PD - FMA: a*b-c (double, packed)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMSUB132PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMSUB132PD - FMA: a*b-c (double, packed). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmsub132pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmsub132pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMSUB132PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMSUB132PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMSUB132PS - FMA: a*b-c (single, packed) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMSUB132PS - FMA: a*b-c (single, packed)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMSUB132PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMSUB132PS - FMA: a*b-c (single, packed). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmsub132ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmsub132ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMSUB132PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMSUB132PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMSUB213PD - FMA: a*b-c (double, packed) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMSUB213PD - FMA: a*b-c (double, packed)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMSUB213PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMSUB213PD - FMA: a*b-c (double, packed). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmsub213pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmsub213pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMSUB213PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMSUB213PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMSUB213PS - FMA: a*b-c (single, packed) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMSUB213PS - FMA: a*b-c (single, packed)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMSUB213PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMSUB213PS - FMA: a*b-c (single, packed). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmsub213ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmsub213ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMSUB213PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMSUB213PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMSUB231PD - FMA: a*b-c (double, packed) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMSUB231PD - FMA: a*b-c (double, packed)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMSUB231PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMSUB231PD - FMA: a*b-c (double, packed). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmsub231pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmsub231pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMSUB231PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMSUB231PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMSUB231PS - FMA: a*b-c (single, packed) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFMSUB231PS - FMA: a*b-c (single, packed)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFMSUB231PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMSUB231PS - FMA: a*b-c (single, packed). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmsub231ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmsub231ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMSUB231PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMSUB231PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMADD132PD - FMA: -(a*b)+c (doppelt, gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFNMADD132PD - FMA: -(a*b)+c (doppelt, gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFNMADD132PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMADD132PD - FMA: -(a*b)+c (doppelt, gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmadd132pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmadd132pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMADD132PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMADD132PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMADD132PS - FMA: -(a*b)+c (einzeln, verpackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFNMADD132PS - FMA: -(a*b)+c (einzeln, verpackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFNMADD132PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMADD132PS - FMA: -(a*b)+c (einzeln, verpackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmadd132ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmadd132ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMADD132PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMADD132PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMADD213PD - FMA: -(a*b)+c (doppelt, gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFNMADD213PD - FMA: -(a*b)+c (doppelt, gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFNMADD213PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMADD213PD - FMA: -(a*b)+c (doppelt, gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmadd213pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmadd213pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMADD213PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMADD213PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMADD213PS - FMA: -(a*b)+c (einzeln, verpackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFNMADD213PS - FMA: -(a*b)+c (einzeln, verpackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFNMADD213PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMADD213PS - FMA: -(a*b)+c (einzeln, verpackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmadd213ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmadd213ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMADD213PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMADD213PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMADD231PD - FMA: -(a*b)+c (doppelt, gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFNMADD231PD - FMA: -(a*b)+c (doppelt, gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFNMADD231PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMADD231PD - FMA: -(a*b)+c (doppelt, gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmadd231pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmadd231pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMADD231PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMADD231PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMADD231PS - FMA: -(a*b)+c (einzeln, verpackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFNMADD231PS - FMA: -(a*b)+c (einzeln, verpackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFNMADD231PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMADD231PS - FMA: -(a*b)+c (einzeln, verpackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmadd231ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmadd231ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMADD231PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMADD231PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMSUB132PD - FMA: -(a*b)-c (doppelt, gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFNMSUB132PD - FMA: -(a*b)-c (doppelt, gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFNMSUB132PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMSUB132PD - FMA: -(a*b)-c (doppelt, gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmsub132pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmsub132pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMSUB132PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMSUB132PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMSUB132PS - FMA: -(a*b)-c (einzeln, verpackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFNMSUB132PS - FMA: -(a*b)-c (einzeln, verpackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFNMSUB132PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMSUB132PS - FMA: -(a*b)-c (einzeln, verpackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmsub132ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmsub132ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMSUB132PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMSUB132PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMSUB213PD - FMA: -(a*b)-c (doppelt, gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFNMSUB213PD - FMA: -(a*b)-c (doppelt, gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFNMSUB213PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMSUB213PD - FMA: -(a*b)-c (doppelt, gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmsub213pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmsub213pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMSUB213PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMSUB213PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMSUB213PS - FMA: -(a*b)-c (einzeln, verpackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFNMSUB213PS - FMA: -(a*b)-c (einzeln, verpackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFNMSUB213PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMSUB213PS - FMA: -(a*b)-c (einzeln, verpackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmsub213ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmsub213ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMSUB213PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMSUB213PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMSUB231PD - FMA: -(a*b)-c (doppelt, gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFNMSUB231PD - FMA: -(a*b)-c (doppelt, gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFNMSUB231PD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMSUB231PD - FMA: -(a*b)-c (doppelt, gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmsub231pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmsub231pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMSUB231PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMSUB231PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMSUB231PS - FMA: -(a*b)-c (einzeln, verpackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VFNMSUB231PS - FMA: -(a*b)-c (einzeln, verpackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VFNMSUB231PS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMSUB231PS - FMA: -(a*b)-c (einzeln, verpackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmsub231ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmsub231ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMSUB231PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMSUB231PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMAXPD - Maximal doppelt bepackt - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VMAXPD - Maximal doppelt bepackt

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VMAXPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMAXPD - Maximal doppelt bepackt. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmaxpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmaxpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMAXPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMAXPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMAXPS - Maximal gepacktes Einzelstück - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VMAXPS - Maximal gepacktes Einzelstück

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VMAXPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMAXPS - Maximal gepacktes Einzelstück. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmaxps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmaxps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMAXPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMAXPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMINPD - Mindestens doppelt verpackt - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VMINPD - Mindestens doppelt verpackt

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VMINPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMINPD - Mindestens doppelt verpackt. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vminpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vminpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMINPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMINPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMINPS - Mindestens einzeln verpackt - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VMINPS - Mindestens einzeln verpackt

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VMINPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMINPS - Mindestens einzeln verpackt. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vminps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vminps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMINPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMINPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVAPS - Verschieben Sie ausgerichtete verpackte Einzelstücke - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VMOVAPS - Verschieben Sie ausgerichtete verpackte Einzelstücke

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VMOVAPS ymm/xmm, mem / mem, ymm/xmm

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVAPS - Verschieben Sie ausgerichtete verpackte Einzelstücke. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem / mem, ymm/xmm.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem | uses XMM vector/scalar registers; may read or write memory
mem, ymm | uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Aligned memory forms require the alignment documented by the instruction family, commonly 16-byte alignment for 128-bit SSE packed operands.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovaps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovaps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVAPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVAPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMULPD - Mehrfach gepacktes Doppeltes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VMULPD - Mehrfach gepacktes Doppeltes

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VMULPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMULPD - Mehrfach gepacktes Doppeltes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmulpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmulpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMULPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMULPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMULPS - Mehrfach gepackte Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VMULPS - Mehrfach gepackte Single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VMULPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMULPS - Mehrfach gepackte Single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmulps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmulps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMULPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMULPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VORPD - Bitwise OR of packed doubles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VORPD - Bitwise OR of packed doubles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VORPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VORPD - Bitwise OR of packed doubles. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vorpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vorpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VORPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VORPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VORPS - Bitwise OR of packed singles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VORPS - Bitwise OR of packed singles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VORPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VORPS - Bitwise OR of packed singles. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vorps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vorps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VORPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VORPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPALIGNR - Align right (concatenate and shift, imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPALIGNR - Align right (concatenate and shift, imm8)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPALIGNR ymm/xmm, ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPALIGNR - Align right (concatenate and shift, imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpalignr ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpalignr ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPALIGNR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPALIGNR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPBLENDVB - Variable blend packed bytes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPBLENDVB - Variable blend packed bytes

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPBLENDVB ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPBLENDVB - Variable blend packed bytes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpblendvb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpblendvb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPBLENDVB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPBLENDVB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPBLENDW - Blend packed words (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPBLENDW - Blend packed words (imm8)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPBLENDW ymm/xmm, ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPBLENDW - Blend packed words (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpblendw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpblendw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPBLENDW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPBLENDW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPCOMPRESSD - Komprimieren Sie gepackte Dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPCOMPRESSD - Komprimieren Sie gepackte Dwords

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPCOMPRESSD zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPCOMPRESSD - Komprimieren Sie gepackte Dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpcompressd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpcompressd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPCOMPRESSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPCOMPRESSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VPCOMPRESSQ - Komprimieren Sie gepackte Qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPCOMPRESSQ - Komprimieren Sie gepackte Qwords

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPCOMPRESSQ zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPCOMPRESSQ - Komprimieren Sie gepackte Qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpcompressq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpcompressq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPCOMPRESSQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPCOMPRESSQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VPERM2F128 - Permute 128-bit lanes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPERM2F128 - Permute 128-bit lanes

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPERM2F128 ymm, ymm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERM2F128 - Permute 128-bit lanes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm, ymm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm, ymm, ymm | uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vperm2f128 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vperm2f128 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERM2F128 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERM2F128 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERM2I128 - Permute 128-bit integer lanes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPERM2I128 - Permute 128-bit integer lanes

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPERM2I128 ymm, ymm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERM2I128 - Permute 128-bit integer lanes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm, ymm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm, ymm, ymm | uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vperm2i128 ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vperm2i128 ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERM2I128 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERM2I128 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMD - Permute doublewords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPERMD - Permute doublewords

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPERMD ymm, ymm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMD - Permute doublewords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm, ymm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm, ymm, ymm | uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMIL2PD - Two-source permute of doubles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPERMIL2PD - Two-source permute of doubles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPERMIL2PD ymm/xmm, ymm/xmm, ymm/mem, imm4

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMIL2PD - Two-source permute of doubles. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem, imm4.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm4 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermil2pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermil2pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMIL2PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMIL2PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMIL2PS - Two-source permute of singles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPERMIL2PS - Two-source permute of singles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPERMIL2PS ymm/xmm, ymm/xmm, ymm/mem, imm4

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMIL2PS - Two-source permute of singles. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem, imm4.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm4 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermil2ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermil2ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMIL2PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMIL2PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMILPD - Permute in-lane packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPERMILPD - Permute in-lane packed double

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPERMILPD ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMILPD - Permute in-lane packed double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermilpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermilpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMILPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMILPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMILPS - Permute in-lane packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPERMILPS - Permute in-lane packed single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPERMILPS ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMILPS - Permute in-lane packed single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermilps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermilps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMILPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMILPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMPD - Permute double-precision floats - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPERMPD - Permute double-precision floats

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPERMPD ymm, ymm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMPD - Permute double-precision floats. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm, ymm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm, ymm, ymm | uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMPS - Permute single-precision floats - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPERMPS - Permute single-precision floats

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPERMPS ymm, ymm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMPS - Permute single-precision floats. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm, ymm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm, ymm, ymm | uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMQ - Permute quadwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPERMQ - Permute quadwords

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPERMQ ymm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMQ - Permute quadwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm, ymm | uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPEXPANDD - Erweitern Sie gepackte Dwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPEXPANDD - Erweitern Sie gepackte Dwords

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPEXPANDD zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPEXPANDD - Erweitern Sie gepackte Dwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpexpandd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpexpandd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPEXPANDD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPEXPANDD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPEXPANDQ - Erweitern Sie gepackte Qwords - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPEXPANDQ - Erweitern Sie gepackte Qwords

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPEXPANDQ zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPEXPANDQ - Erweitern Sie gepackte Qwords. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpexpandq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpexpandq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPEXPANDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPEXPANDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVDB - Packen und kürzen Sie Dwords in Bytes (schmal) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPMOVDB - Packen und kürzen Sie Dwords in Bytes (schmal)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPMOVDB mem, zmm / xmm, zmm

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVDB - Packen und kürzen Sie Dwords in Bytes (schmal). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem, zmm / xmm, zmm.

Operands and Sizes

Form | Meaning
mem, zmm | may read or write memory
xmm, zmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovdb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovdb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVDB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVDB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVDW - Packen und kürzen Sie Dwords in Wörter (schmal) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPMOVDW - Packen und kürzen Sie Dwords in Wörter (schmal)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPMOVDW mem, zmm / xmm, zmm

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVDW - Packen und kürzen Sie Dwords in Wörter (schmal). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem, zmm / xmm, zmm.

Operands and Sizes

Form | Meaning
mem, zmm | may read or write memory
xmm, zmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovdw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovdw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVDW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVDW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVQB - Packen und kürzen Sie qwords in Bytes (schmal) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPMOVQB - Packen und kürzen Sie qwords in Bytes (schmal)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPMOVQB mem, zmm / xmm, zmm

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVQB - Packen und kürzen Sie qwords in Bytes (schmal). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem, zmm / xmm, zmm.

Operands and Sizes

Form | Meaning
mem, zmm | may read or write memory
xmm, zmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovqb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovqb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVQB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVQB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVQD - Packen und kürzen Sie qwords in dwords (schmal) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPMOVQD - Packen und kürzen Sie qwords in dwords (schmal)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPMOVQD mem, zmm / xmm, zmm

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVQD - Packen und kürzen Sie qwords in dwords (schmal). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem, zmm / xmm, zmm.

Operands and Sizes

Form | Meaning
mem, zmm | may read or write memory
xmm, zmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovqd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovqd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVQD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVQD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVQW - Packen und kürzen Sie qwords in Wörter (schmal) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPMOVQW - Packen und kürzen Sie qwords in Wörter (schmal)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPMOVQW mem, zmm / xmm, zmm

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVQW - Packen und kürzen Sie qwords in Wörter (schmal). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem, zmm / xmm, zmm.

Operands and Sizes

Form | Meaning
mem, zmm | may read or write memory
xmm, zmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovqw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovqw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVQW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVQW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMOVWB - Packen und kürzen Sie Wörter in Bytes (schmal) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPMOVWB - Packen und kürzen Sie Wörter in Bytes (schmal)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPMOVWB mem, zmm / xmm, zmm

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMOVWB - Packen und kürzen Sie Wörter in Bytes (schmal). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem, zmm / xmm, zmm.

Operands and Sizes

Form | Meaning
mem, zmm | may read or write memory
xmm, zmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmovwb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmovwb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMOVWB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMOVWB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPMULLQ - Multiplizieren Sie gepackte Qwords mit Vorzeichen (niedrige 64 Bit) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPMULLQ - Multiplizieren Sie gepackte Qwords mit Vorzeichen (niedrige 64 Bit)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPMULLQ zmm, zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPMULLQ - Multiplizieren Sie gepackte Qwords mit Vorzeichen (niedrige 64 Bit). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpmullq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpmullq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPMULLQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPMULLQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSHUFB - Shuffle packed bytes (per-lane) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPSHUFB - Shuffle packed bytes (per-lane)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPSHUFB ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSHUFB - Shuffle packed bytes (per-lane). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpshufb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpshufb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSHUFB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSHUFB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSHUFD - Shuffle packed dwords (per-lane, imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPSHUFD - Shuffle packed dwords (per-lane, imm8)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPSHUFD ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSHUFD - Shuffle packed dwords (per-lane, imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpshufd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpshufd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSHUFD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSHUFD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSHUFHW - Shuffle packed high words (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPSHUFHW - Shuffle packed high words (imm8)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPSHUFHW ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSHUFHW - Shuffle packed high words (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpshufhw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpshufhw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSHUFHW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSHUFHW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSHUFLW - Shuffle packed low words (imm8) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VPSHUFLW - Shuffle packed low words (imm8)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VPSHUFLW ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSHUFLW - Shuffle packed low words (imm8). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpshuflw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpshuflw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSHUFLW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSHUFLW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRCP14PD - 14-Bit reziprokes gepacktes Double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VRCP14PD - 14-Bit reziprokes gepacktes Double

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VRCP14PD zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRCP14PD - 14-Bit reziprokes gepacktes Double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrcp14pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrcp14pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRCP14PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRCP14PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRCP14PS - 14-Bit reziproke gepackte Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VRCP14PS - 14-Bit reziproke gepackte Single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VRCP14PS zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRCP14PS - 14-Bit reziproke gepackte Single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrcp14ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrcp14ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRCP14PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRCP14PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRCP28PD - 28-Bit-Reziproknäherung (doppelt, gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VRCP28PD - 28-Bit-Reziproknäherung (doppelt, gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VRCP28PD zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRCP28PD - 28-Bit-Reziproknäherung (doppelt, gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrcp28pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrcp28pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRCP28PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRCP28PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRCP28PS - 28-Bit-Reziproknäherung (einzeln, gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VRCP28PS - 28-Bit-Reziproknäherung (einzeln, gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VRCP28PS zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRCP28PS - 28-Bit-Reziproknäherung (einzeln, gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrcp28ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrcp28ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRCP28PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRCP28PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRCPPS - Gegenseitig verpackte Single (ungefähr) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VRCPPS - Gegenseitig verpackte Single (ungefähr)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VRCPPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRCPPS - Gegenseitig verpackte Single (ungefähr). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrcpps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrcpps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRCPPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRCPPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VREDUCEPD - Packed Double reduzieren (auf N Bits runden) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VREDUCEPD - Packed Double reduzieren (auf N Bits runden)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VREDUCEPD zmm, zmm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VREDUCEPD - Packed Double reduzieren (auf N Bits runden). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vreducepd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vreducepd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VREDUCEPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VREDUCEPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VREDUCEPS - Gepackte Single reduzieren (auf N Bits runden) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VREDUCEPS - Gepackte Single reduzieren (auf N Bits runden)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VREDUCEPS zmm, zmm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VREDUCEPS - Gepackte Single reduzieren (auf N Bits runden). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vreduceps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vreduceps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VREDUCEPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VREDUCEPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRNDSCALEPD - Rund verpackt, doppelt mit Skala - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VRNDSCALEPD - Rund verpackt, doppelt mit Skala

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VRNDSCALEPD zmm, zmm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRNDSCALEPD - Rund verpackt, doppelt mit Skala. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrndscalepd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrndscalepd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRNDSCALEPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRNDSCALEPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRNDSCALEPS - Rund verpacktes Einzelstück mit Skala - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VRNDSCALEPS - Rund verpacktes Einzelstück mit Skala

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VRNDSCALEPS zmm, zmm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRNDSCALEPS - Rund verpacktes Einzelstück mit Skala. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem, imm8.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrndscaleps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrndscaleps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRNDSCALEPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRNDSCALEPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VROUNDPD - Rund verpackt, doppelt - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VROUNDPD - Rund verpackt, doppelt

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VROUNDPD ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VROUNDPD - Rund verpackt, doppelt. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vroundpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vroundpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VROUNDPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VROUNDPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VROUNDPS - Rund verpackte Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VROUNDPS - Rund verpackte Single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VROUNDPS ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VROUNDPS - Rund verpackte Single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vroundps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vroundps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VROUNDPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VROUNDPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRSQRT28PD - 28-Bit reziproke Quadratnäherung (doppelt, gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VRSQRT28PD - 28-Bit reziproke Quadratnäherung (doppelt, gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VRSQRT28PD zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRSQRT28PD - 28-Bit reziproke Quadratnäherung (doppelt, gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrsqrt28pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrsqrt28pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRSQRT28PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRSQRT28PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRSQRT28PS - 28-Bit reziproke Quadratnäherung (einzeln, gepackt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VRSQRT28PS - 28-Bit reziproke Quadratnäherung (einzeln, gepackt)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VRSQRT28PS zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRSQRT28PS - 28-Bit reziproke Quadratnäherung (einzeln, gepackt). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrsqrt28ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrsqrt28ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRSQRT28PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRSQRT28PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRSQRTPS - Reziproke quadratisch gepackte Single (ungefähr) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VRSQRTPS - Reziproke quadratisch gepackte Single (ungefähr)

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VRSQRTPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRSQRTPS - Reziproke quadratisch gepackte Single (ungefähr). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrsqrtps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrsqrtps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRSQRTPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRSQRTPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSCALEFPD - Skala doppelt gepackt durch Zweierpotenz - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VSCALEFPD - Skala doppelt gepackt durch Zweierpotenz

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VSCALEFPD zmm, zmm, zmm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSCALEFPD - Skala doppelt gepackt durch Zweierpotenz. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vscalefpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vscalefpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSCALEFPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSCALEFPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSCATTERDPD - Scatter-gepacktes Doppel mit Dword-Indizes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VSCATTERDPD - Scatter-gepacktes Doppel mit Dword-Indizes

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VSCATTERDPD mem, zmm

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSCATTERDPD - Scatter-gepacktes Doppel mit Dword-Indizes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem, zmm.

Operands and Sizes

Form | Meaning
mem, zmm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vscatterdpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vscatterdpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSCATTERDPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSCATTERDPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSCATTERDPS - Scatter-gepackte Single mit Dword-Indizes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VSCATTERDPS - Scatter-gepackte Single mit Dword-Indizes

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VSCATTERDPS mem, zmm

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSCATTERDPS - Scatter-gepackte Single mit Dword-Indizes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem, zmm.

Operands and Sizes

Form | Meaning
mem, zmm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vscatterdps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vscatterdps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSCATTERDPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSCATTERDPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSCATTERQPD - Scatter-gepacktes Doppel mit Qword-Indizes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VSCATTERQPD - Scatter-gepacktes Doppel mit Qword-Indizes

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VSCATTERQPD mem, zmm

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSCATTERQPD - Scatter-gepacktes Doppel mit Qword-Indizes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem, zmm.

Operands and Sizes

Form | Meaning
mem, zmm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vscatterqpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vscatterqpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSCATTERQPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSCATTERQPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSCATTERQPS - Streugepackte Single mit Qword-Indizes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VSCATTERQPS - Streugepackte Single mit Qword-Indizes

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VSCATTERQPS mem, zmm

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSCATTERQPS - Streugepackte Single mit Qword-Indizes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem, zmm.

Operands and Sizes

Form | Meaning
mem, zmm | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vscatterqps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vscatterqps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSCATTERQPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSCATTERQPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSHUFPD - Shuffle packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VSHUFPD - Shuffle packed double

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VSHUFPD ymm/xmm, ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSHUFPD - Shuffle packed double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vshufpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vshufpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSHUFPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSHUFPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSHUFPS - Shuffle packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VSHUFPS - Shuffle packed single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VSHUFPS ymm/xmm, ymm/xmm, ymm/mem, imm8

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSHUFPS - Shuffle packed single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem, imm8.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vshufps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vshufps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSHUFPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSHUFPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSQRTPD - Quadratwurzel doppelt gepackt - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VSQRTPD - Quadratwurzel doppelt gepackt

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VSQRTPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSQRTPD - Quadratwurzel doppelt gepackt. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vsqrtpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vsqrtpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSQRTPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSQRTPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSQRTPS - Quadratwurzelgepackte Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VSQRTPS - Quadratwurzelgepackte Single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VSQRTPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSQRTPS - Quadratwurzelgepackte Single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vsqrtps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vsqrtps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSQRTPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSQRTPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSUBPD - Subtrahieren Sie das gepackte Doppel - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VSUBPD - Subtrahieren Sie das gepackte Doppel

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VSUBPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSUBPD - Subtrahieren Sie das gepackte Doppel. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vsubpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vsubpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSUBPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSUBPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSUBPS - Gepackte Single subtrahieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VSUBPS - Gepackte Single subtrahieren

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VSUBPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSUBPS - Gepackte Single subtrahieren. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vsubps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vsubps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSUBPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSUBPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VUNPCKHPD - Unpack high packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VUNPCKHPD - Unpack high packed double

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VUNPCKHPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VUNPCKHPD - Unpack high packed double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vunpckhpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vunpckhpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VUNPCKHPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VUNPCKHPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VUNPCKHPS - Unpack high packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VUNPCKHPS - Unpack high packed single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VUNPCKHPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VUNPCKHPS - Unpack high packed single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vunpckhps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vunpckhps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VUNPCKHPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VUNPCKHPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VUNPCKLPD - Unpack low packed double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VUNPCKLPD - Unpack low packed double

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VUNPCKLPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VUNPCKLPD - Unpack low packed double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vunpcklpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vunpcklpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VUNPCKLPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VUNPCKLPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VUNPCKLPS - Unpack low packed single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VUNPCKLPS - Unpack low packed single

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VUNPCKLPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VUNPCKLPS - Unpack low packed single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vunpcklps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vunpcklps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VUNPCKLPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VUNPCKLPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VXORPD - Bitwise XOR of packed doubles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VXORPD - Bitwise XOR of packed doubles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VXORPD ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VXORPD - Bitwise XOR of packed doubles. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vxorpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vxorpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VXORPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VXORPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VXORPS - Bitwise XOR of packed singles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

VXORPS - Bitwise XOR of packed singles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

VXORPS ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: Shuffle / Permute

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VXORPS - Bitwise XOR of packed singles. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vxorps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vxorps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VXORPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VXORPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


XORPS - Bitwise XOR of packed singles - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Shuffle / Permutation Hilfe zum PBXB64-Compiler

XORPS - Bitwise XOR of packed singles

Category: Shuffle / Permute

Kategorie: Shuffle / Permutation

Syntax

XORPS xmm, xmm/mem128

Beschreibung

Category: Shuffle / Permute

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

XORPS - Bitwise XOR of packed singles. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    xorps xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! xorps xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

XORPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

XORPS ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Kontrolltransfer - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Kontrolltransfer Hilfe zum PBXB64-Compiler

Kontrolltransfer

Themen in diesem Kapitel

NOTRACK - Präfix: IBT-Prüfung für den nächsten JMP/CALL unterdrücken


NOTRACK - Präfix: IBT-Prüfung für den nächsten JMP/CALL unterdrücken - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Kontrolltransfer Hilfe zum PBXB64-Compiler

NOTRACK - Präfix: IBT-Prüfung für den nächsten JMP/CALL unterdrücken

Category: Control Flow

Kategorie: Kontrolltransfer

Syntax

NOTRACK F2-Präfix

Beschreibung

Category: Control Flow

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

NOTRACK - Präfix: IBT-Prüfung für den nächsten JMP/CALL unterdrücken. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen F2-Präfix.

Operands and Sizes

Form | Meaning
F2-Präfix | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    notrack operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! notrack operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

NOTRACK ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

NOTRACK ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Nach oben


SSE / AVX - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

SSE / AVX

Themen in diesem Kapitel

CMPSD - Skalar-Double vergleichen (imm8-Prädikat) CMPSS - Skalare Single vergleichen (imm8-Prädikat) CVTSI2SS - Convert integer to scalar single CVTSS2SI - Konvertieren Sie einen einzelnen Skalar in eine ganze Zahl (rund) CVTTSI2SD - Ganzzahl auf Skalardoppel kürzen CVTTSS2SI - Truncate scalar single to integer FXRSTOR - Stellen Sie den x87- und SSE-Status wieder her FXSAVE MOVDDUP - Verschieben und duplizieren (eines auf beide Hälften von XMM) PEXTRB - Byte in GPR oder Speicher extrahieren PINSRB - Byte einfügen (aus GPR oder Speicher) PMOVSXWD - Bewegen Sie sich mit Zeichenerweiterung, Wörter zu Doppelwörtern PMOVSXWQ - Verschieben Sie Wörter mit Zeichenerweiterung in Quadwörter PMOVZXBD - Verschieben Sie Bytes mit der Erweiterung Null in Doppelwörter PMOVZXBW - Verschieben Sie mit Null-Erweiterung, Bytes zu Wörtern PMOVZXDQ - Verschieben Sie Doppelwörter mit Nullerweiterung in Quadwörter PMOVZXWD - Verschieben Sie Wörter ohne Erweiterung in Doppelwörter PMOVZXWQ - Verschieben Sie Wörter ohne Erweiterung in Quadwörter PSADBW - Sum of absolute differences RCPSS - Reziproker Skalar Single (ungefähr) ROUNDSD - Rundes Skalardoppel ROUNDSS - Runde Skalar-Single RSQRTSS - Reziproker Quadratwurzelskalar einfach (ungefähr) STMXCSR - MXCSR-Register speichern (Steuerung/Status) LDMXCSR VADDSD - Skalardoppel hinzufügen VADDSS - Skalare Single hinzufügen VCVTSD2SI - Convert scalar double to integer VCVTSD2SS - Convert scalar double to single VCVTSI2SD - Convert integer to scalar double VCVTSI2SS - Convert integer to scalar single VCVTSS2SD - Convert scalar single to double VCVTSS2SI - Convert scalar single to integer VCVTTSD2SI - Truncate scalar double to integer VCVTTSS2SI - Truncate scalar single to integer VDIVSD - Teilen Sie den Skalar durch das Doppelte VDIVSS - Teilen Sie den Skalar einfach VFMADD132SD - FMA: a*b+c (double, scalar) VFMADD132SS - FMA: a*b+c (single, scalar) VFMADD213SD - FMA: a*b+c (double, scalar) VFMADD213SS - FMA: a*b+c (single, scalar) VFMADD231SD - FMA: a*b+c (double, scalar) VFMADD231SS - FMA: a*b+c (single, scalar) VFMSUB132SD - FMA: a*b-c (doppelt, skalar) VFMSUB132SS - FMA: a*b-c (single, scalar) VFMSUB213SD - FMA: a*b-c (doppelt, skalar) VFMSUB213SS - FMA: a*b-c (single, scalar) VFMSUB231SD - FMA: a*b-c (doppelt, skalar) VFMSUB231SS - FMA: a*b-c (single, scalar) VFNMADD132SD - FMA: -(a*b)+c (doppelt, skalar) VFNMADD132SS - FMA: -(a*b)+c (einzeln, skalar) VFNMADD213SD - FMA: -(a*b)+c (doppelt, skalar) VFNMADD213SS - FMA: -(a*b)+c (einzeln, skalar) VFNMADD231SD - FMA: -(a*b)+c (doppelt, skalar) VFNMADD231SS - FMA: -(a*b)+c (einzeln, skalar) VFNMSUB132SD - FMA: -(a*b)-c (doppelt, skalar) VFNMSUB132SS - FMA: -(a*b)-c (einzeln, skalar) VFNMSUB213SD - FMA: -(a*b)-c (doppelt, skalar) VFNMSUB213SS - FMA: -(a*b)-c (einzeln, skalar) VFNMSUB231SD - FMA: -(a*b)-c (doppelt, skalar) VFNMSUB231SS - FMA: -(a*b)-c (einzeln, skalar) VGATHERPF0DPD - Prefetch Gather Double, Intent Level 0 VGATHERPF0DPS - Prefetch Gather Single, Intent Level 0 VGATHERPF1DPD - Prefetch Gather Double, Intent Level 1 VGATHERPF1DPS - Prefetch Gather Single, Intent Level 1 VGETEXPSD - Exponenten-Skalar-Doppel extrahieren VGETEXPSS - Exponentenskalar einzeln extrahieren VGF2P8MULB - Galois-Feld multipliziert Bytes (GF(2^8)) VMAXSD - Maximales Skalar-Double VMAXSS - Maximaler Skalar-Single VMINSD - Minimales Skalardoppel VMINSS - Minimaler Skalar-Single VMULSD - Skalar mit dem Doppelten multiplizieren VMULSS - Skalar-Single multiplizieren VPABSB - Absolute value of bytes VPERMB - Bytes über Lanes hinweg permutieren VPERMI2PD - Zwei-Quellen-Permutation von Doubles mit Index VPERMI2PS - Permutation von Singles aus zwei Quellen mit Index VPERMT2PD - Zwei-Quellen-Permutation von Doubles (Index im Ziel) VPERMT2PS - Zwei-Quellen-Permutation von Singles (Index im Ziel) VPSADBW - Sum of absolute differences VPSHLDV - Variable Verschiebung nach links doppelt (verkettete Verschiebung) VPSHLDVW - Variable Doppelwörter nach links verschieben VPSHRDV - Variable Verschiebung nach rechts doppelt (verkettete Verschiebung) VPSHRDVW - Variable Doppelwörter nach rechts verschieben VPSIGNB - Sign of bytes VPSLLVW - Variable logische Wörter nach links verschieben VPSRAVW - Variable arithmetische Wörter nach rechts verschieben VPSRLVW - Variable logische Wörter nach rechts verschieben VRANGESD - Bereichseinschränkung Skalar Double VRANGESS - Bereichseinschränkung Skalar Single VRCPSS - Reziproker Skalar Single (ungefähr) VRNDSCALESD - Rundes Skalardoppel mit Skala VRNDSCALESS - Runder Skalar einzeln mit Skala VROUNDSD - Rundes Skalardoppel VROUNDSS - Runde Skalar-Single VRSQRTSS - Reziproker quadratischer Skalar einzeln (ungefähr) VSCALEFPS - Skalieren Sie einzeln mit Zweierpotenzen VSCATTERPF0DPD - Prefetch-Scatter-Double, Absichtsstufe 0 VSCATTERPF0DPS - Prefetch-Scatter einzeln, Absichtsebene 0 VSCATTERPF1DPD - Prefetch-Scatter-Double, Absichtsstufe 1 VSCATTERPF1DPS - Prefetch-Scatter einzeln, Absichtsebene 1 VSQRTSD - Quadratwurzel-Skalar-Double VSQRTSS - Quadratwurzel-Skalar-Single VSUBSD - Subtrahiere das Skalardoppel VSUBSS - Subtrahieren Sie den Skalar einzeln


CMPSD - Skalar-Double vergleichen (imm8-Prädikat) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

CMPSD - Skalar-Double vergleichen (imm8-Prädikat)

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

CMPSD xmm, xmm/mem64, imm8

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CMPSD - Skalar-Double vergleichen (imm8-Prädikat). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem64, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem64, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    cmpsd xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cmpsd xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CMPSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMPSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CMPSS - Skalare Single vergleichen (imm8-Prädikat) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

CMPSS - Skalare Single vergleichen (imm8-Prädikat)

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

CMPSS xmm, xmm/mem32, imm8

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CMPSS - Skalare Single vergleichen (imm8-Prädikat). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem32, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem32, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    cmpss xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cmpss xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CMPSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMPSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CVTSI2SS - Convert integer to scalar single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

CVTSI2SS - Convert integer to scalar single

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

CVTSI2SS xmm, reg32/64/mem32

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CVTSI2SS - Convert integer to scalar single. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, reg32/64/mem32.

Operands and Sizes

Form | Meaning
xmm, reg32 | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
64 | follow the operand order shown in the syntax
mem32 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    cvtsi2ss xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cvtsi2ss xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CVTSI2SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTSI2SS ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CVTSS2SI - Konvertieren Sie einen einzelnen Skalar in eine ganze Zahl (rund) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

CVTSS2SI - Konvertieren Sie einen einzelnen Skalar in eine ganze Zahl (rund)

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

CVTSS2SI reg32/64, xmm/mem32

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CVTSS2SI - Konvertieren Sie einen einzelnen Skalar in eine ganze Zahl (rund). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen reg32/64, xmm/mem32.

Operands and Sizes

Form | Meaning
reg32 | uses a general-purpose register
64, xmm | uses XMM vector/scalar registers; may read or write memory
mem32 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    cvtss2si xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cvtss2si xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CVTSS2SI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTSS2SI ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CVTTSI2SD - Ganzzahl auf Skalardoppel kürzen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

CVTTSI2SD - Ganzzahl auf Skalardoppel kürzen

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

CVTTSI2SD xmm, reg32/64/mem32

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CVTTSI2SD - Ganzzahl auf Skalardoppel kürzen. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, reg32/64/mem32.

Operands and Sizes

Form | Meaning
xmm, reg32 | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
64 | follow the operand order shown in the syntax
mem32 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    cvttsi2sd xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cvttsi2sd xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CVTTSI2SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTTSI2SD ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CVTTSS2SI - Truncate scalar single to integer - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

CVTTSS2SI - Truncate scalar single to integer

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

CVTTSS2SI reg32/64, xmm/mem32

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CVTTSS2SI - Truncate scalar single to integer. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen reg32/64, xmm/mem32.

Operands and Sizes

Form | Meaning
reg32 | uses a general-purpose register
64, xmm | uses XMM vector/scalar registers; may read or write memory
mem32 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    cvttss2si xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cvttss2si xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CVTTSS2SI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTTSS2SI ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FXRSTOR - Stellen Sie den x87- und SSE-Status wieder her FXSAVE - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

FXRSTOR - Stellen Sie den x87- und SSE-Status wieder her FXSAVE

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

FXRSTOR Speichern Sie den x87- und SSE-Status

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FXRSTOR - Stellen Sie den x87- und SSE-Status wieder her FXSAVE. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen Speichern Sie den x87- und SSE-Status.

Operands and Sizes

Form | Meaning
Speichern Sie den x87- und SSE-Status | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fxrstor operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fxrstor operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FXRSTOR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FXRSTOR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MOVDDUP - Verschieben und duplizieren (eines auf beide Hälften von XMM) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

MOVDDUP - Verschieben und duplizieren (eines auf beide Hälften von XMM)

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

MOVDDUP xmm, xmm/mem64

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MOVDDUP - Verschieben und duplizieren (eines auf beide Hälften von XMM). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem64.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    movddup xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! movddup xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MOVDDUP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVDDUP ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PEXTRB - Byte in GPR oder Speicher extrahieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

PEXTRB - Byte in GPR oder Speicher extrahieren

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

PEXTRB reg/mem8, xmm, imm8

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PEXTRB - Byte in GPR oder Speicher extrahieren. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen reg/mem8, xmm, imm8.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem8, xmm, imm8 | uses XMM vector/scalar registers; may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    pextrb xmm0, xmm1
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pextrb xmm0, xmm1
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PEXTRB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PEXTRB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PINSRB - Byte einfügen (aus GPR oder Speicher) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

PINSRB - Byte einfügen (aus GPR oder Speicher)

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

PINSRB xmm, reg/mem32, imm8

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PINSRB - Byte einfügen (aus GPR oder Speicher). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, reg/mem32, imm8.

Operands and Sizes

Form | Meaning
xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem32, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    pinsrb xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pinsrb xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PINSRB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PINSRB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMOVSXWD - Bewegen Sie sich mit Zeichenerweiterung, Wörter zu Doppelwörtern - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

PMOVSXWD - Bewegen Sie sich mit Zeichenerweiterung, Wörter zu Doppelwörtern

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

PMOVSXWD xmm, xmm/mem64

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMOVSXWD - Bewegen Sie sich mit Zeichenerweiterung, Wörter zu Doppelwörtern. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem64.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    pmovsxwd xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmovsxwd xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMOVSXWD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMOVSXWD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMOVSXWQ - Verschieben Sie Wörter mit Zeichenerweiterung in Quadwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

PMOVSXWQ - Verschieben Sie Wörter mit Zeichenerweiterung in Quadwörter

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

PMOVSXWQ xmm, xmm/mem32

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMOVSXWQ - Verschieben Sie Wörter mit Zeichenerweiterung in Quadwörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem32.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem32 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    pmovsxwq xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmovsxwq xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMOVSXWQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMOVSXWQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PMOVSXWD - Bewegen Sie sich mit Zeichenerweiterung, Wörter zu Doppelwörtern Nach oben PMOVZXBD - Verschieben Sie Bytes mit der Erweiterung Null in Doppelwörter →


PMOVZXBD - Verschieben Sie Bytes mit der Erweiterung Null in Doppelwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

PMOVZXBD - Verschieben Sie Bytes mit der Erweiterung Null in Doppelwörter

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

PMOVZXBD xmm, xmm/mem32

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMOVZXBD - Verschieben Sie Bytes mit der Erweiterung Null in Doppelwörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem32.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem32 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    pmovzxbd xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmovzxbd xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMOVZXBD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMOVZXBD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMOVZXBW - Verschieben Sie mit Null-Erweiterung, Bytes zu Wörtern - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

PMOVZXBW - Verschieben Sie mit Null-Erweiterung, Bytes zu Wörtern

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

PMOVZXBW xmm, xmm/mem64

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMOVZXBW - Verschieben Sie mit Null-Erweiterung, Bytes zu Wörtern. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem64.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    pmovzxbw xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmovzxbw xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMOVZXBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMOVZXBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← PMOVZXBD - Verschieben Sie Bytes mit der Erweiterung Null in Doppelwörter Nach oben PMOVZXDQ - Verschieben Sie Doppelwörter mit Nullerweiterung in Quadwörter →


PMOVZXDQ - Verschieben Sie Doppelwörter mit Nullerweiterung in Quadwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

PMOVZXDQ - Verschieben Sie Doppelwörter mit Nullerweiterung in Quadwörter

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

PMOVZXDQ xmm, xmm/mem64

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMOVZXDQ - Verschieben Sie Doppelwörter mit Nullerweiterung in Quadwörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem64.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    pmovzxdq xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmovzxdq xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMOVZXDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMOVZXDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMOVZXWD - Verschieben Sie Wörter ohne Erweiterung in Doppelwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

PMOVZXWD - Verschieben Sie Wörter ohne Erweiterung in Doppelwörter

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

PMOVZXWD xmm, xmm/mem64

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMOVZXWD - Verschieben Sie Wörter ohne Erweiterung in Doppelwörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem64.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    pmovzxwd xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmovzxwd xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMOVZXWD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMOVZXWD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PMOVZXWQ - Verschieben Sie Wörter ohne Erweiterung in Quadwörter - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

PMOVZXWQ - Verschieben Sie Wörter ohne Erweiterung in Quadwörter

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

PMOVZXWQ xmm, xmm/mem32

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PMOVZXWQ - Verschieben Sie Wörter ohne Erweiterung in Quadwörter. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem32.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem32 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    pmovzxwq xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! pmovzxwq xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PMOVZXWQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PMOVZXWQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PSADBW - Sum of absolute differences - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

PSADBW - Sum of absolute differences

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

PSADBW xmm, xmm/mem128

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PSADBW - Sum of absolute differences. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    psadbw xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! psadbw xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PSADBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PSADBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RCPSS - Reziproker Skalar Single (ungefähr) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

RCPSS - Reziproker Skalar Single (ungefähr)

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

RCPSS xmm, xmm/mem32

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RCPSS - Reziproker Skalar Single (ungefähr). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem32.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem32 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    rcpss xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rcpss xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RCPSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RCPSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ROUNDSD - Rundes Skalardoppel - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

ROUNDSD - Rundes Skalardoppel

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

ROUNDSD xmm, xmm/mem64, imm8

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ROUNDSD - Rundes Skalardoppel. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem64, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem64, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 8
asm_data64:
    .quad 0

.text
.global main
main:
    roundsd xmm0, [rip + asm_data64]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! roundsd xmm0, [rip + asm_data64]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ROUNDSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ROUNDSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


ROUNDSS - Runde Skalar-Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

ROUNDSS - Runde Skalar-Single

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

ROUNDSS xmm, xmm/mem32, imm8

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

ROUNDSS - Runde Skalar-Single. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem32, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem32, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    roundss xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! roundss xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

ROUNDSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ROUNDSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RSQRTSS - Reziproker Quadratwurzelskalar einfach (ungefähr) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

RSQRTSS - Reziproker Quadratwurzelskalar einfach (ungefähr)

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

RSQRTSS xmm, xmm/mem32

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RSQRTSS - Reziproker Quadratwurzelskalar einfach (ungefähr). Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem32.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem32 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 4
asm_data32:
    .long 0

.text
.global main
main:
    rsqrtss xmm0, [rip + asm_data32]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rsqrtss xmm0, [rip + asm_data32]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RSQRTSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RSQRTSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


STMXCSR - MXCSR-Register speichern (Steuerung/Status) LDMXCSR - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

STMXCSR - MXCSR-Register speichern (Steuerung/Status) LDMXCSR

Category: SSE Instruction

Kategorie: SSE / AVX

Syntax

STMXCSR MXCSR-Register laden

Beschreibung

Category: SSE Instruction

Assembly Group: SSE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

STMXCSR - MXCSR-Register speichern (Steuerung/Status) LDMXCSR. Diese Instruktion gehoert zur SSE-Familie und verwendet die dokumentierten Operandenformen MXCSR-Register laden.

Operands and Sizes

Form | Meaning
MXCSR-Register laden | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    stmxcsr eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! stmxcsr eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sse.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

STMXCSR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

STMXCSR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VADDSD - Skalardoppel hinzufügen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VADDSD - Skalardoppel hinzufügen

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VADDSD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VADDSD - Skalardoppel hinzufügen. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vaddsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vaddsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VADDSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VADDSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VADDSS - Skalare Single hinzufügen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VADDSS - Skalare Single hinzufügen

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VADDSS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VADDSS - Skalare Single hinzufügen. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vaddss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vaddss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VADDSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VADDSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTSD2SI - Convert scalar double to integer - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VCVTSD2SI - Convert scalar double to integer

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VCVTSD2SI reg, xmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTSD2SI - Convert scalar double to integer. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen reg, xmm/mem.

Operands and Sizes

Form | Meaning
reg, xmm | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvtsd2si ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvtsd2si ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTSD2SI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTSD2SI ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTSD2SS - Convert scalar double to single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VCVTSD2SS - Convert scalar double to single

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VCVTSD2SS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTSD2SS - Convert scalar double to single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvtsd2ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvtsd2ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTSD2SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTSD2SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTSI2SD - Convert integer to scalar double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VCVTSI2SD - Convert integer to scalar double

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VCVTSI2SD xmm, xmm, reg/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTSI2SD - Convert integer to scalar double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, reg/mem.

Operands and Sizes

Form | Meaning
xmm, xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvtsi2sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvtsi2sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTSI2SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTSI2SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTSI2SS - Convert integer to scalar single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VCVTSI2SS - Convert integer to scalar single

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VCVTSI2SS xmm, xmm, reg/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTSI2SS - Convert integer to scalar single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, reg/mem.

Operands and Sizes

Form | Meaning
xmm, xmm, reg | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvtsi2ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvtsi2ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTSI2SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTSI2SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTSS2SD - Convert scalar single to double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VCVTSS2SD - Convert scalar single to double

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VCVTSS2SD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTSS2SD - Convert scalar single to double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvtss2sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvtss2sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTSS2SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTSS2SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTSS2SI - Convert scalar single to integer - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VCVTSS2SI - Convert scalar single to integer

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VCVTSS2SI reg, xmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTSS2SI - Convert scalar single to integer. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen reg, xmm/mem.

Operands and Sizes

Form | Meaning
reg, xmm | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvtss2si ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvtss2si ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTSS2SI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTSS2SI ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTTSD2SI - Truncate scalar double to integer - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VCVTTSD2SI - Truncate scalar double to integer

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VCVTTSD2SI reg, xmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTTSD2SI - Truncate scalar double to integer. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen reg, xmm/mem.

Operands and Sizes

Form | Meaning
reg, xmm | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvttsd2si ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvttsd2si ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTTSD2SI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTTSD2SI ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VCVTTSS2SI - Truncate scalar single to integer - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VCVTTSS2SI - Truncate scalar single to integer

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VCVTTSS2SI reg, xmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VCVTTSS2SI - Truncate scalar single to integer. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen reg, xmm/mem.

Operands and Sizes

Form | Meaning
reg, xmm | uses XMM vector/scalar registers; may read or write memory; uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vcvttss2si ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vcvttss2si ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VCVTTSS2SI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VCVTTSS2SI ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VDIVSD - Teilen Sie den Skalar durch das Doppelte - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VDIVSD - Teilen Sie den Skalar durch das Doppelte

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VDIVSD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VDIVSD - Teilen Sie den Skalar durch das Doppelte. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vdivsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vdivsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VDIVSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VDIVSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VDIVSS - Teilen Sie den Skalar einfach - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VDIVSS - Teilen Sie den Skalar einfach

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VDIVSS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VDIVSS - Teilen Sie den Skalar einfach. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vdivss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vdivss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VDIVSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VDIVSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADD132SD - FMA: a*b+c (double, scalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFMADD132SD - FMA: a*b+c (double, scalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFMADD132SD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADD132SD - FMA: a*b+c (double, scalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmadd132sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmadd132sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADD132SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADD132SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADD132SS - FMA: a*b+c (single, scalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFMADD132SS - FMA: a*b+c (single, scalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFMADD132SS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADD132SS - FMA: a*b+c (single, scalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmadd132ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmadd132ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADD132SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADD132SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADD213SD - FMA: a*b+c (double, scalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFMADD213SD - FMA: a*b+c (double, scalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFMADD213SD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADD213SD - FMA: a*b+c (double, scalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmadd213sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmadd213sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADD213SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADD213SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADD213SS - FMA: a*b+c (single, scalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFMADD213SS - FMA: a*b+c (single, scalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFMADD213SS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADD213SS - FMA: a*b+c (single, scalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmadd213ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmadd213ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADD213SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADD213SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADD231SD - FMA: a*b+c (double, scalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFMADD231SD - FMA: a*b+c (double, scalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFMADD231SD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADD231SD - FMA: a*b+c (double, scalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmadd231sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmadd231sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADD231SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADD231SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMADD231SS - FMA: a*b+c (single, scalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFMADD231SS - FMA: a*b+c (single, scalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFMADD231SS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMADD231SS - FMA: a*b+c (single, scalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmadd231ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmadd231ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMADD231SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMADD231SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMSUB132SD - FMA: a*b-c (doppelt, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFMSUB132SD - FMA: a*b-c (doppelt, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFMSUB132SD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMSUB132SD - FMA: a*b-c (doppelt, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmsub132sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmsub132sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMSUB132SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMSUB132SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMSUB132SS - FMA: a*b-c (single, scalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFMSUB132SS - FMA: a*b-c (single, scalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFMSUB132SS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMSUB132SS - FMA: a*b-c (single, scalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmsub132ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmsub132ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMSUB132SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMSUB132SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMSUB213SD - FMA: a*b-c (doppelt, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFMSUB213SD - FMA: a*b-c (doppelt, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFMSUB213SD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMSUB213SD - FMA: a*b-c (doppelt, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmsub213sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmsub213sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMSUB213SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMSUB213SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMSUB213SS - FMA: a*b-c (single, scalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFMSUB213SS - FMA: a*b-c (single, scalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFMSUB213SS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMSUB213SS - FMA: a*b-c (single, scalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmsub213ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmsub213ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMSUB213SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMSUB213SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMSUB231SD - FMA: a*b-c (doppelt, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFMSUB231SD - FMA: a*b-c (doppelt, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFMSUB231SD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMSUB231SD - FMA: a*b-c (doppelt, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmsub231sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmsub231sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMSUB231SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMSUB231SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFMSUB231SS - FMA: a*b-c (single, scalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFMSUB231SS - FMA: a*b-c (single, scalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFMSUB231SS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFMSUB231SS - FMA: a*b-c (single, scalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfmsub231ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfmsub231ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFMSUB231SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFMSUB231SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMADD132SD - FMA: -(a*b)+c (doppelt, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFNMADD132SD - FMA: -(a*b)+c (doppelt, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFNMADD132SD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMADD132SD - FMA: -(a*b)+c (doppelt, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmadd132sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmadd132sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMADD132SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMADD132SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMADD132SS - FMA: -(a*b)+c (einzeln, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFNMADD132SS - FMA: -(a*b)+c (einzeln, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFNMADD132SS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMADD132SS - FMA: -(a*b)+c (einzeln, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmadd132ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmadd132ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMADD132SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMADD132SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMADD213SD - FMA: -(a*b)+c (doppelt, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFNMADD213SD - FMA: -(a*b)+c (doppelt, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFNMADD213SD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMADD213SD - FMA: -(a*b)+c (doppelt, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmadd213sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmadd213sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMADD213SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMADD213SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMADD213SS - FMA: -(a*b)+c (einzeln, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFNMADD213SS - FMA: -(a*b)+c (einzeln, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFNMADD213SS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMADD213SS - FMA: -(a*b)+c (einzeln, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmadd213ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmadd213ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMADD213SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMADD213SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMADD231SD - FMA: -(a*b)+c (doppelt, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFNMADD231SD - FMA: -(a*b)+c (doppelt, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFNMADD231SD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMADD231SD - FMA: -(a*b)+c (doppelt, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmadd231sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmadd231sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMADD231SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMADD231SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMADD231SS - FMA: -(a*b)+c (einzeln, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFNMADD231SS - FMA: -(a*b)+c (einzeln, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFNMADD231SS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMADD231SS - FMA: -(a*b)+c (einzeln, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmadd231ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmadd231ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMADD231SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMADD231SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMSUB132SD - FMA: -(a*b)-c (doppelt, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFNMSUB132SD - FMA: -(a*b)-c (doppelt, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFNMSUB132SD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMSUB132SD - FMA: -(a*b)-c (doppelt, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmsub132sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmsub132sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMSUB132SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMSUB132SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMSUB132SS - FMA: -(a*b)-c (einzeln, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFNMSUB132SS - FMA: -(a*b)-c (einzeln, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFNMSUB132SS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMSUB132SS - FMA: -(a*b)-c (einzeln, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmsub132ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmsub132ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMSUB132SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMSUB132SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMSUB213SD - FMA: -(a*b)-c (doppelt, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFNMSUB213SD - FMA: -(a*b)-c (doppelt, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFNMSUB213SD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMSUB213SD - FMA: -(a*b)-c (doppelt, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmsub213sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmsub213sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMSUB213SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMSUB213SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMSUB213SS - FMA: -(a*b)-c (einzeln, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFNMSUB213SS - FMA: -(a*b)-c (einzeln, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFNMSUB213SS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMSUB213SS - FMA: -(a*b)-c (einzeln, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmsub213ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmsub213ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMSUB213SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMSUB213SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMSUB231SD - FMA: -(a*b)-c (doppelt, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFNMSUB231SD - FMA: -(a*b)-c (doppelt, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFNMSUB231SD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMSUB231SD - FMA: -(a*b)-c (doppelt, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmsub231sd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmsub231sd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMSUB231SD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMSUB231SD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VFNMSUB231SS - FMA: -(a*b)-c (einzeln, skalar) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VFNMSUB231SS - FMA: -(a*b)-c (einzeln, skalar)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VFNMSUB231SS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VFNMSUB231SS - FMA: -(a*b)-c (einzeln, skalar). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vfnmsub231ss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vfnmsub231ss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VFNMSUB231SS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VFNMSUB231SS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGATHERPF0DPD - Prefetch Gather Double, Intent Level 0 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VGATHERPF0DPD - Prefetch Gather Double, Intent Level 0

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VGATHERPF0DPD mem (VSIB)

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGATHERPF0DPD - Prefetch Gather Double, Intent Level 0. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem (VSIB).

Operands and Sizes

Form | Meaning
mem (VSIB) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgatherpf0dpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgatherpf0dpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGATHERPF0DPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGATHERPF0DPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGATHERPF0DPS - Prefetch Gather Single, Intent Level 0 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VGATHERPF0DPS - Prefetch Gather Single, Intent Level 0

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VGATHERPF0DPS mem (VSIB)

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGATHERPF0DPS - Prefetch Gather Single, Intent Level 0. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem (VSIB).

Operands and Sizes

Form | Meaning
mem (VSIB) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgatherpf0dps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgatherpf0dps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGATHERPF0DPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGATHERPF0DPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGATHERPF1DPD - Prefetch Gather Double, Intent Level 1 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VGATHERPF1DPD - Prefetch Gather Double, Intent Level 1

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VGATHERPF1DPD mem (VSIB)

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGATHERPF1DPD - Prefetch Gather Double, Intent Level 1. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem (VSIB).

Operands and Sizes

Form | Meaning
mem (VSIB) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgatherpf1dpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgatherpf1dpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGATHERPF1DPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGATHERPF1DPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGATHERPF1DPS - Prefetch Gather Single, Intent Level 1 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VGATHERPF1DPS - Prefetch Gather Single, Intent Level 1

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VGATHERPF1DPS mem (VSIB)

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGATHERPF1DPS - Prefetch Gather Single, Intent Level 1. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem (VSIB).

Operands and Sizes

Form | Meaning
mem (VSIB) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgatherpf1dps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgatherpf1dps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGATHERPF1DPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGATHERPF1DPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGETEXPSD - Exponenten-Skalar-Doppel extrahieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VGETEXPSD - Exponenten-Skalar-Doppel extrahieren

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VGETEXPSD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGETEXPSD - Exponenten-Skalar-Doppel extrahieren. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgetexpsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgetexpsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGETEXPSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGETEXPSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGETEXPSS - Exponentenskalar einzeln extrahieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VGETEXPSS - Exponentenskalar einzeln extrahieren

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VGETEXPSS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGETEXPSS - Exponentenskalar einzeln extrahieren. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgetexpss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgetexpss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGETEXPSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGETEXPSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VGF2P8MULB - Galois-Feld multipliziert Bytes (GF(2^8)) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VGF2P8MULB - Galois-Feld multipliziert Bytes (GF(2^8))

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VGF2P8MULB zmm/xmm, zmm/xmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VGF2P8MULB - Galois-Feld multipliziert Bytes (GF(2^8)). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm/xmm, zmm/xmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm | may read or write memory
xmm, zmm | uses XMM vector/scalar registers; may read or write memory
xmm, zmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vgf2p8mulb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vgf2p8mulb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VGF2P8MULB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VGF2P8MULB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMAXSD - Maximales Skalar-Double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VMAXSD - Maximales Skalar-Double

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VMAXSD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMAXSD - Maximales Skalar-Double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmaxsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmaxsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMAXSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMAXSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMAXSS - Maximaler Skalar-Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VMAXSS - Maximaler Skalar-Single

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VMAXSS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMAXSS - Maximaler Skalar-Single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmaxss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmaxss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMAXSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMAXSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMINSD - Minimales Skalardoppel - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VMINSD - Minimales Skalardoppel

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VMINSD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMINSD - Minimales Skalardoppel. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vminsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vminsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMINSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMINSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMINSS - Minimaler Skalar-Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VMINSS - Minimaler Skalar-Single

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VMINSS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMINSS - Minimaler Skalar-Single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vminss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vminss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMINSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMINSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMULSD - Skalar mit dem Doppelten multiplizieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VMULSD - Skalar mit dem Doppelten multiplizieren

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VMULSD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMULSD - Skalar mit dem Doppelten multiplizieren. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmulsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmulsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMULSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMULSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMULSS - Skalar-Single multiplizieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VMULSS - Skalar-Single multiplizieren

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VMULSS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMULSS - Skalar-Single multiplizieren. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmulss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmulss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMULSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMULSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPABSB - Absolute value of bytes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPABSB - Absolute value of bytes

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPABSB ymm/xmm, ymm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPABSB - Absolute value of bytes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpabsb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpabsb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPABSB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPABSB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMB - Bytes über Lanes hinweg permutieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPERMB - Bytes über Lanes hinweg permutieren

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPERMB zmm, zmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMB - Bytes über Lanes hinweg permutieren. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMI2PD - Zwei-Quellen-Permutation von Doubles mit Index - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPERMI2PD - Zwei-Quellen-Permutation von Doubles mit Index

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPERMI2PD zmm, zmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMI2PD - Zwei-Quellen-Permutation von Doubles mit Index. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermi2pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermi2pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMI2PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMI2PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMI2PS - Permutation von Singles aus zwei Quellen mit Index - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPERMI2PS - Permutation von Singles aus zwei Quellen mit Index

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPERMI2PS zmm, zmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMI2PS - Permutation von Singles aus zwei Quellen mit Index. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermi2ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermi2ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMI2PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMI2PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMT2PD - Zwei-Quellen-Permutation von Doubles (Index im Ziel) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPERMT2PD - Zwei-Quellen-Permutation von Doubles (Index im Ziel)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPERMT2PD zmm, zmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMT2PD - Zwei-Quellen-Permutation von Doubles (Index im Ziel). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermt2pd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermt2pd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMT2PD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMT2PD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPERMT2PS - Zwei-Quellen-Permutation von Singles (Index im Ziel) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPERMT2PS - Zwei-Quellen-Permutation von Singles (Index im Ziel)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPERMT2PS zmm, zmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPERMT2PS - Zwei-Quellen-Permutation von Singles (Index im Ziel). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpermt2ps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpermt2ps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPERMT2PS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPERMT2PS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSADBW - Sum of absolute differences - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPSADBW - Sum of absolute differences

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPSADBW ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSADBW - Sum of absolute differences. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsadbw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsadbw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSADBW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSADBW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← VPERMT2PS - Zwei-Quellen-Permutation von Singles (Index im Ziel) Nach oben VPSHLDV - Variable Verschiebung nach links doppelt (verkettete Verschiebung) →


VPSHLDV - Variable Verschiebung nach links doppelt (verkettete Verschiebung) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPSHLDV - Variable Verschiebung nach links doppelt (verkettete Verschiebung)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPSHLDV zmm, zmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSHLDV - Variable Verschiebung nach links doppelt (verkettete Verschiebung). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpshldv ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpshldv ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSHLDV ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSHLDV ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSHLDVW - Variable Doppelwörter nach links verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPSHLDVW - Variable Doppelwörter nach links verschieben

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPSHLDVW zmm, zmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSHLDVW - Variable Doppelwörter nach links verschieben. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpshldvw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpshldvw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSHLDVW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSHLDVW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← VPSHLDV - Variable Verschiebung nach links doppelt (verkettete Verschiebung) Nach oben VPSHRDV - Variable Verschiebung nach rechts doppelt (verkettete Verschiebung) →


VPSHRDV - Variable Verschiebung nach rechts doppelt (verkettete Verschiebung) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPSHRDV - Variable Verschiebung nach rechts doppelt (verkettete Verschiebung)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPSHRDV zmm, zmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSHRDV - Variable Verschiebung nach rechts doppelt (verkettete Verschiebung). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpshrdv ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpshrdv ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSHRDV ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSHRDV ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSHRDVW - Variable Doppelwörter nach rechts verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPSHRDVW - Variable Doppelwörter nach rechts verschieben

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPSHRDVW zmm, zmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSHRDVW - Variable Doppelwörter nach rechts verschieben. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpshrdvw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpshrdvw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSHRDVW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSHRDVW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSIGNB - Sign of bytes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPSIGNB - Sign of bytes

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPSIGNB ymm/xmm, ymm/xmm, ymm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSIGNB - Sign of bytes. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, ymm/xmm, ymm/mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
xmm, ymm | uses XMM vector/scalar registers; uses YMM vector registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsignb ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsignb ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSIGNB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSIGNB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSLLVW - Variable logische Wörter nach links verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPSLLVW - Variable logische Wörter nach links verschieben

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPSLLVW zmm, zmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSLLVW - Variable logische Wörter nach links verschieben. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsllvw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsllvw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSLLVW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSLLVW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


VPSRAVW - Variable arithmetische Wörter nach rechts verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPSRAVW - Variable arithmetische Wörter nach rechts verschieben

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPSRAVW zmm, zmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSRAVW - Variable arithmetische Wörter nach rechts verschieben. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsravw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsravw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSRAVW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSRAVW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPSRLVW - Variable logische Wörter nach rechts verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VPSRLVW - Variable logische Wörter nach rechts verschieben

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VPSRLVW zmm, zmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPSRLVW - Variable logische Wörter nach rechts verschieben. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpsrlvw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpsrlvw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPSRLVW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPSRLVW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRANGESD - Bereichseinschränkung Skalar Double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VRANGESD - Bereichseinschränkung Skalar Double

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VRANGESD xmm, xmm, xmm/mem, imm8

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRANGESD - Bereichseinschränkung Skalar Double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrangesd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrangesd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRANGESD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRANGESD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRANGESS - Bereichseinschränkung Skalar Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VRANGESS - Bereichseinschränkung Skalar Single

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VRANGESS xmm, xmm, xmm/mem, imm8

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRANGESS - Bereichseinschränkung Skalar Single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrangess ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrangess ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRANGESS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRANGESS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRCPSS - Reziproker Skalar Single (ungefähr) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VRCPSS - Reziproker Skalar Single (ungefähr)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VRCPSS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRCPSS - Reziproker Skalar Single (ungefähr). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrcpss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrcpss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRCPSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRCPSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRNDSCALESD - Rundes Skalardoppel mit Skala - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VRNDSCALESD - Rundes Skalardoppel mit Skala

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VRNDSCALESD xmm, xmm, xmm/mem, imm8

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRNDSCALESD - Rundes Skalardoppel mit Skala. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrndscalesd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrndscalesd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRNDSCALESD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRNDSCALESD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRNDSCALESS - Runder Skalar einzeln mit Skala - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VRNDSCALESS - Runder Skalar einzeln mit Skala

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VRNDSCALESS xmm, xmm, xmm/mem, imm8

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRNDSCALESS - Runder Skalar einzeln mit Skala. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrndscaless ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrndscaless ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRNDSCALESS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRNDSCALESS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VROUNDSD - Rundes Skalardoppel - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VROUNDSD - Rundes Skalardoppel

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VROUNDSD xmm, xmm/mem, imm8

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VROUNDSD - Rundes Skalardoppel. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vroundsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vroundsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VROUNDSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VROUNDSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VROUNDSS - Runde Skalar-Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VROUNDSS - Runde Skalar-Single

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VROUNDSS xmm, xmm/mem, imm8

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VROUNDSS - Runde Skalar-Single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vroundss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vroundss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VROUNDSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VROUNDSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VRSQRTSS - Reziproker quadratischer Skalar einzeln (ungefähr) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VRSQRTSS - Reziproker quadratischer Skalar einzeln (ungefähr)

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VRSQRTSS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VRSQRTSS - Reziproker quadratischer Skalar einzeln (ungefähr). Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vrsqrtss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vrsqrtss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VRSQRTSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VRSQRTSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSCALEFPS - Skalieren Sie einzeln mit Zweierpotenzen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VSCALEFPS - Skalieren Sie einzeln mit Zweierpotenzen

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VSCALEFPS zmm, zmm, zmm/mem

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSCALEFPS - Skalieren Sie einzeln mit Zweierpotenzen. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen zmm, zmm, zmm/mem.

Operands and Sizes

Form | Meaning
zmm, zmm, zmm | may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vscalefps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vscalefps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSCALEFPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSCALEFPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSCATTERPF0DPD - Prefetch-Scatter-Double, Absichtsstufe 0 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VSCATTERPF0DPD - Prefetch-Scatter-Double, Absichtsstufe 0

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VSCATTERPF0DPD mem (VSIB)

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSCATTERPF0DPD - Prefetch-Scatter-Double, Absichtsstufe 0. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem (VSIB).

Operands and Sizes

Form | Meaning
mem (VSIB) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vscatterpf0dpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vscatterpf0dpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSCATTERPF0DPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSCATTERPF0DPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSCATTERPF0DPS - Prefetch-Scatter einzeln, Absichtsebene 0 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VSCATTERPF0DPS - Prefetch-Scatter einzeln, Absichtsebene 0

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VSCATTERPF0DPS mem (VSIB)

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSCATTERPF0DPS - Prefetch-Scatter einzeln, Absichtsebene 0. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem (VSIB).

Operands and Sizes

Form | Meaning
mem (VSIB) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vscatterpf0dps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vscatterpf0dps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSCATTERPF0DPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSCATTERPF0DPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSCATTERPF1DPD - Prefetch-Scatter-Double, Absichtsstufe 1 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VSCATTERPF1DPD - Prefetch-Scatter-Double, Absichtsstufe 1

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VSCATTERPF1DPD mem (VSIB)

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSCATTERPF1DPD - Prefetch-Scatter-Double, Absichtsstufe 1. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem (VSIB).

Operands and Sizes

Form | Meaning
mem (VSIB) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vscatterpf1dpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vscatterpf1dpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSCATTERPF1DPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSCATTERPF1DPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSCATTERPF1DPS - Prefetch-Scatter einzeln, Absichtsebene 1 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VSCATTERPF1DPS - Prefetch-Scatter einzeln, Absichtsebene 1

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VSCATTERPF1DPS mem (VSIB)

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSCATTERPF1DPS - Prefetch-Scatter einzeln, Absichtsebene 1. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen mem (VSIB).

Operands and Sizes

Form | Meaning
mem (VSIB) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vscatterpf1dps ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vscatterpf1dps ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSCATTERPF1DPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSCATTERPF1DPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSQRTSD - Quadratwurzel-Skalar-Double - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VSQRTSD - Quadratwurzel-Skalar-Double

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VSQRTSD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSQRTSD - Quadratwurzel-Skalar-Double. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vsqrtsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vsqrtsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSQRTSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSQRTSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSQRTSS - Quadratwurzel-Skalar-Single - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VSQRTSS - Quadratwurzel-Skalar-Single

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VSQRTSS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSQRTSS - Quadratwurzel-Skalar-Single. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vsqrtss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vsqrtss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSQRTSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSQRTSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSUBSD - Subtrahiere das Skalardoppel - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VSUBSD - Subtrahiere das Skalardoppel

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VSUBSD xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSUBSD - Subtrahiere das Skalardoppel. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vsubsd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vsubsd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSUBSD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSUBSD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VSUBSS - Subtrahieren Sie den Skalar einzeln - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SSE / AVX Hilfe zum PBXB64-Compiler

VSUBSS - Subtrahieren Sie den Skalar einzeln

Category: AVX Instruction

Kategorie: SSE / AVX

Syntax

VSUBSS xmm, xmm, xmm/Speicher

Beschreibung

Category: AVX Instruction

Assembly Group: AVX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VSUBSS - Subtrahieren Sie den Skalar einzeln. Diese Instruktion gehoert zur AVX-Familie und verwendet die dokumentierten Operandenformen xmm, xmm, xmm/Speicher.

Operands and Sizes

Form | Meaning
xmm, xmm, xmm | uses XMM vector/scalar registers; may read or write memory
Speicher | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vsubss ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vsubss ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_avx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VSUBSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VSUBSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FPU / x87 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FPU / x87

Themen in diesem Kapitel

FABS - Absoluter Wert FBSTP - Speichern Sie den BCD-Wert und den Pop FCLEX - FPU-Ausnahmen löschen (warten) FCOMP - Vergleichen und Pop FCOMPP - Vergleichen und Pop zweimal FDECSTP - Dekrementieren Sie den FPU-Stapelzeiger FDIV - Teilen (ST0 = ST0 / src) FDIVP - Teilen und platzen FDIVR - Rückwärts dividieren (ST0 = src / ST0) FDIVRP - Umgekehrt teilen und platzen lassen FFREE - Freies FPU-Register ST(i) FIADD - Fügen Sie eine Ganzzahl zu ST0 hinzu FICOM - Vergleichen Sie ST0 mit einer Ganzzahl FICOMP - Vergleichen Sie Integer und Pop FIDIV - Durch ganze Zahl dividieren FILD - Ganzzahlwert auf Stapel laden (Push) FIMUL - Mit einer Ganzzahl multiplizieren FINCSTP - Erhöhen Sie den FPU-Stapelzeiger FINIT - FPU initialisieren (warten) FIST - Ganzzahligen Wert speichern FISTP - Speichern Sie einen ganzzahligen Wert und Pop FISTTP - Ganzzahl abschneiden und speichern, Pop (SSE3) FISUB - Ganzzahl subtrahieren FLD - Echten Wert auf Stapel laden (Push) FLD1 - Laden Sie +1,0 FLDENV - Laden Sie die FPU-Umgebung FLDL2E - Log2(e) laden FLDL2T - Log2(10) laden FLDLG2 - Log10(2) laden FLDLN2 - Lade ln(2) FLDPI - Belastung pi (π) FLDZ - Laden Sie +0,0 FMUL - Multiplizieren (ST0 = ST0 * src) FMULP - Multiplizieren und Pop FNCLEX - FPU-Ausnahmen löschen (keine Wartezeit) FNINIT - FPU initialisieren (keine Wartezeit) FNOP - FPU funktioniert nicht FPATAN - Teilarkustangens (ST1/ST0 → ST1=atan, pop) F2XM1 FPREM - Teilweise Rest FPREM1 - Teilweise Rest (IEEE) FRNDINT - Auf Ganzzahl runden (aktueller Rundungsmodus) FRSTOR - FPU-Status wiederherstellen FSAVE - FPU-Status speichern (94/108 Byte) FSCALE - Skalierung durch Zweierpotenz (ST0 * 2^ST1) FSIN - Sinus von ST0 (ST0 im Bogenmaß) FCOS FSINCOS - Sinus und Cosinus von ST0 (ST1=sin, ST0=cos) FPTAN FSQRT - Quadratwurzel FST - Speichern Sie den tatsächlichen Wert (pop = FSTP) FSTENV - Speichern Sie die FPU-Umgebung FSTP - Speichern Sie echten Wert und Pop FSUB - Subtrahieren (ST0 = ST0 - src) FSUBP - Subtrahieren und Pop FSUBR - Rückwärts subtrahieren (ST0 = src - ST0) FSUBRP - Subtrahieren Sie Reverse und Pop FWAIT - Warten auf FPU (Assembly: WAIT) FXCH - Tausche ST(0) mit ST(i) FYL2X - ST1 * log2(ST0), pop FYL2XP1


FABS - Absoluter Wert - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FABS - Absoluter Wert

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FABS keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FABS - Absoluter Wert. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fabs operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fabs operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FABS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FABS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FBSTP - Speichern Sie den BCD-Wert und den Pop - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FBSTP - Speichern Sie den BCD-Wert und den Pop

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FBSTP mem80 (TBYTE)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FBSTP - Speichern Sie den BCD-Wert und den Pop. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem80 (TBYTE).

Operands and Sizes

Form | Meaning
mem80 (TBYTE) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fbstp [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fbstp [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FBSTP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FBSTP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FCLEX - FPU-Ausnahmen löschen (warten) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FCLEX - FPU-Ausnahmen löschen (warten)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FCLEX keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FCLEX - FPU-Ausnahmen löschen (warten). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fclex operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fclex operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FCLEX ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FCLEX ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FCOMP - Vergleichen und Pop - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FCOMP - Vergleichen und Pop

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FCOMP mem32/64 / ST(i)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FCOMP - Vergleichen und Pop. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem32/64 / ST(i).

Operands and Sizes

Form | Meaning
mem32 | may read or write memory
64 | follow the operand order shown in the syntax
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fcomp [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fcomp [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FCOMP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FCOMP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


FCOMPP - Vergleichen und Pop zweimal - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FCOMPP - Vergleichen und Pop zweimal

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FCOMPP keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FCOMPP - Vergleichen und Pop zweimal. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fcompp operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fcompp operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FCOMPP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FCOMPP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


FDECSTP - Dekrementieren Sie den FPU-Stapelzeiger - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FDECSTP - Dekrementieren Sie den FPU-Stapelzeiger

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FDECSTP keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FDECSTP - Dekrementieren Sie den FPU-Stapelzeiger. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fdecstp operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fdecstp operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FDECSTP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FDECSTP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FDIV - Teilen (ST0 = ST0 / src) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FDIV - Teilen (ST0 = ST0 / src)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FDIV mem32/64 / ST(i)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FDIV - Teilen (ST0 = ST0 / src). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem32/64 / ST(i).

Operands and Sizes

Form | Meaning
mem32 | may read or write memory
64 | follow the operand order shown in the syntax
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fdiv [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fdiv [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FDIV ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FDIV ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FDIVP - Teilen und platzen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FDIVP - Teilen und platzen

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FDIVP ST(i), ST(0)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FDIVP - Teilen und platzen. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i), ST(0).

Operands and Sizes

Form | Meaning
ST(i), ST(0) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fdivp operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fdivp operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FDIVP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FDIVP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FDIVR - Rückwärts dividieren (ST0 = src / ST0) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FDIVR - Rückwärts dividieren (ST0 = src / ST0)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FDIVR mem32/64 / ST(i)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FDIVR - Rückwärts dividieren (ST0 = src / ST0). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem32/64 / ST(i).

Operands and Sizes

Form | Meaning
mem32 | may read or write memory
64 | follow the operand order shown in the syntax
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fdivr [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fdivr [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FDIVR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FDIVR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FDIVRP - Umgekehrt teilen und platzen lassen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FDIVRP - Umgekehrt teilen und platzen lassen

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FDIVRP ST(i), ST(0)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FDIVRP - Umgekehrt teilen und platzen lassen. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i), ST(0).

Operands and Sizes

Form | Meaning
ST(i), ST(0) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fdivrp operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fdivrp operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FDIVRP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FDIVRP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FFREE - Freies FPU-Register ST(i) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FFREE - Freies FPU-Register ST(i)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FFREE ST(i)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FFREE - Freies FPU-Register ST(i). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i).

Operands and Sizes

Form | Meaning
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    ffree operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! ffree operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FFREE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FFREE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FIADD - Fügen Sie eine Ganzzahl zu ST0 hinzu - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FIADD - Fügen Sie eine Ganzzahl zu ST0 hinzu

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FIADD mem16/32

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FIADD - Fügen Sie eine Ganzzahl zu ST0 hinzu. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem16/32.

Operands and Sizes

Form | Meaning
mem16 | may read or write memory
32 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fiadd [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fiadd [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FIADD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FIADD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FICOM - Vergleichen Sie ST0 mit einer Ganzzahl - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FICOM - Vergleichen Sie ST0 mit einer Ganzzahl

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FICOM mem16/32

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FICOM - Vergleichen Sie ST0 mit einer Ganzzahl. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem16/32.

Operands and Sizes

Form | Meaning
mem16 | may read or write memory
32 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    ficom [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! ficom [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FICOM ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FICOM ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


FICOMP - Vergleichen Sie Integer und Pop - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FICOMP - Vergleichen Sie Integer und Pop

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FICOMP mem16/32

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FICOMP - Vergleichen Sie Integer und Pop. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem16/32.

Operands and Sizes

Form | Meaning
mem16 | may read or write memory
32 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    ficomp [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! ficomp [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FICOMP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FICOMP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

COM- und Objektprüfung

COM-, DLL-, SLL-, Objekt- und Interface-Seiten sollen Erzeugung, Lebensdauer, Referenzbesitz, HRESULT-Behandlung und Cleanup dokumentieren. Beispiele sollen die Komponente oder Bibliothek nennen, die registriert oder gelinkt werden muss.

x64-Interop-Hinweise

Verwenden Sie zeigergroße Interface-/Objektvariablen und deklarieren Sie Callbacks oder VTable-Einträge mit der korrekten Aufrufkonvention.

Fehlerpfade

Zeigen Sie fehlende Komponenten, fehlgeschlagene Erzeugung, fehlgeschlagene Methodenaufrufe und Cleanup-Verhalten, sofern zutreffend.

Grenzhinweise

Identifizieren Sie bei Uebersichtsseiten, ob der Eintrag ein Erzeugungs-, Abfrage-, Bereinigungs- oder Dispatch-Thema ist, und nennen Sie die konkreten Unterseiten, die das getestete Verhalten tragen. So ist sofort klar, welche Seite die Lebensdauerverwaltung belegt und welche Seite nur der Navigation dient.


FIDIV - Durch ganze Zahl dividieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FIDIV - Durch ganze Zahl dividieren

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FIDIV mem16/32

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FIDIV - Durch ganze Zahl dividieren. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem16/32.

Operands and Sizes

Form | Meaning
mem16 | may read or write memory
32 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fidiv [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fidiv [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FIDIV ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FIDIV ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FILD - Ganzzahlwert auf Stapel laden (Push) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FILD - Ganzzahlwert auf Stapel laden (Push)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FILD mem16/32/64

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FILD - Ganzzahlwert auf Stapel laden (Push). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem16/32/64.

Operands and Sizes

Form | Meaning
mem16 | may read or write memory
32 | follow the operand order shown in the syntax
64 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fild [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fild [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FILD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FILD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FIMUL - Mit einer Ganzzahl multiplizieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FIMUL - Mit einer Ganzzahl multiplizieren

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FIMUL mem16/32

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FIMUL - Mit einer Ganzzahl multiplizieren. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem16/32.

Operands and Sizes

Form | Meaning
mem16 | may read or write memory
32 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fimul [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fimul [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FIMUL ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FIMUL ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FINCSTP - Erhöhen Sie den FPU-Stapelzeiger - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FINCSTP - Erhöhen Sie den FPU-Stapelzeiger

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FINCSTP keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FINCSTP - Erhöhen Sie den FPU-Stapelzeiger. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fincstp operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fincstp operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FINCSTP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FINCSTP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FINIT - FPU initialisieren (warten) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FINIT - FPU initialisieren (warten)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FINIT keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FINIT - FPU initialisieren (warten). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    finit operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! finit operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FINIT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FINIT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FIST - Ganzzahligen Wert speichern - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FIST - Ganzzahligen Wert speichern

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FIST mem16/32

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FIST - Ganzzahligen Wert speichern. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem16/32.

Operands and Sizes

Form | Meaning
mem16 | may read or write memory
32 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fist [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fist [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FIST ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FIST ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FISTP - Speichern Sie einen ganzzahligen Wert und Pop - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FISTP - Speichern Sie einen ganzzahligen Wert und Pop

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FISTP mem16/32/64

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FISTP - Speichern Sie einen ganzzahligen Wert und Pop. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem16/32/64.

Operands and Sizes

Form | Meaning
mem16 | may read or write memory
32 | follow the operand order shown in the syntax
64 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fistp [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fistp [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FISTP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FISTP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FISTTP - Ganzzahl abschneiden und speichern, Pop (SSE3) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FISTTP - Ganzzahl abschneiden und speichern, Pop (SSE3)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FISTTP mem16/32/64

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FISTTP - Ganzzahl abschneiden und speichern, Pop (SSE3). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem16/32/64.

Operands and Sizes

Form | Meaning
mem16 | may read or write memory
32 | follow the operand order shown in the syntax
64 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fisttp [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fisttp [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FISTTP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FISTTP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FISUB - Ganzzahl subtrahieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FISUB - Ganzzahl subtrahieren

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FISUB mem16/32

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FISUB - Ganzzahl subtrahieren. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem16/32.

Operands and Sizes

Form | Meaning
mem16 | may read or write memory
32 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fisub [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fisub [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FISUB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FISUB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FLD - Echten Wert auf Stapel laden (Push) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FLD - Echten Wert auf Stapel laden (Push)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FLD mem32/64/80 / ST(i)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FLD - Echten Wert auf Stapel laden (Push). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem32/64/80 / ST(i).

Operands and Sizes

Form | Meaning
mem32 | may read or write memory
64 | follow the operand order shown in the syntax
80 | follow the operand order shown in the syntax
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fld [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fld [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FLD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FLD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FLD1 - Laden Sie +1,0 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FLD1 - Laden Sie +1,0

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FLD1 +1,0

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FLD1 - Laden Sie +1,0. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen +1,0.

Operands and Sizes

Form | Meaning
+1,0 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fld1 operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fld1 operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FLD1 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FLD1 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FLDENV - Laden Sie die FPU-Umgebung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FLDENV - Laden Sie die FPU-Umgebung

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FLDENV mem

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FLDENV - Laden Sie die FPU-Umgebung. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem.

Operands and Sizes

Form | Meaning
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fldenv [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fldenv [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FLDENV ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FLDENV ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FLDL2E - Log2(e) laden - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FLDL2E - Log2(e) laden

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FLDL2E 1.44269504088896341

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FLDL2E - Log2(e) laden. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen 1.44269504088896341.

Operands and Sizes

Form | Meaning
1.44269504088896341 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fldl2e operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fldl2e operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FLDL2E ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FLDL2E ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FLDL2T - Log2(10) laden - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FLDL2T - Log2(10) laden

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FLDL2T 3.32192809488736235

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FLDL2T - Log2(10) laden. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen 3.32192809488736235.

Operands and Sizes

Form | Meaning
3.32192809488736235 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fldl2t operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fldl2t operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FLDL2T ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FLDL2T ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FLDLG2 - Log10(2) laden - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FLDLG2 - Log10(2) laden

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FLDLG2 0,30102999566398120

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FLDLG2 - Log10(2) laden. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen 0,30102999566398120.

Operands and Sizes

Form | Meaning
0,30102999566398120 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fldlg2 operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fldlg2 operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FLDLG2 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FLDLG2 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FLDLN2 - Lade ln(2) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FLDLN2 - Lade ln(2)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FLDLN2 0,69314718055994531

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FLDLN2 - Lade ln(2). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen 0,69314718055994531.

Operands and Sizes

Form | Meaning
0,69314718055994531 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fldln2 operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fldln2 operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FLDLN2 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FLDLN2 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FLDPI - Belastung pi (π) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FLDPI - Belastung pi (π)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FLDPI 3.14159265358979324

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FLDPI - Belastung pi (π). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen 3.14159265358979324.

Operands and Sizes

Form | Meaning
3.14159265358979324 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fldpi operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fldpi operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FLDPI ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FLDPI ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FLDZ - Laden Sie +0,0 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FLDZ - Laden Sie +0,0

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FLDZ +0,0

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FLDZ - Laden Sie +0,0. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen +0,0.

Operands and Sizes

Form | Meaning
+0,0 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fldz operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fldz operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FLDZ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FLDZ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FMUL - Multiplizieren (ST0 = ST0 * src) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FMUL - Multiplizieren (ST0 = ST0 * src)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FMUL mem32/64 / ST(i)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FMUL - Multiplizieren (ST0 = ST0 * src). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem32/64 / ST(i).

Operands and Sizes

Form | Meaning
mem32 | may read or write memory
64 | follow the operand order shown in the syntax
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fmul [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fmul [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FMUL ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FMUL ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FMULP - Multiplizieren und Pop - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FMULP - Multiplizieren und Pop

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FMULP ST(i), ST(0)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FMULP - Multiplizieren und Pop. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i), ST(0).

Operands and Sizes

Form | Meaning
ST(i), ST(0) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fmulp operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fmulp operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FMULP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FMULP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FNCLEX - FPU-Ausnahmen löschen (keine Wartezeit) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FNCLEX - FPU-Ausnahmen löschen (keine Wartezeit)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FNCLEX keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FNCLEX - FPU-Ausnahmen löschen (keine Wartezeit). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fnclex operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fnclex operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FNCLEX ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FNCLEX ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FNINIT - FPU initialisieren (keine Wartezeit) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FNINIT - FPU initialisieren (keine Wartezeit)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FNINIT keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FNINIT - FPU initialisieren (keine Wartezeit). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fninit operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fninit operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FNINIT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FNINIT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FNOP - FPU funktioniert nicht - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FNOP - FPU funktioniert nicht

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FNOP keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FNOP - FPU funktioniert nicht. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fnop operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fnop operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FNOP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FNOP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FPATAN - Teilarkustangens (ST1/ST0 → ST1=atan, pop) F2XM1 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FPATAN - Teilarkustangens (ST1/ST0 → ST1=atan, pop) F2XM1

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FPATAN 2^ST0 - 1

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FPATAN - Teilarkustangens (ST1/ST0 → ST1=atan, pop) F2XM1. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen 2^ST0 - 1.

Operands and Sizes

Form | Meaning
2^ST0 - 1 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fpatan operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fpatan operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FPATAN ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FPATAN ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FPREM - Teilweise Rest - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FPREM - Teilweise Rest

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FPREM keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FPREM - Teilweise Rest. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fprem operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fprem operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FPREM ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FPREM ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FPREM1 - Teilweise Rest (IEEE) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FPREM1 - Teilweise Rest (IEEE)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FPREM1 keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FPREM1 - Teilweise Rest (IEEE). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fprem1 operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fprem1 operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FPREM1 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FPREM1 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FRNDINT - Auf Ganzzahl runden (aktueller Rundungsmodus) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FRNDINT - Auf Ganzzahl runden (aktueller Rundungsmodus)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FRNDINT keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FRNDINT - Auf Ganzzahl runden (aktueller Rundungsmodus). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    frndint operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! frndint operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FRNDINT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FRNDINT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FRSTOR - FPU-Status wiederherstellen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FRSTOR - FPU-Status wiederherstellen

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FRSTOR mem

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FRSTOR - FPU-Status wiederherstellen. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem.

Operands and Sizes

Form | Meaning
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    frstor [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! frstor [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FRSTOR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FRSTOR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FSAVE - FPU-Status speichern (94/108 Byte) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FSAVE - FPU-Status speichern (94/108 Byte)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FSAVE mem

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FSAVE - FPU-Status speichern (94/108 Byte). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem.

Operands and Sizes

Form | Meaning
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fsave [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fsave [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FSAVE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FSAVE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FSCALE - Skalierung durch Zweierpotenz (ST0 * 2^ST1) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FSCALE - Skalierung durch Zweierpotenz (ST0 * 2^ST1)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FSCALE keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FSCALE - Skalierung durch Zweierpotenz (ST0 * 2^ST1). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fscale operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fscale operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FSCALE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FSCALE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FSIN - Sinus von ST0 (ST0 im Bogenmaß) FCOS - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FSIN - Sinus von ST0 (ST0 im Bogenmaß) FCOS

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FSIN Kosinus von ST0

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FSIN - Sinus von ST0 (ST0 im Bogenmaß) FCOS. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen Kosinus von ST0.

Operands and Sizes

Form | Meaning
Kosinus von ST0 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fsin operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fsin operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FSIN ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FSIN ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FSINCOS - Sinus und Cosinus von ST0 (ST1=sin, ST0=cos) FPTAN - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FSINCOS - Sinus und Cosinus von ST0 (ST1=sin, ST0=cos) FPTAN

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FSINCOS Partielle Tangente (ST1=tan, ST0=1,0)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FSINCOS - Sinus und Cosinus von ST0 (ST1=sin, ST0=cos) FPTAN. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen Partielle Tangente (ST1=tan, ST0=1,0).

Operands and Sizes

Form | Meaning
Partielle Tangente (ST1=tan, ST0=1,0) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fsincos operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fsincos operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FSINCOS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FSINCOS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FSQRT - Quadratwurzel - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FSQRT - Quadratwurzel

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FSQRT keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FSQRT - Quadratwurzel. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fsqrt operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fsqrt operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FSQRT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FSQRT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FST - Speichern Sie den tatsächlichen Wert (pop = FSTP) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FST - Speichern Sie den tatsächlichen Wert (pop = FSTP)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FST mem32/64 / ST(i)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FST - Speichern Sie den tatsächlichen Wert (pop = FSTP). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem32/64 / ST(i).

Operands and Sizes

Form | Meaning
mem32 | may read or write memory
64 | follow the operand order shown in the syntax
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fst [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fst [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FST ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FST ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FSTENV - Speichern Sie die FPU-Umgebung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FSTENV - Speichern Sie die FPU-Umgebung

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FSTENV mem (14/28 Byte)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FSTENV - Speichern Sie die FPU-Umgebung. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem (14/28 Byte).

Operands and Sizes

Form | Meaning
mem (14 | may read or write memory
28 Byte) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fstenv [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fstenv [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FSTENV ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FSTENV ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FSTP - Speichern Sie echten Wert und Pop - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FSTP - Speichern Sie echten Wert und Pop

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FSTP mem32/64/80 / ST(i)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FSTP - Speichern Sie echten Wert und Pop. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem32/64/80 / ST(i).

Operands and Sizes

Form | Meaning
mem32 | may read or write memory
64 | follow the operand order shown in the syntax
80 | follow the operand order shown in the syntax
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fstp [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fstp [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FSTP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FSTP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FSUB - Subtrahieren (ST0 = ST0 - src) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FSUB - Subtrahieren (ST0 = ST0 - src)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FSUB mem32/64 / ST(i)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FSUB - Subtrahieren (ST0 = ST0 - src). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem32/64 / ST(i).

Operands and Sizes

Form | Meaning
mem32 | may read or write memory
64 | follow the operand order shown in the syntax
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fsub [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fsub [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FSUB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FSUB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FSUBP - Subtrahieren und Pop - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FSUBP - Subtrahieren und Pop

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FSUBP ST(i), ST(0)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FSUBP - Subtrahieren und Pop. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i), ST(0).

Operands and Sizes

Form | Meaning
ST(i), ST(0) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fsubp operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fsubp operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FSUBP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FSUBP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FSUBR - Rückwärts subtrahieren (ST0 = src - ST0) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FSUBR - Rückwärts subtrahieren (ST0 = src - ST0)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FSUBR mem32/64 / ST(i)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FSUBR - Rückwärts subtrahieren (ST0 = src - ST0). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen mem32/64 / ST(i).

Operands and Sizes

Form | Meaning
mem32 | may read or write memory
64 | follow the operand order shown in the syntax
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fsubr [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fsubr [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FSUBR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FSUBR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FSUBRP - Subtrahieren Sie Reverse und Pop - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FSUBRP - Subtrahieren Sie Reverse und Pop

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FSUBRP ST(i), ST(0)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FSUBRP - Subtrahieren Sie Reverse und Pop. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i), ST(0).

Operands and Sizes

Form | Meaning
ST(i), ST(0) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fsubrp operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fsubrp operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FSUBRP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FSUBRP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FWAIT - Warten auf FPU (Assembly: WAIT) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FWAIT - Warten auf FPU (Assembly: WAIT)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FWAIT keiner

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FWAIT - Warten auf FPU (Assembly: WAIT). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fwait operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fwait operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FWAIT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FWAIT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FXCH - Tausche ST(0) mit ST(i) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FXCH - Tausche ST(0) mit ST(i)

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FXCH ST(i)

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FXCH - Tausche ST(0) mit ST(i). Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST(i).

Operands and Sizes

Form | Meaning
ST(i) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fxch operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fxch operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FXCH ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FXCH ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


FYL2X - ST1 * log2(ST0), pop FYL2XP1 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › FPU / x87 Hilfe zum PBXB64-Compiler

FYL2X - ST1 * log2(ST0), pop FYL2XP1

Category: FPU Instruction

Kategorie: FPU / x87

Syntax

FYL2X ST1 * log2(ST0 + 1), pop

Beschreibung

Category: FPU Instruction

Assembly Group: FPU

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

FYL2X - ST1 * log2(ST0), pop FYL2XP1. Diese Instruktion gehoert zur FPU-Familie und verwendet die dokumentierten Operandenformen ST1 * log2(ST0 + 1), pop.

Operands and Sizes

Form | Meaning
ST1 * log2(ST0 + 1), pop | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    fyl2x operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! fyl2x operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_fpu.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

FYL2X ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

FYL2X ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


BMI - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › BMI Hilfe zum PBXB64-Compiler

BMI

Themen in diesem Kapitel

TZCNT - Nachgestellte Nullen zählen (verwendet im Gegensatz zu BSF das F3-Präfix)


TZCNT - Nachgestellte Nullen zählen (verwendet im Gegensatz zu BSF das F3-Präfix) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › BMI Hilfe zum PBXB64-Compiler

TZCNT - Nachgestellte Nullen zählen (verwendet im Gegensatz zu BSF das F3-Präfix)

Category: BMI Instruction

Kategorie: BMI

Syntax

TZCNT reg, reg/mem

Beschreibung

Category: BMI Instruction

Assembly Group: BMI

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

TZCNT - Nachgestellte Nullen zählen (verwendet im Gegensatz zu BSF das F3-Präfix). Diese Instruktion gehoert zur BMI-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    tzcnt eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! tzcnt eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_bmi.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

TZCNT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

TZCNT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Nach oben


Krypto - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

Krypto

Themen in diesem Kapitel

AESDEC - Führen Sie eine Runde der AES-Entschlüsselung durch AESDECLAST - Führen Sie die letzte Runde der AES-Entschlüsselung durch AESENC - Führen Sie eine Runde der AES-Verschlüsselung durch AESENCLAST - Führen Sie die letzte Runde der AES-Verschlüsselung durch AESIMC - Inverse Mix-Spalten (zur Schlüsselerweiterung) AESKEYGENASSIST - Unterstützung bei der Generierung von AES-Rundschlüsseln CRC32 - Akkumulieren Sie den CRC32C-Wert im Ziel GF2P8MULB - Galois-Feld multipliziert Bytes (älteres SSE) SHA1MSG1 - Aktualisierung des SHA-1-Nachrichtenplans 1 SHA1MSG2 - Aktualisierung des SHA-1-Nachrichtenplans 2 SHA1NEXTE - SHA-1 nächste vier E-Werte SHA1RNDS4 - SHA-1 vier Runden SHA256MSG1 - Aktualisierung des SHA-256-Nachrichtenplans 1 SHA256MSG2 - Aktualisierung des SHA-256-Nachrichtenplans 2 SHA256RNDS2 - SHA-256 zwei Runden SM3MSG1 - Aktualisierung des SM3-Nachrichtenplans 1 SM3MSG2 - Aktualisierung des SM3-Nachrichtenplans 2 SM4ENC - SM4-Ein-Runden-Verschlüsselung SM4ENC4 - SM4 Vier-Runden-Verschlüsselung VAESDEC - VEX/EVEX AES-Rundenentschlüsselung VAESDECLAST - VEX/EVEX AES letzte Entschlüsselungsrunde VAESENC - VEX/EVEX AES-Rundverschlüsselung VAESIMC - VEX AES Inverse-Mix-Säulen VAESKEYGENASSIST - VEX AES-Schlüsselgenerierungsunterstützung VPCLMULQDQ - VEX/EVEX Carry-less-Multiplikation


AESDEC - Führen Sie eine Runde der AES-Entschlüsselung durch - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

AESDEC - Führen Sie eine Runde der AES-Entschlüsselung durch

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

AESDEC xmm, xmm/mem128

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

AESDEC - Führen Sie eine Runde der AES-Entschlüsselung durch. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    aesdec xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! aesdec xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

AESDEC ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

AESDEC ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


AESDECLAST - Führen Sie die letzte Runde der AES-Entschlüsselung durch - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

AESDECLAST - Führen Sie die letzte Runde der AES-Entschlüsselung durch

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

AESDECLAST xmm, xmm/mem128

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

AESDECLAST - Führen Sie die letzte Runde der AES-Entschlüsselung durch. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    aesdeclast xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! aesdeclast xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

AESDECLAST ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

AESDECLAST ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


AESENC - Führen Sie eine Runde der AES-Verschlüsselung durch - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

AESENC - Führen Sie eine Runde der AES-Verschlüsselung durch

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

AESENC xmm, xmm/mem128

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

AESENC - Führen Sie eine Runde der AES-Verschlüsselung durch. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    aesenc xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! aesenc xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

AESENC ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

AESENC ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← AESDECLAST - Führen Sie die letzte Runde der AES-Entschlüsselung durch Nach oben AESENCLAST - Führen Sie die letzte Runde der AES-Verschlüsselung durch →


AESENCLAST - Führen Sie die letzte Runde der AES-Verschlüsselung durch - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

AESENCLAST - Führen Sie die letzte Runde der AES-Verschlüsselung durch

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

AESENCLAST xmm, xmm/mem128

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

AESENCLAST - Führen Sie die letzte Runde der AES-Verschlüsselung durch. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    aesenclast xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! aesenclast xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

AESENCLAST ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

AESENCLAST ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


AESIMC - Inverse Mix-Spalten (zur Schlüsselerweiterung) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

AESIMC - Inverse Mix-Spalten (zur Schlüsselerweiterung)

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

AESIMC xmm, xmm/mem128

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

AESIMC - Inverse Mix-Spalten (zur Schlüsselerweiterung). Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    aesimc xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! aesimc xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

AESIMC ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

AESIMC ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← AESENCLAST - Führen Sie die letzte Runde der AES-Verschlüsselung durch Nach oben AESKEYGENASSIST - Unterstützung bei der Generierung von AES-Rundschlüsseln →


AESKEYGENASSIST - Unterstützung bei der Generierung von AES-Rundschlüsseln - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

AESKEYGENASSIST - Unterstützung bei der Generierung von AES-Rundschlüsseln

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

AESKEYGENASSIST xmm, xmm/mem128, imm8

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

AESKEYGENASSIST - Unterstützung bei der Generierung von AES-Rundschlüsseln. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    aeskeygenassist xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! aeskeygenassist xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

AESKEYGENASSIST ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

AESKEYGENASSIST ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CRC32 - Akkumulieren Sie den CRC32C-Wert im Ziel - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

CRC32 - Akkumulieren Sie den CRC32C-Wert im Ziel

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

CRC32 reg32/64, reg/mem8/16/32/64

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CRC32 - Akkumulieren Sie den CRC32C-Wert im Ziel. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen reg32/64, reg/mem8/16/32/64.

Operands and Sizes

Form | Meaning
reg32 | uses a general-purpose register
64, reg | uses a general-purpose register
mem8 | may read or write memory
16 | follow the operand order shown in the syntax
32 | follow the operand order shown in the syntax
64 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    crc32 eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! crc32 eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CRC32 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CRC32 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


GF2P8MULB - Galois-Feld multipliziert Bytes (älteres SSE) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

GF2P8MULB - Galois-Feld multipliziert Bytes (älteres SSE)

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

GF2P8MULB xmm, xmm/mem128

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

GF2P8MULB - Galois-Feld multipliziert Bytes (älteres SSE). Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    gf2p8mulb xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! gf2p8mulb xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

GF2P8MULB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

GF2P8MULB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHA1MSG1 - Aktualisierung des SHA-1-Nachrichtenplans 1 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

SHA1MSG1 - Aktualisierung des SHA-1-Nachrichtenplans 1

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

SHA1MSG1 xmm, xmm/mem128

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SHA1MSG1 - Aktualisierung des SHA-1-Nachrichtenplans 1. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    sha1msg1 xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sha1msg1 xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SHA1MSG1 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHA1MSG1 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHA1MSG2 - Aktualisierung des SHA-1-Nachrichtenplans 2 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

SHA1MSG2 - Aktualisierung des SHA-1-Nachrichtenplans 2

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

SHA1MSG2 xmm, xmm/mem128

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SHA1MSG2 - Aktualisierung des SHA-1-Nachrichtenplans 2. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    sha1msg2 xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sha1msg2 xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SHA1MSG2 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHA1MSG2 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHA1NEXTE - SHA-1 nächste vier E-Werte - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

SHA1NEXTE - SHA-1 nächste vier E-Werte

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

SHA1NEXTE xmm, xmm/mem128

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SHA1NEXTE - SHA-1 nächste vier E-Werte. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    sha1nexte xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sha1nexte xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SHA1NEXTE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHA1NEXTE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHA1RNDS4 - SHA-1 vier Runden - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

SHA1RNDS4 - SHA-1 vier Runden

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

SHA1RNDS4 xmm, xmm/mem128, imm8

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SHA1RNDS4 - SHA-1 vier Runden. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    sha1rnds4 xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sha1rnds4 xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SHA1RNDS4 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHA1RNDS4 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHA256MSG1 - Aktualisierung des SHA-256-Nachrichtenplans 1 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

SHA256MSG1 - Aktualisierung des SHA-256-Nachrichtenplans 1

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

SHA256MSG1 xmm, xmm/mem128

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SHA256MSG1 - Aktualisierung des SHA-256-Nachrichtenplans 1. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    sha256msg1 xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sha256msg1 xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SHA256MSG1 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHA256MSG1 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHA256MSG2 - Aktualisierung des SHA-256-Nachrichtenplans 2 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

SHA256MSG2 - Aktualisierung des SHA-256-Nachrichtenplans 2

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

SHA256MSG2 xmm, xmm/mem128

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SHA256MSG2 - Aktualisierung des SHA-256-Nachrichtenplans 2. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    sha256msg2 xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sha256msg2 xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SHA256MSG2 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHA256MSG2 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SHA256RNDS2 - SHA-256 zwei Runden - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

SHA256RNDS2 - SHA-256 zwei Runden

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

SHA256RNDS2 xmm, xmm/mem128

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SHA256RNDS2 - SHA-256 zwei Runden. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem128.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem128 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.data
.align 16
asm_data128:
    .quad 0, 0

.text
.global main
main:
    sha256rnds2 xmm0, [rip + asm_data128]
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sha256rnds2 xmm0, [rip + asm_data128]
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SHA256RNDS2 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHA256RNDS2 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SM3MSG1 - Aktualisierung des SM3-Nachrichtenplans 1 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

SM3MSG1 - Aktualisierung des SM3-Nachrichtenplans 1

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

SM3MSG1 xmm, xmm/mem

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SM3MSG1 - Aktualisierung des SM3-Nachrichtenplans 1. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    sm3msg1 xmm0, xmm1
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sm3msg1 xmm0, xmm1
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SM3MSG1 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SM3MSG1 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SM3MSG2 - Aktualisierung des SM3-Nachrichtenplans 2 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

SM3MSG2 - Aktualisierung des SM3-Nachrichtenplans 2

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

SM3MSG2 xmm, xmm/mem

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SM3MSG2 - Aktualisierung des SM3-Nachrichtenplans 2. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    sm3msg2 xmm0, xmm1
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sm3msg2 xmm0, xmm1
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SM3MSG2 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SM3MSG2 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SM4ENC - SM4-Ein-Runden-Verschlüsselung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

SM4ENC - SM4-Ein-Runden-Verschlüsselung

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

SM4ENC xmm, xmm/mem

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SM4ENC - SM4-Ein-Runden-Verschlüsselung. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    sm4enc xmm0, xmm1
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sm4enc xmm0, xmm1
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SM4ENC ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SM4ENC ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SM4ENC4 - SM4 Vier-Runden-Verschlüsselung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

SM4ENC4 - SM4 Vier-Runden-Verschlüsselung

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

SM4ENC4 xmm, xmm/mem

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SM4ENC4 - SM4 Vier-Runden-Verschlüsselung. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    sm4enc4 xmm0, xmm1
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sm4enc4 xmm0, xmm1
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SM4ENC4 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SM4ENC4 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VAESDEC - VEX/EVEX AES-Rundenentschlüsselung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

VAESDEC - VEX/EVEX AES-Rundenentschlüsselung

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

VAESDEC xmm/ymm/zmm, xmm/ymm/zmm, mem

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VAESDEC - VEX/EVEX AES-Rundenentschlüsselung. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm/ymm/zmm, xmm/ymm/zmm, mem.

Operands and Sizes

Form | Meaning
xmm | uses XMM vector/scalar registers; may read or write memory
ymm | uses YMM vector registers; may read or write memory
zmm, xmm | uses XMM vector/scalar registers; may read or write memory
ymm | uses YMM vector registers; may read or write memory
zmm, mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vaesdec ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vaesdec ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VAESDEC ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VAESDEC ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VAESDECLAST - VEX/EVEX AES letzte Entschlüsselungsrunde - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

VAESDECLAST - VEX/EVEX AES letzte Entschlüsselungsrunde

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

VAESDECLAST xmm/ymm/zmm, xmm/ymm/zmm, mem

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VAESDECLAST - VEX/EVEX AES letzte Entschlüsselungsrunde. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm/ymm/zmm, xmm/ymm/zmm, mem.

Operands and Sizes

Form | Meaning
xmm | uses XMM vector/scalar registers; may read or write memory
ymm | uses YMM vector registers; may read or write memory
zmm, xmm | uses XMM vector/scalar registers; may read or write memory
ymm | uses YMM vector registers; may read or write memory
zmm, mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vaesdeclast ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vaesdeclast ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VAESDECLAST ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VAESDECLAST ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VAESENC - VEX/EVEX AES-Rundverschlüsselung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

VAESENC - VEX/EVEX AES-Rundverschlüsselung

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

VAESENC xmm/ymm/zmm, xmm/ymm/zmm, mem

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VAESENC - VEX/EVEX AES-Rundverschlüsselung. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm/ymm/zmm, xmm/ymm/zmm, mem.

Operands and Sizes

Form | Meaning
xmm | uses XMM vector/scalar registers; may read or write memory
ymm | uses YMM vector registers; may read or write memory
zmm, xmm | uses XMM vector/scalar registers; may read or write memory
ymm | uses YMM vector registers; may read or write memory
zmm, mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vaesenc ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vaesenc ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VAESENC ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VAESENC ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VAESIMC - VEX AES Inverse-Mix-Säulen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

VAESIMC - VEX AES Inverse-Mix-Säulen

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

VAESIMC xmm, xmm/mem

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VAESIMC - VEX AES Inverse-Mix-Säulen. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vaesimc ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vaesimc ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VAESIMC ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VAESIMC ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VAESKEYGENASSIST - VEX AES-Schlüsselgenerierungsunterstützung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

VAESKEYGENASSIST - VEX AES-Schlüsselgenerierungsunterstützung

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

VAESKEYGENASSIST xmm, xmm/mem, imm8

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VAESKEYGENASSIST - VEX AES-Schlüsselgenerierungsunterstützung. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm, xmm/mem, imm8.

Operands and Sizes

Form | Meaning
xmm, xmm | uses XMM vector/scalar registers; may read or write memory
mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vaeskeygenassist ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vaeskeygenassist ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VAESKEYGENASSIST ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VAESKEYGENASSIST ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VPCLMULQDQ - VEX/EVEX Carry-less-Multiplikation - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Krypto Hilfe zum PBXB64-Compiler

VPCLMULQDQ - VEX/EVEX Carry-less-Multiplikation

Category: CRYPTO Instruction

Kategorie: Krypto

Syntax

VPCLMULQDQ xmm/ymm/zmm, xmm/ymm/zmm, mem, imm8

Beschreibung

Category: CRYPTO Instruction

Assembly Group: CRYPTO

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VPCLMULQDQ - VEX/EVEX Carry-less-Multiplikation. Diese Instruktion gehoert zur CRYPTO-Familie und verwendet die dokumentierten Operandenformen xmm/ymm/zmm, xmm/ymm/zmm, mem, imm8.

Operands and Sizes

Form | Meaning
xmm | uses XMM vector/scalar registers; may read or write memory
ymm | uses YMM vector registers; may read or write memory
zmm, xmm | uses XMM vector/scalar registers; may read or write memory
ymm | uses YMM vector registers; may read or write memory
zmm, mem, imm8 | may read or write memory; uses an immediate control byte or value

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vpclmulqdq ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vpclmulqdq ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_crypto.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VPCLMULQDQ ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VPCLMULQDQ ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Cache / Prefetch - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Cache / Prefetch Hilfe zum PBXB64-Compiler

Cache / Prefetch

Themen in diesem Kapitel

CLDEMOTE - Cache-Zeile von L1 auf niedrigere Ebenen (L2/L3) herabstufen CLFLUSH - Cache-Zeile mit Adresse leeren (zurückschreiben + ungültig machen) CLFLUSHOPT - Cache-Zeile leeren (optimiert, gepuffert) CLWB - Zurückschreiben der Cache-Zeile (bei Bedarf im Cache behalten) CLZERO - Keine Cache-Zeile (nur AMD, löscht 64 Bytes) PREFETCHT1 - Prefetch in L2 und L3 (nicht L1) PREFETCHW - Prefetch zum Schreiben (RFO-Latenz reduzieren, AMD/Intel) PREFETCHWT1 - Prefetch zum Schreiben in L2 (AVX-512) VMOVNTDQA - Nichtzeitliche VEX-Last (AVX2) VMOVNTPD - VEX nichtzeitlicher Doppelspeicher (AVX)


CLDEMOTE - Cache-Zeile von L1 auf niedrigere Ebenen (L2/L3) herabstufen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Cache / Prefetch Hilfe zum PBXB64-Compiler

CLDEMOTE - Cache-Zeile von L1 auf niedrigere Ebenen (L2/L3) herabstufen

Category: CACHE Instruction

Kategorie: Cache / Prefetch

Syntax

CLDEMOTE mem8

Beschreibung

Category: CACHE Instruction

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CLDEMOTE - Cache-Zeile von L1 auf niedrigere Ebenen (L2/L3) herabstufen. Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem8.

Operands and Sizes

Form | Meaning
mem8 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    cldemote [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! cldemote [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CLDEMOTE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CLDEMOTE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CLFLUSH - Cache-Zeile mit Adresse leeren (zurückschreiben + ungültig machen) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Cache / Prefetch Hilfe zum PBXB64-Compiler

CLFLUSH - Cache-Zeile mit Adresse leeren (zurückschreiben + ungültig machen)

Category: CACHE Instruction

Kategorie: Cache / Prefetch

Syntax

CLFLUSH mem8

Beschreibung

Category: CACHE Instruction

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CLFLUSH - Cache-Zeile mit Adresse leeren (zurückschreiben + ungültig machen). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem8.

Operands and Sizes

Form | Meaning
mem8 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    clflush [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! clflush [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CLFLUSH ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CLFLUSH ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CLFLUSHOPT - Cache-Zeile leeren (optimiert, gepuffert) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Cache / Prefetch Hilfe zum PBXB64-Compiler

CLFLUSHOPT - Cache-Zeile leeren (optimiert, gepuffert)

Category: CACHE Instruction

Kategorie: Cache / Prefetch

Syntax

CLFLUSHOPT mem8

Beschreibung

Category: CACHE Instruction

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CLFLUSHOPT - Cache-Zeile leeren (optimiert, gepuffert). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem8.

Operands and Sizes

Form | Meaning
mem8 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    clflushopt [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! clflushopt [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CLFLUSHOPT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CLFLUSHOPT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

← CLFLUSH - Cache-Zeile mit Adresse leeren (zurückschreiben + ungültig machen) Nach oben CLWB - Zurückschreiben der Cache-Zeile (bei Bedarf im Cache behalten) →


CLWB - Zurückschreiben der Cache-Zeile (bei Bedarf im Cache behalten) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Cache / Prefetch Hilfe zum PBXB64-Compiler

CLWB - Zurückschreiben der Cache-Zeile (bei Bedarf im Cache behalten)

Category: CACHE Instruction

Kategorie: Cache / Prefetch

Syntax

CLWB mem8

Beschreibung

Category: CACHE Instruction

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CLWB - Zurückschreiben der Cache-Zeile (bei Bedarf im Cache behalten). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem8.

Operands and Sizes

Form | Meaning
mem8 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    clwb [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! clwb [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CLWB ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CLWB ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


CLZERO - Keine Cache-Zeile (nur AMD, löscht 64 Bytes) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Cache / Prefetch Hilfe zum PBXB64-Compiler

CLZERO - Keine Cache-Zeile (nur AMD, löscht 64 Bytes)

Category: CACHE Instruction

Kategorie: Cache / Prefetch

Syntax

CLZERO keine (verwendet [rax-Adresse])

Beschreibung

Category: CACHE Instruction

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

CLZERO - Keine Cache-Zeile (nur AMD, löscht 64 Bytes). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen keine (verwendet [rax-Adresse]).

Operands and Sizes

Form | Meaning
keine (verwendet [rax-Adresse]) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    clzero operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! clzero operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CLZERO ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CLZERO ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PREFETCHT1 - Prefetch in L2 und L3 (nicht L1) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Cache / Prefetch Hilfe zum PBXB64-Compiler

PREFETCHT1 - Prefetch in L2 und L3 (nicht L1)

Category: CACHE Instruction

Kategorie: Cache / Prefetch

Syntax

PREFETCHT1 mem8

Beschreibung

Category: CACHE Instruction

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PREFETCHT1 - Prefetch in L2 und L3 (nicht L1). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem8.

Operands and Sizes

Form | Meaning
mem8 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    prefetcht1 [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! prefetcht1 [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PREFETCHT1 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PREFETCHT1 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PREFETCHW - Prefetch zum Schreiben (RFO-Latenz reduzieren, AMD/Intel) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Cache / Prefetch Hilfe zum PBXB64-Compiler

PREFETCHW - Prefetch zum Schreiben (RFO-Latenz reduzieren, AMD/Intel)

Category: CACHE Instruction

Kategorie: Cache / Prefetch

Syntax

PREFETCHW mem8

Beschreibung

Category: CACHE Instruction

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PREFETCHW - Prefetch zum Schreiben (RFO-Latenz reduzieren, AMD/Intel). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem8.

Operands and Sizes

Form | Meaning
mem8 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    prefetchw [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! prefetchw [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PREFETCHW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PREFETCHW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


PREFETCHWT1 - Prefetch zum Schreiben in L2 (AVX-512) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Cache / Prefetch Hilfe zum PBXB64-Compiler

PREFETCHWT1 - Prefetch zum Schreiben in L2 (AVX-512)

Category: CACHE Instruction

Kategorie: Cache / Prefetch

Syntax

PREFETCHWT1 mem8

Beschreibung

Category: CACHE Instruction

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

PREFETCHWT1 - Prefetch zum Schreiben in L2 (AVX-512). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem8.

Operands and Sizes

Form | Meaning
mem8 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    prefetchwt1 [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! prefetchwt1 [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

PREFETCHWT1 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PREFETCHWT1 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVNTDQA - Nichtzeitliche VEX-Last (AVX2) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Cache / Prefetch Hilfe zum PBXB64-Compiler

VMOVNTDQA - Nichtzeitliche VEX-Last (AVX2)

Category: CACHE Instruction

Kategorie: Cache / Prefetch

Syntax

VMOVNTDQA ymm/xmm, mem

Beschreibung

Category: CACHE Instruction

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVNTDQA - Nichtzeitliche VEX-Last (AVX2). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen ymm/xmm, mem.

Operands and Sizes

Form | Meaning
ymm | uses YMM vector registers; may read or write memory
xmm, mem | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovntdqa ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovntdqa ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVNTDQA ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVNTDQA ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMOVNTPD - VEX nichtzeitlicher Doppelspeicher (AVX) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Cache / Prefetch Hilfe zum PBXB64-Compiler

VMOVNTPD - VEX nichtzeitlicher Doppelspeicher (AVX)

Category: CACHE Instruction

Kategorie: Cache / Prefetch

Syntax

VMOVNTPD mem, ymm/xmm

Beschreibung

Category: CACHE Instruction

Assembly Group: CACHE

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMOVNTPD - VEX nichtzeitlicher Doppelspeicher (AVX). Diese Instruktion gehoert zur CACHE-Familie und verwendet die dokumentierten Operandenformen mem, ymm/xmm.

Operands and Sizes

Form | Meaning
mem, ymm | uses YMM vector registers; may read or write memory
xmm | uses XMM vector/scalar registers; may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmovntpd ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmovntpd ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_cache.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMOVNTPD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMOVNTPD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SGX / VMX / CET - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

SGX / VMX / CET

Themen in diesem Kapitel

INCSSP - Erhöhen Sie den Shadow-Stack-Zeiger um N*8 INVEPT - EPT (Extended Page Table) ungültig machen RDSSP - Schattenstapelzeiger lesen RSTORSSP - Schattenstapelzeiger wiederherstellen SETSSBSY - Markieren Sie den Schattenstapel als beschäftigt VMCALL - Rufen Sie VMM vom Gast aus auf (VM-Exit) VMCLEAR - VMCS löschen (Cache-Status leeren) VMFUNC - VM-Funktionsaufruf (Blatt in EAX) VMLAUNCH - Virtuelle Maschine starten (erster Eintrag) VMRESUME VMPTRLD - Aktuellen VMCS-Zeiger laden VMPTRST - Aktuellen VMCS-Zeiger speichern VMREAD - Feld aus VMCS lesen VMWRITE - Feld in VMCS schreiben WRUSS - Auf Shadow Stack schreiben (Benutzer)


INCSSP - Erhöhen Sie den Shadow-Stack-Zeiger um N*8 - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

INCSSP - Erhöhen Sie den Shadow-Stack-Zeiger um N*8

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

INCSSP reg32

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

INCSSP - Erhöhen Sie den Shadow-Stack-Zeiger um N*8. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen reg32.

Operands and Sizes

Form | Meaning
reg32 | uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    incssp eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! incssp eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

INCSSP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

INCSSP ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


INVEPT - EPT (Extended Page Table) ungültig machen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

INVEPT - EPT (Extended Page Table) ungültig machen

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

INVEPT reg, mem128

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

INVEPT - EPT (Extended Page Table) ungültig machen. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen reg, mem128.

Operands and Sizes

Form | Meaning
reg, mem128 | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    invept eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! invept eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

INVEPT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

INVEPT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RDSSP - Schattenstapelzeiger lesen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

RDSSP - Schattenstapelzeiger lesen

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

RDSSP reg64

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RDSSP - Schattenstapelzeiger lesen. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen reg64.

Operands and Sizes

Form | Meaning
reg64 | uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    rdssp eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rdssp eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RDSSP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RDSSP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RSTORSSP - Schattenstapelzeiger wiederherstellen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

RSTORSSP - Schattenstapelzeiger wiederherstellen

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

RSTORSSP mem64

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RSTORSSP - Schattenstapelzeiger wiederherstellen. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen mem64.

Operands and Sizes

Form | Meaning
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    rstorssp [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rstorssp [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RSTORSSP ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RSTORSSP ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SETSSBSY - Markieren Sie den Schattenstapel als beschäftigt - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

SETSSBSY - Markieren Sie den Schattenstapel als beschäftigt

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

SETSSBSY keiner

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SETSSBSY - Markieren Sie den Schattenstapel als beschäftigt. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    setssbsy operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! setssbsy operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SETSSBSY ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SETSSBSY ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMCALL - Rufen Sie VMM vom Gast aus auf (VM-Exit) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

VMCALL - Rufen Sie VMM vom Gast aus auf (VM-Exit)

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

VMCALL keiner

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMCALL - Rufen Sie VMM vom Gast aus auf (VM-Exit). Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmcall ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmcall ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMCALL ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMCALL ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMCLEAR - VMCS löschen (Cache-Status leeren) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

VMCLEAR - VMCS löschen (Cache-Status leeren)

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

VMCLEAR mem64

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMCLEAR - VMCS löschen (Cache-Status leeren). Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen mem64.

Operands and Sizes

Form | Meaning
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmclear ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmclear ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMCLEAR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMCLEAR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMFUNC - VM-Funktionsaufruf (Blatt in EAX) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

VMFUNC - VM-Funktionsaufruf (Blatt in EAX)

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

VMFUNC keiner

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMFUNC - VM-Funktionsaufruf (Blatt in EAX). Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmfunc ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmfunc ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMFUNC ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMFUNC ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMLAUNCH - Virtuelle Maschine starten (erster Eintrag) VMRESUME - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

VMLAUNCH - Virtuelle Maschine starten (erster Eintrag) VMRESUME

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

VMLAUNCH Virtuelle Maschine fortsetzen (nachfolgende Einträge)

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMLAUNCH - Virtuelle Maschine starten (erster Eintrag) VMRESUME. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen Virtuelle Maschine fortsetzen (nachfolgende Einträge).

Operands and Sizes

Form | Meaning
Virtuelle Maschine fortsetzen (nachfolgende Einträge) | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmlaunch ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmlaunch ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMLAUNCH ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMLAUNCH ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMPTRLD - Aktuellen VMCS-Zeiger laden - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

VMPTRLD - Aktuellen VMCS-Zeiger laden

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

VMPTRLD mem64

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMPTRLD - Aktuellen VMCS-Zeiger laden. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen mem64.

Operands and Sizes

Form | Meaning
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmptrld ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmptrld ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMPTRLD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMPTRLD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.


VMPTRST - Aktuellen VMCS-Zeiger speichern - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

VMPTRST - Aktuellen VMCS-Zeiger speichern

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

VMPTRST mem64

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMPTRST - Aktuellen VMCS-Zeiger speichern. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen mem64.

Operands and Sizes

Form | Meaning
mem64 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmptrst ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmptrst ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMPTRST ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMPTRST ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

Typ- und Speicherprüfung

Typ- und Variablenseiten sollen Breite, Vorzeichen, Initialisierung, Gültigkeitsbereich, Suffixregeln und x64-Layout dokumentieren. Beispiele sollen gespeicherten Wert, ausgelesenen Wert und Konvertierungs- oder Überlaufverhalten belegen.

Deklarationsregeln

Nennen Sie, ob Deklarationen #DIM ALL, AS-Klauseln, Suffixe oder ausdrückliche Sichtbarkeit benötigen. Trennen Sie lokalen, statischen, globalen und thread-lokalen Speicher.

Migrationshinweise

Prüfen Sie Pointer-, Handle- und LONG-Annahmen beim Wechsel von 32-Bit-PB-Code zu PBXB64.

Umfangshinweise

Wenn eine Seite mehrere verwandte Formen gruppiert, sollte sie sagen, welche Form die Speicherbreite festlegt, welche nur die Deklarationssyntax ändert und welche nur historischen Charakter hat. Eine kleine Zuordnung von Familienbegriff zu den konkreten Typseiten macht die Seite beim Portieren deutlich nützlicher.


VMREAD - Feld aus VMCS lesen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

VMREAD - Feld aus VMCS lesen

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

VMREAD reg, reg/mem

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMREAD - Feld aus VMCS lesen. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmread ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmread ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMREAD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMREAD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VMWRITE - Feld in VMCS schreiben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

VMWRITE - Feld in VMCS schreiben

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

VMWRITE reg/mem, reg

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VMWRITE - Feld in VMCS schreiben. Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen reg/mem, reg.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem, reg | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    vmwrite ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! vmwrite ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VMWRITE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VMWRITE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


WRUSS - Auf Shadow Stack schreiben (Benutzer) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › SGX / VMX / CET Hilfe zum PBXB64-Compiler

WRUSS - Auf Shadow Stack schreiben (Benutzer)

Category: SGX_VMX Instruction

Kategorie: SGX / VMX / CET

Syntax

WRUSS mem64, reg64

Beschreibung

Category: SGX_VMX Instruction

Assembly Group: SGX_VMX

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

WRUSS - Auf Shadow Stack schreiben (Benutzer). Diese Instruktion gehoert zur SGX_VMX-Familie und verwendet die dokumentierten Operandenformen mem64, reg64.

Operands and Sizes

Form | Meaning
mem64, reg64 | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    wruss eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! wruss eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_sgx_vmx.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

WRUSS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

WRUSS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


System & Atomar - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

System & Atomar

Themen in diesem Kapitel

BOUND - Array-Grenzen prüfen (nicht gültig in x64) INTO - Unterbrechung bei Überlauf (wenn OF=1, #OF) INVD - Interne Caches ungültig machen (kein Zurückschreiben) INVLPG - TLB-Eintrag für Adresse ungültig machen INVPCID - TLB-Einträge mit PCID ungültig machen LSL - Segmentlimit laden LTR - Aufgabenregister laden MONITOR - Adressbereich für MWAIT einrichten MWAITX - Erweitertes MWAIT mit Timing-Hinweis RDFSBASE - FS-Basisadresse lesen RDGSBASE - GS-Basisadresse lesen RDMSR - MSR lesen (ECX=MSR-Adresse, gibt EDX:EAX zurück) RDPMC - Leistungsüberwachungszähler lesen (ECX=Zähler) SALC - AL basierend auf Übertrag festlegen (undokumentiert, CF→AL=0xFF/0x00) STR - Aufgabenregister speichern SWAPGS - GS-Basisregister mit KernelGSBase (MSR C0000102) tauschen SYSENTER - Schneller Systemaufruf (Intel): setzt EIP=MSR SYSENTER_EIP SYSEXIT - Schnelle Rückkehr von SYSENTER SYSRET - Rückkehr vom schnellen Systemaufruf TPAUSE - Zeitgesteuerte PAUSE UD0 - Undefinierte Anweisung (erhöht #UD) UMWAIT - MWAIT auf Benutzerebene VERR - Segment zum Lesen überprüfen VERW - Segment zum Schreiben überprüfen WBINVD - Caches zurückschreiben und ungültig machen WFENCE - Warten Sie auf SFENCE (no-op in modernen CPUs) WRFSBASE - Schreiben Sie die FS-Basisadresse WRGSBASE - GS-Basisadresse schreiben WRMSR - MSR schreiben (ECX=Adresse, EDX:EAX=Wert) XGETBV - Erweitertes Steuerregister XCR lesen (ECX=index) XSETBV - Erweitertes Steuerregister XCR schreiben (muss Ring 0 sein)


BOUND - Array-Grenzen prüfen (nicht gültig in x64) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

BOUND - Array-Grenzen prüfen (nicht gültig in x64)

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

BOUND reg, mem

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

BOUND - Array-Grenzen prüfen (nicht gültig in x64). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg, mem.

Operands and Sizes

Form | Meaning
reg, mem | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    bound eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! bound eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

BOUND ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BOUND ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


INTO - Unterbrechung bei Überlauf (wenn OF=1, #OF) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

INTO - Unterbrechung bei Überlauf (wenn OF=1, #OF)

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

INTO keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

INTO - Unterbrechung bei Überlauf (wenn OF=1, #OF). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    into operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! into operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

INTO ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

INTO ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


INVD - Interne Caches ungültig machen (kein Zurückschreiben) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

INVD - Interne Caches ungültig machen (kein Zurückschreiben)

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

INVD keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

INVD - Interne Caches ungültig machen (kein Zurückschreiben). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    invd operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! invd operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

INVD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

INVD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


INVLPG - TLB-Eintrag für Adresse ungültig machen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

INVLPG - TLB-Eintrag für Adresse ungültig machen

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

INVLPG mem8

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

INVLPG - TLB-Eintrag für Adresse ungültig machen. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen mem8.

Operands and Sizes

Form | Meaning
mem8 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    invlpg [rsp], eax
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! invlpg [rsp], eax
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

INVLPG ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

INVLPG ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


INVPCID - TLB-Einträge mit PCID ungültig machen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

INVPCID - TLB-Einträge mit PCID ungültig machen

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

INVPCID reg, mem128

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

INVPCID - TLB-Einträge mit PCID ungültig machen. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg, mem128.

Operands and Sizes

Form | Meaning
reg, mem128 | may read or write memory; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    invpcid eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! invpcid eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

INVPCID ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

INVPCID ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LSL - Segmentlimit laden - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

LSL - Segmentlimit laden

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

LSL reg, reg/mem16

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

LSL - Segmentlimit laden. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg, reg/mem16.

Operands and Sizes

Form | Meaning
reg, reg | uses a general-purpose register
mem16 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    lsl eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! lsl eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

LSL ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LSL ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


LTR - Aufgabenregister laden - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

LTR - Aufgabenregister laden

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

LTR reg/mem16/64

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

LTR - Aufgabenregister laden. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg/mem16/64.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem16 | may read or write memory
64 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    ltr eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! ltr eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

LTR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LTR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MONITOR - Adressbereich für MWAIT einrichten - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

MONITOR - Adressbereich für MWAIT einrichten

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

MONITOR keine (verwendet RAX/RCX/RDX)

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MONITOR - Adressbereich für MWAIT einrichten. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keine (verwendet RAX/RCX/RDX).

Operands and Sizes

Form | Meaning
keine (verwendet RAX | follow the operand order shown in the syntax
RCX | follow the operand order shown in the syntax
RDX) | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    monitor operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! monitor operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MONITOR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MONITOR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


MWAITX - Erweitertes MWAIT mit Timing-Hinweis - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

MWAITX - Erweitertes MWAIT mit Timing-Hinweis

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

MWAITX keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

MWAITX - Erweitertes MWAIT mit Timing-Hinweis. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    mwaitx operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! mwaitx operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

MWAITX ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MWAITX ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RDFSBASE - FS-Basisadresse lesen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

RDFSBASE - FS-Basisadresse lesen

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

RDFSBASE reg64

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RDFSBASE - FS-Basisadresse lesen. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg64.

Operands and Sizes

Form | Meaning
reg64 | uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    rdfsbase eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rdfsbase eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RDFSBASE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RDFSBASE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RDGSBASE - GS-Basisadresse lesen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

RDGSBASE - GS-Basisadresse lesen

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

RDGSBASE reg64

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RDGSBASE - GS-Basisadresse lesen. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg64.

Operands and Sizes

Form | Meaning
reg64 | uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    rdgsbase eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rdgsbase eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RDGSBASE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RDGSBASE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RDMSR - MSR lesen (ECX=MSR-Adresse, gibt EDX:EAX zurück) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

RDMSR - MSR lesen (ECX=MSR-Adresse, gibt EDX:EAX zurück)

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

RDMSR keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RDMSR - MSR lesen (ECX=MSR-Adresse, gibt EDX:EAX zurück). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    rdmsr operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rdmsr operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RDMSR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RDMSR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


RDPMC - Leistungsüberwachungszähler lesen (ECX=Zähler) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

RDPMC - Leistungsüberwachungszähler lesen (ECX=Zähler)

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

RDPMC keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

RDPMC - Leistungsüberwachungszähler lesen (ECX=Zähler). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    rdpmc operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! rdpmc operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

RDPMC ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RDPMC ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SALC - AL basierend auf Übertrag festlegen (undokumentiert, CF→AL=0xFF/0x00) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

SALC - AL basierend auf Übertrag festlegen (undokumentiert, CF→AL=0xFF/0x00)

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

SALC keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SALC - AL basierend auf Übertrag festlegen (undokumentiert, CF→AL=0xFF/0x00). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    salc operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! salc operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SALC ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SALC ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


STR - Aufgabenregister speichern - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

STR - Aufgabenregister speichern

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

STR reg/mem16/64

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

STR - Aufgabenregister speichern. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg/mem16/64.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem16 | may read or write memory
64 | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    str eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! str eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

STR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

STR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

String-Prüfung

String-Seiten sollen angeben, ob Daten dynamisch, festlängig, ASCIIZ, Unicode, UTF-8, ANSI oder rohe Bytes sind. Beispiele sollen leeren Text, nicht leeren Text und bei Kodierungsfragen mindestens ein Zeichen außerhalb einfacher A-Z-Eingaben enthalten.

Speicher und Kodierung

Dokumentieren Sie Besitz, Längeneinheiten, Terminatoren und Konvertierungsverlust. Bei x64-Interop sind String-Datenzeiger von Deskriptoren zu unterscheiden; 32-Bit-Zeigergrößen dürfen nicht vorausgesetzt werden.

Fehlerfälle

Nennen Sie Trunkierung, ungültige Kodierung, eingebettete NUL-Zeichen oder zu kleine Puffer, wenn der Befehl solche Fälle treffen kann.

← SALC - AL basierend auf Übertrag festlegen (undokumentiert, CF→AL=0xFF/0x00) Nach oben SWAPGS - GS-Basisregister mit KernelGSBase (MSR C0000102) tauschen →


SWAPGS - GS-Basisregister mit KernelGSBase (MSR C0000102) tauschen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

SWAPGS - GS-Basisregister mit KernelGSBase (MSR C0000102) tauschen

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

SWAPGS keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SWAPGS - GS-Basisregister mit KernelGSBase (MSR C0000102) tauschen. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    swapgs operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! swapgs operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SWAPGS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SWAPGS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SYSENTER - Schneller Systemaufruf (Intel): setzt EIP=MSR SYSENTER_EIP - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

SYSENTER - Schneller Systemaufruf (Intel): setzt EIP=MSR SYSENTER_EIP

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

SYSENTER keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SYSENTER - Schneller Systemaufruf (Intel): setzt EIP=MSR SYSENTER_EIP. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    sysenter operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sysenter operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SYSENTER ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SYSENTER ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SYSEXIT - Schnelle Rückkehr von SYSENTER - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

SYSEXIT - Schnelle Rückkehr von SYSENTER

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

SYSEXIT keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SYSEXIT - Schnelle Rückkehr von SYSENTER. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    sysexit operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sysexit operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SYSEXIT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SYSEXIT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


SYSRET - Rückkehr vom schnellen Systemaufruf - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

SYSRET - Rückkehr vom schnellen Systemaufruf

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

SYSRET keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

SYSRET - Rückkehr vom schnellen Systemaufruf. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    sysret operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! sysret operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SYSRET ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SYSRET ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


TPAUSE - Zeitgesteuerte PAUSE - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

TPAUSE - Zeitgesteuerte PAUSE

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

TPAUSE reg, imm8

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

TPAUSE - Zeitgesteuerte PAUSE. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg, imm8.

Operands and Sizes

Form | Meaning
reg, imm8 | may read or write memory; uses an immediate control byte or value; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    tpause eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! tpause eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

TPAUSE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

TPAUSE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UD0 - Undefinierte Anweisung (erhöht #UD) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

UD0 - Undefinierte Anweisung (erhöht #UD)

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

UD0 keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

UD0 - Undefinierte Anweisung (erhöht #UD). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    ud0 operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! ud0 operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

UD0 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

UD0 ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


UMWAIT - MWAIT auf Benutzerebene - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

UMWAIT - MWAIT auf Benutzerebene

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

UMWAIT reg, imm8

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

UMWAIT - MWAIT auf Benutzerebene. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg, imm8.

Operands and Sizes

Form | Meaning
reg, imm8 | may read or write memory; uses an immediate control byte or value; uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    umwait eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! umwait eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

UMWAIT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

UMWAIT ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VERR - Segment zum Lesen überprüfen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

VERR - Segment zum Lesen überprüfen

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

VERR reg/mem16

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VERR - Segment zum Lesen überprüfen. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg/mem16.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem16 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    verr ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! verr ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VERR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VERR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


VERW - Segment zum Schreiben überprüfen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

VERW - Segment zum Schreiben überprüfen

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

VERW reg/mem16

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

VERW - Segment zum Schreiben überprüfen. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg/mem16.

Operands and Sizes

Form | Meaning
reg | uses a general-purpose register
mem16 | may read or write memory

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    verw ymm0, ymm1, ymm2
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! verw ymm0, ymm1, ymm2
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

VERW ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

VERW ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


WBINVD - Caches zurückschreiben und ungültig machen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

WBINVD - Caches zurückschreiben und ungültig machen

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

WBINVD keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

WBINVD - Caches zurückschreiben und ungültig machen. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    wbinvd operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! wbinvd operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

WBINVD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

WBINVD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


WFENCE - Warten Sie auf SFENCE (no-op in modernen CPUs) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

WFENCE - Warten Sie auf SFENCE (no-op in modernen CPUs)

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

WFENCE keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

WFENCE - Warten Sie auf SFENCE (no-op in modernen CPUs). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    wfence operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! wfence operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

WFENCE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

WFENCE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


WRFSBASE - Schreiben Sie die FS-Basisadresse - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

WRFSBASE - Schreiben Sie die FS-Basisadresse

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

WRFSBASE reg64

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

WRFSBASE - Schreiben Sie die FS-Basisadresse. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg64.

Operands and Sizes

Form | Meaning
reg64 | uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    wrfsbase eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! wrfsbase eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

WRFSBASE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

WRFSBASE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


WRGSBASE - GS-Basisadresse schreiben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

WRGSBASE - GS-Basisadresse schreiben

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

WRGSBASE reg64

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

WRGSBASE - GS-Basisadresse schreiben. Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen reg64.

Operands and Sizes

Form | Meaning
reg64 | uses a general-purpose register

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    wrgsbase eax, ebx
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! wrgsbase eax, ebx
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

WRGSBASE ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

WRGSBASE ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


WRMSR - MSR schreiben (ECX=Adresse, EDX:EAX=Wert) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

WRMSR - MSR schreiben (ECX=Adresse, EDX:EAX=Wert)

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

WRMSR keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

WRMSR - MSR schreiben (ECX=Adresse, EDX:EAX=Wert). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    wrmsr operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! wrmsr operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

WRMSR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

WRMSR ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


XGETBV - Erweitertes Steuerregister XCR lesen (ECX=index) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

XGETBV - Erweitertes Steuerregister XCR lesen (ECX=index)

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

XGETBV keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

XGETBV - Erweitertes Steuerregister XCR lesen (ECX=index). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    xgetbv operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! xgetbv operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

XGETBV ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

XGETBV ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


XSETBV - Erweitertes Steuerregister XCR schreiben (muss Ring 0 sein) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › System & Atomar Hilfe zum PBXB64-Compiler

XSETBV - Erweitertes Steuerregister XCR schreiben (muss Ring 0 sein)

Category: SYSTEM Instruction

Kategorie: System & Atomar

Syntax

XSETBV keiner

Beschreibung

Category: SYSTEM Instruction

Assembly Group: SYSTEM

PBXB64 Status: REFERENCE DETAIL - diese Seite beschreibt die Mnemonic-Form aus der ASM-Mnemonic-Tabelle. Ein eigener compile/link/run-Test ist erforderlich, bevor volle Laufzeitunterstuetzung behauptet wird.

Description

XSETBV - Erweitertes Steuerregister XCR schreiben (muss Ring 0 sein). Diese Instruktion gehoert zur SYSTEM-Familie und verwendet die dokumentierten Operandenformen keiner.

Operands and Sizes

Form | Meaning
keiner | follow the operand order shown in the syntax

Use the memory width implied by the operand form; add explicit size notation when the assembler cannot infer it.

Behavior

PBXB64 dokumentiert diese Instruktion als einzelne x64/ SIMD-Mnemonic-Seite, damit Syntax, Operandenreihenfolge und Seiteneffekte nicht nur in Familienuebersichten stehen. Die Instruktion veraendert die Zieloperanden nach der CPU-Semantik; Quelloperanden bleiben unveraendert, sofern die Form sie nicht zugleich als Ziel verwendet.

Flags and Side Effects

Pruefe fuer produktiven Code die CPU-Dokumentation und einen fokussierten PBXB64-Test. Viele reine Move-/Shuffle-/SIMD-Datenbewegungen veraendern EFLAGS nicht, waehrend Compare/Test-Formen Flags oder Maskenregister setzen koennen.

Sample Program 1 - Standalone ASM

.text
.global main
main:
    xsetbv operand
    xor eax, eax
    ret

Sample Program 2 - BASIC Inline ASM Pattern

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
    ' Use this pattern only after the inline ASM path proves this mnemonic.
    ' ! xsetbv operand
    FUNCTION = 0
END FUNCTION

Validation Evidence

Generated from cmd_asm_mnemonics_system.html. Promote this page from reference detail to certified tested only after adding a focused assembler validation file and rerunning the ASM lane.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

XSETBV ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

XSETBV ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.


Verschiedenes - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

Verschiedenes

Themen in diesem Kapitel

ADC - Mit Carry hinzufügen ADDPS - Gepacktes Gleitkomma mit einfacher Genauigkeit hinzufügen ADDSD - Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen ADDSS - Skalaren Gleitkomma mit einfacher Genauigkeit hinzufügen BSF / BSR BSR - Bit Scan Reverse BSWAP - Byte-Swap BT / BTS / BTR / BTC CALL CBW / CWDE / CDQE / CWD / CDQ / CQO / CBTW - Sign Extension CLD - Flag "Richtung löschen" CLD / STD CMOVcc CMP CMPS - Compare String Operands CMPXCHG / CMPXCHG8B / CMPXCHG16B CPUID - CPU-Identifikation CQO - Sign Extend RAX into RDX:RAX cvtsd2si - Scalar Double in Signed Integer konvertieren cvtsd2ss - Skalar Double in Skalar Single konvertieren cvtsi2sd - Vorzeichenbehaftete Ganzzahl in Skalar-Double umwandeln cvtss2sd - Scalar Single in Scalar Double konvertieren cvttsd2si - Konvertieren mit Truncation Scalar Double in Signed Integer DEC DIV divps - Gepackte Gleitkommawerte mit einfacher Genauigkeit dividieren divsd - Skalaren Gleitkommawert mit doppelter Genauigkeit dividieren divss - Skalaren Gleitkommawert mit einfacher Genauigkeit dividieren HINZUFÜGEN - Hinzufügen IDIV IMUL INC INPUT / VERLASSEN int3 - Aufruf zum Interrupt 3 (Haltepunkt) Jcc JMP LEA LFENCE - Lastzaun LOCK MAXSD - Maximum Scalar Double-Precision Floating-Point MAXSS - Maximum Scalar Single-Precision Floating-Point MFENCE - Memory Fence MINSD - Minimum Scalar Double-Precision Floating-Point MINSS - Minimum Scalar Single-Precision Floating-Point MOV MOVAPS - Ausgerichtetes, gepacktes Gleitkomma mit einfacher Genauigkeit verschieben MOVD - Doppelwort verschieben MOVQ - Quadword verschieben MOVS - String verschieben MOVSD - Skalare Gleitkommazahlen mit doppelter Genauigkeit verschieben MOVSS - Skalare Gleitkommazahlen mit einfacher Genauigkeit verschieben MOVUPS - Nicht ausgerichtete gepackte Gleitkommazahlen mit einfacher Genauigkeit verschieben MOVZX / MOVSX MUL MULPS - Gepackte Gleitkomma-Multiplikation mit einfacher Genauigkeit MULSD - Skalare Gleitkommamultiplikation mit doppelter Genauigkeit MULSS - Skalare Gleitkommamultiplikation mit einfacher Genauigkeit NEG NOP NOT - Bitweises logisches NOT ODER PAND - Bitweises logisches UND für MMX/XMM PANDN - Bitweises logisches UND-NICHT für MMX/XMM PAUSE - Spin-Loop-Hinweis POP POPA / POPAD - Alle Allzweckregister öffnen POPCNT - Count Set Bits POR - Bitweises logisches ODER für MMX/XMM PUSH PUSHA / PUSHAD - Alle Allzweckregister pushen PXOR - Bitweises logisches XOR für MMX/XMM RCL/RCR/ROL/ROR - Anweisungen zum Drehen RDTSC - Zeitstempelzähler lesen REP RET SAR SBB - Subtrahieren mit Ausleihen SCAS - Scan String SETcc - Byte auf Bedingung setzen SFENCE - Store Fence SHL SHR SQRTSD - Skalare Gleitkomma-Quadratwurzel mit doppelter Genauigkeit SQRTSS - Skalare Gleitkomma-Quadratwurzel mit einfacher Genauigkeit STC / CLC / CMC STD - Richtungsflag setzen STOS - Store String SUB SUBPS - Gepackte Gleitkommawerte mit einfacher Genauigkeit subtrahieren SUBSD - Skalaren Gleitkommawert mit doppelter Genauigkeit subtrahieren SUBSS - Skalaren Gleitkommawert mit einfacher Genauigkeit subtrahieren TEST UD2 - Undefinierte Anweisung UND verlassen - High-Level-Prozedur-Exit XADD - Exchange and Add XCHG XOR


ADC - Mit Carry hinzufügen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

ADC - Mit Carry hinzufügen

F&uuml;gt den Quelloperanden und das &Uuml;bertragsflag zum Zieloperanden hinzu.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ADC dst, src

Beschreibung

Fügt den Quelloperanden und das Übertragsflag zum Zieloperanden hinzu.

Kategorie: Arithmetik | Gruppe: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
ADC reg, reg | Register hinzufügen und zum Registrieren übertragen. | adc rax, rbx
ADC reg, mem | Speicherwert hinzufügen und in die Registrierung übertragen. | adc rax, [rsi]
ADC mem, reg | Register hinzufügen und in den Speicher übertragen. | adc [rsi], rax
ADC reg, imm | Sofort hinzufügen und zur Registrierung mitnehmen. | adc rax, 1
ADC mem, imm | Sofort hinzufügen und im Gedächtnis speichern. | adc qword [rsi], 1

Beschreibung

ADC führt dst = dst + src + CF, wo CF ist das Übertragsflag einer vorherigen Operation. Es ist das multipräzise Gegenstück zu ADD: nach Addition der unteren Teile einer großen Ganzzahl mit ADD, aufeinanderfolgende höhere Gliedmaßen werden mit hinzugefügt ADC so dass sich Überträge über den gesamten Wert ausbreiten.

Flaggen

Beeinflusst je nach Ergebnis OF, SF, ZF, AF, PF, CF.

Codierungsnotizen

  • Unterstützt 8-Bit-, 16-Bit-, 32-Bit- und 64-Bit-Operandengrößen.
  • Im 64-Bit-Modus erweitert der 32-Bit-Operand das Ergebnis auf Null und erweitert es auf das vollständige 64-Bit-Ziel. Bei 8-Bit- und 16-Bit-Formularen bleiben die oberen Bits unverändert.
  • Die Direktform kodiert eine vorzeichenerweiterte 8-Bit-Direktform, wenn der Wert passt, oder andernfalls eine Vollformat-Direktform.

When to use

VerwendenADC für Arithmetik mit erweiterter Genauigkeit, Bibliotheken mit großen ganzen Zahlen, kryptografische Routinen oder alle Fälle, in denen ein Wert breiter als ein einzelnes Register ist und Überträge zwischen Gliedern übertragen werden müssen.

Beschreibung

ADC – Mit Carry hinzufügen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ADC – Mit Carry hinzufügen ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; 128-bit addition: RDX:RAX = RDX:RAX + RCX:RBX
add rax, rbx                 ; add low qwords, CF captures overflow
adc rdx, rcx                 ; add high qwords plus carry

; Increment a big integer limb with carry propagation
adc rax, [rsi+8]             ; add next limb plus incoming carry

Siehe auch

  • HINZUFÜGEN - Hinzufügen
  • SBB - Subtrahieren mit Ausleihen
  • SUB
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


ADDPS - Gepacktes Gleitkomma mit einfacher Genauigkeit hinzufügen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

ADDPS - Gepacktes Gleitkomma mit einfacher Genauigkeit hinzufügen

F&uuml;gt vier Gleitkommawerte mit einfacher Genauigkeit (32 Bit) parallel hinzu.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ADDPS xmm1, xmm2/m128

Beschreibung

Fügt vier Gleitkommawerte mit einfacher Genauigkeit (32 Bit) parallel hinzu.

Kategorie: SSE/AVX | Gruppe: SSE-Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
ADDPS xmm, xmm | Fügen Sie gepackte Floats von einem XMM-Register zu einem anderen hinzu. | addps xmm0, xmm1
ADDPS xmm, m128 | Fügen Sie gepackte Floats aus dem 128-Bit-Speicher hinzu. | addps xmm0, [rsi]

Beschreibung

ADDPS arbeitet mit 128-Bit-XMM-Registern. Es behandelt das Register als vier unabhängige 32-Bit-IEEE-754-Floats mit einfacher Genauigkeit und fügt die entsprechenden Elemente hinzu:

DST[31:0]   = SRC1[31:0]   + SRC2[31:0]
DST[63:32]  = SRC1[63:32]  + SRC2[63:32]
DST[95:64]  = SRC1[95:64]  + SRC2[95:64]
DST[127:96] = SRC1[127:96] + SRC2[127:96]

Das ist ein verpackt SSE-Betrieb: Alle vier Lanes werden gleichzeitig ausgeführt. PBXB64 gibt es aus, wenn Float-Arrays vektorisiert werden oder wenn intrinsische Funktionen parallele Mathematik mit einfacher Genauigkeit anfordern.

Flaggen

Keines der EFLAGS wird geändert.

Codierungsnotizen

  • Erfordert SSE1 (eingeführt mit Pentium III).
  • Für eine optimale Leistung muss der Speicheroperand auf 16 Byte ausgerichtet sein. Nicht ausgerichtete Zugriffe können auf älteren CPUs eine allgemeine Schutzausnahme auslösen, es sei denn ADDUPS verwendet wird.
  • Das ModR/M-Byte wählt die Quelle aus; Das Ziel ist immer ein XMM-Register.

When to use

VerwendenADDPS für SIMD-Vektormathematik auf Gleitkommazahlen mit einfacher Genauigkeit, wie z. B. Grafiktransformationen, Audio-Sample-Mischung oder jede Arbeitslast, bei der vier unabhängige Additionen gleichzeitig durchgeführt werden können.

Beschreibung

ADDPS – Gepacktes Gleitkomma mit einfacher Genauigkeit hinzufügen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ADDPS – Gepacktes Gleitkomma mit einfacher Genauigkeit hinzufügen ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Add two aligned arrays of four floats
movaps xmm0, [vec_a]         ; load 4 floats from vec_a
addps  xmm0, [vec_b]         ; add 4 floats from vec_b
movaps [vec_r], xmm0         ; store 4 results

; Pairwise vector addition within registers
movaps xmm0, xmm1
addps  xmm0, xmm2

Siehe auch

  • ADDSS - Skalaren Gleitkomma mit einfacher Genauigkeit hinzufügen
  • ADDSD - Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen
  • SUBPS - Gepackte Gleitkommawerte mit einfacher Genauigkeit subtrahieren
  • MULPS - Gepackte Gleitkomma-Multiplikation mit einfacher Genauigkeit
  • SSE/SSE2/SSE3/SSSE3/SSE4-Mnemonik
  • Hilfe zum PBXB64-Compiler


ADDSD - Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

ADDSD - Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen

F&uuml;gt den Gleitkommawert niedriger Ordnung mit doppelter Genauigkeit (64-Bit) in zwei XMM-Registern hinzu.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ADDSD xmm1, xmm2/m64

Beschreibung

Fügt den Gleitkommawert niedriger Ordnung mit doppelter Genauigkeit (64-Bit) in zwei XMM-Registern hinzu.

Kategorie: SSE/AVX | Gruppe: SSE-Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
ADDSD xmm, xmm | Skalar-Double von einem XMM-Register zu einem anderen hinzufügen. | addsd xmm0, xmm1
ADDSD xmm, m64 | Skalar-Double aus dem 64-Bit-Speicher hinzufügen. | addsd xmm0, [rsi]

Beschreibung

ADDSD ist ein Skalar SSE2-Anweisung. Es fügt nur die unteren 64 Bits des Quelloperanden zu den unteren 64 Bits des Ziel-XMM-Registers hinzu; Die oberen 64 Bits des Ziel-XMM-Registers bleiben unverändert. Dies entspricht einer einzelnen IEEE-754-Addition mit doppelter Genauigkeit.

PBXB64 verwendet ADDSD für DOUBLEUndEXTENDED (als Double emuliert) Gleitkomma-Additionen, die nicht vektorisiert sind.

Flaggen

Keines der EFLAGS wird geändert.

Codierungsnotizen

  • Erfordert SSE2.
  • Die Speicherform liest nur 8 Bytes; Die Ausrichtung wird empfohlen, ist jedoch bei modernen CPUs nicht erforderlich.
  • Die oberen 64 Bits des Ziel-XMM-Registers bleiben erhalten, im Gegensatz zu gepackten Operationen, die das gesamte Register überschreiben.

When to use

VerwendenADDSD für skalare Gleitkommaarithmetik mit doppelter Genauigkeit: wissenschaftliche Berechnungen, finanzielle Näherungen oder andere DOUBLE Ausdruck in PBXB64, der direkt einem einzelnen SSE2-Zusatz zugeordnet ist.

Beschreibung

ADDSD – Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ADDSD – Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Add two DOUBLE values
movsd xmm0, [a]              ; load double a into low xmm0
addsd xmm0, [b]              ; xmm0.low = a + b
movsd [r], xmm0              ; store result

; Register-to-register double add
movsd xmm0, xmm1
addsd xmm0, xmm2

Siehe auch

  • ADDSS - Skalaren Gleitkomma mit einfacher Genauigkeit hinzufügen
  • ADDPS - Gepacktes Gleitkomma mit einfacher Genauigkeit hinzufügen
  • SUBSD - Skalaren Gleitkommawert mit doppelter Genauigkeit subtrahieren
  • MULSD - Skalare Gleitkommamultiplikation mit doppelter Genauigkeit
  • SSE/SSE2/SSE3/SSSE3/SSE4-Mnemonik
  • Hilfe zum PBXB64-Compiler


ADDSS - Skalaren Gleitkomma mit einfacher Genauigkeit hinzufügen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

ADDSS - Skalaren Gleitkomma mit einfacher Genauigkeit hinzufügen

F&uuml;gt den Gleitkommawert niedriger Ordnung mit einfacher Genauigkeit (32 Bit) in zwei XMM-Registern hinzu.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ADDSS xmm1, xmm2/m32

Beschreibung

Fügt den Gleitkommawert niedriger Ordnung mit einfacher Genauigkeit (32 Bit) in zwei XMM-Registern hinzu.

Kategorie: SSE/AVX | Gruppe: SSE-Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
ADDSS xmm, xmm | Fügen Sie Skalar-Float von einem XMM-Register zu einem anderen hinzu. | addss xmm0, xmm1
ADDSS xmm, m32 | Fügen Sie Skalar-Float aus dem 32-Bit-Speicher hinzu. | addss xmm0, [rsi]

Beschreibung

ADDSS ist ein Skalar SSE1-Anweisung. Es fügt nur die unteren 32 Bits des Quelloperanden zu den unteren 32 Bits des Ziel-XMM-Registers hinzu; Die oberen 96 Bits des Ziel-XMM-Registers bleiben unverändert. Dies entspricht einer einzelnen IEEE-754-Addition mit einfacher Genauigkeit.

PBXB64 verwendet ADDSS für SINGLE Gleitkomma-Ergänzungen und für Code mit gemischter Genauigkeit, bei dem 32-Bit-Floats ausreichend sind.

Flaggen

Keines der EFLAGS wird geändert.

Codierungsnotizen

  • Erfordert SSE1.
  • Die Speicherform liest nur 4 Bytes; Die Ausrichtung wird empfohlen, ist jedoch bei modernen CPUs nicht erforderlich.
  • Die oberen 96 Bits des Ziel-XMM-Registers bleiben erhalten.

When to use

VerwendenADDSS für skalare Gleitkommaarithmetik mit einfacher Genauigkeit: schnelle Näherungsberechnung, zu skalarem SSE kompilierte Grafik-Shader oder beliebige andere SINGLE Ausdruck in PBXB64.

Beschreibung

ADDSS – Skalares Gleitkomma mit einfacher Genauigkeit hinzufügen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ADDSS – Skalares Gleitkomma mit einfacher Genauigkeit hinzufügen ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Add two SINGLE values
movss xmm0, [a]              ; load single a into low xmm0
addss xmm0, [b]              ; xmm0.low = a + b
movss [r], xmm0              ; store result

; Register-to-register single add
movss xmm0, xmm1
addss xmm0, xmm2

Siehe auch

  • ADDSD - Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen
  • ADDPS - Gepacktes Gleitkomma mit einfacher Genauigkeit hinzufügen
  • SUBSS - Skalaren Gleitkommawert mit einfacher Genauigkeit subtrahieren
  • MULSS - Skalare Gleitkommamultiplikation mit einfacher Genauigkeit
  • SSE/SSE2/SSE3/SSSE3/SSE4-Mnemonik
  • Hilfe zum PBXB64-Compiler


BSF / BSR - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

BSF / BSR

Sucht nach dem ersten oder letzten gesetzten Bit in einem Register oder Speicher.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

BSF reg, reg/mem             ; Bit Scan Forward (lowest set bit)
BSR reg, reg/mem             ; Bit Scan Reverse (highest set bit)

Beschreibung

Sucht nach dem ersten oder letzten gesetzten Bit in einem Register oder Speicher.

Kategorie: Bitmanipulation | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

  • BSF: Findet den Index des niedrigsten gesetzten Bits (Bit 0 ist LSB). Setzt ZF=1, wenn Quelle 0 ist.
  • BSR: Findet den Index des höchsten gesetzten Bits. Setzt ZF=1, wenn Quelle 0 ist.

Beschreibung

BSF / BSR – Bit-Scan ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BSF / BSR – Bit-Scan ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

bsf rax, rbx                 ; rax = index of lowest set bit in rbx
bsr rax, rbx                 ; rax = index of highest set bit in rbx

Siehe auch

  • BT / BTS / BTR / BTC
  • POPCNT - Count Set Bits
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


BSR - Bit Scan Reverse - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

BSR - Bit Scan Reverse

Durchsucht einen Quelloperanden vom h&ouml;chstwertigen Bit abw&auml;rts und gibt den Index des h&ouml;chsten gesetzten Bits zur&uuml;ck.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

BSR reg, reg/mem

Beschreibung

Durchsucht einen Quelloperanden vom höchstwertigen Bit abwärts und gibt den Index des höchsten gesetzten Bits zurück.

Kategorie: Bitmanipulation | Gruppe: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
BSR reg16, reg16/mem16 | 16-Bit-Operanden scannen. | bsr ax, bx
BSR reg32, reg32/mem32 | 32-Bit-Operanden scannen. | bsr eax, ebx
BSR reg64, reg64/mem64 | 64-Bit-Operanden scannen. | bsr rax, rbx

Beschreibung

BSR scannt den Quelloperanden ab Bit n−1 bis Bit 0, wo n ist die Operandengröße und schreibt die Bitposition des ersten gesetzten Bits (d. h. die höchstwertige 1) in das Zielregister. Wenn die Quelle Null ist, ist das Ziel undefiniert und das Null-Flag (ZF) ist auf 1 gesetzt.

Für eine Quelle ungleich Null lautet das Ergebnis floor(log2(src)). PBXB64 verwendet BSR um ganzzahlige log2-Näherungen und Bitbreitenberechnungen zu implementieren.

Flaggen

Setzt ZF, wenn der Quelloperand Null ist; klärt ZF ansonsten. OF, SF, AF, PF, CF sind undefiniert.

Codierungsnotizen

  • Unterstützt 16-Bit-, 32-Bit- und 64-Bit-Operanden; Es existiert keine 8-Bit-Form.
  • Das Ziel muss ein GPR sein; Die Quelle kann ein GPR oder ein Speicher sein.
  • Auf Intel-CPUs, BSR hat je nach Eingabewert eine variable Latenz; für eine eingabeunabhängige Alternative berücksichtigen LZCNT auf CPUs, die BMI1 unterstützen.

When to use

VerwendenBSR wenn Sie die Position des höchstwertigen gesetzten Bits, Ganzzahl log2, benötigen oder um zu bestimmen, wie viele Bits erforderlich sind, um einen vorzeichenlosen Wert darzustellen.

Beschreibung

BSR – Bit-Scan-Reverse ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BSR – Bit-Scan-Reverse ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

bsr rax, rbx                 ; rax = index of highest set bit in rbx
jz  zero_value               ; source was zero

; Compute integer log2 of a 64-bit value
bsr rax, rdi
; rax now holds floor(log2(rdi)) for non-zero rdi

Siehe auch

  • BSF / BSR
  • BT / BTS / BTR / BTC
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


BSWAP - Byte-Swap - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

BSWAP - Byte-Swap

Kehrt die Bytereihenfolge eines vorhandenen 32-Bit- oder 64-Bit-Registers um.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

BSWAP reg

Beschreibung

Kehrt die Bytereihenfolge eines vorhandenen 32-Bit- oder 64-Bit-Registers um.

Kategorie: Datenbewegung | Gruppe: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
BSWAP r32 | Umkehrbytes eines 32-Bit-Registers. | bswap eax
BSWAP r64 | Umkehrbytes eines 64-Bit-Registers. | bswap rax

Beschreibung

BSWAP Konvertiert zwischen Little-Endian- und Big-Endian-Darstellungen durch Umkehren der Reihenfolge der Bytes im Zielregister. Bei einem 32-Bit-Operanden werden die Bits 7:0 mit den Bits 31:24 und die Bits 15:8 mit den Bits 23:16 vertauscht. Bei einem 64-Bit-Operanden wird Byte 0 mit Byte 7, Byte 1 mit Byte 6, Byte 2 mit Byte 5 und Byte 3 mit Byte 4 vertauscht.

PBXB64 verwendet BSWAP für Netzwerk-Byte-Reihenfolge-Konvertierungen und für Endianness-fähige Datenserialisierung.

Flaggen

Keines der EFLAGS wird geändert.

Codierungsnotizen

  • Gilt nur für 32-Bit- oder 64-Bit-GPR-Ziele.
  • Die 16-Bit-Form ist architektonisch nicht definiert; verwenden XCHG auf den Low- und High-Bytes von AX für 16-Bit-Byte-Swaps.
  • Es existiert keine Erinnerungsform; um einen Speicherort byteweise zu laden, auszutauschen und zu speichern.

When to use

VerwendenBSWAP für die Endianness-Konvertierung, die Vorbereitung von Protokoll-Header-Feldern oder Hashing-Algorithmen, die Byte-umgekehrte Werte erfordern.

Beschreibung

BSWAP – Byte-Swap ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BSWAP – Byte-Swap ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Convert a 32-bit little-endian value to big-endian
mov eax, 0x12345678
bswap eax                    ; eax = 0x78563412

; Convert a 64-bit value
mov rax, 0x0123456789ABCDEF
bswap rax                    ; rax = 0xEFCDAB8967452301

; Network-byte-order 32-bit store
mov eax, [host_order]
bswap eax
mov [net_order], eax

Siehe auch

  • MOV
  • XCHG
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


BT / BTS / BTR / BTC - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

BT / BTS / BTR / BTC

Testet, setzt, setzt oder erg&auml;nzt ein einzelnes Bit in einem Register oder Speicher.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

BT  reg/mem, reg/imm         ; Test bit (copy to CF)
BTS reg/mem, reg/imm         ; Test and set bit
BTR reg/mem, reg/imm         ; Test and reset bit
BTC reg/mem, reg/imm         ; Test and complement bit

Beschreibung

Testet, setzt, setzt oder ergänzt ein einzelnes Bit in einem Register oder Speicher.

Kategorie: Bitmanipulation | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

  • BT: Kopiert das angegebene Bit nach CF. Ändert das Bit nicht.
  • BTS: Kopiert das Bit nach CF und setzt es dann auf 1.
  • BTR: Kopiert das Bit nach CF und löscht es dann auf 0.
  • BTC: Kopiert das Bit nach CF und schaltet es dann um.

Beschreibung

BT / BTS / BTR / BTC – Bittest ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

BT / BTS / BTR / BTC – Bittest ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

bt rax, 5                    ; CF = bit 5 of rax
bts [rbx], 0                 ; set bit 0, old value in CF
btc rax, 3                   ; toggle bit 3

Siehe auch

  • BSF / BSR
  • BSR - Bit Scan Reverse
  • UND
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


CALL - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

CALL

Schickt die R&uuml;cksprungadresse und &uuml;bertr&auml;gt die Kontrolle an eine Prozedur.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CALL label
CALL reg
CALL [mem]

Beschreibung

Schickt die Rücksprungadresse und überträgt die Kontrolle an eine Prozedur.

Kategorie: Kontrollübertragung | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Schiebt die Adresse des nächsten Befehls auf den Stapel (RSP wird um 8 dekrementiert) und springt dann zum Ziel. Die aufgerufene Prozedur sollte mit enden RET zurückkehren.

Beschreibung

CALL – Aufrufprozedur ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CALL – Aufrufprozedur ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

call my_function
...
my_function:
    mov rax, 42
    ret

Siehe auch

  • RET
  • JMP
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


CBW / CWDE / CDQE / CWD / CDQ / CQO / CBTW - Sign Extension - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

CBW / CWDE / CDQE / CWD / CDQ / CQO / CBTW - Sign Extension

Erweitert einen Wert im Akkumulator durch Vorzeichen in ein breiteres Register oder Registerpaar.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CBW                          ; AL  -> AX        (byte to word)
CBTW                         ; AL  -> AX        (AT&T alias for CBW)
CWDE                         ; AX  -> EAX       (word to dword)
CDQE                         ; EAX -> RAX       (dword to qword)
CWD                          ; AX  -> DX:AX     (word to dword pair)
CDQ                          ; EAX -> EDX:EAX   (dword to qword pair)
CQO                          ; RAX -> RDX:RAX   (qword to dqword pair)

Beschreibung

Erweitert einen Wert im Akkumulator durch Vorzeichen in ein breiteres Register oder Registerpaar.

Kategorie: Datenbewegung | Gruppe: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
CBW / CBTW | Zeichen-erweitern AL hinein AX. | cbw
CWDE | Zeichen-erweitern AX hinein EAX. | cwde
CDQE | Zeichen-erweitern EAX hinein RAX. | cdqe
CWD | Zeichen-erweitern AX hinein DX:AX. | cwd
CDQ | Zeichen-erweitern EAX hinein EDX:EAX. | cdq
CQO | Zeichen-erweitern RAX hinein RDX:RAX. | cqo

Beschreibung

Diese Anweisungen kopieren das Vorzeichenbit eines kleineren Werts in jedes höhere Bit eines größeren Ziels. Die Einzelregisterformulare (CBW, CWDE, CDQE) den Akku erweitern. Das Registerpaar bildet (CWD, CDQ, CQO) Vorzeichenerweitern Sie den Akkumulator in ein zweites Register, sodass das Paar einen doppelt so breiten vorzeichenbehafteten Wert bildet.

CBTW ist der AT&T-Syntax-Alias für CBW; beide fügen sich zum gleichen Opcode zusammen und werden von PBXB64 akzeptiert.

Der Hauptzweck der Registerpaarformulare besteht darin, die Dividende vor der unterzeichneten Teilung vorzubereiten (IDIV). 32-Bit-Divisionen mit Vorzeichen ausgegeben.

Flaggen

Keines der EFLAGS wird geändert.

Codierungsnotizen

  • CBW, CWDE, UndCDQE sind Einzelbyte-Opcodes ohne explizite Operanden.
  • CWD, CDQ, UndCQO sind auch Einzelbyte-Opcodes; Das Zielregisterpaar ist implizit.
  • Im 64-Bit-Modus CDQE Null-Erweitert von 32-Bit EAX auf 64-Bit RAX Bewahrungszeichen; verwechseln Sie es nicht mit MOVSXD, das sich vorzeichenmäßig vom Speicher oder einem 32-Bit-Register in ein 64-Bit-Ziel erstreckt.

When to use

Verwenden Sie die Einzelregisterformen, wenn Sie einen vorzeichenbehafteten Wert für Vergleiche oder weitere Arithmetik erweitern müssen. Benutzen Sie vorher die Registerpaar-Formulare IDIV um die Volldividende zu bilden. PBXB64 fügt im Allgemeinen automatisch die richtige Form ein, aber die handschriftliche Assemblierung sollte sie beim Dividieren vorzeichenbehafteter Ganzzahlen explizit einschließen.

Beschreibung

CBW / CWDE / CDQE / CWD / CDQ / CQO / CBTW – Zeichenerweiterung ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CBW / CWDE / CDQE / CWD / CDQ / CQO / CBTW – Zeichenerweiterung ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; 64-bit signed division: RAX / RBX
mov  rax, -500
cqo                          ; RDX = sign-extension of RAX (-1)
idiv rbx                     ; RAX = quotient, RDX = remainder

; 32-bit signed division
mov  eax, -200
cdq                          ; EDX = sign-extension of EAX
idiv ebx

; Widen a 32-bit signed result to 64 bits
cdqe                         ; RAX = sign-extended EAX

Siehe auch

  • IDIV
  • IMUL
  • MOVZX / MOVSX
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


CLD - Flag "Richtung löschen" - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

CLD - Flag "Richtung löschen"

L&ouml;scht das Richtungsflag (DF = 0), wodurch String-Anweisungen ihre Indexregister automatisch erh&ouml;hen.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CLD

Beschreibung

Löscht das Richtungsflag (DF = 0), wodurch String-Anweisungen ihre Indexregister automatisch erhöhen.

Kategorie: Flaggen | Gruppe: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Keine.

Beschreibung

Setzt das Richtungsflag auf 0. Nachher CLD, String-Anweisungen wie MOVS, STOS, LODS, UndSCAS Inkrement RSI/RDI. Dies ist die Standardrichtung, die von den meisten Codes erwartet wird.

Flaggen

DF ist gelöscht. Alle anderen Flags bleiben davon unberührt.

When to use

VerwendenCLD vor jeder String-Operation, die Speicher von niedrigen zu hohen Adressen verarbeiten muss. Immer mit kombinieren STD wenn Sie vorübergehend auf Rückwärtsrichtung umgeschaltet haben.

Beschreibung

CLD – Markierung „Richtung löschen“. ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CLD – Markierung „Richtung löschen“. ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Prepare for forward string operations
cld
mov rsi, source
mov rdi, dest
mov rcx, 100
rep movsb

Siehe auch

  • STD - Richtungsflag setzen
  • REP
  • Hilfe zum PBXB64-Compiler


CLD / STD - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

CLD / STD

Steuert die Richtung von String-Operationen.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CLD                          ; Clear Direction Flag (DF=0, forward)
STD                          ; Set Direction Flag (DF=1, backward)

Beschreibung

Steuert die Richtung von String-Operationen.

Kategorie: Flaggensteuerung | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Steuert die Richtung von String-Operationen (MOVS, CMPS, SCAS, LODS, STOS). Wenn DF=0 (CLD), erhöht sich RSI/RDI. Wenn DF=1 (STD), dekrementiert RSI/RDI.

Notiz: Windows x64 ABI erfordert DF=0 beim Ein- und Ausstieg. Verwenden Sie CLD immer vor String-Operationen, es sei denn, Sie benötigen ausdrücklich eine Rückwärtsdurchquerung.

Beschreibung

CLD / STD – Richtungsflaggensteuerung ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CLD / STD – Richtungsflaggensteuerung ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

cld
rep movsb                    ; copy forward

std
rep movsb                    ; copy backward

Siehe auch

  • REP
  • MOVS - String verschieben
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


CMOVcc - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

CMOVcc

Kopiert die Quelle basierend auf Flags bedingt zum Ziel. Verzweigt nicht.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CMOVcc dst, src

Beschreibung

Kopiert die Quelle basierend auf Flags bedingt zum Ziel. Verzweigt nicht.

Kategorie: Datenbewegung | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Wenn die Bedingung wahr ist, wird src nach dst kopiert. Bei „false“ bleibt dst unverändert. Nützlich zum Eliminieren von Verzweigungen in leistungskritischem Code.

Konditionsvarianten

Gedächtnisstütze | Zustand | Flaggen
CMOVA / CMOVNBE | Oben | CF=0 und ZF=0
CMOVAE / CMOVNB | Oben oder gleich | CF=0
CMOVB / CMOVNAE | Unten | CF=1
CMOVE / CMOVZ | Gleich | ZF=1
CMOVNE / CMOVNZ | Ungleich | ZF=0
CMOVG / CMOVNLE | Größer (signiert) | ZF=0 und SF=OF
CMOVGE / CMOVNL | Größer oder gleich (mit Vorzeichen) | SF=OF
CMOVL / CMOVNGE | Weniger (signiert) | SF!=OF
CMOVLE / CMOVNG | Kleiner oder gleich (mit Vorzeichen) | ZF=1 oder SF!=OF

Beschreibung

CMOVcc – Bedingter Umzug ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMOVcc – Bedingter Umzug ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

cmovg rax, rbx              ; if greater, rax = rbx

Siehe auch

  • MOV
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


CMP - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

CMP

Vergleicht zwei Operanden, indem die Quelle vom Ziel subtrahiert und Flags gesetzt werden (ohne das Ergebnis zu speichern).

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CMP dst, src

Beschreibung

Vergleicht zwei Operanden, indem die Quelle vom Ziel subtrahiert und Flags gesetzt werden (ohne das Ergebnis zu speichern).

Kategorie: Arithmetik | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Führt durch dst - src intern, speichert das Ergebnis jedoch nicht. Setzt OF, SF, ZF, AF, PF, CF. Wird vor bedingten Sprüngen (Jcc) und bedingten Bewegungen (CMOVcc) verwendet.

Beschreibung

CMP – Vergleichen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMP – Vergleichen ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

cmp rax, rbx
je equal
jg greater
jl less

cmp rax, 0
jz zero

Siehe auch

  • TEST
  • SUB
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


CMPS - Compare String Operands - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

CMPS - Compare String Operands

Compares the memory item addressed by RSI with the item addressed by RDI and updates flags as if a subtraction occurred. Repeat prefixes can compare a sequence.

Kategorie: Verschiedenes

Syntax

cld
mov rcx, length
repe cmpsb

Beschreibung

Compares the memory item addressed by RSI with the item addressed by RDI and updates flags as if a subtraction occurred. Repeat prefixes can compare a sequence.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

In x64 code, ensure RSI, RDI, RCX, and the direction flag are initialized. Use cld for forward comparison unless reverse traversal is intended.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CMPS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMPS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.


CMPXCHG / CMPXCHG8B / CMPXCHG16B - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

CMPXCHG / CMPXCHG8B / CMPXCHG16B

Atomare Vergleichs- und Austauschoperationen f&uuml;r sperrenfreie Programmierung.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CMPXCHG reg/mem, reg         ; Compare AL/AX/EAX/RAX with dst, exchange if equal
CMPXCHG8B mem64              ; Compare EDX:EAX with mem64, exchange if equal
CMPXCHG16B mem128            ; Compare RDX:RAX with mem128, exchange if equal

Beschreibung

Atomare Vergleichs- und Austauschoperationen für sperrenfreie Programmierung.

Kategorie: Tauschen/Konvertieren | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

  • CMPXCHG: Vergleicht Akku mit Ziel. Wenn gleich, wird die Quelle in das Ziel geschrieben. Wenn nicht, wird das Ziel in den Akkumulator geladen. ZF signalisiert Gleichberechtigung.
  • CMPXCHG8B: Vergleicht EDX:EAX mit 64-Bit-Speicher. Wenn gleich, wird ECX:EBX geschrieben.
  • CMPXCHG16B: Vergleicht RDX:RAX mit 128-Bit-Speicher. Wenn gleich, wird RCX:RBX geschrieben. Erfordert das Präfix LOCK für die Atomizität.

Beschreibung

CMPXCHG / CMPXCHG8B / CMPXCHG16B – Vergleichen und Austauschen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CMPXCHG / CMPXCHG8B / CMPXCHG16B – Vergleichen und Austauschen ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

lock cmpxchg [rbx], rcx      ; atomic compare-exchange
lock cmpxchg16b [rbx]        ; atomic 128-bit compare-exchange

Siehe auch

  • LOCK
  • XADD - Exchange and Add
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


CPUID - CPU-Identifikation - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

CPUID - CPU-Identifikation

Gibt Prozessormerkmals- und Identifikationsinformationen in Allzweckregistern zur&uuml;ck.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CPUID

Beschreibung

Gibt Prozessormerkmals- und Identifikationsinformationen in Allzweckregistern zurück.

Kategorie: System/Atom | Gruppe: Systemanweisungen

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
CPUID | Keine Operanden; Eingabeblatt in EAX, Ausgabe in EAX:EBX:ECX:EDX. | cpuid

Beschreibung

CPUID ist eine Serialisierungsanweisung, die den Prozessor nach Hersteller, Familie, Modell, Schrittweite und unterstützten Funktionsflags abfragt. Vor der Ausführung CPUID, lädt die Software das gewünschte Informationsblatt hinein EAX (und manchmal ECX für Unterblätter). Nach der Ausführung erscheinen die Ergebnisse in EAX, EBX, ECX, UndEDX.

Zu den häufig vorkommenden Blättern gehören:

  • EAX=0: maximal unterstützte Basis-Blatt- und Anbieterzeichenfolge (in EBX, EDX, ECX).
  • EAX=1: Prozessorsignatur und Feature-Flags (SSE, APIC usw.) in EAX/EBX/ECX/EDX.
  • EAX=7, ECX=0: erweiterte Feature-Flags (AVX, BMI usw.) in EBX/ECX/EDX.
  • EAX=0x80000000: Maximal erweiterte Leaf- und Vendor-String-Fortsetzung.

PBXB64 unterstützt CPUID in der Inline-Assembly; Es wird am häufigsten von Laufzeiterkennungshelfern verwendet, um zwischen skalaren und vektorisierten Implementierungen zu wählen.

Flaggen

Keines der EFLAGS wird geändert.

Codierungsnotizen

  • Opcode ist 0F A2.
  • CPUID ist implizit serialisierend: Alle vorherigen Anweisungen sind vorher global sichtbar CPUID ausgeführt, und alle nachfolgenden Anweisungen beginnen, nachdem es abgeschlossen ist.
  • Überprüfen Sie immer das maximale Blatt in EAX, bevor Sie Blätter mit höherer Nummer anfordern, um undefinierte Ergebnisse zu vermeiden.
  • Einige Blätter erfordern einen Eingabewert in ECX; Behalten Sie ECX bei Bedarf im gesamten Befehl bei.

When to use

VerwendenCPUID um Prozessorfunktionen zur Laufzeit zu erkennen, die Verwendung neuerer Befehlssatzerweiterungen zu überwachen oder Prozessoridentifikationen für Diagnosezwecke zu sammeln. Vermeiden CPUID in engen Schleifen, da es relativ langsam und serialisierend ist.

Beschreibung

CPUID – CPU-Identifikation ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CPUID – CPU-Identifikation ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Query vendor string (GenuineIntel, AuthenticAMD, ...)
mov eax, 0
cpuid
; EBX, EDX, ECX now hold the 12-byte vendor string

; Check for SSE2 support (bit 26 of EDX from leaf 1)
mov eax, 1
cpuid
test edx, 1 << 26
jz   no_sse2

; Query extended feature flags (leaf 7, sub-leaf 0)
mov eax, 7
xor ecx, ecx
cpuid
test ebx, 1 << 5          ; AVX2 bit
jnz  has_avx2

Siehe auch

  • RDTSC - Zeitstempelzähler lesen
  • PAUSE - Spin-Loop-Hinweis
  • int3 - Aufruf zum Interrupt 3 (Haltepunkt)
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


CQO - Sign Extend RAX into RDX:RAX - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

CQO - Sign Extend RAX into RDX:RAX

Sign-extends the 64-bit value in RAX into the 128-bit dividend RDX:RAX. It is normally used immediately before signed 64-bit division with idiv.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CBW                          ; AL -> AX (sign extend byte to word)
CWDE                         ; AX -> EAX (sign extend word to dword)
CDQE                         ; EAX -> RAX (sign extend dword to qword)
CWD                          ; AX -> DX:AX (sign extend word to dword pair)
CDQ                          ; EAX -> EDX:EAX (sign extend dword to qword pair)
CQO                          ; RAX -> RDX:RAX (sign extend qword to dqword pair)

Beschreibung

Sign-extends the 64-bit value in RAX into the 128-bit dividend RDX:RAX. It is normally used immediately before signed 64-bit division with idiv.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Use cqo for signed 64-bit division. For unsigned division, clear RDX or prepare the high half manually.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

CQO ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CQO ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

Beispiel

mov rax, -5
cqo                          ; RDX = -1 (sign extended), RAX = -5
idiv rbx                     ; now divides RDX:RAX by RBX

Siehe auch

  • IDIV
  • IMUL
  • MOVZX / MOVSX
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


cvtsd2si - Scalar Double in Signed Integer konvertieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

cvtsd2si - Scalar Double in Signed Integer konvertieren

Konvertiert den Gleitkommawert niedriger Ordnung mit doppelter Genauigkeit in einem XMM-Register oder Speicheroperanden in eine vorzeichenbehaftete 32-Bit- oder 64-Bit-Ganzzahl in einem Allzweckregister.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CVTSD2SI reg, xmm/mem64

Beschreibung

Konvertiert den Gleitkommawert niedriger Ordnung mit doppelter Genauigkeit in einem XMM-Register oder Speicheroperanden in eine vorzeichenbehaftete 32-Bit- oder 64-Bit-Ganzzahl in einem Allzweckregister.

Kategorie: SSE/AVX | Gruppe: Gleitkommakonvertierung

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
CVTSD2SI r32, xmm | Konvertieren Sie Low Double in XMM in eine vorzeichenbehaftete 32-Bit-Ganzzahl | cvtsd2si eax, xmm0
CVTSD2SI r32, mem64 | Konvertieren Sie das Speicherdouble in eine vorzeichenbehaftete 32-Bit-Ganzzahl | cvtsd2si eax, qword ptr [value]
CVTSD2SI r64, xmm | Konvertieren Sie Low Double in XMM in eine vorzeichenbehaftete 64-Bit-Ganzzahl | cvtsd2si rax, xmm0
CVTSD2SI r64, mem64 | Konvertieren Sie Memory Double in eine vorzeichenbehaftete 64-Bit-Ganzzahl | cvtsd2si rax, qword ptr [value]

Beschreibung

CVTSD2SI wandelt den skalaren Gleitkommawert mit doppelter Genauigkeit, der sich in den unteren 64 Bits des Quell-XMM-Operanden (oder einem 64-Bit-Speicherort) befindet, in eine vorzeichenbehaftete Ganzzahl um und speichert das Ergebnis im Ziel-Allzweckregister. Die Konvertierung verwendet den aktuellen Rundungsmodus, der durch die Rundungssteuerbits des MXCSR-Registers angegeben wird. Für die Kürzung unabhängig vom Rundungsmodus verwenden Sie CVTTSD2SI.

Dieser Befehl funktioniert nur auf dem Low-Double der XMM-Quelle; Die oberen Bits des XMM-Registers werden ignoriert und die oberen Bits des Zielregisters werden für 32-Bit-Formulare auf Null gesetzt.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Erfordert ein F2-Präfix für die skalare Doppelform; kodiert als F2 0F 2D /r.
  • Wenn das Ziel ein 64-Bit-Register ist, ist ein REX.W-Präfix erforderlich.
  • Wenn der Quellwert außerhalb des Bereichs des Ziel-Integer-Typs liegt, ist das Ergebnis der unbestimmte Integer-Wert (MIN_INT) und es wird eine Ausnahme wegen ungültigem Vorgang ausgelöst, wenn er nicht maskiert wird.

When to use

Verwenden Sie CVTSD2SI, wenn Sie ein Gleitkommaergebnis mit doppelter Genauigkeit im vorherrschenden Rundungsmodus wieder in die ganzzahlige Form bringen müssen. Zu den gängigen Szenarios gehört die Konvertierung berechneter Koordinaten, Skalierungsfaktoren oder Zeitwerte in ganzzahlige Indizes oder Pixelpositionen. Wenn Sie unabhängig vom Rundungsmodus eine Kürzung in Richtung Null benötigen, bevorzugen Sie CVTTSD2SI.

Beschreibung

CVTSD2SI – Skalar Double in Signed Integer konvertieren ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTSD2SI – Skalar Double in Signed Integer konvertieren ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Convert a double in xmm0 to a 32-bit signed integer in eax
movsd xmm0, qword ptr [pi]    ; xmm0 = 3.141592653589793
cvtsd2si eax, xmm0            ; eax = 3 (with default rounding mode)

; Convert a double to a 64-bit signed integer
movsd xmm1, qword ptr [large] ; xmm1 = 1.2345e12
cvtsd2si rax, xmm1            ; rax = 1234500000000

; Memory-to-register conversion
mov rbp, rsp
sub rsp, 8
mov qword ptr [rsp], 0x4049000000000000 ; 50.0
cvtsd2si ebx, qword ptr [rsp] ; ebx = 50
add rsp, 8

Siehe auch

  • cvtsi2sd - Vorzeichenbehaftete Ganzzahl in Skalar-Double umwandeln
  • cvttsd2si - Konvertieren mit Truncation Scalar Double in Signed Integer
  • cvtsd2ss - Skalar Double in Skalar Single konvertieren
  • cvtss2sd - Scalar Single in Scalar Double konvertieren
  • Hilfe zum PBXB64-Compiler


cvtsd2ss - Skalar Double in Skalar Single konvertieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

cvtsd2ss - Skalar Double in Skalar Single konvertieren

Konvertiert den niedrigwertigen Gleitkommawert mit doppelter Genauigkeit in der Quelle in einen Gleitkommawert mit einfacher Genauigkeit in den unteren 32 Bits des Ziel-XMM-Registers.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CVTSD2SS xmm1, xmm2/mem64

Beschreibung

Konvertiert den niedrigwertigen Gleitkommawert mit doppelter Genauigkeit in der Quelle in einen Gleitkommawert mit einfacher Genauigkeit in den unteren 32 Bits des Ziel-XMM-Registers.

Kategorie: SSE/AVX | Gruppe: Gleitkommakonvertierung

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
CVTSD2SS xmm, xmm | Konvertieren Sie Low Double im Quell-XMM in Single im Ziel-XMM | cvtsd2ss xmm0, xmm1
CVTSD2SS xmm, mem64 | Konvertieren Sie den doppelten Speicher im Ziel-XMM in einen einfachen Speicher | cvtsd2ss xmm0, qword ptr [val]

Beschreibung

CVTSD2SS konvertiert den skalaren Gleitkommawert mit doppelter Genauigkeit (64 Bit) im unteren Quadwort des Quelloperanden in einen Gleitkommawert mit einfacher Genauigkeit (32 Bit). Das konvertierte Ergebnis wird im unteren Doppelwort des Ziel-XMM-Registers gespeichert, während die Bits 127:32 des Ziels vom vorherigen Inhalt des Ziels erhalten bleiben. Dieses Verhalten unterscheidet sich von gepackten Konvertierungsanweisungen, die die oberen Spuren auf Null setzen.

Die Konvertierung berücksichtigt den aktuellen MXCSR-Rundungsmodus. Wenn das Ergebnis nicht exakt dargestellt werden kann, wird es entsprechend diesem Modus gerundet; Überlauf erzeugt ein IEEE-Unendlichkeitsergebnis und löst bei Demaskierung die entsprechende Ausnahme aus.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Codiert mit dem F2-Präfix als F2 0F 5A /r.
  • Die oberen 96 Bits des Ziel-XMM-Registers bleiben unverändert (Intel/AMD SSE-Verhalten), was dies nützlich macht, wenn skalare Einzel- und Doppeloperationen gemischt werden.
  • Erfordert mindestens SSE2.

When to use

Verwenden Sie CVTSD2SS, wenn ein Algorithmus einen Wert mit doppelter Genauigkeit erzeugt hat, die nachgeschaltete Logik (z. B. eine Grafik-API oder DSP-Routine) jedoch eine Eingabe mit einfacher Genauigkeit erwartet. Dies ist auch nützlich, wenn Sie ein doppeltes Ergebnis in einen 32-Bit-Speicher komprimieren möchten, ohne eine vollständige Konvertierung durchzuführen.

Beschreibung

CVTSD2SS – Skalar Double in Skalar Single konvertieren ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTSD2SS – Skalar Double in Skalar Single konvertieren ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Reduce precision of a double to single precision
movsd xmm0, qword ptr [double_val] ; xmm0 low = 3.141592653589793
cvtsd2ss xmm1, xmm0                ; xmm1 low = 3.1415927f

; Store the single result to memory
movss dword ptr [float_result], xmm1

; Combine with existing packed singles: upper bits of xmm2 stay intact
cvtsd2ss xmm2, xmm3                ; xmm2[31:0] converted, xmm2[127:32] preserved

Siehe auch

  • cvtss2sd - Scalar Single in Scalar Double konvertieren
  • cvtsd2si - Scalar Double in Signed Integer konvertieren
  • MOVSS - Skalare Gleitkommazahlen mit einfacher Genauigkeit verschieben
  • MOVSD - Skalare Gleitkommazahlen mit doppelter Genauigkeit verschieben
  • Hilfe zum PBXB64-Compiler


cvtsi2sd - Vorzeichenbehaftete Ganzzahl in Skalar-Double umwandeln - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

cvtsi2sd - Vorzeichenbehaftete Ganzzahl in Skalar-Double umwandeln

Konvertiert ein vorzeichenbehaftetes Ganzzahl-Allzweckregister oder einen Speicheroperanden in einen Gleitkommawert mit doppelter Genauigkeit in den unteren 64 Bits des Ziel-XMM-Registers.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CVTSI2SD xmm, reg/mem

Beschreibung

Konvertiert ein vorzeichenbehaftetes Ganzzahl-Allzweckregister oder einen Speicheroperanden in einen Gleitkommawert mit doppelter Genauigkeit in den unteren 64 Bits des Ziel-XMM-Registers.

Kategorie: SSE/AVX | Gruppe: Gleitkommakonvertierung

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
CVTSI2SD xmm, r32 | Konvertieren Sie eine vorzeichenbehaftete 32-Bit-Ganzzahl in GPR in eine doppelte Zahl in XMM | cvtsi2sd xmm0, eax
CVTSI2SD xmm, mem32 | Konvertieren Sie eine vorzeichenbehaftete 32-Bit-Ganzzahl im Speicher in eine doppelte Zahl in XMM | cvtsi2sd xmm0, dword ptr [count]
CVTSI2SD xmm, r64 | Konvertieren Sie eine vorzeichenbehaftete 64-Bit-Ganzzahl in GPR in eine doppelte Zahl in XMM | cvtsi2sd xmm0, rax
CVTSI2SD xmm, mem64 | Konvertieren Sie vorzeichenbehaftete 64-Bit-Ganzzahlen im Speicher in Double in XMM | cvtsi2sd xmm0, qword ptr [ticks]

Beschreibung

CVTSI2SD konvertiert einen vorzeichenbehafteten ganzzahligen Quelloperanden in einen Gleitkommawert mit doppelter Genauigkeit. Das Ergebnis wird in die unteren 64 Bits des Ziel-XMM-Registers geschrieben. Die Bits 127:64 des Ziel-XMM-Registers bleiben gegenüber ihrem vorherigen Wert erhalten, sodass skalare Doppeloperationen mit anderen Daten im oberen Teil des Registers koexistieren können.

Diese Anweisung unterstützt sowohl 32-Bit- als auch 64-Bit-Ganzzahlquellen. Die 64-Bit-Form erfordert ein REX.W-Präfix. Da IEEE 754 mit doppelter Genauigkeit alle 32-Bit-Ganzzahlen und die meisten 64-Bit-Ganzzahlen bis zu 2^53 genau darstellen kann, sind 32-Bit-Konvertierungen immer präzise, ​​während 64-Bit-Konvertierungen bei sehr großen Größen möglicherweise runden.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Codiert mit dem F2-Präfix als F2 0F 2A /r.
  • Für 64-Bit-Integer-Quellen muss das REX.W-Bit in der Befehlscodierung festgelegt werden.
  • Die oberen 64 Bit des Ziels bleiben erhalten und werden nicht auf Null gesetzt.

When to use

Verwenden Sie CVTSI2SD immer dann, wenn ganzzahlige Daten an der Gleitkommaarithmetik beteiligt sein müssen, z. B. beim Normalisieren von Array-Indizes, beim Konvertieren von Pixelkoordinaten oder beim Vorbereiten ganzzahliger Sensormesswerte für statistische Formeln. Für eine Ausgabe mit einfacher Genauigkeit verwenden Sie stattdessen CVTSI2SS.

Beschreibung

CVTSI2SD – Vorzeichenbehaftete Ganzzahl in Skalar-Double umwandeln ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTSI2SD – Vorzeichenbehaftete Ganzzahl in Skalar-Double umwandeln ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Convert a 32-bit loop counter to double for division
mov eax, 100
cvtsi2sd xmm0, eax        ; xmm0 low = 100.0

; Convert a 64-bit timestamp to double
rdtsc
shl rdx, 32
or rax, rdx
cvtsi2sd xmm1, rax        ; xmm1 low = (double)ticks

; Convert a memory integer to double, preserving upper xmm2 data
cvtsi2sd xmm2, dword ptr [score]

Siehe auch

  • cvtsd2si - Scalar Double in Signed Integer konvertieren
  • cvttsd2si - Konvertieren mit Truncation Scalar Double in Signed Integer
  • cvtss2sd - Scalar Single in Scalar Double konvertieren
  • Hilfe zum PBXB64-Compiler


cvtss2sd - Scalar Single in Scalar Double konvertieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

cvtss2sd - Scalar Single in Scalar Double konvertieren

Konvertiert den niedrigwertigen Gleitkommawert mit einfacher Genauigkeit in der Quelle in einen Gleitkommawert mit doppelter Genauigkeit in den unteren 64 Bits des Ziel-XMM-Registers.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CVTSS2SD xmm1, xmm2/mem32

Beschreibung

Konvertiert den niedrigwertigen Gleitkommawert mit einfacher Genauigkeit in der Quelle in einen Gleitkommawert mit doppelter Genauigkeit in den unteren 64 Bits des Ziel-XMM-Registers.

Kategorie: SSE/AVX | Gruppe: Gleitkommakonvertierung

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
CVTSS2SD xmm, xmm | Konvertieren Sie Low Single im Quell-XMM in Double im Ziel-XMM | cvtss2sd xmm0, xmm1
CVTSS2SD xmm, mem32 | Konvertieren Sie den Speicher im Ziel-XMM einfach in doppelt | cvtss2sd xmm0, dword ptr [val]

Beschreibung

CVTSS2SD konvertiert den skalaren Gleitkommawert mit einfacher Genauigkeit (32 Bit), der sich im niedrigen Doppelwort des Quelloperanden befindet, in einen Gleitkommawert mit doppelter Genauigkeit (64 Bit). Das konvertierte Ergebnis wird im unteren Quadword des Ziel-XMM-Registers gespeichert. Die Bits 127:64 des Ziel-XMM-Registers bleiben von ihrem vorherigen Wert erhalten. Die Konvertierung ist exakt, wenn der Einzelwert normalisiert wird, da jeder normale Wert mit einfacher Genauigkeit in doppelter Genauigkeit genau darstellbar ist.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Codiert mit dem F3-Präfix als F3 0F 5A /r.
  • Nur die unteren 32 Bit der Quelle werden als Gleitkommazahl mit einfacher Genauigkeit interpretiert.
  • Die oberen 64 Bits des Ziel-XMM-Registers bleiben unverändert.

When to use

Verwenden Sie CVTSS2SD, um einen Wert mit einfacher Genauigkeit auf die doppelte Genauigkeit zu erweitern, bevor Sie Berechnungen durchführen, die den zusätzlichen Bereich oder die zusätzliche Genauigkeit erfordern. Dies ist häufig der Fall, wenn 32-Bit-Float-Daten aus Dateien, GPUs oder SIMD-Puffer in skalare x87/SSE-Algorithmen mit doppelter Genauigkeit geladen werden.

Beschreibung

CVTSS2SD – Konvertieren Sie Skalar Single in Skalar Double ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTSS2SD – Konvertieren Sie Skalar Single in Skalar Double ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Promote a single-precision input to double before precise math
movss xmm0, dword ptr [input_f] ; xmm0 low = 1.5f
cvtss2sd xmm1, xmm0             ; xmm1 low = 1.5 (exact)

; Promote a memory float to double
cvtss2sd xmm2, dword ptr [sensor]
addsd xmm2, qword ptr [calibration]

; Upper bits of xmm3 are preserved
cvtss2sd xmm3, xmm4

Siehe auch

  • cvtsd2ss - Skalar Double in Skalar Single konvertieren
  • cvtsi2sd - Vorzeichenbehaftete Ganzzahl in Skalar-Double umwandeln
  • MOVSS - Skalare Gleitkommazahlen mit einfacher Genauigkeit verschieben
  • MOVSD - Skalare Gleitkommazahlen mit doppelter Genauigkeit verschieben
  • Hilfe zum PBXB64-Compiler


cvttsd2si - Konvertieren mit Truncation Scalar Double in Signed Integer - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

cvttsd2si - Konvertieren mit Truncation Scalar Double in Signed Integer

Konvertiert den Gleitkommawert niedriger Ordnung mit doppelter Genauigkeit in einem XMM-Register oder -Speicher in eine vorzeichenbehaftete Ganzzahl unter Verwendung einer K&uuml;rzung in Richtung Null.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

CVTTSD2SI reg, xmm/mem64

Beschreibung

Konvertiert den Gleitkommawert niedriger Ordnung mit doppelter Genauigkeit in einem XMM-Register oder -Speicher in eine vorzeichenbehaftete Ganzzahl unter Verwendung einer Kürzung in Richtung Null.

Kategorie: SSE/AVX | Gruppe: Gleitkommakonvertierung

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
CVTTSD2SI r32, xmm | Low Double in XMM auf vorzeichenbehaftete 32-Bit-Ganzzahl abschneiden | cvttsd2si eax, xmm0
CVTTSD2SI r32, mem64 | Speicherdoppelt auf vorzeichenbehaftete 32-Bit-Ganzzahl kürzen | cvttsd2si eax, qword ptr [x]
CVTTSD2SI r64, xmm | Low Double in XMM auf vorzeichenbehaftete 64-Bit-Ganzzahl abschneiden | cvttsd2si rax, xmm0
CVTTSD2SI r64, mem64 | Speicherdoppelt auf vorzeichenbehaftete 64-Bit-Ganzzahl kürzen | cvttsd2si rax, qword ptr [x]

Beschreibung

CVTTSD2SI ist die verkürzte Variante von CVTSD2SI. Es wandelt den skalaren Gleitkommawert mit doppelter Genauigkeit in den unteren 64 Bits des Quelloperanden in eine vorzeichenbehaftete Ganzzahl im Ziel-Allzweckregister um. Im Gegensatz zu CVTSD2SI rundet dieser Befehl unabhängig vom MXCSR-Rundungsmodus immer gegen Null. Dies macht es ideal für Umwandlungen im C-Stil von Gleitkomma zu Ganzzahlen.

Wenn der Quellwert außerhalb des darstellbaren Bereichs des Ziel-Integer-Typs liegt, ist das Ergebnis der unbestimmte Integer-Wert (MIN_INT) und es wird eine Ausnahme wegen ungültiger Operation ausgelöst, wenn er nicht maskiert wird.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Codiert mit dem F2-Präfix als F2 0F 2C /r.
  • Das 64-Bit-Zielformular erfordert das Präfix REX.W.
  • Kürzung bedeutet, dass Bruchteile verworfen werden: 3,9 wird zu 3 und -3,9 wird zu -3.

When to use

Verwenden Sie CVTTSD2SI, wenn Sie das Äquivalent einer Ganzzahlumwandlung in C benötigen oder wenn die Array-Indizierung und ähnliche Vorgänge eine Kürzung in Richtung Null erfordern. Verwenden Sie stattdessen CVTSD2SI, wenn Sie den aktuellen Gleitkomma-Rundungsmodus berücksichtigen möchten.

Beschreibung

CVTTSD2SI – Konvertieren mit Truncation Scalar Double in Signed Integer ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

CVTTSD2SI – Konvertieren mit Truncation Scalar Double in Signed Integer ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; C-style (int) cast of a double
cvttsd2si eax, xmm0           ; eax = (int)(double)x

; Array index from a scaled double
movsd xmm0, qword ptr [pos_x]
cvttsd2si ebx, xmm0           ; ebx = floor toward zero of pos_x
mov rcx, qword ptr [array]
mov eax, dword ptr [rcx + rbx*4]

; 64-bit truncation
cvttsd2si rax, qword ptr [timestamp]

Siehe auch

  • cvtsd2si - Scalar Double in Signed Integer konvertieren
  • cvtsi2sd - Vorzeichenbehaftete Ganzzahl in Skalar-Double umwandeln
  • cvtsd2ss - Skalar Double in Skalar Single konvertieren
  • Hilfe zum PBXB64-Compiler


DEC - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

DEC

Subtrahiert 1 vom Operanden. Hat keinen Einfluss auf das Carry Flag (CF).

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DEC reg
DEC mem

Beschreibung

Subtrahiert 1 vom Operanden. Hat keinen Einfluss auf das Carry Flag (CF).

Kategorie: Arithmetik | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Führt durch operand = operand - 1. Legt OF, SF, ZF, AF, PF fest, ändert jedoch NICHT CF. Benutzen SUB dst, 1 wenn Sie CF aktualisieren müssen.

Beschreibung

DEC – Dekrementieren um 1 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

DEC – Dekrementieren um 1 ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

Beispiel

dec rax
dec DWORD PTR [rbx]

Siehe auch

  • INC
  • SUB
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


DIV - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

DIV

Dividiert einen impliziten Dividenden doppelter Breite durch den Quelloperanden.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIV reg/mem

Beschreibung

Dividiert einen impliziten Dividenden doppelter Breite durch den Quelloperanden.

Kategorie: Arithmetik | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Dividiert den impliziten Dividenden (AX/DX:AX/EDX:EAX/RDX:RAX) durch den Quelloperanden. Quotient in AL/AX/EAX/RAX, Rest in AH/DX/EDX/RDX.

Beschreibung

DIV – Unsigned Divide ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

DIV – Unsigned Divide ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

Beispiel

div rbx                      ; RAX = RDX:RAX / RBX, RDX = remainder

Siehe auch

  • IDIV
  • MUL
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


divps - Gepackte Gleitkommawerte mit einfacher Genauigkeit dividieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

divps - Gepackte Gleitkommawerte mit einfacher Genauigkeit dividieren

Dividiert vier Gleitkommawerte mit einfacher Genauigkeit im Ziel-XMM-Register durch die entsprechenden vier Werte im Quell-XMM-Register oder im 128-Bit-Speicheroperanden.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIVPS xmm1, xmm2/mem128

Beschreibung

Dividiert vier Gleitkommawerte mit einfacher Genauigkeit im Ziel-XMM-Register durch die entsprechenden vier Werte im Quell-XMM-Register oder im 128-Bit-Speicheroperanden.

Kategorie: SSE/AVX | Gruppe: Gepackte Gleitkomma-Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
DIVPS xmm, xmm | Teilen Sie vier gepackte Singles im Ziel durch vier gepackte Singles im Quell-XMM | divps xmm0, xmm1
DIVPS xmm, mem128 | Teilen Sie vier gepackte Singles am Zielort durch vier gepackte Singles im Speicher | divps xmm0, xmmword ptr [vec]

Beschreibung

DIVPS führt eine SIMD-Division (Single Instruction, Multiple Data) auf vier Gleitkommaspuren mit einfacher Genauigkeit parallel durch. Für jede Spur i von 0 bis 3 wird berechnet DEST[i] = DEST[i] / SRC[i]. Die Operation folgt den IEEE 754-Regeln: Division durch Null ergibt je nach Zähler +/-unendlich oder NaN, und Denormal-Ergebnisse werden gemäß den MXCSR-Flags „Flush-to-Zero“ und „Denormals-are-Zero“ behandelt.

Dies ist eine gepackte Anweisung, was bedeutet, dass alle vier Spuren aktiv sind. Es unterscheidet sich von skalaren SSE-Teilungsanweisungen wie DIVSS, die nur die untere Spur ändern und die oberen Spuren des Ziels unverändert lassen. AVX-Formulare (VDIVPS) arbeiten mit 256-Bit-YMM-Registern mit acht Spuren.

Flaggen

Keiner direkt betroffen. MXCSR-Ausnahmeflags (ungültig, Division durch Null, denormal, Überlauf, Unterlauf, Genauigkeit) können aktualisiert werden.

Codierungsnotizen

  • Codiert als 0F 5E /r.
  • Erfordert SSE1-Unterstützung.
  • Der Quellspeicheroperand muss 16-Byte-ausgerichtet sein, wenn es sich um einen Speicheroperanden handelt. Eine Fehlausrichtung löst eine allgemeine Schutzausnahme aus, es sei denn, der Prozessor unterstützt nicht ausgerichteten SSE-Zugriff mit dem entsprechenden Feature-Bit.

When to use

Verwenden Sie DIVPS für die vektorisierte Gleitkommadivision, z. B. zum Normalisieren von Vektoren, zum Skalieren von Farbkanälen oder zum gleichzeitigen Berechnen reziproker Verhältnisse über mehrere Datenelemente hinweg. Für die skalare Doppeldivision verwenden Sie DIVSD; Für eine skalare Einzeldivision verwenden Sie DIVSS. Wenn keine exakte IEEE-Semantik erforderlich ist, sollten Sie für einen besseren Durchsatz die Multiplikation mit einem vorberechneten Kehrwert in Betracht ziehen.

Beschreibung

DIVPS – Dividieren gepackter Gleitkommawerte mit einfacher Genauigkeit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

DIVPS – Dividieren gepackter Gleitkommawerte mit einfacher Genauigkeit ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Divide two 4-component vectors component-wise
movaps xmm0, [vec_a]     ; xmm0 = {a0, a1, a2, a3}
movaps xmm1, [vec_b]     ; xmm1 = {b0, b1, b2, b3}
divps xmm0, xmm1         ; xmm0 = {a0/b0, a1/b1, a2/b2, a3/b3}

; Scale a color/RGBA vector by per-channel factors
movaps xmm2, [rgba]
divps xmm2, [scale]
movaps [rgba], xmm2

Siehe auch

  • divss - Skalaren Gleitkommawert mit einfacher Genauigkeit dividieren
  • divsd - Skalaren Gleitkommawert mit doppelter Genauigkeit dividieren
  • MULPS - Gepackte Gleitkomma-Multiplikation mit einfacher Genauigkeit
  • SUBPS - Gepackte Gleitkommawerte mit einfacher Genauigkeit subtrahieren
  • Hilfe zum PBXB64-Compiler


divsd - Skalaren Gleitkommawert mit doppelter Genauigkeit dividieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

divsd - Skalaren Gleitkommawert mit doppelter Genauigkeit dividieren

Dividiert den Gleitkommawert niedriger Ordnung mit doppelter Genauigkeit im Ziel-XMM-Register durch das entsprechende skalare Double im Quell-XMM-Register oder Speicheroperanden.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIVSD xmm1, xmm2/mem64

Beschreibung

Dividiert den Gleitkommawert niedriger Ordnung mit doppelter Genauigkeit im Ziel-XMM-Register durch das entsprechende skalare Double im Quell-XMM-Register oder Speicheroperanden.

Kategorie: SSE/AVX | Gruppe: Skalare Gleitkomma-Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
DIVSD xmm, xmm | Teilen Sie das Skalardouble im Ziel durch das Skalardouble im Quell-XMM | divsd xmm0, xmm1
DIVSD xmm, mem64 | Teilen Sie das Skalardouble im Ziel durch das Double im Speicher | divsd xmm0, qword ptr [divisor]

Beschreibung

DIVSD führt eine skalare Gleitkommadivision mit doppelter Genauigkeit durch. Es berechnet DEST[63:0] = DEST[63:0] / SRC[63:0] und speichert das Ergebnis in den unteren 64 Bits des Ziel-XMM-Registers. Die Bits 127:64 des Ziels bleiben von ihrem vorherigen Inhalt erhalten. Dies ist der Standard-x64-Befehl für die Division mit doppelter Genauigkeit bei Verwendung von SSE-Registern.

Die Operation folgt der IEEE 754-Semantik mit doppelter Genauigkeit. Division durch Null ergibt eine entsprechend vorzeichenbehaftete Unendlichkeit oder NaN. Denormale Behandlung und Rundung werden von MXCSR gesteuert.

Flaggen

Keiner direkt betroffen. MXCSR-Ausnahmeflags können aktualisiert werden.

Codierungsnotizen

  • Codiert mit dem F2-Präfix als F2 0F 5E /r.
  • Erfordert SSE2-Unterstützung.
  • Es werden nur die unteren 64 Bits des Quelloperanden gelesen; Die High-Bits der XMM-Quelle werden ignoriert.
  • Speicheroperanden erfordern für DIVSD keine 16-Byte-Ausrichtung, da nur 8 Byte gelesen werden.

When to use

Verwenden Sie DIVSD für skalare Divisionen mit doppelter Genauigkeit in numerischen Algorithmen, physikalischen Berechnungen, Statistiken und überall dort, wo präzise 64-Bit-Gleitkommaverhältnisse erforderlich sind. Sie ist erheblich langsamer als die Multiplikation. Erwägen Sie daher bei leistungskritischen Pfaden die Vorabberechnung von Kehrwerten und die Verwendung von MULSD, wenn nicht die volle Präzision erforderlich ist.

Beschreibung

DIVSD – Skalarer Gleitkommawert mit doppelter Genauigkeit dividieren ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

DIVSD – Skalarer Gleitkommawert mit doppelter Genauigkeit dividieren ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Compute a / b in double precision
movsd xmm0, qword ptr [a]
divsd xmm0, qword ptr [b]   ; xmm0 = a / b

; Divide by a register value
movsd xmm0, qword ptr [total]
divsd xmm0, xmm1            ; xmm0 = total / xmm1

; Average two double values
movsd xmm0, qword ptr [x]
addsd xmm0, qword ptr [y]
divsd xmm0, qword ptr [two] ; xmm0 = (x + y) / 2.0

Siehe auch

  • MULSD - Skalare Gleitkommamultiplikation mit doppelter Genauigkeit
  • ADDSD - Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen
  • SUBSD - Skalaren Gleitkommawert mit doppelter Genauigkeit subtrahieren
  • divss - Skalaren Gleitkommawert mit einfacher Genauigkeit dividieren
  • divps - Gepackte Gleitkommawerte mit einfacher Genauigkeit dividieren
  • Hilfe zum PBXB64-Compiler


divss - Skalaren Gleitkommawert mit einfacher Genauigkeit dividieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

divss - Skalaren Gleitkommawert mit einfacher Genauigkeit dividieren

Dividiert den niedrigwertigen Gleitkommawert mit einfacher Genauigkeit im Ziel-XMM-Register durch den entsprechenden Skalar-Einzelwert im Quell-XMM-Register oder Speicheroperanden.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

DIVSS xmm1, xmm2/mem32

Beschreibung

Dividiert den niedrigwertigen Gleitkommawert mit einfacher Genauigkeit im Ziel-XMM-Register durch den entsprechenden Skalar-Einzelwert im Quell-XMM-Register oder Speicheroperanden.

Kategorie: SSE/AVX | Gruppe: Skalare Gleitkomma-Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
DIVSS xmm, xmm | Teilen Sie den Skalar-Single im Ziel durch den Skalar-Single im Quell-XMM | divss xmm0, xmm1
DIVSS xmm, mem32 | Teilen Sie den Skalar-Einzelwert im Ziel durch den Einzelwert im Speicher | divss xmm0, dword ptr [divisor]

Beschreibung

DIVSS führt eine skalare Gleitkommadivision mit einfacher Genauigkeit durch. Es berechnet DEST[31:0] = DEST[31:0] / SRC[31:0] und speichert das Ergebnis in den unteren 32 Bits des Ziel-XMM-Registers. Die Bits 127:32 des Ziels bleiben von ihrem vorherigen Inhalt erhalten. Dies ist der Standard-SSE-Befehl für die 32-Bit-Gleitkomma-Skalardivision.

Die Operation folgt der IEEE 754-Semantik mit einfacher Genauigkeit. Eine Division durch Null ergibt eine entsprechend vorzeichenbehaftete Unendlichkeit oder NaN. Rundungs- und Ausnahmeverhalten werden durch MXCSR geregelt.

Flaggen

Keiner direkt betroffen. MXCSR-Ausnahmeflags können aktualisiert werden.

Codierungsnotizen

  • Codiert mit dem F3-Präfix als F3 0F 5E /r.
  • Erfordert SSE1-Unterstützung.
  • Es werden nur die unteren 32 Bit der Quelle gelesen.
  • Speicheroperanden erfordern keine 16-Byte-Ausrichtung, da nur 4 Byte gelesen werden.

When to use

Verwenden Sie DIVSS für die skalare Division mit einfacher Genauigkeit, was bei Grafik-Shadern üblich ist, die CPU-SIMD, Audio-DSP und Spielcode zugeordnet sind, wo eine 32-Bit-Float-Präzision ausreichend ist. Wie bei allen x86-Divisionsanweisungen weist es eine relativ hohe Latenz auf; Erwägen Sie bei engen Schleifen die einmalige Berechnung der Kehrwerte und die Verwendung von MULSS.

Beschreibung

DIVSS – Skalarer Gleitkommawert mit einfacher Genauigkeit dividieren ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

DIVSS – Skalarer Gleitkommawert mit einfacher Genauigkeit dividieren ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Compute x / y as 32-bit floats
movss xmm0, dword ptr [x]
divss xmm0, dword ptr [y]   ; xmm0 low = x / y

; Normalize a single component
movss xmm1, dword ptr [length]
divss xmm0, xmm1            ; xmm0 = component / length

; Divide accumulated sum by count
movss xmm0, dword ptr [sum]
divss xmm0, dword ptr [n]   ; xmm0 = sum / n

Siehe auch

  • MULSS - Skalare Gleitkommamultiplikation mit einfacher Genauigkeit
  • ADDSS - Skalaren Gleitkomma mit einfacher Genauigkeit hinzufügen
  • SUBSS - Skalaren Gleitkommawert mit einfacher Genauigkeit subtrahieren
  • divsd - Skalaren Gleitkommawert mit doppelter Genauigkeit dividieren
  • divps - Gepackte Gleitkommawerte mit einfacher Genauigkeit dividieren
  • Hilfe zum PBXB64-Compiler


HINZUFÜGEN - Hinzufügen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

HINZUFÜGEN - Hinzufügen

F&uuml;gt den Quelloperanden zum Zieloperanden hinzu und speichert das Ergebnis im Ziel.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ADD dst, src

Beschreibung

Fügt den Quelloperanden zum Zieloperanden hinzu und speichert das Ergebnis im Ziel.

Kategorie: Arithmetik | Gruppe: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
ADD reg, reg | Register hinzufügen, um sich zu registrieren. | add rax, rbx
ADD reg, mem | Speicherwert zur Registrierung hinzufügen. | add rax, [rsi]
ADD mem, reg | Register zum Speicher hinzufügen. | add [rsi], rax
ADD reg, imm | Sofort hinzufügen, um sich zu registrieren. | add rax, 42
ADD mem, imm | Sofort zum Speicher hinzufügen. | add dword [rsi], 1

Beschreibung

ADD führt eine ganzzahlige Addition durch dst = dst + src. Es handelt sich um eine der am häufigsten verwendeten Rechenanweisungen. Das Ergebnis ersetzt den Zieloperanden; Der Quelloperand bleibt unverändert. Wenn das mathematische Ergebnis nicht in die Zielbreite passt, wird das Übertragsflag (CF) ist eingestellt.

Flaggen

Beeinflusst je nach Ergebnis OF, SF, ZF, AF, PF, CF.

Codierungsnotizen

  • Unterstützt 8-Bit-, 16-Bit-, 32-Bit- und 64-Bit-Operandengrößen.
  • Hinzufügen zu RSPoderRBP ist gültig, wird aber normalerweise zugunsten von vermieden SUB/ADD auf dem Stapelzeiger an Funktionsprolog-/Epiloggrenzen.
  • Unmittelbare Formen kodieren nach Möglichkeit eine vorzeichenerweiterte 8-Bit-Sofortform für eine kleinere Codegröße.

When to use

VerwendenADD für gewöhnliche Ganzzahladdition, Zeigerarithmetik (mit entsprechender separater Behandlung der Skalierung), Schleifenzähler und Akkumulation.

Beschreibung

HINZUFÜGEN – Hinzufügen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

HINZUFÜGEN – Hinzufügen ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

add rax, 5                   ; rax = rax + 5
add rbx, [count]             ; rbx = rbx + value at memory label 'count'
add [total], rax             ; memory at 'total' += rax

; Common loop counter idiom
add rcx, 1

Siehe auch

  • ADC - Mit Carry hinzufügen
  • SUB
  • INC
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


IDIV - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

IDIV

Dividiert einen vorzeichenbehafteten Dividenden mit doppelter Breite durch den Quelloperanden.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

IDIV reg/mem

Beschreibung

Dividiert einen vorzeichenbehafteten Dividenden mit doppelter Breite durch den Quelloperanden.

Kategorie: Arithmetik | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Unterzeichnete Teilung. Gleiche Registerverwendung wie DIV. Das Vorzeichen des Restes folgt dem Vorzeichen des Dividenden (schneidet gegen Null).

Beschreibung

IDIV – Signierte Divide ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

IDIV – Signierte Divide ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

Beispiel

idiv rbx                     ; signed divide RDX:RAX by RBX

Siehe auch

  • DIV
  • IMUL
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


IMUL - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

IMUL

Multipliziert ganze Zahlen mit Vorzeichen. Hat drei Formen f&uuml;r Flexibilit&auml;t.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

IMUL reg/mem                    ; single operand (implicit result)
IMUL reg, reg/mem               ; two operand
IMUL reg, reg/mem, imm          ; three operand

Beschreibung

Multipliziert ganze Zahlen mit Vorzeichen. Hat drei Formen für Flexibilität.

Kategorie: Arithmetik | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

  • Einzelner Operand: Wie MUL, jedoch signiert. Ergebnis in RDX:RAX.
  • Zwei Operanden: reg = reg * reg/mem. Das Ergebnis wird auf die Registrierungsgröße gekürzt.
  • Drei Operanden: reg = reg/mem * imm. Das Ergebnis wird auf die Registrierungsgröße gekürzt.

Beschreibung

IMUL – Vorzeichenbehaftete Multiplikation ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

IMUL – Vorzeichenbehaftete Multiplikation ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

imul rbx                     ; RDX:RAX = RAX * RBX (signed)
imul rax, rbx                ; RAX = RAX * RBX
imul rax, rbx, 10            ; RAX = RBX * 10

Siehe auch

  • MUL
  • IDIV
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


INC - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

INC

Addiert 1 zum Operanden. Hat keinen Einfluss auf das Carry Flag (CF).

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

INC reg
INC mem

Beschreibung

Addiert 1 zum Operanden. Hat keinen Einfluss auf das Carry Flag (CF).

Kategorie: Arithmetik | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Führt durch operand = operand + 1. Legt OF, SF, ZF, AF, PF fest, ändert jedoch NICHT CF. Benutzen ADD dst, 1 wenn Sie CF aktualisieren müssen.

Beschreibung

INC – Erhöhung um 1 ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

INC – Erhöhung um 1 ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

Beispiel

inc rax
inc DWORD PTR [rbx]

Siehe auch

  • DEC
  • HINZUFÜGEN - Hinzufügen
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


INPUT / VERLASSEN - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

INPUT / VERLASSEN

Erstellt und zerst&ouml;rt Stapelrahmen f&uuml;r Prozeduren.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ENTER imm16, imm8            ; push rbp, mov rbp, rsp, sub rsp, imm16
LEAVE                        ; mov rsp, rbp, pop rbp

Beschreibung

Erstellt und zerstört Stapelrahmen für Prozeduren.

Kategorie: Stapeloperationen | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

  • GEBEN SIE EIN: Erstellt einen Stapelrahmen. Schiebt RBP, setzt RBP = RSP und weist dann lokalen Speicherplatz zu, indem imm16 von RSP abgezogen wird. Der zweite Operand (imm8) gibt die Verschachtelungsebene für verschachtelte Prozeduren an (normalerweise 0).
  • VERLASSEN: Zerstört den Stapelrahmen. Stellt RSP aus RBP wieder her und entfernt dann RBP.

Beschreibung

EINGEBEN/VERLASSEN – Stapelrahmenverwaltung ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

EINGEBEN/VERLASSEN – Stapelrahmenverwaltung ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

enter 32, 0                  ; allocate 32 bytes of local space
...
leave
ret

Siehe auch

  • PUSH
  • POP
  • RET
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


int3 - Aufruf zum Interrupt 3 (Haltepunkt) - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

int3 - Aufruf zum Interrupt 3 (Haltepunkt)

Erzeugt einen speziellen Ein-Byte-Haltepunkt-Trap, der die Steuerung an den Debugger &uuml;bertr&auml;gt.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

INT3

Beschreibung

Erzeugt einen speziellen Ein-Byte-Haltepunkt-Trap, der die Steuerung an den Debugger überträgt.

Kategorie: System/Atom | Gruppe: Debug/Spezial

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
INT3 | Ein-Byte-Breakpoint-Interrupt | int3

Beschreibung

INT3 generiert eine Breakpoint-Ausnahme (#BP, Vektor 3). Es ist als einzelnes Byte kodiert (0xCC) und ist die Standardmethode, mit der Software-Debugger Haltepunkte in ausführbaren Code einfügen. Wenn der Prozessor INT3 ausführt und Debug-Ausnahmen aktiviert sind, wird die Steuerung an den Debug-Ausnahmehandler des Betriebssystems übertragen, der das Ereignis normalerweise an den angeschlossenen Debugger weitergibt.

Im Gegensatz zum Zwei-Byte INT imm8 Formular (CD 03), verfügt INT3 über eine dedizierte Ein-Byte-Kodierung, die es Debuggern erleichtert, jede vorhandene Anweisung zu patchen. Es kann auch explizit in Assembler-Code geschrieben werden, um hartcodierte Trap-Punkte zu erstellen.

Flaggen

Vor der Ausnahme war keiner betroffen; EFLAGS wird als Teil des Ausnahmerahmens auf dem Stapel gespeichert.

Codierungsnotizen

  • Als einzelnes Byte kodiert CC.
  • Die Zwei-Byte-Form CD 03 ist architektonisch äquivalent zum Generieren von Interrupt 3, aber INT3 (CC) wird für Haltepunkte bevorzugt.
  • Im x64-Long-Modus ist das Verhalten identisch mit dem alten x86-Modus, mit der Ausnahme, dass der gespeicherte Befehlszeiger auf das Byte nach INT3 zeigt.

When to use

Verwenden Sie INT3 zum Debuggen: entweder durch manuelles Einfügen in den Quellcode, damit ein Debugger an dieser Stelle stoppt, oder als Byte, das ein Debugger schreibt, wenn Sie einen Software-Haltepunkt festlegen. Belassen Sie keine INT3-Anweisungen in Release-Builds, es sei denn, Sie beabsichtigen, eine Ausnahme auszulösen, da ein nicht behandelter Haltepunkt das Programm zum Absturz bringt, wenn kein Debugger vorhanden ist.

Beschreibung

INT3 – Aufruf zur Unterbrechung 3 (Haltepunkt) ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

INT3 – Aufruf zur Unterbrechung 3 (Haltepunkt) ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Hard-coded breakpoint before a critical check
mov rax, qword ptr [handle]
test rax, rax
int3                    ; break here if debugger attached
jz error_no_handle

; Debugger-inserted patch: original first byte of an instruction
; is replaced with 0xCC, causing execution to trap at that location.

Siehe auch

  • UD2 - Undefinierte Anweisung
  • NOP
  • PAUSE - Spin-Loop-Hinweis
  • Hilfe zum PBXB64-Compiler


Jcc - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

Jcc

&Uuml;bertr&auml;gt die Kontrolle an ein Label, wenn die Bedingung erf&uuml;llt ist.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

Jcc label

Beschreibung

Überträgt die Kontrolle an ein Label, wenn die Bedingung erfüllt ist.

Kategorie: Kontrollübertragung | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Überprüft die Bedingungsflags und springt zur Zielbezeichnung, wenn die Bedingung wahr ist. Bei „false“ wird die Ausführung mit der nächsten Anweisung fortgesetzt.

Konditionsvarianten

Gedächtnisstütze | Zustand | Flaggen
JE / JZ | Gleich / Null | ZF=1
JNE / JNZ | Ungleich / Nicht Null | ZF=0
JA / JNBE | Oben | CF=0 und ZF=0
JAE / JNB | Oben oder gleich | CF=0
JB / JNAE | Unten | CF=1
JBE / JNA | Unten oder gleich | CF=1 oder ZF=1
JG / JNLE | Größer (signiert) | ZF=0 und SF=OF
JGE / JNL | Größer oder gleich (mit Vorzeichen) | SF=OF
JL / JNGE | Weniger (signiert) | SF!=OF
JLE / JNG | Kleiner oder gleich (mit Vorzeichen) | ZF=1 oder SF!=OF
JO / JNO | Überlauf / Nicht Überlauf | OF=1 / OF=0
JS / JNS | Unterschreiben / Nicht unterschreiben | SF=1 / SF=0
JP / JNP | Parität gerade / Parität ungerade | PF=1 / PF=0

Beschreibung

Jcc – Bedingter Sprung ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

Jcc – Bedingter Sprung ist eine control-transfer Instruktion fuer control flow. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

cmp rax, rbx
je equal
jg greater
jl less

test rax, rax
jz zero

Siehe auch

  • JMP
  • CMP
  • TEST
  • CMOVcc
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


JMP - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

JMP

&Uuml;bertr&auml;gt die Ausf&uuml;hrung bedingungslos an einen neuen Ort.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

JMP label
JMP reg
JMP [mem]

Beschreibung

Überträgt die Ausführung bedingungslos an einen neuen Ort.

Kategorie: Kontrollübertragung | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Überträgt die Kontrolle an das Ziel. Das Ziel kann ein Label, ein Register (indirekter Sprung) oder ein Speicherort (indirekter Sprung) sein. Gibt keine Absenderadresse weiter.

Beschreibung

JMP – Bedingungsloser Sprung ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

JMP – Bedingungsloser Sprung ist eine control-transfer Instruktion fuer control flow. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

jmp target
...
target:
    nop

jmp rax                    ; indirect jump
jmp [rbx]                  ; memory indirect

Siehe auch

  • CALL
  • RET
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


LEA - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

LEA

Berechnet die effektive Adresse eines Speicheroperanden und speichert sie in einem Register.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LEA reg, [mem]

Beschreibung

Berechnet die effektive Adresse eines Speicheroperanden und speichert sie in einem Register.

Kategorie: Datenbewegung | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Berechnet die Adresse des Speicheroperanden (ohne auf den Speicher zuzugreifen) und speichert sie im Zielregister. Wird häufig für Zeigerarithmetik und schnelle Ganzzahlberechnung verwendet (z. B. lea rax, [rbx+rbx*4] berechnet rax = rbx * 5).

Beschreibung

LEA – Effektive Adresse laden ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LEA – Effektive Adresse laden ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

lea rax, [rbx+8]           ; rax = rbx + 8
lea rax, [rbx+rcx*4]       ; rax = rbx + rcx*4
lea rax, [rip+label]       ; RIP-relative addressing

Siehe auch

  • MOV
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


LFENCE - Lastzaun - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

LFENCE - Lastzaun

LFENCE ist eine Speicherordnungsanweisung, die alle Ladevorg&auml;nge serialisiert, die vor dem Fencing ausgegeben wurden.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LFENCE

Beschreibung

LFENCE ist eine Speicherordnungsanweisung, die alle Ladevorgänge serialisiert, die vor dem Fencing ausgegeben wurden.

Kategorie: Erinnerungszaun | Gruppe: SSE2/Speicherbestellung

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular Beschreibung Beispiel
LFENCE Keine Operanden; Alle vorherigen Ladevorgänge werden global sichtbar, bevor nachfolgende Ladevorgänge ausgeführt werden.
lfence

Beschreibung

DerLFENCE Die Anweisung serialisiert keine Speicher, sondern lädt nur. Es wird typischerweise als leichte Barriere verwendet, um eine spekulative Neuordnung der Ladung über den Zaunpunkt hinweg zu verhindern. Auf modernen x64-CPUs LFENCE wird üblicherweise mit Opcode ausgegeben 0F AE /5. Es verändert keine Register, Bedingungscodes oder Speicherinhalte.

VerwendenLFENCE wenn Sie zwischen Ladevorgängen eine Reihenfolge benötigen, aber keine vollständige Store-Load-Serialisierung benötigen (die von bereitgestellt wird). MFENCE).

Flaggen

Alle Arithmetik- und Statusflags bleiben davon unberührt.

Codierungsnotizen

  • Opcode: 0F AE /5 (modr/m Byte mit Reg/Opcode-Feld = 101).
  • Kein Speicheroperand; Die Anleitung ist ein eigenständiger Zaun.
  • Innerhalb von PBXB64 gibt der Encoder die 3-Byte-Sequenz aus 0F AE E8 (modr/m = E8).

When to use

VerwendenLFENCE um eine Nur-Lade-Speicherbarriere in sperrfreien Algorithmen, beim Abfragen von Ereignisschleifen-Flags oder beim Koppeln mit zu erstellen SFENCE für Bestellungen im Laden ohne die höheren Kosten von MFENCE.

Beschreibung

LFENCE – Lastzaun ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LFENCE – Lastzaun ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Ensure a flag read cannot be reordered before the flag write is observed
mov     rax, [flag]
test    rax, rax
jz      .wait
lfence
mov     rbx, [payload]     ; payload load must occur after flag is observed

Siehe auch

  • MFENCE - Memory Fence
  • SFENCE - Store Fence
  • LOCK
  • Hilfe zum PBXB64-Compiler


LOCK - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

LOCK

Macht bestimmte Anweisungen auf Multiprozessorsystemen atomar.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LOCK instruction

Beschreibung

Macht bestimmte Anweisungen auf Multiprozessorsystemen atomar.

Kategorie: Atomar | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Präfix, das das LOCK#-Signal (oder eine entsprechende Bussperre) für die Dauer des Befehls aktiviert. Stellt sicher, dass der Lese-, Änderungs- und Schreibzyklus für alle CPUs atomar ist.

Unterstützte Anweisungen

lock add / lock adc / lock sub / lock sbb / lock and / lock or / lock xor
lock inc / lock dec / lock neg / lock not
lock xadd / lock cmpxchg / lock cmpxchg8b / lock cmpxchg16b
lock bts / lock btr / lock btc

Beschreibung

LOCK – Präfix sperren ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LOCK – Präfix sperren ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

lock inc DWORD PTR [counter]
lock cmpxchg [rbx], rcx

Siehe auch

  • CMPXCHG / CMPXCHG8B / CMPXCHG16B
  • XADD - Exchange and Add
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


MAXSD - Maximum Scalar Double-Precision Floating-Point - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MAXSD - Maximum Scalar Double-Precision Floating-Point

MAXSD gibt den gr&ouml;&szlig;eren von zwei skalaren Gleitkommawerten mit doppelter Genauigkeit (64-Bit) zur&uuml;ck.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MAXSD xmm1, xmm2/m64

Beschreibung

MAXSD gibt den größeren von zwei skalaren Gleitkommawerten mit doppelter Genauigkeit (64-Bit) zurück.

Kategorie: SSE/AVX | Gruppe: SSE2 Skalarer Gleitkommawert

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular Beschreibung Beispiel
MAXSD xmm1, xmm2 Vergleichen Sie den Wert mit niedriger doppelter Genauigkeit in xmm1 mit niedrigem Wert in xmm2; Speichern Sie das Maximum im unteren Quadword von xmm1.
maxsd xmm0, xmm1
MAXSD xmm1, m64 Vergleichen Sie den Wert mit niedriger doppelter Genauigkeit in xmm1 mit 64-Bit-Speicherwert; Speichern Sie das Maximum im unteren Quadword von xmm1.
maxsd xmm0, qword [rbx]

Beschreibung

MAXSD Arbeitet auf den unteren 64 Bits des Ziels xmm Register und eine 64-Bit-Quelle (entweder eine andere xmm Register oder Speicherort). Die oberen Bits des Quelloperanden werden ignoriert. Die oberen 64 Bits (Bits 64–127) des Ziels xmm Register bleiben erhalten. Wenn einer der Operanden NaN ist, hängt das Ergebnis von den durch die SSE-Semantik definierten Ruhe-/Signalisierungs-NaN-Verarbeitungsregeln ab.

Flaggen

EFLAGS bleiben hiervon unberührt MAXSD.

Codierungsnotizen

  • Erfordert SSE2.
  • Opcode: F2 0F 5F /r für die Register-/Memory-Formulare.
  • DerF2 Präfix wählt Skalaroperation mit doppelter Genauigkeit aus.
  • Am Vergleich nimmt nur das Low-Quadword (Bits 0–63) teil; Die Bits 64–127 des Ziels bleiben unverändert.

When to use

VerwendenMAXSD für skalare Klemmung mit doppelter Genauigkeit, verzweigungslose Max-Operationen oder Normalisierungscode, bei dem Sie den größeren von zwei 64-Bit-Gleitkommawerten benötigen, ohne den Kontrollfluss zu ändern.

Beschreibung

MAXSD – Maximaler skalarer Gleitkommawert mit doppelter Genauigkeit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MAXSD – Maximaler skalarer Gleitkommawert mit doppelter Genauigkeit ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Clamp a double in xmm0 to a minimum of 0.0
movsd   xmm1, [zero]
maxsd   xmm0, xmm1          ; xmm0 = max(xmm0, 0.0)

; Find the larger of two doubles stored in memory
movsd   xmm0, [val_a]
maxsd   xmm0, [val_b]       ; xmm0 low = larger of val_a, val_b

Siehe auch

  • MINSD - Minimum Scalar Double-Precision Floating-Point
  • MAXSS - Maximum Scalar Single-Precision Floating-Point
  • ADDSD - Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen
  • SUBSD - Skalaren Gleitkommawert mit doppelter Genauigkeit subtrahieren
  • Hilfe zum PBXB64-Compiler


MAXSS - Maximum Scalar Single-Precision Floating-Point - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MAXSS - Maximum Scalar Single-Precision Floating-Point

MAXSS gibt den gr&ouml;&szlig;eren von zwei skalaren Gleitkommawerten mit einfacher Genauigkeit (32 Bit) zur&uuml;ck.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MAXSS xmm1, xmm2/m32

Beschreibung

MAXSS gibt den größeren von zwei skalaren Gleitkommawerten mit einfacher Genauigkeit (32 Bit) zurück.

Kategorie: SSE/AVX | Gruppe: SSE Skalarer Gleitkommawert

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular Beschreibung Beispiel
MAXSS xmm1, xmm2 Vergleichen Sie den Wert mit niedriger einfacher Genauigkeit in xmm1 mit niedrigem Wert in xmm2; Speichern Sie das Maximum im niedrigen Dword von xmm1.
maxss xmm0, xmm1
MAXSS xmm1, m32 Vergleichen Sie den Wert mit niedriger einfacher Genauigkeit in xmm1 mit 32-Bit-Speicherwert; Speichern Sie das Maximum im niedrigen Dword von xmm1.
maxss xmm0, dword [rbx]

Beschreibung

MAXSS vergleicht die unteren 32 Bits des Ziels xmm Register mit einer 32-Bit-Gleitkommaquelle. Die Bits 32–127 des Ziels bleiben erhalten. Die Quelle kann eine andere sein xmm Register oder einen Speicherort. Die NaN-Ausbreitung folgt den Standard-SSE-Skalarregeln.

Flaggen

EFLAGS bleiben hiervon unberührt MAXSS.

Codierungsnotizen

  • Erfordert SSE.
  • Opcode: F3 0F 5F /r.
  • DerF3 Präfix wählt Skalaroperation mit einfacher Genauigkeit aus.
  • Nur das niedrige Dword (Bits 0–31) ist beteiligt; Die Bits 32–127 des Ziels bleiben erhalten.

When to use

VerwendenMAXSS für Skalar-Float-Spannung, schnell verzweigungslos maxoder Grafik-/Audiocode, der mit 32-Bit-Gleitkomma-Samples arbeitet.

Beschreibung

MAXSS – Maximaler skalarer Gleitkommawert mit einfacher Genauigkeit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MAXSS – Maximaler skalarer Gleitkommawert mit einfacher Genauigkeit ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Clamp a float to a lower bound
movss   xmm1, [lower_bound]
maxss   xmm0, xmm1          ; xmm0 = max(xmm0, lower_bound)

; Select larger of two floats in memory
movss   xmm0, [a]
maxss   xmm0, [b]           ; xmm0 low = max(a, b)

Siehe auch

  • MINSS - Minimum Scalar Single-Precision Floating-Point
  • MAXSD - Maximum Scalar Double-Precision Floating-Point
  • ADDSS - Skalaren Gleitkomma mit einfacher Genauigkeit hinzufügen
  • Hilfe zum PBXB64-Compiler


MFENCE - Memory Fence - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MFENCE - Memory Fence

MFENCE f&uuml;hrt einen vollst&auml;ndigen Speicher-Ordering-Fence durch und serialisiert alle Lade- und Speichervorg&auml;nge, die vor dem Fence ausgegeben wurden, relativ zu denen, die danach ausgegeben wurden.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MFENCE

Beschreibung

MFENCE führt einen vollständigen Speicher-Ordering-Fence durch und serialisiert alle Lade- und Speichervorgänge, die vor dem Fence ausgegeben wurden, relativ zu denen, die danach ausgegeben wurden.

Kategorie: Erinnerungszaun | Gruppe: SSE2/Speicherbestellung

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular Beschreibung Beispiel
MFENCE Keine Operanden; Alle vorangegangenen Speicherzugriffe sind vor allen nachfolgenden Speicherzugriffen global sichtbar.
mfence

Beschreibung

MFENCE stellt sicher, dass alle Speicherladevorgänge und -speicherungen vor dem Zaun global sichtbar sind, bevor alle Ladevorgänge oder Speichervorgänge nach dem Zaun ausgeführt werden. Es ist stärker als LFENCE (nur Laden) und SFENCE (nur im Geschäft). Diese Anweisung wird häufig in sperrenfreien Datenstrukturen, Producer-Consumer-Warteschlangen und speicherabgebildeter E/A-Synchronisation verwendet.

Flaggen

Alle Arithmetik- und Statusflags bleiben davon unberührt.

Codierungsnotizen

  • Opcode: 0F AE /6 (modr/m Byte mit Reg/Opcode-Feld = 110).
  • Kein Speicheroperand; Anleitung für einen eigenständigen Zaun.
  • PBXB64 gibt die 3-Byte-Sequenz aus 0F AE F0 (modr/m = F0).

When to use

VerwendenMFENCE Wenn Sie eine vollständige Speicherbarriere benötigen: Die Reihenfolge „Speichern-Speichern“, „Laden-Laden“, „Laden-Speichern“ und „Speichern-Laden“ wird erzwungen. Bevorzugen LFENCEoderSFENCE wenn Sie nur die Bestellung laden oder speichern möchten.

Beschreibung

MFENCE – Erinnerungszaun ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MFENCE – Erinnerungszaun ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Publish a message to a lock-free queue
mov     [msg_payload], rax
mov     [msg_ready], 1
mfence                      ; ensure payload is written before ready flag

Siehe auch

  • LFENCE - Lastzaun
  • SFENCE - Store Fence
  • LOCK
  • Hilfe zum PBXB64-Compiler


MINSD - Minimum Scalar Double-Precision Floating-Point - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MINSD - Minimum Scalar Double-Precision Floating-Point

MINSD gibt den kleineren von zwei skalaren Gleitkommawerten mit doppelter Genauigkeit (64-Bit) zur&uuml;ck.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MINSD xmm1, xmm2/m64

Beschreibung

MINSD gibt den kleineren von zwei skalaren Gleitkommawerten mit doppelter Genauigkeit (64-Bit) zurück.

Kategorie: SSE/AVX | Gruppe: SSE2 Skalarer Gleitkommawert

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular Beschreibung Beispiel
MINSD xmm1, xmm2 Vergleichen Sie den Wert mit niedriger doppelter Genauigkeit in xmm1 mit niedrigem Wert in xmm2; Speichern Sie das Minimum im unteren Quadword von xmm1.
minsd xmm0, xmm1
MINSD xmm1, m64 Vergleichen Sie den Wert mit niedriger doppelter Genauigkeit in xmm1 mit 64-Bit-Speicherwert; Speichern Sie das Minimum im unteren Quadword von xmm1.
minsd xmm0, qword [rbx]

Beschreibung

MINSD vergleicht die unteren 64 Bits des Ziels xmm Registrieren Sie sich gegen eine 64-Bit-Gleitkommaquelle. Der kleinere Wert wird in das untere Quadword des Ziels geschrieben; Die Bits 64–127 des Ziels bleiben erhalten. Wenn einer der Operanden NaN ist, folgt das Ergebnis den SSE-Ruhe-/Signalisierungs-NaN-Regeln.

Flaggen

EFLAGS bleiben hiervon unberührt MINSD.

Codierungsnotizen

  • Erfordert SSE2.
  • Opcode: F2 0F 5D /r.
  • DerF2 Präfix wählt Skalaroperation mit doppelter Genauigkeit aus.
  • Nur das niedrige Quadword (Bits 0–63) ist beteiligt; Die Bits 64–127 des Ziels bleiben erhalten.

When to use

VerwendenMINSD für skalare Klemmung mit doppelter Genauigkeit, verzweigungslose Minimalauswahl oder jeden Algorithmus, der den kleineren von zwei 64-Bit-Floats erfordert.

Beschreibung

MINSD – Minimaler skalarer Gleitkommawert mit doppelter Genauigkeit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MINSD – Minimaler skalarer Gleitkommawert mit doppelter Genauigkeit ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Clamp a double to an upper bound
movsd   xmm1, [upper_bound]
minsd   xmm0, xmm1          ; xmm0 = min(xmm0, upper_bound)

; Choose smaller of two doubles
movsd   xmm0, [x]
minsd   xmm0, [y]           ; xmm0 low = min(x, y)

Siehe auch

  • MAXSD - Maximum Scalar Double-Precision Floating-Point
  • MINSS - Minimum Scalar Single-Precision Floating-Point
  • ADDSD - Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen
  • Hilfe zum PBXB64-Compiler


MINSS - Minimum Scalar Single-Precision Floating-Point - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MINSS - Minimum Scalar Single-Precision Floating-Point

MINSS gibt den kleineren von zwei skalaren Gleitkommawerten mit einfacher Genauigkeit (32 Bit) zur&uuml;ck.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MINSS xmm1, xmm2/m32

Beschreibung

MINSS gibt den kleineren von zwei skalaren Gleitkommawerten mit einfacher Genauigkeit (32 Bit) zurück.

Kategorie: SSE/AVX | Gruppe: SSE Skalarer Gleitkommawert

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular Beschreibung Beispiel
MINSS xmm1, xmm2 Vergleichen Sie den Wert mit niedriger einfacher Genauigkeit in xmm1 mit niedrigem Wert in xmm2; Speichern Sie das Minimum im unteren Dword von xmm1.
minss xmm0, xmm1
MINSS xmm1, m32 Vergleichen Sie den Wert mit niedriger einfacher Genauigkeit in xmm1 mit 32-Bit-Speicherwert; Speichern Sie das Minimum im unteren Dword von xmm1.
minss xmm0, dword [rbx]

Beschreibung

MINSS vergleicht die unteren 32 Bits des Ziels xmm Register mit einer 32-Bit-Gleitkommaquelle. Der kleinere Wert wird in das niedrige Dword des Ziels geschrieben; Die Bits 32–127 des Ziels bleiben erhalten. Das NaN-Verhalten folgt den SSE-Skalarregeln.

Flaggen

EFLAGS bleiben hiervon unberührt MINSS.

Codierungsnotizen

  • Erfordert SSE.
  • Opcode: F3 0F 5D /r.
  • DerF3 Präfix wählt Skalaroperation mit einfacher Genauigkeit aus.
  • Nur das niedrige Dword (Bits 0–31) ist beteiligt; Die Bits 32–127 des Ziels bleiben erhalten.

When to use

VerwendenMINSS für skalare Float-Klammerung, verzweigte Minimalauswahl oder Signalverarbeitungscode, der mit 32-Bit-Gleitkommawerten arbeitet.

Beschreibung

MINSS – Minimaler skalarer Gleitkommawert mit einfacher Genauigkeit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MINSS – Minimaler skalarer Gleitkommawert mit einfacher Genauigkeit ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Clamp a float to an upper bound
movss   xmm1, [upper]
minss   xmm0, xmm1          ; xmm0 = min(xmm0, upper)

; Find smaller of two floats
movss   xmm0, [u]
minss   xmm0, [v]           ; xmm0 low = min(u, v)

Siehe auch

  • MAXSS - Maximum Scalar Single-Precision Floating-Point
  • MINSD - Minimum Scalar Double-Precision Floating-Point
  • ADDSS - Skalaren Gleitkomma mit einfacher Genauigkeit hinzufügen
  • Hilfe zum PBXB64-Compiler


MOV - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MOV

Kopiert Daten von der Quelle zum Ziel. Die am h&auml;ufigsten verwendete x86-64-Anweisung.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MOV dst, src

Beschreibung

Kopiert Daten von der Quelle zum Ziel. Die am häufigsten verwendete x86-64-Anweisung.

Kategorie: Datenbewegung | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
reg, reg | Registrieren Sie sich, um sich zu registrieren | mov rax, rbx
reg, mem | Speicher zum Registrieren | mov rax, [rbx]
mem, reg | Im Speicher registrieren | mov [rbx], rax
reg, imm | Sofortige Anmeldung | mov rax, 42
mem, imm | Unmittelbar im Gedächtnis | mov DWORD PTR [rbx], 42

Beschreibung

Kopiert den Quelloperanden in den Zieloperanden. Die Quelle wird nicht geändert. Das Ziel kann ein Register oder ein Speicherort sein. Die Quelle kann ein Register, ein Speicherort oder ein unmittelbarer Wert sein.

Codierungsnotizen

  • 64-Bit-Sofortnachrichten werden codiert als MOVABS (REX.W + B8+rd io) für Register.
  • Vorzeichenerweiterte 32-Bit-Sofortdaten zu 64-Bit-Registern verwenden den Standard mov reg64, imm32 Kodierung.
  • Speicheroperanden verwenden ModRM + SIB + Displacement-Codierung.

Beschreibung

MOV – Daten verschieben ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOV – Daten verschieben ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

mov rax, 0x1234             ; immediate to register
mov rbx, [rbp-8]             ; load from stack
mov [rbp-16], rcx            ; store to stack
mov edx, eax                 ; 32-bit move (zero-extends to 64-bit implicitly)
mov al, [rsi]                ; 8-bit load

Siehe auch

  • Kern-GPR-Mnemonik
  • SSE/SSE2/SSE3/SSSE3/SSE4-Mnemonik
  • Assembler-Referenz (nativ x64)
  • Hilfe zum PBXB64-Compiler


MOVAPS - Ausgerichtetes, gepacktes Gleitkomma mit einfacher Genauigkeit verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MOVAPS - Ausgerichtetes, gepacktes Gleitkomma mit einfacher Genauigkeit verschieben

MOVAPS verschiebt 128 Bit ausgerichteter gepackter Gleitkommadaten mit einfacher Genauigkeit zwischen zwei XMM-Registern oder zwischen einem XMM-Register und einem ausgerichteten 16-Byte-Speicherort.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MOVAPS xmm1, xmm2/m128
MOVAPS xmm1/m128, xmm2

Beschreibung

MOVAPS verschiebt 128 Bit ausgerichteter gepackter Gleitkommadaten mit einfacher Genauigkeit zwischen zwei XMM-Registern oder zwischen einem XMM-Register und einem ausgerichteten 16-Byte-Speicherort.

Kategorie: Datenbewegung | Gruppe: SSE-gepackter Gleitkommawert

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular Beschreibung Beispiel
MOVAPS xmm1, xmm2 Kopieren Sie 128 Bit vom Quell-XMM-Register in das Ziel-XMM-Register.
movaps xmm0, xmm1
MOVAPS xmm1, m128 Laden Sie 128 Bit von einem 16-Byte-ausgerichteten Speicherort in ein XMM-Register.
movaps xmm0, oword [rbx]
MOVAPS m128, xmm1 Speichern Sie 128 Bits aus einem XMM-Register an einem 16-Byte-ausgerichteten Speicherort.
movaps oword [rbx], xmm0

Beschreibung

MOVAPS Überträgt den gesamten 128-Bit-Inhalt eines xmm registrieren. Der Speicheroperand muss an einer 16-Byte-Grenze ausgerichtet sein; andernfalls tritt eine allgemeine Schutzausnahme (#GP) auf. Diese Anweisung behandelt die Bits als vier gepackte Gleitkommazahlen mit einfacher Genauigkeit, es wird jedoch keine Konvertierung oder Arithmetik durchgeführt. Dies ist der schnellste Weg, ausgerichtete 128-Bit-Daten zu verschieben, wenn die Ausrichtung gewährleistet werden kann.

Flaggen

EFLAGS bleiben hiervon unberührt MOVAPS.

Codierungsnotizen

  • Erfordert SSE.
  • Opcode: 0F 28 /r (Laden/Registrieren verschieben), 0F 29 /r (Laden).
  • Speicheroperanden müssen 16-Byte-ausgerichtet sein.
  • VerwendenMOVUPS wenn die Ausrichtung nicht garantiert werden kann.

When to use

VerwendenMOVAPS für schnelle ausgerichtete 128-Bit-Datenübertragungen, das Speichern/Wiederherstellen von SSE-Registern oder das Verschieben gepackter Float-Vektoren zwischen XMM-Registern. Stellen Sie stets eine 16-Byte-Ausrichtung der Speicheradresse sicher.

Beschreibung

MOVAPS – Ausgerichtetes, gepacktes Gleitkomma mit einfacher Genauigkeit verschieben ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVAPS – Ausgerichtetes, gepacktes Gleitkomma mit einfacher Genauigkeit verschieben ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Copy a full XMM vector
movaps  xmm0, xmm1

; Load an aligned SIMD vector
movaps  xmm2, oword [matrix_row]

; Store an aligned SIMD vector
movaps  oword [result], xmm0

Siehe auch

  • MOVUPS - Nicht ausgerichtete gepackte Gleitkommazahlen mit einfacher Genauigkeit verschieben
  • MOVSS - Skalare Gleitkommazahlen mit einfacher Genauigkeit verschieben
  • ADDPS - Gepacktes Gleitkomma mit einfacher Genauigkeit hinzufügen
  • Hilfe zum PBXB64-Compiler


MOVD - Doppelwort verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MOVD - Doppelwort verschieben

MOVD verschiebt einen 32-Bit-Wert zwischen einem Allzweckregister oder Speicherort und einem MMX/SSE-Register, wobei die Nullen bis in die oberen Bits des SIMD-Registers reichen.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MOVD xmm1, r/m32
MOVD r/m32, xmm1
MOVD mm, r/m32
MOVD r/m32, mm

Beschreibung

MOVD verschiebt einen 32-Bit-Wert zwischen einem Allzweckregister oder Speicherort und einem MMX/SSE-Register, wobei die Nullen bis in die oberen Bits des SIMD-Registers reichen.

Kategorie: Datenbewegung | Gruppe: MMX/SSE-Ganzzahlverschiebung

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular Beschreibung Beispiel
MOVD xmm, r32 Verschieben Sie das 32-Bit-Allzweckregister in die unteren 32 Bit von XMM. Die oberen 96 Bits werden auf Null gelöscht.
movd xmm0, eax
MOVD xmm, m32 Laden Sie den 32-Bit-Speicherwert in die unteren 32 Bit von XMM. Die oberen 96 Bits wurden gelöscht.
movd xmm0, dword [rbx]
MOVD r32, xmm Extrahieren Sie die unteren 32 Bits von XMM in das Allzweckregister.
movd eax, xmm0
MOVD m32, xmm Speichern Sie niedrige 32 Bit XMM im Speicher.
movd dword [rbx], xmm0
MOVD mm, r32 Verschieben Sie den 32-Bit-Wert in die unteren 32 Bits des MMX-Registers. Die oberen 32 Bits wurden gelöscht.
movd mm0, eax

Beschreibung

MOVD (Move Doubleword) überträgt einen 32-Bit-Skalarwert zwischen den niedrigen Bits eines SIMD-Registers und einem Allzweckregister oder Speicher. Beim Schreiben in ein XMM-Register werden die oberen 96 Bits auf Null gesetzt. Beim Schreiben in ein MMX-Register werden die oberen 32 Bits auf Null gesetzt. Es führt keine Formatkonvertierung durch; die Bits werden einfach kopiert.

Flaggen

EFLAGS bleiben hiervon unberührt MOVD.

Codierungsnotizen

  • Erfordert SSE2 für XMM-Formulare, MMX für MMX-Formulare.
  • SSE2-XMM-Opcode: 66 0F 6E /r (XMM <- r/m32), 66 0F 7E /r (r/m32 <- XMM).
  • MMX-Opcode: 0F 6E /r (MM <- r/m32), 0F 7E /r (r/m32 <- MM).
  • Der66 Das Präfix „Operandengröße“ unterscheidet die XMM-Formulare von den älteren MMX-Formularen.

When to use

VerwendenMOVD um 32-Bit-Ganzzahlwerte in oder aus SIMD-Registern zu marschieren, um ein XMM-Register mit einer skalaren Ganzzahl zu initialisieren oder um eine Schnittstelle zwischen Ganzzahl- und SSE-Codepfaden zu schaffen.

Beschreibung

MOVD – Doppelwort verschieben ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVD – Doppelwort verschieben ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Move an integer into the low 32 bits of an XMM register
movd    xmm0, ecx

; Extract the low 32-bit integer result from XMM
movd    eax, xmm0

; Move a DWORD from memory into MMX (legacy 32-bit path)
movd    mm0, dword [count]

Siehe auch

  • MOVQ - Quadword verschieben
  • MOVAPS - Ausgerichtetes, gepacktes Gleitkomma mit einfacher Genauigkeit verschieben
  • cvtsi2sd - Vorzeichenbehaftete Ganzzahl in Skalar-Double umwandeln
  • Hilfe zum PBXB64-Compiler


MOVQ - Quadword verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MOVQ - Quadword verschieben

MOVQ verschiebt einen 64-Bit-Wert zwischen einem XMM/MMX-Register und einem Allzweckregister, Speicherort oder einem anderen SIMD-Register.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MOVQ xmm1, xmm2/m64
MOVQ xmm1/m64, xmm2
MOVQ mm1, mm2/m64
MOVQ mm1/m64, mm2

Beschreibung

MOVQ verschiebt einen 64-Bit-Wert zwischen einem XMM/MMX-Register und einem Allzweckregister, Speicherort oder einem anderen SIMD-Register.

Kategorie: Datenbewegung | Gruppe: MMX/SSE-Ganzzahlverschiebung

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular Beschreibung Beispiel
MOVQ xmm1, xmm2 Niedrige 64 Bit vom Quell-XMM zum Ziel-XMM kopieren; Die oberen 64 Bits des Ziels wurden gelöscht.
movq xmm0, xmm1
MOVQ xmm, m64 Laden Sie 64 Bits aus dem Speicher in das niedrige Quadword von XMM. Die oberen 64 Bits wurden gelöscht.
movq xmm0, qword [rbx]
MOVQ m64, xmm Speichern Sie niedrige 64 Bit XMM im Speicher.
movq qword [rbx], xmm0
MOVQ mm, r/m64 64-Bit-Wert in MMX-Register verschieben (Legacy).
movq mm0, rax
MOVQ r/m64, mm Verschieben Sie den 64-Bit-Wert vom MMX-Register in den GPR/Speicher (Legacy).
movq rax, mm0

Beschreibung

MOVQ (Move Quadword) überträgt einen 64-Bit-Skalarwert. In den SSE2/XMM-Formularen werden die oberen 64 Bits des Ziels auf Null gelöscht, wenn das Ziel ein XMM-Register ist. Die MMX-Formulare verschieben das vollständige 64-Bit-MMX-Register. Es wird keine Formatkonvertierung durchgeführt; Die 64 Bit werden unverändert kopiert. Diese Anweisung wird üblicherweise zum Verschieben von Skalardoppelzahlen, 64-Bit-Ganzzahlen oder Zeigern zwischen GPR- und XMM-Domänen verwendet.

Flaggen

EFLAGS bleiben hiervon unberührt MOVQ.

Codierungsnotizen

  • Erfordert SSE2 für XMM-Formulare, MMX für MMX-Formulare.
  • SSE2-Opcodes: F3 0F 7E /r (XMM <- xmm/m64), 66 0F D6 /r (xmm/m64 <- XMM).
  • MMX-Opcodes: 0F 6F /r (MM <- mm/m64), 0F 7F /r (mm/m64 <- MM).
  • Beim Laden in XMM werden die oberen 64 Bits auf Null gesetzt.

When to use

VerwendenMOVQ um 64-Bit-Skalare zwischen GPR- und XMM-Registern zu übertragen, die obere Hälfte eines XMM-Registers auf Null zu setzen oder skalare Werte mit doppelter Genauigkeit zu kopieren, wenn die oberen Bits nicht erhalten bleiben müssen.

Beschreibung

MOVQ – Quadword verschieben ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVQ – Quadword verschieben ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Load a 64-bit integer into the low quadword of an XMM register
movq    xmm0, rax

; Store the low 64 bits of an XMM register
movq    qword [result], xmm0

; Copy a scalar double between XMM registers (alias for movsd without preserving upper bits)
movq    xmm1, xmm0

Siehe auch

  • MOVD - Doppelwort verschieben
  • MOVSD - Skalare Gleitkommazahlen mit doppelter Genauigkeit verschieben
  • Hilfe zum PBXB64-Compiler


MOVS - String verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MOVS - String verschieben

Verschiebt ein Byte, Wort, Dword oder Qword aus dem Speicherort, auf den verwiesen wird RSI zu dem von angegebenen Ort RDIund aktualisiert dann die Indexregister.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MOVSB
MOVSW
MOVSD
MOVSQ

Beschreibung

Verschiebt ein Byte, Wort, Dword oder Qword aus dem Speicherort, auf den verwiesen wird RSI zu dem von angegebenen Ort RDIund aktualisiert dann die Indexregister.

Kategorie: Zeichenfolge | Gruppe: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Die Operanden sind implizit: [RSI] ist die Quelle und [RDI] ist das Ziel. RSIUndRDI werden durch die Operandengröße und das Richtungsflag angepasst.

Beschreibung

Kopiert Daten von der Quelle zum Ziel. Das Richtungsflag bestimmt, ob die Indexregister inkrementiert oder dekrementiert werden.

Flaggen

Es sind keine Flaggen betroffen.

When to use

VerwendenMOVS für Blockspeicherkopien, insbesondere innerhalb von Schleifen oder mit dem REP Präfix.

Beschreibung

MOVS – Zeichenfolge verschieben ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVS – Zeichenfolge verschieben ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

cld
mov rsi, source
mov rdi, dest
mov rcx, 64
rep movsq       ; copy 64 qwords

Siehe auch

  • REP
  • STOS - Store String
  • MOV
  • Hilfe zum PBXB64-Compiler


MOVSD - Skalare Gleitkommazahlen mit doppelter Genauigkeit verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MOVSD - Skalare Gleitkommazahlen mit doppelter Genauigkeit verschieben

MOVSD verschiebt einen skalaren Gleitkommawert mit doppelter Genauigkeit (64 Bit) zwischen den unteren Quadwords zweier XMM-Register oder zwischen einem XMM-Register und einem 64-Bit-Speicherort.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MOVSD xmm1, xmm2/m64
MOVSD xmm1/m64, xmm2

Beschreibung

MOVSD verschiebt einen skalaren Gleitkommawert mit doppelter Genauigkeit (64 Bit) zwischen den unteren Quadwords zweier XMM-Register oder zwischen einem XMM-Register und einem 64-Bit-Speicherort.

Kategorie: Datenbewegung | Gruppe: SSE2 Skalarer Gleitkommawert

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular Beschreibung Beispiel
MOVSD xmm1, xmm2 Niedrige 64 Bit vom Quell-XMM zum Ziel-XMM kopieren; Die oberen 64 Bits des Ziels bleiben erhalten.
movsd xmm0, xmm1
MOVSD xmm, m64 64-Bit-Double aus dem Speicher in das Low-Quadword von XMM laden; Die oberen 64 Bit bleiben erhalten.
movsd xmm0, qword [value]
MOVSD m64, xmm Speichern Sie niedrige 64 Bit XMM im 64-Bit-Speicher.
movsd qword [value], xmm0

Beschreibung

MOVSD (Move Scalar Double-Precision) überträgt einen einzelnen 64-Bit-IEEE-754-Gleitkommawert mit doppelter Genauigkeit. Wenn das Ziel ein XMM-Register ist, bleiben die oberen 64 Bits dieses Registers erhalten; nur das niedrige Quadword wird geändert. Wenn das Ziel ein Speicher ist, werden die unteren 64 Bits des Quell-XMM-Registers geschrieben. Diese Anweisung ist die primäre Methode zum Laden/Speichern von Skalaren DOUBLE Werte im SSE-Code.

Flaggen

EFLAGS bleiben hiervon unberührt MOVSD.

Codierungsnotizen

  • Erfordert SSE2.
  • Opcode: F2 0F 10 /r (XMM <- xmm/m64), F2 0F 11 /r (xmm/m64 <- XMM).
  • DerF2 Präfix wählt Skalaroperation mit doppelter Genauigkeit aus.
  • Für Skalarbewegungen ist keine Speicherausrichtung erforderlich.

When to use

VerwendenMOVSD wann immer Sie einen einzelnen 64-Bit-Gleitkommawert zwischen Speicher und einem XMM-Register oder zwischen XMM-Registern verschieben müssen, während die oberen 64 Bits des Zielregisters erhalten bleiben.

Beschreibung

MOVSD – Skalare Gleitkommazahl mit doppelter Genauigkeit verschieben ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVSD – Skalare Gleitkommazahl mit doppelter Genauigkeit verschieben ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Load a double from memory
movsd   xmm0, qword [pi]

; Store a double to memory
movsd   qword [result], xmm0

; Copy a scalar double between XMM registers
movsd   xmm1, xmm0

Siehe auch

  • MOVSS - Skalare Gleitkommazahlen mit einfacher Genauigkeit verschieben
  • ADDSD - Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen
  • cvtsd2si - Scalar Double in Signed Integer konvertieren
  • Hilfe zum PBXB64-Compiler


MOVSS - Skalare Gleitkommazahlen mit einfacher Genauigkeit verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MOVSS - Skalare Gleitkommazahlen mit einfacher Genauigkeit verschieben

MOVSS verschiebt einen skalaren Gleitkommawert mit einfacher Genauigkeit (32 Bit) zwischen den unteren Dwords zweier XMM-Register oder zwischen einem XMM-Register und einem 32-Bit-Speicherort.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MOVSS xmm1, xmm2/m32
MOVSS xmm1/m32, xmm2

Beschreibung

MOVSS verschiebt einen skalaren Gleitkommawert mit einfacher Genauigkeit (32 Bit) zwischen den unteren Dwords zweier XMM-Register oder zwischen einem XMM-Register und einem 32-Bit-Speicherort.

Kategorie: Datenbewegung | Gruppe: SSE Skalarer Gleitkommawert

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular Beschreibung Beispiel
MOVSS xmm1, xmm2 Niedrige 32 Bits vom Quell-XMM zum Ziel-XMM kopieren; Die oberen 96 Bits des Ziels bleiben erhalten.
movss xmm0, xmm1
MOVSS xmm, m32 32-Bit-Float aus dem Speicher in das untere Dword von XMM laden; Die oberen 96 Bit bleiben erhalten.
movss xmm0, dword [value]
MOVSS m32, xmm Speichern Sie niedrige 32 Bit XMM im 32-Bit-Speicher.
movss dword [value], xmm0

Beschreibung

MOVSS (Move Scalar Single-Precision) überträgt einen einzelnen 32-Bit-IEEE-754-Gleitkommawert mit einfacher Genauigkeit. Wenn das Ziel ein XMM-Register ist, bleiben die Bits 32–127 des Ziels erhalten; Nur das niedrige Dword wird geändert. Wenn das Ziel ein Speicher ist, werden die unteren 32 Bits des Quell-XMM-Registers geschrieben. Dies ist die Standardanweisung zum Verschieben von Skalaren SINGLE / FLOAT Werte.

Flaggen

EFLAGS bleiben hiervon unberührt MOVSS.

Codierungsnotizen

  • Erfordert SSE.
  • Opcode: F3 0F 10 /r (XMM <- xmm/m32), F3 0F 11 /r (xmm/m32 <- XMM).
  • DerF3 Präfix wählt Skalaroperation mit einfacher Genauigkeit aus.
  • Für Skalarbewegungen ist keine Speicherausrichtung erforderlich.

When to use

VerwendenMOVSS zum Verschieben eines einzelnen 32-Bit-Gleitkommawerts zwischen Speicher und einem XMM-Register oder zwischen XMM-Registern unter Beibehaltung der oberen 96 Bits des Zielregisters.

Beschreibung

MOVSS – Verschieben Sie skalare Gleitkommazahlen mit einfacher Genauigkeit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVSS – Verschieben Sie skalare Gleitkommazahlen mit einfacher Genauigkeit ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Load a float from memory
movss   xmm0, dword [scale]

; Store a float to memory
movss   dword [scale], xmm0

; Copy a scalar float between XMM registers
movss   xmm1, xmm0

Siehe auch

  • MOVSD - Skalare Gleitkommazahlen mit doppelter Genauigkeit verschieben
  • ADDSS - Skalaren Gleitkomma mit einfacher Genauigkeit hinzufügen
  • cvtss2sd - Scalar Single in Scalar Double konvertieren
  • Hilfe zum PBXB64-Compiler
← MOVSD - Skalare Gleitkommazahlen mit doppelter Genauigkeit verschieben Nach oben MOVUPS - Nicht ausgerichtete gepackte Gleitkommazahlen mit einfacher Genauigkeit verschieben →


MOVUPS - Nicht ausgerichtete gepackte Gleitkommazahlen mit einfacher Genauigkeit verschieben - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MOVUPS - Nicht ausgerichtete gepackte Gleitkommazahlen mit einfacher Genauigkeit verschieben

MOVUPS verschiebt 128 Bit gepackter Gleitkommadaten mit einfacher Genauigkeit zwischen XMM-Registern oder zwischen einem XMM-Register und dem Speicher, ohne dass eine 16-Byte-Ausrichtung erforderlich ist.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MOVUPS xmm1, xmm2/m128
MOVUPS xmm1/m128, xmm2

Beschreibung

MOVUPS verschiebt 128 Bit gepackter Gleitkommadaten mit einfacher Genauigkeit zwischen XMM-Registern oder zwischen einem XMM-Register und dem Speicher, ohne dass eine 16-Byte-Ausrichtung erforderlich ist.

Kategorie: Datenbewegung | Gruppe: SSE-gepackter Gleitkommawert

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular Beschreibung Beispiel
MOVUPS xmm1, xmm2 Kopieren Sie 128 Bit vom Quell-XMM-Register in das Ziel-XMM-Register.
movups xmm0, xmm1
MOVUPS xmm, m128 Laden Sie 128 Bit von einer beliebigen Speicheradresse (ausgerichtet oder nicht) in XMM.
movups xmm0, oword [unbuf]
MOVUPS m128, xmm Speichern Sie 128 Bit von XMM an einer beliebigen Speicheradresse.
movups oword [unbuf], xmm0

Beschreibung

MOVUPS ist das nicht ausgerichtete Gegenstück zu MOVAPS. Es überträgt den gesamten 128-Bit-Inhalt eines xmm Register, ohne dass der Speicheroperand an einer 16-Byte-Grenze ausgerichtet sein muss. Auf älteren CPUs kann dies langsamer sein als MOVAPS; Auf modernen x64-CPUs ist die Leistungseinbuße bei normalen Lasten normalerweise vernachlässigbar, ausgerichtete Speicher können jedoch immer noch Vorgänge mit geteilter Cache-Zeile ausführen. Verwenden Sie es, wenn die Ausrichtung nicht garantiert werden kann.

Flaggen

EFLAGS bleiben hiervon unberührt MOVUPS.

Codierungsnotizen

  • Erfordert SSE.
  • Opcode: 0F 10 /r (XMM <- xmm/m128), 0F 11 /r (xmm/m128 <- XMM).
  • Keine Ausrichtungsanforderung für Speicheroperanden.
  • Bei einigen älteren Prozessoren kann das Überschreiten einer Cache-Zeilengrenze zu einer kleinen Strafe führen.

When to use

VerwendenMOVUPS beim Kopieren von 128-Bit-SIMD-Daten, deren Speicheradresse nicht bekanntermaßen 16-Byte-ausgerichtet ist. Bevorzugen MOVAPS wenn Sie die Zuordnung kontrollieren und die Ausrichtung für beste Leistung garantieren können.

Beschreibung

MOVUPS – Verschieben Sie nicht ausgerichtete gepackte Gleitkommazahlen mit einfacher Genauigkeit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVUPS – Verschieben Sie nicht ausgerichtete gepackte Gleitkommazahlen mit einfacher Genauigkeit ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Copy an unaligned 128-bit vector
movups  xmm0, oword [user_buffer]
movups  oword [out_buffer], xmm0

; Move between XMM registers (alignment irrelevant)
movups  xmm1, xmm0

Siehe auch

  • MOVAPS - Ausgerichtetes, gepacktes Gleitkomma mit einfacher Genauigkeit verschieben
  • MOVSS - Skalare Gleitkommazahlen mit einfacher Genauigkeit verschieben
  • ADDPS - Gepacktes Gleitkomma mit einfacher Genauigkeit hinzufügen
  • Hilfe zum PBXB64-Compiler


MOVZX / MOVSX - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MOVZX / MOVSX

Kopiert einen kleineren Operanden in ein gr&ouml;&szlig;eres Register mit Null- oder Vorzeichenerweiterung.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MOVZX reg, reg/mem           ; Move with zero-extension
MOVSX reg, reg/mem           ; Move with sign-extension
MOVSXD reg64, reg/mem32      ; Move with sign-extension (32-bit to 64-bit)

Beschreibung

Kopiert einen kleineren Operanden in ein größeres Register mit Null- oder Vorzeichenerweiterung.

Kategorie: Datenbewegung | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

  • MOVZX: Kopiert die Quelle zum Ziel und füllt die oberen Bits mit Nullen. Keine Schildererweiterung.
  • MOVSX: Kopiert die Quelle zum Ziel und erweitert die oberen Bits um ein Vorzeichen.
  • MOVSXD: Sign-extendiert eine 32-Bit-Quelle auf ein 64-Bit-Ziel. Dies ist das Standardverhalten für 32-Bit-MOV-zu-64-Bit-Register in x64.

Beschreibung

MOVZX / MOVSX – Mit Erweiterung verschieben ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MOVZX / MOVSX – Mit Erweiterung verschieben ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

movzx rax, bl                ; zero-extend BL to RAX
movsx rax, bl                ; sign-extend BL to RAX
movsx eax, bx                ; sign-extend BX to EAX
movsxd rax, [rbx]            ; sign-extend 32-bit memory to 64-bit

Siehe auch

  • MOV
  • CQO - Sign Extend RAX into RDX:RAX
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


MUL - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MUL

Multipliziert einen impliziten Akkumulator mit dem Quelloperanden.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MUL reg/mem

Beschreibung

Multipliziert einen impliziten Akkumulator mit dem Quelloperanden.

Kategorie: Arithmetik | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Multipliziert den impliziten Akkumulator (AL/AX/EAX/RAX) mit dem Quelloperanden. Das Ergebnis der doppelten Breite wird in AX/DX:AX/EDX:EAX/RDX:RAX gespeichert.

Größe | Multiplikand | Ergebnis
8-Bit | AL | AXT
16-Bit | AXT | DX:AX
32-Bit | EAX | EDX:EAX
64-Bit | RAX | RDX:RAX

Beschreibung

MUL – Vorzeichenlose Multiplikation ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MUL – Vorzeichenlose Multiplikation ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

mul rbx                     ; RDX:RAX = RAX * RBX

Siehe auch

  • IMUL
  • DIV
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


MULPS - Gepackte Gleitkomma-Multiplikation mit einfacher Genauigkeit - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MULPS - Gepackte Gleitkomma-Multiplikation mit einfacher Genauigkeit

Multipliziert vier Gleitkommawerte mit einfacher Genauigkeit parallel.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MULPS xmm1, xmm2/m128

Beschreibung

Multipliziert vier Gleitkommawerte mit einfacher Genauigkeit parallel.

Kategorie: SSE/AVX | Gruppe: Gepackte Gleitkomma-Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
MULPS xmm1, xmm2 | Multipliziert gepackte SP-Floats in zwei XMM-Registern. | mulps xmm0, xmm1
MULPS xmm1, m128 | Mehrfach gepackte SP-Floats aus einem XMM-Register und einem 128-Bit-Speicheroperanden. | mulps xmm0, [rbx]

Beschreibung

MULPS (Multiply Packed Single-Precision) führt eine elementweise Multiplikation von vier IEEE-754-Gleitkommawerten mit einfacher Genauigkeit (32 Bit) durch. Der Zieloperand ist ein XMM-Register; Die Quelle kann ein anderes XMM-Register oder ein 128-Bit-Speicherort sein.

Jedes der vier Float-Paare wird unabhängig multipliziert: DEST[i] = DEST[i] * SRC[i] für i = 0..3. Es gibt keine Interaktion zwischen den Spuren. Denormale, NaNs und vorzeichenbehaftete Nullen werden gemäß der SSE-Semantik behandelt.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Verwendet die 0F 59 /r Opcode mit weggelassenem obligatorischen 0x66-Präfix (dies ist ein XMM-SSE1-Befehl, nicht SSE2).
  • Erfordert einen 128-Bit-ausgerichteten Speicheroperanden auf älteren CPUs; nicht ausgerichteter Speicher sollte verwendet werden MULUPS wenn verfügbar.
  • Mit VEX/EVEX-Präfixen lautet die Anweisung VMULPS und unterstützt Drei-Operanden-Formulare und YMM/ZMM-Breiten; PBXB64 gibt das alte SSE-Formular aus, sofern AVX nicht aktiviert ist.

When to use

VerwendenMULPS für vektorisierte Mathematik mit einfacher Genauigkeit, wie z. B. 3D-Koordinatenskalierung, Farbkanalmultiplikation oder einen beliebigen SIMD-Kernel, der vier Gleitkommazahlen pro Befehl verarbeitet.

Beschreibung

MULPS – Gepackte Gleitkomma-Multiplikation mit einfacher Genauigkeit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MULPS – Gepackte Gleitkomma-Multiplikation mit einfacher Genauigkeit ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Multiply two arrays of four floats
movaps xmm0, [vecA]    ; load 4 SP floats
mulps  xmm0, [vecB]    ; xmm0 = vecA * vecB (element-wise)
movaps [result], xmm0

; Register-only packed multiply
movaps xmm2, xmm0
mulps  xmm2, xmm1      ; xmm2 = xmm0 * xmm1

Siehe auch

  • MULSS - Skalare Gleitkommamultiplikation mit einfacher Genauigkeit
  • MULSD - Skalare Gleitkommamultiplikation mit doppelter Genauigkeit
  • ADDPS - Gepacktes Gleitkomma mit einfacher Genauigkeit hinzufügen
  • SUBPS - Gepackte Gleitkommawerte mit einfacher Genauigkeit subtrahieren
  • Hilfe zum PBXB64-Compiler


MULSD - Skalare Gleitkommamultiplikation mit doppelter Genauigkeit - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MULSD - Skalare Gleitkommamultiplikation mit doppelter Genauigkeit

Multipliziert den niedrigen Gleitkommawert mit doppelter Genauigkeit in zwei XMM-Operanden.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MULSD xmm1, xmm2/m64

Beschreibung

Multipliziert den niedrigen Gleitkommawert mit doppelter Genauigkeit in zwei XMM-Operanden.

Kategorie: SSE/AVX | Gruppe: Skalare Gleitkomma-Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
MULSD xmm1, xmm2 | Multiplizieren Sie den Float mit niedriger doppelter Genauigkeit in zwei XMM-Registern. | mulsd xmm0, xmm1
MULSD xmm1, m64 | Multiplizieren Sie den niedrigen Gleitkommawert mit doppelter Genauigkeit in einem XMM-Register mit einem 64-Bit-Speicheroperanden. | mulsd xmm0, qword [rbx]

Beschreibung

MULSD(Multiply Scalar Double-Precision) multipliziert nur den niedrigen 64-Bit-Gleitkommawert mit doppelter Genauigkeit im Ziel-XMM-Register mit dem entsprechenden niedrigen Wert in der Quelle. Die Bits 127:64 des Ziel-XMM-Registers bleiben unverändert erhalten.

Dies ist die primäre Anweisung, die von PBXB64 verwendet wird DOUBLE Multiplikation im kompilierten PB-Code sowie für Skalar float64 Operationen in den C- und B64-Frontends.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Opcode F2 0F 59 /r; Das Präfix F2 REPNE wählt die skalare Form mit doppelter Genauigkeit aus.
  • Der Speicheroperand ist 64 Bit, nicht 128 Bit.
  • Beim Legacy-SSE bleiben die oberen XMM-Bits unverändert. Bei VEX/EVEX lautet die Anweisung VMULSD und setzt die Bits 127:64 des Ergebnisses auf Null.

When to use

VerwendenMULSD wann immer Sie eine einzelne IEEE-754-Multiplikation mit doppelter Genauigkeit benötigen. Es ist das SSE-Äquivalent von x87 FMUL Anweisung, lässt sich aber sauber in den XMM-Registercode integrieren.

Beschreibung

MULSD – Skalare Gleitkommamultiplikation mit doppelter Genauigkeit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MULSD – Skalare Gleitkommamultiplikation mit doppelter Genauigkeit ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Double-precision multiply
movsd xmm0, [a]     ; load a (double)
mulsd xmm0, [b]     ; xmm0.low = a * b
movsd [result], xmm0

; Register scalar multiply
movsd xmm2, xmm0
mulsd xmm2, xmm1    ; xmm2.low = xmm0.low * xmm1.low

Siehe auch

  • MULSS - Skalare Gleitkommamultiplikation mit einfacher Genauigkeit
  • MULPS - Gepackte Gleitkomma-Multiplikation mit einfacher Genauigkeit
  • ADDSD - Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen
  • SUBSD - Skalaren Gleitkommawert mit doppelter Genauigkeit subtrahieren
  • Hilfe zum PBXB64-Compiler


MULSS - Skalare Gleitkommamultiplikation mit einfacher Genauigkeit - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

MULSS - Skalare Gleitkommamultiplikation mit einfacher Genauigkeit

Multipliziert den niedrigen Gleitkommawert mit einfacher Genauigkeit in zwei XMM-Operanden.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

MULSS xmm1, xmm2/m32

Beschreibung

Multipliziert den niedrigen Gleitkommawert mit einfacher Genauigkeit in zwei XMM-Operanden.

Kategorie: SSE/AVX | Gruppe: Skalare Gleitkomma-Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
MULSS xmm1, xmm2 | Multiplizieren Sie den Float mit niedriger einfacher Genauigkeit in zwei XMM-Registern. | mulss xmm0, xmm1
MULSS xmm1, m32 | Multiplizieren Sie den niedrigen Float mit einfacher Genauigkeit in einem XMM-Register mit einem 32-Bit-Speicheroperanden. | mulss xmm0, dword [rbx]

Beschreibung

MULSS (Multiply Scalar Single-Precision) multipliziert nur den niedrigen 32-Bit-Gleitkommawert mit einfacher Genauigkeit im Ziel-XMM-Register mit dem niedrigen Wert in der Quelle. Die Bits 127:32 des Ziel-XMM-Registers bleiben im alten SSE unverändert erhalten.

Diese Anweisung wird für Skalare verwendet FLOAT/SINGLE Multiplikation in PBXB64-kompilierten PB-Programmen und für float32 Operationen in den C- und B64-Frontends.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Opcode F3 0F 59 /r; Das Präfix F3 REP wählt die skalare Form mit einfacher Genauigkeit aus.
  • Der Speicheroperand ist 32 Bit groß.
  • Beim Legacy-SSE bleiben die Bits 127:32 unverändert. Bei VEX/EVEX lautet die Anweisung VMULSS und setzt die Bits 127:32 des Ergebnisses auf Null.

When to use

VerwendenMULSS für skalare Gleitkommamultiplikation mit einfacher Genauigkeit. Bevorzugen MULPS wenn Sie vier Floats parallel verarbeiten können.

Beschreibung

MULSS – Skalare Gleitkommamultiplikation mit einfacher Genauigkeit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

MULSS – Skalare Gleitkommamultiplikation mit einfacher Genauigkeit ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Single-precision multiply
movss xmm0, [x]     ; load x (float)
mulss xmm0, [y]     ; xmm0.low = x * y
movss [z], xmm0

; Register scalar multiply
movss xmm3, xmm0
mulss xmm3, xmm1    ; xmm3.low = xmm0.low * xmm1.low

Siehe auch

  • MULPS - Gepackte Gleitkomma-Multiplikation mit einfacher Genauigkeit
  • MULSD - Skalare Gleitkommamultiplikation mit doppelter Genauigkeit
  • ADDSS - Skalaren Gleitkomma mit einfacher Genauigkeit hinzufügen
  • SUBSS - Skalaren Gleitkommawert mit einfacher Genauigkeit subtrahieren
  • Hilfe zum PBXB64-Compiler


NEG - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

NEG

Ersetzt den Operanden durch seine arithmetische Negation (0 - Operand).

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

NEG reg
NEG mem

Beschreibung

Ersetzt den Operanden durch seine arithmetische Negation (0 - Operand).

Kategorie: Arithmetik | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Führt durch operand = 0 - operand. Setzt OF, SF, ZF, AF, PF, CF. CF wird auf 1 gesetzt, es sei denn, der Operand ist Null. OF wird gesetzt, wenn das Ergebnis überläuft.

Beschreibung

NEG – Negieren (Zweierkomplement) ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

NEG – Negieren (Zweierkomplement) ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

neg rax                     ; rax = -rax
neg DWORD PTR [rbx]

Siehe auch

  • SUB
  • NOT - Bitweises logisches NOT
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


NOP - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

NOP

Tut nichts. Belegt je nach Multibyte-Kodierungsvariante 1&ndash;9 Byte.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

NOP

Beschreibung

Tut nichts. Belegt je nach Multibyte-Kodierungsvariante 1–9 Byte.

Kategorie: Legacy/Kompatibilität | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Führt keine Operation aus. Ändert keine Register, Flags oder Speicher. Wird für die Ausrichtungsauffüllung, das Befehlstiming oder als Platzhalter für Code-Patches verwendet.

Multi-Byte-Kodierungen

Größe | Codierung
1 Byte | 90
2 Bytes | 66 90
3 Bytes | 0F 1F 00
5 Bytes | 0F 1F 44 00 00
9 Bytes | 66 0F 1F 84 00 00 00 00 00

Beschreibung

NOP – Kein Betrieb ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

NOP – Kein Betrieb ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

nop                          ; 1-byte alignment
nop [rax]                    ; 2-byte NOP with ModRM

Siehe auch

  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


NOT - Bitweises logisches NOT - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

NOT - Bitweises logisches NOT

F&uuml;hrt eine Einserkomplementinvertierung jedes Bits im Operanden durch.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

NOT r/m8
NOT r/m16
NOT r/m32
NOT r/m64

Beschreibung

Führt eine Einserkomplementinvertierung jedes Bits im Operanden durch.

Kategorie: Logisch | Gruppe: Unäre bitweise Operation

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
NOT r64 | Invertieren Sie alle Bits eines 64-Bit-Allzweckregisters. | not rax
NOT r32 | Alle Bits eines 32-Bit-Registers invertieren; Die oberen 32 Bits von RAX werden auf Null gesetzt. | not eax
NOT r/m8 | Invertieren Sie alle Bits eines 8-Bit-Registers oder Speicherbytes. | not byte [mask]

Beschreibung

NOT ersetzt jedes Bit des Zieloperanden durch sein Komplement: 0 wird zu 1 und 1 wird zu 0. Es entspricht dem C/BASIC-Ausdruck~x. Der Operand kann ein Register oder ein Speicherort sein; es gibt keine unmittelbare Form.

Im Gegensatz zu den logischen Anweisungen mit zwei Operanden AND, OR, UndXOR, NOT ist eine unäre Operation und erfordert keinen Quelloperanden.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Opcode F6 /2 für 8-Bit-Operanden, F7 /2 für 16/32/64-Bit-Operanden.
  • Das REX-Präfix ist im 64-Bit-Modus für die Heraufstufung der Operandengröße und für den Zugriff auf R8-R15 oder SPL-BPL erforderlich.

When to use

VerwendenNOT für Bitmasken, Flag-Umschaltung und Einserkomplementberechnungen. Kombinieren mit AND um ausgewählte Bits mithilfe einer invertierten Maske zu löschen.

Beschreibung

NOT – Bitweises logisches NOT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

NOT – Bitweises logisches NOT ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Invert a bitmask
mov rax, 0x0F0F0F0F0F0F0F0F
not rax              ; rax = 0xF0F0F0F0F0F0F0F0

; Toggle all bits in a byte
not byte [flags]

; Two's complement short form
neg rax              ; 0 - rax
not rax              ; alternative: ~rax

Siehe auch

  • UND
  • ODER
  • XOR
  • NEG
  • Hilfe zum PBXB64-Compiler


ODER - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

ODER

F&uuml;hrt eine bitweise ODER-Verkn&uuml;pfung von Quelle und Ziel durch und speichert das Ergebnis im Ziel.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

OR dst, src

Beschreibung

Führt eine bitweise ODER-Verknüpfung von Quelle und Ziel durch und speichert das Ergebnis im Ziel.

Kategorie: Logisch | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Führt durch dst = dst | src. Setzt OF=0, CF=0, SF, ZF, PF entsprechend dem Ergebnis. CF wird immer gelöscht. Nützlich zum Setzen von Bits.

Beschreibung

ODER – Bitweises ODER ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

ODER – Bitweises ODER ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

or rax, 0x10               ; set bit 4
or rax, rbx                ; bitwise OR

Siehe auch

  • UND
  • XOR
  • NOT - Bitweises logisches NOT
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


PAND - Bitweises logisches UND für MMX/XMM - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

PAND - Bitweises logisches UND für MMX/XMM

F&uuml;hrt eine bitweise UND-Verkn&uuml;pfung gepackter ganzzahliger Operanden in MMX- oder XMM-Registern durch.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PAND mm1, mm2/m64
PAND xmm1, xmm2/m128

Beschreibung

Führt eine bitweise UND-Verknüpfung gepackter ganzzahliger Operanden in MMX- oder XMM-Registern durch.

Kategorie: MMX/Logisch | Gruppe: Logisch verpackt

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
PAND mm1, mm2 | Bitweises UND von zwei 64-Bit-MMX-Registern. | pand mm0, mm1
PAND xmm1, xmm2 | Bitweises UND von zwei 128-Bit-XMM-Registern. | pand xmm0, xmm1
PAND xmm1, m128 | Bitweises UND eines XMM-Registers und eines 128-Bit-Speichers. | pand xmm0, [mask]

Beschreibung

PAND Berechnet das bitweise UND der gepackten Ganzzahloperanden des Ziels und der Quelle. Es ist das SIMD-Äquivalent der Ganzzahl AND Die Anweisung arbeitet jedoch mit 64-Bit-MMX- oder 128-Bit-XMM-Werten als Einzelbitfeld.

PBXB64 verwendet hauptsächlich die XMM-Form für 128-Bit-Vektormasken, boolesche Reduktion und das Löschen ausgewählter Bits über ein gesamtes SSE-Register.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Opcode 0F DB /r sowohl für MMX- als auch für XMM-Kodierungen.
  • Für XMM ist kein Operandengrößenpräfix erforderlich. Das Vorhandensein eines XMM-Registers in ModRM wählt die 128-Bit-Form aus.
  • Mit VEX/EVEX-Präfixen lautet die Anweisung VPAND; Das alte SSE-Formular wird von PBXB64 ausgegeben, sofern AVX nicht aktiviert ist.

When to use

VerwendenPAND für SIMD-Maskierung, Bitlöschung und vektorisiertes boolesches UND. Benutzen PANDN wenn Sie AND-NOT benötigen (Maske mit invertiertem Ziel).

Beschreibung

PAND – Bitweises logisches UND für MMX/XMM ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PAND – Bitweises logisches UND für MMX/XMM ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Mask off upper bits of four 32-bit integers
movdqa xmm0, [values]
pand   xmm0, [low16_mask]  ; keep only low 16 bits of each dword

; MMX register mask
pand   mm0, mm1

Siehe auch

  • PANDN - Bitweises logisches UND-NICHT für MMX/XMM
  • POR - Bitweises logisches ODER für MMX/XMM
  • PXOR - Bitweises logisches XOR für MMX/XMM
  • UND
  • Hilfe zum PBXB64-Compiler


PANDN - Bitweises logisches UND-NICHT für MMX/XMM - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

PANDN - Bitweises logisches UND-NICHT für MMX/XMM

Kehrt das Ziel um und verkn&uuml;pft es dann mit dem gepackten Ganzzahloperanden der Quelle.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PANDN mm1, mm2/m64
PANDN xmm1, xmm2/m128

Beschreibung

Kehrt das Ziel um und verknüpft es dann mit dem gepackten Ganzzahloperanden der Quelle.

Kategorie: MMX/Logisch | Gruppe: Logisch verpackt

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
PANDN mm1, mm2 | 64-Bit-MMX UND-NICHT. | pandn mm0, mm1
PANDN xmm1, xmm2 | 128-Bit-XMM UND-NICHT. | pandn xmm0, xmm1
PANDN xmm1, m128 | 128-Bit-XMM AND-NOT mit Speicher. | pandn xmm0, [mask]

Beschreibung

PANDN Führt ein bitweises NOT für den Zieloperanden durch und verknüpft das Ergebnis dann mit dem Quelloperanden: DEST = (~DEST) & SRC. Es wird häufig für Maskierungsvorgänge verwendet, bei denen die Maske im Ziel und die Daten in der Quelle gespeichert werden.

Dieser Befehl ist nützlich, um Bits zu löschen, die in der Zielmaske gesetzt sind, und gleichzeitig Bits aus der Quelle beizubehalten, bei denen die Maske Null war.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Opcode 0F DF /r sowohl für MMX- als auch für XMM-Kodierungen.
  • Das Zielregister ist sowohl die Maske als auch das Ergebnisregister; Der Quelloperand wird nicht geändert.
  • Mit VEX/EVEX-Präfixen lautet die Anweisung VPANDN.

When to use

VerwendenPANDN wenn Sie ein kombiniertes NICHT+UND in einem einzelnen SIMD-Befehl benötigen, z. B. zum Löschen ausgewählter Spuren oder zum Erstellen von Vektormasken.

Beschreibung

PANDN – Bitweises logisches UND-NICHT für MMX/XMM ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PANDN – Bitweises logisches UND-NICHT für MMX/XMM ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Clear bits selected by mask (mask in xmm0)
pandn xmm0, xmm1       ; xmm0 = ~xmm0 & xmm1

; Mask out high bits from a 128-bit value
movdqa xmm0, [keep_low]
pandn  xmm0, [data]

Siehe auch

  • PAND - Bitweises logisches UND für MMX/XMM
  • POR - Bitweises logisches ODER für MMX/XMM
  • PXOR - Bitweises logisches XOR für MMX/XMM
  • Hilfe zum PBXB64-Compiler


PAUSE - Spin-Loop-Hinweis - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

PAUSE - Spin-Loop-Hinweis

Gibt einen Hinweis darauf, dass sich der aktuelle Code in einer Busy-Wait-Spin-Schleife befindet.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PAUSE

Beschreibung

Gibt einen Hinweis darauf, dass sich der aktuelle Code in einer Busy-Wait-Spin-Schleife befindet.

Kategorie: System/Atom | Gruppe: Hinweise zum Prozessor

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
PAUSE | Keine Operanden; implizierter Spin-Loop-Hinweis. | pause

Beschreibung

PAUSEist eine mit SSE2 eingeführte Hinweisanweisung. Es teilt der CPU mit, dass der aktuelle Thread eine Spin-Wait-Schleife ausführt, wodurch der Prozessor den Stromverbrauch optimieren und Strafen für Verstöße gegen die Speicherreihenfolge bei Hyper-Threading- und Out-of-Order-Kernen reduzieren kann.

PAUSE ändert weder den Programmstatus noch den Speicher oder die Flags. Es wird normalerweise am Ende einer Spin-Schleife platziert, die wiederholt eine atomare Variable liest, bis sie von einem anderen Thread aktualisiert wird.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Zwei-Byte-Opcode F3 90 (gleiche Bytes wie REP NOP, oft zerlegt als repz nop).
  • Unterstützt auf Pentium 4 und höher; wird auf älteren Prozessoren als NOP ausgeführt.

When to use

VerwendenPAUSE in engen Spin-Schleifen in Multithread-Code, sperrenfreien Algorithmen und Busy-Waits auf atomaren Flags. Es verbessert die Leistung auf Hyper-Threaded-CPUs und reduziert den Stromverbrauch.

Beschreibung

PAUSE – Spin-Loop-Hinweis ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PAUSE – Spin-Loop-Hinweis ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Atomic spin lock acquire
spin:
    lock bts [lock_var], 0
    jnc  acquired
    pause
    test dword [lock_var], 1
    jnz  spin
    jmp  spin
acquired:

Siehe auch

  • NOP
  • LOCK
  • CMPXCHG / CMPXCHG8B / CMPXCHG16B
  • Hilfe zum PBXB64-Compiler


POP - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

POP

L&auml;dt den Wert bei [RSP] in den Operanden und erh&ouml;ht RSP um 8.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

POP reg
POP mem

Beschreibung

Lädt den Wert bei [RSP] in den Operanden und erhöht RSP um 8.

Kategorie: Stapeloperationen | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Lädt den Wert bei [RSP] in das Ziel und erhöht RSP um 8 (im x64-Modus). In x64 arbeitet POP immer mit 64-Bit-Werten.

Beschreibung

POP – Pop vom Stapel ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

POP – Pop vom Stapel ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

pop rax
pop [rbx]

Siehe auch

  • PUSH
  • RET
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


POPA / POPAD - Alle Allzweckregister öffnen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

POPA / POPAD - Alle Allzweckregister öffnen

Stellt alle Allzweckregister vom Stapel in einem einzigen Befehl wieder her.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

POPA    ' 16-bit operands
POPAD   ' 32-bit operands

Beschreibung

Stellt alle Allzweckregister vom Stapel in einem einzigen Befehl wieder her.

Typ: Anleitung | Kategorie: x64-Stack

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Betrieb

Legt Werte vom Stapel in DI, SI, BP, BX, DX, CX, AX (in dieser Reihenfolge für POPA). POPAD verwendet die 32-Bit-Äquivalente. Diese Anweisungen sind im 64-Bit-Modus nicht verfügbar. Verwenden Sie stattdessen einzelne POP-Anweisungen.

Flaggen

Es sind keine Flaggen betroffen.

When to use

Verwenden Sie POPA/POPAD in 16-Bit- oder 32-Bit-Code, um den Registerkontext wiederherzustellen. Im x64-Code wird Pop einzeln registriert.

Beschreibung

POPA / POPAD – Alle Allzweckregister öffnen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

POPA / POPAD – Alle Allzweckregister öffnen ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN() AS LONG
  ' Note: in x64 mode use individual pops
  ! pop rax
  ! pop rbx
  FUNCTION = 0
END FUNCTION

Siehe auch

  • PUSHA / PUSHAD - Alle Allzweckregister pushen
  • POP
  • PUSH
  • Hilfe zum PBXB64-Compiler


POPCNT - Count Set Bits - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

POPCNT - Count Set Bits

Counts the number of one bits in the source operand and writes the count to the destination register.

Kategorie: Verschiedenes

Syntax

popcnt rax, rcx

Beschreibung

Counts the number of one bits in the source operand and writes the count to the destination register.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

POPCNT requires CPU support. For portable code, guard use with feature detection or provide a scalar fallback.

Prfung

Prfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

Beschreibung

Dieses Assembler-Thema gruppiert PBXB64-x64-Assembler-Syntax, Direktiven, Adressierungsregeln oder Mnemonik-Familien. Behandeln Sie es als Navigation plus Nutzungshinweis, sofern keine Unterseite oder kein registrierter Test eine konkrete Instruktionsform belegt.

Prfung der Instruktionsfamilie

Verwenden Sie diese Mnemonik-bersichten als Einstieg in fokussierte Assembler-Tests. Eine vollstndige Prfung nennt CPU-Feature-Bit, Operandenbreite, Register- oder Speicherform, Flag-Auswirkungen und ob die Instruktion im Windows-x64-User-Mode gltig ist.

PBXB64-Integrationshinweise

Inline-Assembler muss die Windows-x64-Aufrufkonvention erhalten, wenn die Kontrolle zu compilererzeugtem Code zurckkehrt. Sichern Sie nichtflchtige Register, halten Sie Stack-Alignment bei Aufrufen ein und dokumentieren Sie absichtlich vernderte Flags oder Register.

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

POPCNT ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

POPCNT ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.


POR - Bitweises logisches ODER für MMX/XMM - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

POR - Bitweises logisches ODER für MMX/XMM

F&uuml;hrt ein bitweises ODER von gepackten ganzzahligen Operanden in MMX- oder XMM-Registern durch.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

POR mm1, mm2/m64
POR xmm1, xmm2/m128

Beschreibung

Führt ein bitweises ODER von gepackten ganzzahligen Operanden in MMX- oder XMM-Registern durch.

Kategorie: MMX/Logisch | Gruppe: Logisch verpackt

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
POR mm1, mm2 | Bitweises ODER von zwei 64-Bit-MMX-Registern. | por mm0, mm1
POR xmm1, xmm2 | Bitweises ODER von zwei 128-Bit-XMM-Registern. | por xmm0, xmm1
POR xmm1, m128 | Bitweises ODER eines XMM-Registers und eines 128-Bit-Speichers. | por xmm0, [bits]

Beschreibung

POR Berechnet das bitweise ODER der gepackten Ganzzahloperanden des Ziels und der Quelle. Es ist das SIMD-Äquivalent der Ganzzahl OR Befehl, der mit 64-Bit-MMX- oder 128-Bit-XMM-Werten als einzelnes Bitfeld arbeitet.

Diese Anweisung ist nützlich zum Kombinieren von Bitmasken, zum Setzen ausgewählter Bits und für vektorisierte boolesche ODER-Operationen.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Opcode 0F EB /r sowohl für MMX- als auch für XMM-Kodierungen.
  • Mit VEX/EVEX-Präfixen lautet die Anweisung VPOR.

When to use

VerwendenPOR für SIMD-Maskierung, Setzen von Bits und vektorisiertes boolesches ODER. Es wird oft mit kombiniert PANDUndPXOR für komplexe Bitfeldmanipulation.

Beschreibung

POR – Bitweises logisches ODER für MMX/XMM ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

POR – Bitweises logisches ODER für MMX/XMM ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Set bits selected by mask
movdqa xmm0, [flags]
por    xmm0, [enable_mask]

; MMX OR
por    mm0, mm1

Siehe auch

  • PAND - Bitweises logisches UND für MMX/XMM
  • PANDN - Bitweises logisches UND-NICHT für MMX/XMM
  • PXOR - Bitweises logisches XOR für MMX/XMM
  • ODER
  • Hilfe zum PBXB64-Compiler


PUSH - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

PUSH

Dekrementiert RSP um 8 und speichert den Operanden auf dem Stapel.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PUSH reg
PUSH mem
PUSH imm

Beschreibung

Dekrementiert RSP um 8 und speichert den Operanden auf dem Stapel.

Kategorie: Stapeloperationen | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Dekrementiert RSP um 8 (im x64-Modus) und speichert den Operanden unter [RSP]. In x64 arbeitet PUSH immer mit 64-Bit-Werten. 32-Bit- und 16-Bit-PUSH sind nicht kodierbar.

Beschreibung

PUSH – Auf den Stapel schieben ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PUSH – Auf den Stapel schieben ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

push rax
push [rbx]
push 42

Siehe auch

  • POP
  • INPUT / VERLASSEN
  • verlassen - High-Level-Prozedur-Exit
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


PUSHA / PUSHAD - Alle Allzweckregister pushen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

PUSHA / PUSHAD - Alle Allzweckregister pushen

Speichert alle Allzweckregister in einem einzigen Befehl auf dem Stapel.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PUSHA    ' 16-bit operands
PUSHAD   ' 32-bit operands

Beschreibung

Speichert alle Allzweckregister in einem einzigen Befehl auf dem Stapel.

Typ: Anleitung | Kategorie: x64-Stack

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Betrieb

Schiebt AX, CX, DX, BX, SP, BP, SI, DI auf den Stapel (in dieser Reihenfolge für PUSHA). PUSHAD verwendet die 32-Bit-Äquivalente. Diese Anweisungen sind im 64-Bit-Modus nicht verfügbar. Verwenden Sie stattdessen einzelne PUSH-Anweisungen.

Flaggen

Es sind keine Flaggen betroffen.

When to use

Verwenden Sie PUSHA/PUSHAD in 16-Bit- oder 32-Bit-Code, um den Registerkontext zu speichern. Pushen Sie im x64-Code die Register einzeln.

Beschreibung

PUSHA / PUSHAD – Alle Allzweckregister pushen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PUSHA / PUSHAD – Alle Allzweckregister pushen ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN() AS LONG
  ' Note: in x64 mode use individual pushes
  ! push rax
  ! push rbx
  FUNCTION = 0
END FUNCTION

Siehe auch

  • POPA / POPAD - Alle Allzweckregister öffnen
  • PUSH
  • POP
  • Hilfe zum PBXB64-Compiler


PXOR - Bitweises logisches XOR für MMX/XMM - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

PXOR - Bitweises logisches XOR für MMX/XMM

F&uuml;hrt ein bitweises XOR von gepackten ganzzahligen Operanden in MMX- oder XMM-Registern durch.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

PXOR mm1, mm2/m64
PXOR xmm1, xmm2/m128

Beschreibung

Führt ein bitweises XOR von gepackten ganzzahligen Operanden in MMX- oder XMM-Registern durch.

Kategorie: MMX/Logisch | Gruppe: Logisch verpackt

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
PXOR mm1, mm2 | Bitweises XOR von zwei 64-Bit-MMX-Registern. | pxor mm0, mm1
PXOR xmm1, xmm2 | Bitweises XOR von zwei 128-Bit-XMM-Registern. | pxor xmm0, xmm1
PXOR xmm1, m128 | Bitweises XOR eines XMM-Registers und eines 128-Bit-Speichers. | pxor xmm0, [key]

Beschreibung

PXOR Berechnet das bitweise XOR der gepackten Ganzzahloperanden des Ziels und der Quelle. Es ist das SIMD-Äquivalent der Ganzzahl XOR Anweisung und ist eine der am häufigsten verwendeten SSE-Anweisungen zum Löschen von Registern und zum Kombinieren von Daten.

Eine klassische Redewendung ist pxor xmm0, xmm0, wodurch ein XMM-Register in weniger Bytes und mit weniger Abhängigkeiten auf Null gesetzt wird als mov von einem auf Null gesetzten Speicherort.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Opcode 0F EF /r sowohl für MMX- als auch für XMM-Kodierungen.
  • Mit VEX/EVEX-Präfixen lautet die Anweisung VPXOR.

When to use

VerwendenPXOR für SIMD XOR, Registernullung, Kryptografieprimitive und Umschaltbits. Dies ist die bevorzugte Methode zum Nullsetzen eines XMM-Registers.

Beschreibung

PXOR – Bitweises logisches XOR für MMX/XMM ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

PXOR – Bitweises logisches XOR für MMX/XMM ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Clear an XMM register
pxor xmm0, xmm0

; XOR 128 bits of data with a key
movdqa xmm0, [plaintext]
pxor   xmm0, [key]
movdqa [ciphertext], xmm0

; MMX XOR
pxor mm0, mm1

Siehe auch

  • PAND - Bitweises logisches UND für MMX/XMM
  • PANDN - Bitweises logisches UND-NICHT für MMX/XMM
  • POR - Bitweises logisches ODER für MMX/XMM
  • XOR
  • Hilfe zum PBXB64-Compiler


RCL/RCR/ROL/ROR - Anweisungen zum Drehen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

RCL/RCR/ROL/ROR - Anweisungen zum Drehen

Dreht die Bits des Zieloperanden nach links oder rechts, optional &uuml;ber das &Uuml;bertragsflag.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

ROL  r/m8, 1
ROL  r/m8, CL
ROL  r/m8, imm8
ROL  r/m16|32|64, 1
ROL  r/m16|32|64, CL
ROL  r/m16|32|64, imm8

ROR  r/m, ...      ; same forms as ROL
RCL  r/m, ...      ; same forms as ROL
RCR  r/m, ...      ; same forms as ROL

Beschreibung

Dreht die Bits des Zieloperanden nach links oder rechts, optional über das Übertragsflag.

Kategorie: Verschieben/Drehen | Gruppe: Drehen

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
ROL r64, 1 | 64-Bit-Register um 1 Bit nach links drehen. | rol rax, 1
ROR r32, CL | Rotiert das 32-Bit-Register um die Anzahl in CL nach rechts. | ror eax, cl
RCL r8, imm8 | 8-Bit-Register sofort durch Übertrag nach links drehen. | rcl al, 3
RCR m16, 1 | Rotieren Sie den 16-Bit-Speicher durch den Übertrag um 1. | rcr word [val], 1

Beschreibung

Die Rotationsanweisungen verschieben die Bits des Zieloperanden zirkulär. Bits, die ein Ende verlassen, treten am anderen Ende wieder ein, sodass keine Informationen verloren gehen.

  • ROL (Nach links drehen): Bits verschieben sich zu höherwertigen Positionen; Das MSB wird zum LSB und zum CF umgeschaltet.
  • ROR (Nach rechts drehen): Bits werden in Richtung weniger signifikanter Positionen verschoben; das LSB wickelt sich um zum MSB und zum CF.
  • RCL (Rotate through Carry Left): Behandelt CF als eine Ein-Bit-Erweiterung über dem MSB. Der Operand und CF rotieren zusammen als 9-, 17-, 33- oder 65-Bit-Feld.
  • RCR (Rotate through Carry Right): Behandelt CF als eine Ein-Bit-Erweiterung unterhalb des LSB. Der Operand und CF rotieren zusammen.

Der Schiebezähler kann 1, der Inhalt des CL-Registers oder ein 8-Bit-Direktwert sein. Bei 64-Bit-Operanden wird die Anzahl modulo der Operandengröße maskiert.

Flaggen

CF wird auf das letzte herausrotierte Bit gesetzt. OF ist nur für 1-Bit-Rotationen definiert: Es wird auf das XOR der beiden höchstwertigen Bits nach einer Linksrotation oder auf das XOR der beiden höchstwertigen Bits nach einer Rechtsrotation gesetzt. Für Multibit-Rotationen ist OF undefiniert. SF, ZF, AF, PF sind bei Multi-Bit-Rotationen nicht betroffen; für 1-Bit-Rotationen sind sie undefiniert.

Codierungsnotizen

  • ROL/RCL: Opcode D0 /0 (8-Bit, Anzahl=1), D1 /0 (32.16.64, Anzahl=1), D2 /0 (8-Bit, CL), D3 /0 (32.16.64, CL), C0 /0 ib (8-Bit, imm), C1 /0 ib (32.16.64, imm).
  • ROR/RCR: Gleiche Opcodes mit ModR/M-Registrierungsfeld /1 statt /0.
  • REX.W ist für die 64-Bit-Operandengröße erforderlich.

When to use

VerwendenROL/ROR für Bitpermutationen, Hashing und Extrahieren von Bitfeldern ohne Datenverlust. Benutzen RCL/RCR für Multipräzisionsverschiebungen und Algorithmen, die den Übertrag über eine Kette von Operanden weitergeben müssen.

Beschreibung

RCL/RCR/ROL/ROR – Anweisungen zum Drehen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RCL/RCR/ROL/ROR – Anweisungen zum Drehen ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Rotate left by 1
rol rax, 1

; Rotate right by count in CL
mov cl, 4
ror ebx, cl

; 9-bit rotate through carry
stc
rcl al, 1        ; CF becomes old bit 7, bit 0 becomes old CF

; 65-bit rotate through carry
rcr rax, 1

Siehe auch

  • SHL
  • SHR
  • SAR
  • ADC - Mit Carry hinzufügen
  • Hilfe zum PBXB64-Compiler


RDTSC - Zeitstempelzähler lesen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

RDTSC - Zeitstempelzähler lesen

Liest den Zeitstempelz&auml;hler des 64-Bit-Prozessors in EDX:EAX.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

RDTSC

Beschreibung

Liest den Zeitstempelzähler des 64-Bit-Prozessors in EDX:EAX.

Kategorie: System/Atom | Gruppe: Systemanweisungen

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
RDTSC | Keine Operanden; liest den TSC in EDX:EAX. | rdtsc

Beschreibung

RDTSC (Zeitstempelzähler lesen) lädt den aktuellen Wert des 64-Bit-Zeitstempelzählers in das EDX:EAX-Registerpaar. EAX empfängt die Bits 31:0 des TSC und EDX empfängt die Bits 63:32. Der TSC erhöht sich mit einer festen Rate (historisch die Nennfrequenz des Prozessors) und wird häufig für Timing, Profilerstellung und Benchmarking verwendet.

Auf modernen Prozessoren ist der TSC über alle Kerne und Energiezustände hinweg unveränderlich, auf älteren Systemen hingegen ist die Software-Serialisierung (z. B. CPUID vorher und nachher, oder die RDTSCP Für genaue Messungen über Kernmigrationen hinweg kann eine Anleitung erforderlich sein.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Zwei-Byte-Opcode 0F 31.
  • Der Befehl ist nicht privilegiert, es sei denn, das TSD-Bit (CR4.TSD) ist gesetzt und CPL > 0; Im normalen Benutzermoduscode wird es fehlerfrei ausgeführt.
  • Bei 64-Bit-Code wird das Ergebnis weiterhin in EDX:EAX abgelegt; RDX und RAX werden nicht gekürzt, aber die oberen 32 Bits von jedem werden durch das implizite 32-Bit-Registerschreiben auf Null gesetzt.

When to use

VerwendenRDTSC für hochauflösendes Timing, Profilierung von Hot Loops und Seeding von Zufallszahlengeneratoren. Für tragbares Benchmarking bevorzugen Sie RDTSCP oder die QueryPerformanceCounter Windows-API zur Vermeidung von Problemen mit Ausführung außerhalb der Reihenfolge und Kernmigration.

Beschreibung

RDTSC – Zeitstempelzähler lesen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RDTSC – Zeitstempelzähler lesen ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Simple timing of a code block
cpuid              ; serialize
rdtsc
mov  [tsc_start], eax
mov  [tsc_start+4], edx

; ... code to benchmark ...

cpuid              ; serialize
rdtsc
sub  eax, [tsc_start]
sbb  edx, [tsc_start+4]   ; edx:eax = elapsed TSC ticks

Siehe auch

  • CPUID - CPU-Identifikation
  • PAUSE - Spin-Loop-Hinweis
  • int3 - Aufruf zum Interrupt 3 (Haltepunkt)
  • Hilfe zum PBXB64-Compiler


REP - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

REP

Wiederholt einen String-Befehl RCX-mal (oder bis die Bedingung erf&uuml;llt ist).

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

REP string_instruction
REPE / REPZ string_instruction
REPNE / REPNZ string_instruction

Beschreibung

Wiederholt einen String-Befehl RCX-mal (oder bis die Bedingung erfüllt ist).

Kategorie: String-Operationen | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

  • REP: Wiederholen, bis RCX=0. Wird mit MOVS, STOS verwendet.
  • REPE/REPZ: Wiederholen, während gleich/null und RCX!=0. Wird mit CMPS, SCAS verwendet.
  • REPNE/REPNZ: Wiederholen, solange ungleich/ungleich Null und RCX!=0. Wird mit CMPS, SCAS verwendet.

Beschreibung

REP / REPE / REPNE – Präfix wiederholen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

REP / REPE / REPNE – Präfix wiederholen ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

rep movsb                    ; copy RCX bytes from RSI to RDI
rep stosd                    ; fill RCX dwords with EAX
repne scasb                  ; scan for AL in [RDI]

Siehe auch

  • MOVS - String verschieben
  • STOS - Store String
  • SCAS - Scan String
  • CMPS - Compare String Operands
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


RET - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

RET

Entfernt die R&uuml;cksprungadresse vom Stapel und setzt die Ausf&uuml;hrung beim Aufrufer fort.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

RET
RET imm16

Beschreibung

Entfernt die Rücksprungadresse vom Stapel und setzt die Ausführung beim Aufrufer fort.

Kategorie: Kontrollübertragung | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Entnimmt die Rücksprungadresse vom Stapel (RSP wird um 8 erhöht) und springt dorthin. Der optionale Direktoperand gibt zusätzliche Bytes an, die vom Stapel entfernt werden sollen (zum Bereinigen von Argumenten in Callee-Cleanup-Konventionen).

Beschreibung

RET – Rückkehr vom Verfahren ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

RET – Rückkehr vom Verfahren ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

ret
ret 32                    ; pop 32 extra bytes after return

Siehe auch

  • CALL
  • JMP
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


SAR - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

SAR

Verschiebt den Operanden nach rechts, wobei das Vorzeichenbit (MSB) erhalten bleibt.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SAR dst, imm8
SAR dst, CL

Beschreibung

Verschiebt den Operanden nach rechts, wobei das Vorzeichenbit (MSB) erhalten bleibt.

Kategorie: Verschieben/Drehen | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Verschiebt Bits nach rechts. Die frei gewordenen High-Bits werden mit dem ursprünglichen Vorzeichenbit gefüllt (Bit 63 für 64-Bit, Bit 31 für 32-Bit). Zur vorzeichenbehafteten Division durch Zweierpotenzen verwenden.

Beschreibung

SAR – Arithmetische Verschiebung nach rechts ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SAR – Arithmetische Verschiebung nach rechts ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

sar rax, 1                  ; signed divide by 2
sar eax, 2                  ; signed divide by 4 (32-bit)

Siehe auch

  • SHR
  • SHL
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


SBB - Subtrahieren mit Ausleihen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

SBB - Subtrahieren mit Ausleihen

Subtrahiert den Quelloperanden und das &Uuml;bertragsflag (CF) vom Zieloperanden.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SBB dest, src

Beschreibung

Subtrahiert den Quelloperanden und das Übertragsflag (CF) vom Zieloperanden.

Kategorie: Arithmetik | Gruppe: Ganzzahlige binäre Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
r/m64, r64 | Subtrahieren Sie Register und CF vom 64-Bit-R/M-Operanden | sbb rax, rbx
r/m32, r32 | Subtrahieren Sie Register und CF vom 32-Bit-R/M-Operanden | sbb eax, ecx
R/M16, R16 | Subtrahieren Sie Register und CF vom 16-Bit-R/M-Operanden | sbb Axt, dx
r/m8, r8 | Subtrahieren Sie Register und CF vom 8-Bit-R/M-Operanden | sbb al, cl
R64, R/M64 | Subtrahieren Sie r/m und CF vom 64-Bit-Register | sbb rax, [rsi]
R32, R/M32 | Subtrahieren Sie r/m und CF vom 32-Bit-Register | sbb eax, [mem]
r/m64, imm32 | Subtrahieren Sie vorzeichenerweiterte Sofortwerte und CF | sbb rax, 1
r/m32, imm32 | Subtrahieren Sie Sofort und CF | sbb eax, 100
r/m16, imm16 | Subtrahieren Sie 16-Bit-Sofortwert und CF | sbb Axt, 0x10
r/m8, imm8 | Subtrahieren Sie 8-Bit-Sofortwert und CF | sbb bl, 5

Beschreibung

DerSBB Der Befehl (Subtract with Borrow) führt eine ganzzahlige Subtraktion des Quelloperanden und des Übertragsflags vom Zieloperanden durch. Das Ergebnis wird im Ziel gespeichert. Mathematisch gesehen, dest = dest - src - CF. Es ist für die Multipräzisionssubtraktion (Mehrwortsubtraktion) konzipiert, bei der die Anleihe aus einer vorherigen Subtraktion niedrigerer Ordnung in das Wort nächsthöherer Ordnung übertragen werden muss.

Für jede Operandengröße verwendet die Operation die natürliche Breite: 8, 16, 32 oder 64 Bit. Wenn ein 32-Bit-Registerziel im 64-Bit-Modus verwendet wird, werden die oberen 32 Bits des Ziels auf Null gesetzt.

Flaggen

Beeinflusst OF, SF, ZF, AF, PF, UndCF entsprechend dem Ergebnis. CF wird gesetzt, wenn eine Ausleihe erforderlich ist (dest < src + CF), andernfalls gelöscht.

Codierungsnotizen

  • Verwendet Opcode 0x1B (reg von r/m), 0x19 (r/m von reg), oder 0x1C/0x1D (Akkumulator-Sofortformen).
  • Unmittelbare Formen mit kleinen Kodierungen bevorzugen die Kurzformen, wenn das Ziel AL/AX/EAX/RAX ist.
  • Das REX-Präfix ist für die 64-Bit-Operandengröße und für erweiterte Register (R8–R15) erforderlich.

When to use

VerwendenSBB bei der Durchführung einer Subtraktion mit erweiterter Genauigkeit über die native Registerbreite hinaus, z. B. 128-Bit-Ganzzahlarithmetik oder Bibliotheken für große Zahlen. Es wird selten für die gewöhnliche Skalarsubtraktion verwendet; verwenden SUB stattdessen, wenn keine Kreditausbreitung erforderlich ist.

Beschreibung

SBB – Subtrahieren mit Ausleihen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SBB – Subtrahieren mit Ausleihen ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; 128-bit subtraction: high:low = high:low - yh:yl
mov rax, [low]
mov rdx, [high]
sub rax, [yl]      ; subtract low parts
sbb rdx, [yh]      ; subtract high parts with borrow
mov [low], rax
mov [high], rdx

Siehe auch

  • SUB
  • ADC - Mit Carry hinzufügen
  • HINZUFÜGEN - Hinzufügen
  • Hilfe zum PBXB64-Compiler


SCAS - Scan String - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

SCAS - Scan String

Compares AL, AX, EAX, or RAX with the memory item addressed by RDI and advances or decrements RDI based on the direction flag.

Kategorie: Verschiedenes

Syntax

cld
mov al, 0
repne scasb

Beschreibung

Compares AL, AX, EAX, or RAX with the memory item addressed by RDI and advances or decrements RDI based on the direction flag.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

SCAS is commonly used with repeat prefixes for byte or word searches. Initialize RDI, RCX, the accumulator register, and the direction flag.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

SCAS ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SCAS ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.


SETcc - Byte auf Bedingung setzen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

SETcc - Byte auf Bedingung setzen

Setzt das Zielbyte auf 1, wenn die angegebene Bedingung wahr ist, andernfalls 0.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SETcc r/m8

Beschreibung

Setzt das Zielbyte auf 1, wenn die angegebene Bedingung wahr ist, andernfalls 0.

Kategorie: Datenbewegung | Gruppe: Bedingter Bytesatz

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
r/m8 | 8-Bit-Register oder Speicherort zum Empfang von 0 oder 1 | sete al
r8 | Low-Byte eines Allzweckregisters | setnz bl
m8 | Byte im Speicher | setg [Flagge]

Beschreibung

DerSETcc Die Familie speichert ein boolesches Byte (0 oder 1) basierend auf dem aktuellen Status des EFLAGS-Registers im Ziel. Der Bedingungscode cc ist das gleiche Suffix, das von bedingten Sprüngen verwendet wird (Jcc) und bedingte Züge. Das Ziel wird nie über das Low-Byte hinaus geändert; Hohe Bytes eines 16/32/64-Bit-Registers bleiben erhalten.

Von dieser Seite abgedeckte Aliase:

  • SETO, SETNO – Überlauf / nicht Überlauf
  • SETB, SETC, SETNAE / SETAE, SETNB, SETNC – Übertrag / über-oder-gleich (ohne Vorzeichen)
  • SETE, SETZ / SETNE, SETNZ – gleich / ungleich
  • SETBE, SETNA / SETA, SETNBE – unter-oder-gleich / darüber (ohne Vorzeichen)
  • SETS / SETNS – unterschreiben / nicht unterschreiben
  • SETP, SETPE / SETNP, SETPO — Parität / nicht Parität
  • SETL, SETNGE / SETGE, SETNL — kleiner/größer-gleich (mit Vorzeichen)
  • SETLE, SETNG / SETG, SETNLE — kleiner oder gleich / größer (mit Vorzeichen)

Flaggen

Keines davon SETcc Anweisungen ändern EFLAGS.

Codierungsnotizen

  • Der primäre Opcode ist 0x0F 0x90 + cc, wo cc ist der 4-Bit-Bedingungsindex.
  • Speicherziele verwenden das Standard-ModR/M-Byte; Das REX-Präfix ist für erweiterte Register oder den 64-Bit-Modus SPL/BPL/SIL/DIL erforderlich.
  • Es gibt keine unmittelbare oder Register-zu-Register-Kurzform; Alle Formen sind Zwei-Byte-Opcode + ModR/M.

When to use

VerwendenSETcc wenn Sie ein Vergleichsergebnis als 0/1-Byte für die Speicherung, Bitpackung oder spätere Arithmetik materialisieren müssen. Dies ist die kanonische Methode, Flags ohne Verzweigung in einen booleschen Wert im C-Stil umzuwandeln.

Beschreibung

SETcc – Byte auf Bedingung setzen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SETcc – Byte auf Bedingung setzen ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Convert signed comparison result to a boolean byte
cmp eax, ebx
setg al          ; al = 1 if eax > ebx (signed), else 0

; Unsigned bounds check
movzx eax, byte [count]
cmp eax, 100
setbe [valid]    ; valid = 1 if count <= 100 (unsigned)

; Zero test without destroying operand
test rcx, rcx
setnz [has_data]

Siehe auch

  • Jcc
  • CMOVcc
  • CMP
  • TEST
  • Hilfe zum PBXB64-Compiler


SFENCE - Store Fence - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

SFENCE - Store Fence

Bestellt alle vorherigen Filialvorg&auml;nge vor allen nachfolgenden Filialvorg&auml;ngen.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SFENCE

Beschreibung

Bestellt alle vorherigen Filialvorgänge vor allen nachfolgenden Filialvorgängen.

Kategorie: Erinnerungszaun | Gruppe:Anweisungen zur Speicherbestellung

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
keiner | Keine Operanden; Arbeitet global an der Speicherordnung | Zaun

Beschreibung

DerSFENCE Die Anweisung garantiert, dass jeder Speicherzugriff, der in der Programmreihenfolge logisch vor dem Zaun liegt, global vor jedem Speicher sichtbar ist, der dem Zaun logisch folgt. Es ist ein von Laden zu Laden nur Zaun; Es werden keine Ladungen gegen Lager oder Ladungen gegen Ladungen angeordnet.

Auf x86 verfügen gewöhnliche Speicher bereits über eine stark geordnete Sichtbarkeit für zwischenspeicherbaren Speicher, nicht-temporale Speicher (wie z. B. die von generierten). MOVNT* Streaming-Store-Anweisungen) sind schwach geordnet. SFENCE ist in erster Linie nach nicht temporären Geschäften erforderlich, um sicherzustellen, dass sie vor nachfolgenden Geschäften sichtbar werden. Für normale gesperrte oder atomare Operationen sind stärkere Zäune (MFENCE oder gesperrte Anweisungen) erforderlich sein.

Flaggen

Es sind keine Flaggen betroffen.

Codierungsnotizen

  • Codiert als 0x0F 0xAE /7 mit ModR/M-Byte 0xF8 (mod=11, reg=111, r/m=000).
  • Nicht verwechseln mit MFENCE (0F AE F0) oder LFENCE (0F AE E8), die unterschiedliche ModR/M-Registrierungsfelder verwenden.

When to use

VerwendenSFENCE nach nicht vorübergehenden Streaming-Shops oder wenn Sie eine Shop-Bestellung ohne die vollen Kosten sicherstellen müssen MFENCE. Für die allgemeine Inter-Thread-Synchronisierung auf x86 bevorzugen Sie gesperrte atomare Anweisungen (z. B. LOCK XADD, LOCK CMPXCHG), die eine vollständige Speicherbestellung ermöglichen.

Beschreibung

SFENCE – Ladenzaun ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SFENCE – Ladenzaun ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Ensure streaming stores are visible before continuing
movntdq [rdi], xmm0
movntdq [rdi+16], xmm1
sfence

; Producer flag publication after a buffer fill
mov [buffer], rax
mov [ready], 1
sfence

Siehe auch

  • MFENCE - Memory Fence
  • LFENCE - Lastzaun
  • LOCK
  • Hilfe zum PBXB64-Compiler


SHL - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

SHL

Verschiebt den Operanden um die angegebene Anzahl von Bits nach links und verschiebt dabei Nullen von rechts.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SHL dst, imm8
SHL dst, CL

Beschreibung

Verschiebt den Operanden um die angegebene Anzahl von Bits nach links und verschiebt dabei Nullen von rechts.

Kategorie: Verschieben/Drehen | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Verschiebt Bits nach links. Das letzte herausgeschobene Bit geht in CF. Die frei gewordenen Low-Bits werden mit Nullen aufgefüllt. OF wird nur für 1-Bit-Verschiebungen gesetzt. SF, ZF, PF werden entsprechend dem Ergebnis eingestellt.

Beschreibung

SHL / SAL – Nach links verschieben ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHL / SAL – Nach links verschieben ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

shl rax, 1                  ; multiply by 2
shl rax, 3                  ; multiply by 8
shl rax, cl                 ; shift by CL

Siehe auch

  • SHR
  • SAR
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


SHR - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

SHR

Verschiebt den Operanden um die angegebene Anzahl von Bits nach rechts und verschiebt dabei Nullen von links.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SHR dst, imm8
SHR dst, CL

Beschreibung

Verschiebt den Operanden um die angegebene Anzahl von Bits nach rechts und verschiebt dabei Nullen von links.

Kategorie: Verschieben/Drehen | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Verschiebt Bits nach rechts. Das letzte herausgeschobene Bit geht in CF. Die frei gewordenen High-Bits werden mit Nullen aufgefüllt. Zur vorzeichenlosen Division durch Zweierpotenzen verwenden.

Beschreibung

SHR – Logische Rechtsverschiebung ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SHR – Logische Rechtsverschiebung ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

shr rax, 1                  ; unsigned divide by 2
shr rax, 4                  ; unsigned divide by 16

Siehe auch

  • SAR
  • SHL
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


SQRTSD - Skalare Gleitkomma-Quadratwurzel mit doppelter Genauigkeit - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

SQRTSD - Skalare Gleitkomma-Quadratwurzel mit doppelter Genauigkeit

Berechnet die Quadratwurzel des Gleitkommawerts mit niedriger doppelter Genauigkeit.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SQRTSD xmm1, xmm2/m64

Beschreibung

Berechnet die Quadratwurzel des Gleitkommawerts mit niedriger doppelter Genauigkeit.

Kategorie: SSE/AVX | Gruppe: SSE2 Skalare Gleitkomma-Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
xmm, xmm | Quelle und Ziel sind 128-Bit-XMM-Register | sqrtsd xmm0, xmm1
xmm, m64 | Ziel ist das XMM-Register; Quelle ist 64-Bit-Speicher | sqrtsd xmm0, [x]

Beschreibung

SQRTSD berechnet die Quadratwurzel des niedrigen 64-Bit-Gleitkommawerts mit doppelter Genauigkeit aus dem Quelloperanden und speichert das Ergebnis im niedrigen Quadword des Ziel-XMM-Registers. Das obere Quadwort (Bits 64–127) des Ziels bleibt erhalten. Das ist ein Skalar Bedienung: nur eine double Wert wird verarbeitet.

Sonderfälle folgen den IEEE-754-Regeln: sqrt(+0)=+0, sqrt(-0)=-0, sqrt(+inf)=+inf, sqrt einer negativen endlichen Zahl gibt ein stilles NaN zurück und setzt das Ausnahmeflag für ungültige Operationen.

Flaggen

Es sind keine EFLAGS betroffen. MXCSR-Flags (IE, DE, ZE, OE, UE, PE) können entsprechend dem Ergebnis aktualisiert werden.

Codierungsnotizen

  • SSE2-Kodierung: F2 0F 51 /r.
  • DerF2 Präfix wählt skalare Semantik mit doppelter Genauigkeit aus.
  • VEX/EVEX-Formulare (AVX/AVX-512) existieren als VSQRTSD mit drei Operanden und Zusammenführung/Maskierung; PBXB64 zielt auf das SSE2-Basisformular ab.

When to use

VerwendenSQRTSD für Skalar double (64-Bit) Gleitkomma-Quadratwurzeln, z. B. zur Berechnung von Abständen, Normen oder anderen mathematischen Routinen, die erforderlich sind sqrt(double). Für skalare Quadratwurzeln mit einfacher Genauigkeit verwendenSQRTSS; für den gepackten Einsatz mit doppelter Genauigkeit SQRTPD.

Beschreibung

SQRTSD – Skalare Gleitkomma-Quadratwurzel mit doppelter Genauigkeit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SQRTSD – Skalare Gleitkomma-Quadratwurzel mit doppelter Genauigkeit ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Compute sqrt(x) where x is a double in memory
movsd xmm0, [x]
sqrtsd xmm0, xmm0
movsd [result], xmm0

; sqrt of one value into another register, preserving upper bits
movsd xmm2, xmm0
sqrtsd xmm1, xmm2     ; xmm1[63:0] = sqrt(xmm2[63:0]); upper bits unchanged

Siehe auch

  • SQRTSS - Skalare Gleitkomma-Quadratwurzel mit einfacher Genauigkeit
  • ADDSD - Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen
  • MULSD - Skalare Gleitkommamultiplikation mit doppelter Genauigkeit
  • divsd - Skalaren Gleitkommawert mit doppelter Genauigkeit dividieren
  • Hilfe zum PBXB64-Compiler


SQRTSS - Skalare Gleitkomma-Quadratwurzel mit einfacher Genauigkeit - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

SQRTSS - Skalare Gleitkomma-Quadratwurzel mit einfacher Genauigkeit

Berechnet die Quadratwurzel des Gleitkommawerts mit niedriger einfacher Genauigkeit.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SQRTSS xmm1, xmm2/m32

Beschreibung

Berechnet die Quadratwurzel des Gleitkommawerts mit niedriger einfacher Genauigkeit.

Kategorie: SSE/AVX | Gruppe: SSE Skalare Gleitkomma-Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
xmm, xmm | Quelle und Ziel sind 128-Bit-XMM-Register | sqrtss xmm0, xmm1
xmm, m32 | Ziel ist das XMM-Register; Quelle ist 32-Bit-Speicher | sqrtss xmm0, [x]

Beschreibung

SQRTSS Berechnet die Quadratwurzel des niedrigen 32-Bit-Gleitkommawerts mit einfacher Genauigkeit aus dem Quelloperanden und speichert das Ergebnis im niedrigen Dword des Ziel-XMM-Registers. Die Bits 32–127 des Ziel-XMM-Registers bleiben erhalten. Das ist ein Skalar Bedienung: nur eine float Wert wird verarbeitet.

IEEE-754-Sonderfallverhaltensübereinstimmungen SQRTSD: Positive Null und positive Unendlichkeit sind Identitätswerte, negative Eingaben erzeugen ein ruhiges NaN und denormale Eingaben werden gemäß den aktuellen MXCSR DAZ/FTZ-Einstellungen behandelt.

Flaggen

Es sind keine EFLAGS betroffen. MXCSR-Ausnahmeflags können aktualisiert werden.

Codierungsnotizen

  • SSE-Kodierung: F3 0F 51 /r.
  • DerF3 Präfix wählt skalare Semantik mit einfacher Genauigkeit aus.
  • Nicht mit verpackt verwechseln SQRTPS (0F 51 /r), der vier Floats verarbeitet.

When to use

VerwendenSQRTSS für Skalar float (32-Bit) Gleitkomma-Quadratwurzeln. Es ist schneller und kleiner als die Konvertierung in Double SQRTSDund Rückkonvertierung, wenn einfache Genauigkeit ausreicht.

Beschreibung

SQRTSS – Skalare Gleitkomma-Quadratwurzel mit einfacher Genauigkeit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SQRTSS – Skalare Gleitkomma-Quadratwurzel mit einfacher Genauigkeit ist eine SIMD/FPU Instruktion fuer floating-point or vector code. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Compute sqrt(x) where x is a float in memory
movss xmm0, [x]
sqrtss xmm0, xmm0
movss [result], xmm0

; Scalar sqrt into a different register
sqrtss xmm1, xmm0    ; xmm1[31:0] = sqrt(xmm0[31:0]); upper bits unchanged

Siehe auch

  • SQRTSD - Skalare Gleitkomma-Quadratwurzel mit doppelter Genauigkeit
  • ADDSS - Skalaren Gleitkomma mit einfacher Genauigkeit hinzufügen
  • MULSS - Skalare Gleitkommamultiplikation mit einfacher Genauigkeit
  • divss - Skalaren Gleitkommawert mit einfacher Genauigkeit dividieren
  • Hilfe zum PBXB64-Compiler


STC / CLC / CMC - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

STC / CLC / CMC

Manipuliert das Carry Flag (CF) direkt.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

STC                          ; Set Carry Flag (CF=1)
CLC                          ; Clear Carry Flag (CF=0)
CMC                          ; Complement Carry Flag (CF=!CF)

Beschreibung

Manipuliert das Carry Flag (CF) direkt.

Kategorie: Flaggensteuerung | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Manipuliert direkt die Carry-Flagge. Wird vor ADC/SBB zum Einrichten des Carry-Ins oder nach arithmetischen Operationen zum Testen/Manipulieren von CF verwendet.

Beschreibung

STC / CLC / CMC – Carry Flag Control ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

STC / CLC / CMC – Carry Flag Control ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

clc
adc rax, rbx                 ; rax = rax + rbx + 0

stc
sbb rax, rbx                 ; rax = rax - rbx - 1

Siehe auch

  • ADC - Mit Carry hinzufügen
  • SBB - Subtrahieren mit Ausleihen
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


STD - Richtungsflag setzen - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

STD - Richtungsflag setzen

Setzt das Richtungsflag (DF = 1), wodurch String-Anweisungen ihre Indexregister dekrementieren.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

STD

Beschreibung

Setzt das Richtungsflag (DF = 1), wodurch String-Anweisungen ihre Indexregister dekrementieren.

Typ: Anleitung | Kategorie: x64-Flags

PBXB64-Status:VERFÜGBAR

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Betrieb

DF = 1. Nach STD dekrementieren String-Anweisungen wie MOVS, STOS und SCAS RSI/RDI und ermöglichen so eine Verarbeitung in umgekehrter Richtung.

Flaggen

DF ist eingestellt; Alle anderen Flags bleiben davon unberührt.

When to use

Verwenden Sie STD, wenn Sie Zeichenfolgen oder Puffer von hohen Adressen bis zu niedrigen Adressen verarbeiten. Wenn Sie fertig sind, koppeln Sie es immer mit CLD, um die Standardvorwärtsrichtung wiederherzustellen.

Beschreibung

STD – Richtungsflagge setzen ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

STD – Richtungsflagge setzen ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

FUNCTION PBMAIN() AS LONG
  ! std
  ' Now string operations will auto-decrement
  FUNCTION = 0
END FUNCTION

Siehe auch

  • CLD - Flag "Richtung löschen"
  • MOVS - String verschieben
  • STOS - Store String
  • Hilfe zum PBXB64-Compiler


STOS - Store String - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

STOS - Store String

Speichert das Akkumulatorregister (AL, AX, EAX, oderRAX) auf den Speicherort, auf den verwiesen wird RDI, dann Updates RDI.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

STOSB
STOSW
STOSD
STOSQ

Beschreibung

Speichert das Akkumulatorregister (AL, AX, EAX, oderRAX) auf den Speicherort, auf den verwiesen wird RDI, dann Updates RDI.

Kategorie: Zeichenfolge | Gruppe: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Das Ziel ist implizit: [RDI]. Die Quelle ist implizit in AL/AX/EAX/RAX.

Beschreibung

Schreibt den Akkumulator in den Speicher und schreitet fort RDI entsprechend der Operandengröße und dem Richtungsflag.

Flaggen

Es sind keine Flaggen betroffen.

When to use

VerwendenSTOS um den Speicher mit einem wiederholten Wert zu füllen, z. B. durch das Nullsetzen von Puffern oder das Initialisieren von Arrays.

Beschreibung

STOS – Zeichenfolge speichern ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

STOS – Zeichenfolge speichern ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

cld
mov rdi, buffer
mov rcx, 256
xor rax, rax
rep stosq       ; zero 256 qwords

Siehe auch

  • REP
  • MOVS - String verschieben
  • MOV
  • Hilfe zum PBXB64-Compiler


SUB - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

SUB

Subtrahiert den Quelloperanden vom Zieloperanden und speichert das Ergebnis im Ziel.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SUB dst, src

Beschreibung

Subtrahiert den Quelloperanden vom Zieloperanden und speichert das Ergebnis im Ziel.

Kategorie: Arithmetik | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Führt durch dst = dst - src. Legt OF, SF, ZF, AF, PF, CF entsprechend dem Ergebnis fest. CF wird gesetzt, wenn eine Ausleihe erforderlich ist.

Beschreibung

SUB – Ganzzahlige Subtraktion ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SUB – Ganzzahlige Subtraktion ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

sub rax, rbx                ; rax = rax - rbx
sub rax, 1                  ; decrement
sub [rbp-8], 10             ; subtract from stack

Siehe auch

  • HINZUFÜGEN - Hinzufügen
  • SBB - Subtrahieren mit Ausleihen
  • DEC
  • NEG
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


SUBPS - Gepackte Gleitkommawerte mit einfacher Genauigkeit subtrahieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

SUBPS - Gepackte Gleitkommawerte mit einfacher Genauigkeit subtrahieren

Subtrahiert vier gepackte Gleitkommawerte mit einfacher Genauigkeit elementweise.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SUBPS xmm1, xmm2/m128

Beschreibung

Subtrahiert vier gepackte Gleitkommawerte mit einfacher Genauigkeit elementweise.

Kategorie: SSE/AVX | Gruppe: SSE-Arithmetik mit gepacktem Gleitkomma

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
xmm, xmm | Zwei 128-Bit-XMM-Register mit jeweils 4 Floats | subps xmm0, xmm1
xmm, m128 | Ziel-XMM, Quelle ist 128-Bit-ausgerichteter Speicher | subps xmm0, [vec]

Beschreibung

SUBPS führt eine SIMD-Subtraktion (Single Instruction, Multiple Data) von vier Gleitkommawerten mit einfacher Genauigkeit (32 Bit) parallel durch. Jedes Element des Quelloperanden wird vom entsprechenden Element des Zieloperanden subtrahiert und die vier Ergebnisse werden in das Ziel zurückgeschrieben.

Für jede Spur i in 0..3: dest[i] = dest[i] - src[i]. Es gibt keine spurübergreifende Interaktion. Die spezielle Arithmetik folgt IEEE-754 mit MXCSR-Rundung und Ausnahmekontrollen.

Flaggen

Es sind keine EFLAGS betroffen. MXCSR-Ausnahmeflags können aktualisiert werden.

Codierungsnotizen

  • SSE-Kodierung: 0F 5C /r.
  • Der Quellspeicheroperand sollte auf 16 Byte ausgerichtet sein, um die beste Leistung auf älteren CPUs zu erzielen. Ein falsch ausgerichteter Zugriff kann je nach Implementierung und Ausrichtungsprüfungseinstellungen zu Strafen oder Fehlern führen.
  • Nicht mit Skalar verwechseln SUBSS (F3 0F 5C /r), wodurch nur der niedrige Float subtrahiert wird.

When to use

VerwendenSUBPS beim Subtrahieren entsprechender Komponenten von 4-Element-Float-Vektoren, z. B. in 3D/4D-Grafiken, Audioverarbeitung oder wissenschaftlichen Arrays. Verwenden Sie für die Skalar-Float-Subtraktion SUBSS; für Vektoren mit doppelter Genauigkeit verwenden Sie SUBPD.

Beschreibung

SUBPS – Subtrahieren gepackter Gleitkommawerte mit einfacher Genauigkeit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SUBPS – Subtrahieren gepackter Gleitkommawerte mit einfacher Genauigkeit ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Subtract two 4-float vectors
movaps xmm0, [a]     ; a0 a1 a2 a3
movaps xmm1, [b]     ; b0 b1 b2 b3
subps xmm0, xmm1     ; xmm0 = a0-b0, a1-b1, a2-b2, a3-b3
movaps [result], xmm0

Siehe auch

  • SUBSS - Skalaren Gleitkommawert mit einfacher Genauigkeit subtrahieren
  • ADDPS - Gepacktes Gleitkomma mit einfacher Genauigkeit hinzufügen
  • MULPS - Gepackte Gleitkomma-Multiplikation mit einfacher Genauigkeit
  • divps - Gepackte Gleitkommawerte mit einfacher Genauigkeit dividieren
  • Hilfe zum PBXB64-Compiler


SUBSD - Skalaren Gleitkommawert mit doppelter Genauigkeit subtrahieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

SUBSD - Skalaren Gleitkommawert mit doppelter Genauigkeit subtrahieren

Subtrahiert den niedrigen Gleitkommawert mit doppelter Genauigkeit von einem anderen.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SUBSD xmm1, xmm2/m64

Beschreibung

Subtrahiert den niedrigen Gleitkommawert mit doppelter Genauigkeit von einem anderen.

Kategorie: SSE/AVX | Gruppe: SSE2 Skalare Gleitkomma-Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
xmm, xmm | Quelle und Ziel sind 128-Bit-XMM-Register | subsd xmm0, xmm1
xmm, m64 | Ziel ist das XMM-Register; Quelle ist 64-Bit-Speicher | subsd xmm0, [y]

Beschreibung

SUBSD subtrahiert den niedrigen 64-Bit-Gleitkommawert mit doppelter Genauigkeit des Quelloperanden vom niedrigen Wert mit doppelter Genauigkeit des Zieloperanden. Das Ergebnis wird im unteren Quadword des Ziel-XMM-Registers gespeichert. Die oberen 64 Bit des Ziels bleiben erhalten. Das ist ein Skalar Operation an einem double Wert.

Berechnung ist dest[63:0] = dest[63:0] - src[63:0]. Das IEEE-754-Rundungs- und Ausnahmeverhalten wird von MXCSR gesteuert.

Flaggen

Es sind keine EFLAGS betroffen. MXCSR-Ausnahmeflags können aktualisiert werden.

Codierungsnotizen

  • SSE2-Kodierung: F2 0F 5C /r.
  • DerF2 Präfix wählt Skalaroperation mit doppelter Genauigkeit aus.
  • Für AVX-Formulare mit drei Operanden verwenden VSUBSD; PBXB64 gibt das Basis-SSE2-Formular aus.

When to use

VerwendenSUBSD für Skalar double Subtraktion. Es handelt sich um das zugrunde liegende Grundelement auf SSE-Ebene double Arithmetik in generiertem Code und Mathematikbibliotheken, wenn SIMD-Vektorisierung nicht anwendbar ist.

Beschreibung

SUBSD – Skalaren Gleitkommawert mit doppelter Genauigkeit subtrahieren ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SUBSD – Skalaren Gleitkommawert mit doppelter Genauigkeit subtrahieren ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; double result = a - b
movsd xmm0, [a]
subsd xmm0, [b]
movsd [result], xmm0

; xmm0 = xmm1 - xmm2, preserving upper bits of xmm0
movsd xmm0, xmm1
subsd xmm0, xmm2

Siehe auch

  • SUBSS - Skalaren Gleitkommawert mit einfacher Genauigkeit subtrahieren
  • SUBPS - Gepackte Gleitkommawerte mit einfacher Genauigkeit subtrahieren
  • ADDSD - Skalaren Gleitkomma mit doppelter Genauigkeit hinzufügen
  • MULSD - Skalare Gleitkommamultiplikation mit doppelter Genauigkeit
  • Hilfe zum PBXB64-Compiler
← SUBPS - Gepackte Gleitkommawerte mit einfacher Genauigkeit subtrahieren Nach oben SUBSS - Skalaren Gleitkommawert mit einfacher Genauigkeit subtrahieren →


SUBSS - Skalaren Gleitkommawert mit einfacher Genauigkeit subtrahieren - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

SUBSS - Skalaren Gleitkommawert mit einfacher Genauigkeit subtrahieren

Subtrahiert den niedrigen Gleitkommawert mit einfacher Genauigkeit von einem anderen.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

SUBSS xmm1, xmm2/m32

Beschreibung

Subtrahiert den niedrigen Gleitkommawert mit einfacher Genauigkeit von einem anderen.

Kategorie: SSE/AVX | Gruppe: SSE Skalare Gleitkomma-Arithmetik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
xmm, xmm | Quelle und Ziel sind 128-Bit-XMM-Register | subss xmm0, xmm1
xmm, m32 | Ziel ist das XMM-Register; Quelle ist 32-Bit-Speicher | subss xmm0, [y]

Beschreibung

SUBSS subtrahiert den niedrigen 32-Bit-Gleitkommawert mit einfacher Genauigkeit des Quelloperanden vom niedrigen Wert mit einfacher Genauigkeit des Zieloperanden. Das Ergebnis wird im unteren Dword des Ziel-XMM-Registers gespeichert. Die Bits 32–127 des Ziels bleiben erhalten. Das ist ein Skalar Operation an einem float Wert.

Berechnung ist dest[31:0] = dest[31:0] - src[31:0]. Rundungs- und Ausnahmeverhalten folgen MXCSR.

Flaggen

Es sind keine EFLAGS betroffen. MXCSR-Ausnahmeflags können aktualisiert werden.

Codierungsnotizen

  • SSE-Kodierung: F3 0F 5C /r.
  • DerF3 Präfix wählt Skalaroperation mit einfacher Genauigkeit aus.
  • Nicht mit verpackt verwechseln SUBPS (0F 5C /r), wodurch vier Floats subtrahiert werden.

When to use

VerwendenSUBSS für Skalar float Subtraktion. Es handelt sich um den natürlichen SSE-Befehl für 32-Bit-Gleitkomma-Arithmetik, wenn nur ein Wert beteiligt ist.

Beschreibung

SUBSS – Skalaren Gleitkommawert mit einfacher Genauigkeit subtrahieren ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

SUBSS – Skalaren Gleitkommawert mit einfacher Genauigkeit subtrahieren ist eine arithmetic Instruktion fuer integer arithmetic. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; float result = a - b
movss xmm0, [a]
subss xmm0, [b]
movss [result], xmm0

; xmm0 = xmm1 - xmm2, preserving upper bits
movss xmm0, xmm1
subss xmm0, xmm2

Siehe auch

  • SUBPS - Gepackte Gleitkommawerte mit einfacher Genauigkeit subtrahieren
  • SUBSD - Skalaren Gleitkommawert mit doppelter Genauigkeit subtrahieren
  • ADDSS - Skalaren Gleitkomma mit einfacher Genauigkeit hinzufügen
  • MULSS - Skalare Gleitkommamultiplikation mit einfacher Genauigkeit
  • Hilfe zum PBXB64-Compiler


TEST - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

TEST

F&uuml;hrt eine bitweise UND-Verkn&uuml;pfung durch und setzt Flags, ohne das Ergebnis zu speichern.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

TEST dst, src

Beschreibung

Führt eine bitweise UND-Verknüpfung durch und setzt Flags, ohne das Ergebnis zu speichern.

Kategorie: Arithmetik | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Führt durch dst & src intern, speichert das Ergebnis jedoch nicht. Setzt SF, ZF, PF. Löscht OF und CF. Nützlich zum Testen, ob bestimmte Bits gesetzt sind, ohne das Ziel zu ändern.

Beschreibung

TEST – Logischer Vergleich ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

TEST – Logischer Vergleich ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

test rax, 0x01              ; test bit 0
jz bit_not_set
test rax, rax               ; test if zero (idiomatic, smaller than cmp rax, 0)

Siehe auch

  • CMP
  • UND
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


UD2 - Undefinierte Anweisung - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

UD2 - Undefinierte Anweisung

Garantiert bei der Ausf&uuml;hrung eine Ausnahme wegen ung&uuml;ltigem Opcode (#UD).

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

UD2

Beschreibung

Garantiert bei der Ausführung eine Ausnahme wegen ungültigem Opcode (#UD).

Kategorie: System/Atom | Gruppe: Kontroll- und Debug-Anweisungen

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
keiner | Keine Operanden; löst immer #UD aus | ud2

Beschreibung

UD2 ist eine definierte Anweisung, die eine Ausnahme wegen undefiniertem Opcode (#UD) erzeugt. Es dient speziell dazu, eine zuverlässige, dokumentierte Möglichkeit zum Auslösen einer Prozessorausnahme für Zwecke wie absichtliche Programmbeendigung, nicht erreichbare Codepfadmarkierungen oder selbsttestende Ausnahmehandler bereitzustellen.

Im Gegensatz zu einer willkürlichen ungültigen Bytefolge UD2 Die Architektur garantiert, dass #UD auf allen x86-64-Prozessoren ausgelöst wird, und wird von Disassemblern und Debuggern erkannt. Compiler geben es oft danach aus __builtin_unreachable(), unreachable IR oder Behauptungen, die niemals scheitern sollten.

Flaggen

Es sind keine Flags betroffen; Die Anweisung löst eine Ausnahme aus, bevor sich der Architekturzustand ändert.

Codierungsnotizen

  • Codiert als 0F 0B.
  • Wird garantiert nicht zu einer gültigen Anweisung in zukünftigen Prozessoren.
  • Einige Assembler akzeptieren UD2A (die Zwei-Byte-Form) und UD2B (ein ModR/M-Formular 0F B9 /r), aber UD2 allein ist der kanonische Opcode.

When to use

VerwendenUD2 um die Ausführung an nicht erreichbaren oder völlig ungültigen Codepfaden explizit abzufangen. Bevorzugen Sie es gegenüber einem zufälligen ungültigen Byte, da es selbstdokumentierend und über Prozessorgenerationen hinweg stabil ist. Vermeiden Sie die Verwendung im Benutzercode als normalen Kontrollflussmechanismus. Es ist für das Debuggen und für katastrophale Fehlerpfade gedacht.

Beschreibung

UD2 – Undefinierte Anweisung ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

UD2 – Undefinierte Anweisung ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Mark a switch default that should never be reached
switch_done:
    jmp table[rax*8]
default_case:
    ud2              ; crash immediately if reached

; Halt on critical invariant failure
cmp [initialized], 1
je  ok
ud2              ; panic if not initialized
ok:

Siehe auch

  • int3 - Aufruf zum Interrupt 3 (Haltepunkt)
  • NOP
  • Hilfe zum PBXB64-Compiler


UND - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

UND

F&uuml;hrt eine bitweise UND-Verkn&uuml;pfung von Quelle und Ziel durch und speichert das Ergebnis im Ziel.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

AND dst, src

Beschreibung

Führt eine bitweise UND-Verknüpfung von Quelle und Ziel durch und speichert das Ergebnis im Ziel.

Kategorie: Logisch | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Führt durch dst = dst & src. Setzt OF=0, CF=0, SF, ZF, PF entsprechend dem Ergebnis. CF wird immer gelöscht. Nützlich zum Maskieren von Bits.

Beschreibung

UND – Bitweises UND ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

UND – Bitweises UND ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

and rax, 0xFF              ; mask lower 8 bits
and rax, rbx               ; bitwise AND
and [rbx], 0x0F            ; mask memory

Siehe auch

  • ODER
  • XOR
  • NOT - Bitweises logisches NOT
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


verlassen - High-Level-Prozedur-Exit - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

verlassen - High-Level-Prozedur-Exit

Gibt den Stapelrahmen frei, der durch eine vorangehende ENTER-Anweisung oder einen manuellen Prologcode eingerichtet wurde.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

LEAVE

Beschreibung

Gibt den Stapelrahmen frei, der durch eine vorangehende ENTER-Anweisung oder einen manuellen Prologcode eingerichtet wurde.

Kategorie: Stapel | Gruppe: Stack-Frame-Management

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Operanden

Formular | Beschreibung | Beispiel
VERLASSEN | Stapelrahmen wiederherstellen und lokalen Speicher freigeben | leave

Beschreibung

LEAVE ist die standardmäßige x86/x64-Anweisung zum Abbau eines Stapelrahmens. Es führt nacheinander zwei Vorgänge aus:

  1. RSP := RBP – Stellen Sie den Stapelzeiger auf den im Rahmenzeiger gespeicherten Wert wieder her, wodurch alle lokalen Variablen und übergelaufenen Werte, die unterhalb des RBP zugewiesen sind, effektiv verworfen werden.
  2. RBP := POP() – Ziehen Sie den vorherigen Frame-Zeiger vom Stapel in RBP.

Dies ist genau das Gegenteil der üblichen Prologsequenz push rbp; mov rbp, rsp; sub rsp, N. Nach der Ausführung von LEAVE befindet sich der Stapel im gleichen Zustand wie vor dem Prolog, und ein nachfolgender RET-Befehl gibt die Kontrolle an den Aufrufer zurück.

Flaggen

Keiner betroffen.

Codierungsnotizen

  • Als einzelnes Byte kodiert C9.
  • Äquivalent zu mov rsp, rbp gefolgt von pop rbp.
  • Im x64-Code verwendet LEAVE die vollständigen 64-Bit-RSP/RBP-Register. Es hängt nicht vom Standardattribut für die Operandengröße ab, da RBP/RSP im 64-Bit-Modus immer 64-Bit sind.

When to use

Verwenden Sie LEAVE am Ende jeder Funktion, mit der ein Frame-Zeiger erstellt wird push rbp; mov rbp, rsp. Es erzeugt kompakte, lesbare Epiloge und wird von Unwind-Info-Generatoren erkannt. Moderne optimierende Compiler lassen den Frame-Zeiger häufig vollständig weg (unter Verwendung von RBP als allgemeines Register) und verwenden stattdessenadd rsp, Ngefolgt von Pops von gespeicherten Registern, aber für handgeschriebene Assemblys oder debugging-freundliche Builds bleibt LEAVE üblich.

Beschreibung

LEAVE – High-Level-Prozedur-Exit ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

LEAVE – High-Level-Prozedur-Exit ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

; Standard function epilogue
my_function:
    push rbp
    mov rbp, rsp
    sub rsp, 32          ; allocate shadow space / locals
    ; ... function body ...
    leave                ; mov rsp, rbp ; pop rbp
    ret

; Manual equivalent (if LEAVE is unavailable)
mov rsp, rbp
pop rbp
ret

Siehe auch

  • INPUT / VERLASSEN
  • PUSH
  • POP
  • RET
  • CALL
  • Hilfe zum PBXB64-Compiler


XADD - Exchange and Add - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

XADD - Exchange and Add

Adds the source operand to the destination operand and stores the original destination value in the source. With LOCK it can implement atomic fetch-add.

Kategorie: Verschiedenes

Syntax

mov rax, 1
lock xadd qword ptr [counter], rax

Beschreibung

Adds the source operand to the destination operand and stores the original destination value in the source. With LOCK it can implement atomic fetch-add.

PBXB64-Status: Referenzthema

Verwendung in PBXB64

Use a memory destination with lock xadd for inter-thread counters. Match operand size to the counter storage.

Prüfung

Prüfen Sie Beispiele mit dem aktuellen PBXB64-Compiler und dokumentieren Sie CPU-, Windows- oder Bibliotheksvoraussetzungen direkt im Beispiel.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Category: Assembly

PBXB64 Status: Reference topic with assembler syntax and a verification pattern; prove CPU-specific behavior with a focused test before claiming full runtime support.

Beschreibung

XADD ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

XADD ist eine x64 assembler Instruktion fuer inline assembler. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.


XCHG - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

XCHG

Tauscht den Inhalt zweier Operanden aus.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XCHG reg, reg/mem

Beschreibung

Tauscht den Inhalt zweier Operanden aus.

Kategorie: Datenbewegung | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Vertauscht den Inhalt der beiden Operanden. Wenn ein Operand Speicher ist, ist die Operation implizit gesperrt (atomar).

Beschreibung

XCHG – Austausch ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

XCHG – Austausch ist eine data movement Instruktion fuer data movement. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

Beispiel

xchg rax, rbx                ; swap rax and rbx
xchg [rbx], eax              ; swap memory with register

Siehe auch

  • MOV
  • CMP
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


XOR - PBXB64-Compiler-Hilfe

Startseite › x64-Assembler-Referenz › Befehlssatz (nach Verwendung) › Verschiedenes Hilfe zum PBXB64-Compiler

XOR

F&uuml;hrt eine bitweise XOR-Verkn&uuml;pfung der Quelle und des Ziels durch und speichert das Ergebnis im Ziel.

Kategorie: Verschiedenes | Zertifizierung: [ZERTIFIZIERT GETESTET]

Syntax

XOR dst, src

Beschreibung

Führt eine bitweise XOR-Verknüpfung der Quelle und des Ziels durch und speichert das Ergebnis im Ziel.

Kategorie: Logisch | Kategorie: Kern-GPR-Mnemonik

PBXB64-Status: VOLLSTÄNDIG UMGESETZT

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

Führt durch dst = dst ^ src. Setzt OF=0, CF=0, SF, ZF, PF entsprechend dem Ergebnis. Die klassische Redewendung xor reg, reg löscht ein Register und setzt ZF=1, mit kleinerer Codierung als mov reg, 0.

Beschreibung

XOR – Bitweises XOR ist eine x64-Assembler-Instruktion, die in PBXB64-Assemblerseiten dokumentiert wird. Verwenden Sie diese Seite zusammen mit einem kleinen Inline-Assembler- oder Objekt-Assembler-Test, damit Operanden, Registerbreiten, Flags und beobachtbare Ergebnisse aus der aktuellen Toolchain belegt sind.

PBXB64-Verwendung

XOR – Bitweises XOR ist eine bit and flag Instruktion fuer bit operations. In PBXB64 wird die Instruktion im Inline-Assembler oder in assemblernahen Routinen verwendet, wenn der generierte Hochsprachen-Code bewusst durch eine konkrete x64-Operation ergaenzt werden soll. Halten Sie Eingabe- und Ergebnisregister im Kommentar fest, damit der umgebende BASIC-, C-, B64- oder Rust-Code nachvollziehbar bleibt.

Operanden und Groessen

Die zulaessigen Operanden richten sich nach der Syntax auf dieser Seite. Register-, Speicher- und Immediate-Formen duerfen nicht beliebig gemischt werden; die Operandenbreite muss zur Instruktion passen. Verwenden Sie explizite Groessenangaben bei Speicheroperanden, wenn die Breite nicht eindeutig aus einem Register oder der Instruktionsform hervorgeht.

Nebenwirkungen und Flags

Pruefen Sie vor der Verwendung, ob die Instruktion Flags, Speicher, Stackzeiger oder implizite Register veraendert. Besonders bedingte Spruenge, Vergleichsoperationen, Stackbefehle und Multiplikation/Division haben Abhaengigkeiten, die nicht in der Operandenliste sichtbar sind. Speichern Sie Werte, die nach dem Assemblerblock weiterhin benoetigt werden.

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Beispiel

xor rax, rax               ; clear register (idiomatic)
xor rax, rbx               ; toggle bits
xor rax, 0xFF              ; toggle lower 8 bits

Siehe auch

  • UND
  • ODER
  • NOT - Bitweises logisches NOT
  • Kern-GPR-Mnemonik
  • Hilfe zum PBXB64-Compiler


PBXB64 Compiler Help - PBXB64 Compiler Help

Home › Welcome & Getting Started › PBXB64 Overview PBXB64 Compiler Help

PBXB64 Compiler Help

Chapter: PBXB64 Overview

Back to top


ASM ADDRESSING MODES - PBXB64 Compiler Help

Home › x64 Assembly Reference › Overview PBXB64 Compiler Help

ASM ADDRESSING MODES

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

mov rax, [rbp-8]
lea rcx, [rax+rdx*8+32]
mov qword ptr [rcx], 1234

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIRECTIVES - PBXB64 Compiler Help

Home › x64 Assembly Reference › Overview PBXB64 Compiler Help

ASM DIRECTIVES

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

section .text
.globl main
main:
    xor rax, rax
    ret

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PBXB64 - Assembly Language Reference - PBXB64 Compiler Help

Home › x64 Assembly Reference › Overview PBXB64 Compiler Help

PBXB64 - Assembly Language Reference

PBXB64 includes a native x64 assembler that accepts Intel-syntax assembly and produces COFF objects or PE executables directly. No external assemblers required.

Chapter: Overview

Description

PBXB64 includes a native x64 assembler that accepts Intel-syntax assembly and produces COFF objects or PE executables directly. No external assemblers required.

Supported Extensions

.asm and .s files are automatically routed through the native x64 assembler pipeline.

Basic Structure

section .text
global main

main:
    push rbp
    mov rbp, rsp
    mov eax, 42
    pop rbp
    ret

Assembler Pipeline

.asm / .s  →  ASM Lexer  →  ASM Parser  →  Encoder  →  COFF Object  →  PE Linker

Data Sections & Variables

section .data
msg: db "Hello, World!", 0
len: equ $ - msg

section .bss
buffer: resb 1024

section .text
global main
main:
    lea rcx, [rel msg]
    call printf
    ret

Integration with Other Frontends

Assembly files can be linked seamlessly with B64, BASIC, and C object files using the PE linker:

PBXB64 main.b64 helper.asm -o program.exe
PBXB64 prog.c utils.s -o mixed.exe
Overview of the x86-64 general-purpose registers and their sub-registers.

Overview of the x86-64 general-purpose registers and their sub-registers.

Selected bits of the RFLAGS register and their meaning.

Selected bits of the RFLAGS register and their meaning.


ASM MNEMONICS AVX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

ASM MNEMONICS AVX

Category: PowerBASIC compatibility reference

Chapter: Mnemonic Family Overviews

Syntax

vzeroupper
vaddps ymm0, ymm1, ymm2
vmovups ymmword ptr [rcx], ymm0

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM MNEMONICS BMI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

ASM MNEMONICS BMI

Category: PowerBASIC compatibility reference

Chapter: Mnemonic Family Overviews

Syntax

andn rax, rcx, rdx
bextr rax, rcx, rdx
pext rax, rcx, rdx

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM MNEMONICS CACHE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

ASM MNEMONICS CACHE

Category: PowerBASIC compatibility reference

Chapter: Mnemonic Family Overviews

Syntax

prefetcht0 [rcx]
clflush [rcx]
mfence

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM MNEMONICS CORE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

ASM MNEMONICS CORE

Category: PowerBASIC compatibility reference

Chapter: Mnemonic Family Overviews

Syntax

mov rax, rcx
add rax, rdx
cmp rax, 10
jge done

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM MNEMONICS CRYPTO - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

ASM MNEMONICS CRYPTO

Category: PowerBASIC compatibility reference

Chapter: Mnemonic Family Overviews

Syntax

aesenc xmm0, xmm1
pclmulqdq xmm0, xmm1, 0
sha256rnds2 xmm0, xmm1, xmm2

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM MNEMONICS FPU - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

ASM MNEMONICS FPU

Category: PowerBASIC compatibility reference

Chapter: Mnemonic Family Overviews

Syntax

fld qword ptr [rbp-8]
fadd qword ptr [rbp-16]
fstp qword ptr [rbp-24]

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM MNEMONICS MMX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

ASM MNEMONICS MMX

Category: PowerBASIC compatibility reference

Chapter: Mnemonic Family Overviews

Syntax

movq mm0, qword ptr [rcx]
paddb mm0, mm1
emms

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM MNEMONICS SGX VMX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

ASM MNEMONICS SGX VMX

Category: PowerBASIC compatibility reference

Chapter: Mnemonic Family Overviews

Syntax

vmcall
vmlaunch
encls

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM MNEMONICS SSE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

ASM MNEMONICS SSE

Category: PowerBASIC compatibility reference

Chapter: Mnemonic Family Overviews

Syntax

movsd xmm0, qword ptr [rbp-8]
addsd xmm0, xmm1
movsd qword ptr [rbp-16], xmm0

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM MNEMONICS SYSTEM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

ASM MNEMONICS SYSTEM

Category: PowerBASIC compatibility reference

Chapter: Mnemonic Family Overviews

Syntax

cpuid
rdtsc
int3

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PBXB64 - B64 Language Reference - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › Overview PBXB64 Compiler Help

PBXB64 - B64 Language Reference

B64 is a C-like systems programming language and the primary frontend of PBXB64. It features explicit memory management, first-class pointers, structs, and direct IR integration.

Chapter: Overview

Description

B64 is a C-like systems programming language and the primary frontend of PBXB64. It features explicit memory management, first-class pointers, structs, and direct IR integration.

Function Syntax

fn name(params): return_type { body }
fn add(a: i32, b: i32): i32 {
    return a + b;
}

fn main(): i32 {
    let result: i32 = add(10, 20);
    return result;
}

Primitive Data Types

Type | Size | Description
i8 | 1 byte | Signed 8-bit integer (-128 to 127)
i16 | 2 bytes | Signed 16-bit integer
i32 | 4 bytes | Signed 32-bit integer (default int)
i64 | 8 bytes | Signed 64-bit integer
u8 | 1 byte | Unsigned 8-bit integer (0 to 255)
u16 | 2 bytes | Unsigned 16-bit integer
u32 | 4 bytes | Unsigned 32-bit integer
u64 | 8 bytes | Unsigned 64-bit integer
bool | 1 byte | Boolean (true/false)
f32 | 4 bytes | IEEE 754 single-precision float
f64 | 8 bytes | IEEE 754 double-precision float

Pointers & Dereferencing

let p: *type = &variable;
fn main(): i32 {
    let x: i32 = 42;
    let p: *i32 = &x;
    *p = 100;       // dereference write
    return *p;      // dereference read -> 100
}

Structs

struct Point {
    x: i32,
    y: i32,
}

fn main(): i32 {
    let p: Point = Point { x: 10, y: 20 };
    return p.x + p.y;
}

Control Flow

// Conditional
if condition { body } else { body }

// Looping
while expr { body }
for let i: i32 = start; i < end; i = i + step { body }

// Return
return expression;
return; // void return

External Functions (FFI)

extern "kernel32.dll" fn Sleep(dwMilliseconds: u32): void;
extern "user32.dll" fn MessageBoxA(hWnd: *void, lpText: *u8, lpCaption: *u8, uType: u32): i32;
Memory Model: B64 uses explicit allocation via alloc/dealloc intrinsics. Stack variables are automatic. Pointers must be validated before dereferencing in safe mode.
← CLI Options BASIC Reference → View Examples
PBXB64 Compiler Documentation · V8 Native Edition · Last updated 2026-01-15
For issues and contributions: smart-package.com


B64 Control Flow - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › Overview PBXB64 Compiler Help

B64 Control Flow

B64 provides familiar C-style control flow.

Chapter: Overview

Description

B64 provides familiar C-style control flow.

Statements

  • if / else
  • while
  • for
  • return
  • break / continue

Example

fn main(): i32 {
    mut x: i32 = 0;
    while (x < 5) {
        x = x + 1;
    }
    return x;
}

See also

  • PBXB64 - B64 Language Reference


B64 Functions - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › Overview PBXB64 Compiler Help

B64 Functions

Functions are declared with the fn keyword and use the Win64 fastcall ABI.

Chapter: Overview

Syntax

fn add(a: i32, b: i32): i32 {
    return a + b;
}

Description

Functions are declared with the fn keyword and use the Win64 fastcall ABI.

Example

fn sum(n: i32): i32 {
    let total: i32 = 0;
    for (let i: i32 = 1; i <= n; i = i + 1) {
        total = total + i;
    }
    return total;
}
fn main(): i32 {
    return sum(5);
}

See also

  • PBXB64 - B64 Language Reference


B64 Inline Assembly - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › Overview PBXB64 Compiler Help

B64 Inline Assembly

B64 supports inline x64 assembly blocks.

Chapter: Overview

Syntax

asm {
    mov rax, 42
}

Description

B64 supports inline x64 assembly blocks.

Constraints

  • Intel syntax is used.
  • The block must preserve callee-saved registers it modifies.

Example

fn main(): i32 {
    mut result: i32 = 0;
    asm {
        mov dword ptr [result], 7
    }
    return result;
}

See also

  • PBXB64 - B64 Language Reference


B64 REF OPERATORS - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › Overview PBXB64 Compiler Help

B64 REF OPERATORS

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

#B64
// Verwenden Sie die verlinkten B64-Konstrukte in einer vollstaendigen B64-Quelldatei.
#B64 END

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


B64 Pointers - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › Overview PBXB64 Compiler Help

B64 Pointers

B64 supports raw pointers with explicit address-of and dereference operators.

Chapter: Overview

Syntax

let p: *i32 = &x;
*p = 42;

Description

B64 supports raw pointers with explicit address-of and dereference operators.

Pointer Arithmetic

Pointer arithmetic uses element-sized steps: p + 1 advances by sizeof(i32) bytes.

Example

fn main(): i32 {
    mut x: i32 = 10;
    let p: *i32 = &x;
    *p = 20;
    return x;
}

See also

  • PBXB64 - B64 Language Reference


B64 Structs & Arrays - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › Overview PBXB64 Compiler Help

B64 Structs & Arrays

Aggregates are value types by default.

Chapter: Overview

Description

Aggregates are value types by default.

Arrays

let arr: [3]i32 = [1, 2, 3];
return arr[1];

Structs

struct Point { x: i32; y: i32; }
let p: Point = Point { x: 1, y: 2 };
return p.x + p.y;

Example

struct Rect { x: i32; y: i32; w: i32; h: i32; }
fn area(r: Rect): i32 {
    return r.w * r.h;
}
fn main(): i32 {
    let r: Rect = Rect { x: 0, y: 0, w: 4, h: 5 };
    return area(r);
}

See also

  • PBXB64 - B64 Language Reference


B64 Data Types - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › Overview PBXB64 Compiler Help

B64 Data Types

B64 is a C-like systems language with explicit, fixed-size types.

Chapter: Overview

Description

B64 is a C-like systems language with explicit, fixed-size types.

Primitive Types

  • bool
  • i8, i16, i32, i64
  • u8, u16, u32, u64
  • f32, f64
  • void

Derived Types

  • pointers: *i32
  • arrays: [10]i32
  • structs: struct Point { x: i32; y: i32; }

Example

fn main(): i32 {
    let x: i32 = 42;
    let p: *i32 = &x;
    *p = 100;
    return x;
}

See also

  • PBXB64 - B64 Language Reference


B64 Variables - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › Overview PBXB64 Compiler Help

B64 Variables

Variables are introduced with let (immutable) or mut (mutable).

Chapter: Overview

Syntax

let x: i32 = 10;
mut y: i32 = 20;
y = 30;

Description

Variables are introduced with let (immutable) or mut (mutable).

Scope

Block-scoped; shadowing is allowed.

Example

fn main(): i32 {
    let a: i32 = 1;
    {
        let a: i32 = 2;
    }
    return a;
}

See also

  • PBXB64 - B64 Language Reference


PBXB64 - BASIC Language Reference - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Overview PBXB64 Compiler Help

PBXB64 - BASIC Language Reference

PBXB64 supports a growing PowerBASIC-compatible dialect. V12+ adds type suffixes, literal prefixes, #DEFINE/#COMPILE, dynamic arrays (DIM/REDIM/ERASE), OPTIONAL parameters, SELECT CASE with IS/TO, ON GOTO/GOSUB, DATA/READ/RESTORE, CODEPTR/FUNCPTR, and 60+ builtin functions.

Chapter: Overview

Description

PBXB64 supports a growing PowerBASIC-compatible dialect. V12+ adds type suffixes, literal prefixes, #DEFINE/#COMPILE, dynamic arrays (DIM/REDIM/ERASE), OPTIONAL parameters, SELECT CASE with IS/TO, ON GOTO/GOSUB, DATA/READ/RESTORE, CODEPTR/FUNCPTR, and 60+ builtin functions.

Program Entry Point

FUNCTION PBMAIN() AS LONG ... END FUNCTION
FUNCTION PBMAIN() AS LONG
    FUNCTION = 0   ' Return code
END FUNCTION

Variable Declarations

LOCAL x AS LONG          ' Stack variable (explicit type)
LOCAL s AS STRING        ' Heap-managed string
LOCAL f AS SINGLE        ' 32-bit float
DIM arr(10) AS LONG      ' Static array (0-10)
GLOBAL g AS LONG         ' Module-level global

' Type suffixes (PBWin style)
LOCAL intvar%            ' INTEGER via % suffix
LOCAL longvar&           ' LONG via & suffix
LOCAL sngvar!            ' SINGLE via ! suffix
LOCAL dblvar#            ' DOUBLE via # suffix
LOCAL strvar$            ' STRING via $ suffix
LOCAL curvar##           ' CURRENCY via ## suffix
LOCAL cuxvar?#           ' CURRENCYX via ?# suffix
LOCAL extvar??           ' EXTENDED via ?? suffix

Literal Prefixes

x = &HFF                 ' Hex: 255
x = &O77                 ' Octal: 63
x = &B1010               ' Binary: 10

Equates

%WIN_WIDTH  = 800        ' Integer equate
%MAX_ITEMS  = 100
$APP_NAME   = "MyApp"    ' String equate

' Usage in expressions:
w = %WIN_WIDTH
n = %MAX_ITEMS

Assignment & Operators

x = 42
s = "Hello World"
x = x + 1
y = a * b - c / d
z = (x > 0) AND (y < 10)

PRINT Statement

PRINT expr [; expr] [, expr]
PRINT "Hello"
PRINT "A"; "B"       ' Semicolon: no separator
PRINT "A", "B"       ' Comma: tab stop (~8 chars)
PRINT TAB(4); "D"    ' TAB(n): pad with spaces

Control Flow

' IF/THEN/ELSE
IF x > 0 THEN
    PRINT "positive"
ELSE
    PRINT "negative"
END IF

' FOR/NEXT
FOR i = 1 TO 10 STEP 2
    PRINT i
NEXT i

' WHILE/WEND
WHILE x < 100
    x = x * 2
WEND

WinAPI Integration

#INCLUDE "windows_core.pbi"

FUNCTION PBMAIN() AS LONG
    CALL MessageBoxA(0, "Hello", "PBXB64", 0)
    CALL Sleep(1000)
    FUNCTION = 0
END FUNCTION

String Operations (V7/V8)

LOCAL s AS STRING, t AS STRING
s = "Hello"
t = s + " World"     ' Concatenation
s = ""               ' Reassignment frees old heap string automatically
s = LEFT$(t, 5)      ' Built-in string functions

Macros (V9+)

PBXB64 supports multi-line MACRO definitions with parameter substitution, local labels, and MACROTEMP variables.

Multi-line MACRO

MACRO AddEm(a, b, result)
    result = a + b
END MACRO

' Usage:
AddEm x, y, z         ' Expands to: z = x + y

MACROTEMP (local variables)

MACROTEMP declares variables that get unique names per expansion, preventing collisions.

MACRO DoSwap(p, q)
    MACROTEMP t
    LOCAL t AS LONG
    t = p : p = q : q = t
END MACRO

DoSwap x, y          ' t_1 = x; x = y; y = t_1
DoSwap a, b          ' t_2 = a; a = b; b = t_2

Local Labels

Labels inside macros are automatically mangled to avoid conflicts between expansions.

MACRO CheckVal(n)
    IF n > 0 THEN GOTO Done
    n = 0
    Done:
END MACRO

CheckVal 42           ' goto Done_1 ... Done_1:
CheckVal -1           ' goto Done_2 ... Done_2:

%PARAMCOUNT

Returns the number of arguments passed to the macro.

MACRO LogArgs(a, b, c)
    x = %PARAMCOUNT     ' x = 3
END MACRO

Preprocessor Directives (V12+)

#COMPILE EXE              ' Output type (EXE/DLL/CONSOLE)
#DEFINE MAX_SIZE 100       ' Text replacement (resolved in expressions)
#UNDEF MAX_SIZE            ' Remove a #DEFINE
#INCLUDE ONCE "file.pbi"  ' Include with guard against re-inclusion

' Conditional compilation with comparison operators
%VERSION = 5
#IF %VERSION >= 3
    PRINT "Version 3+"
#ELSEIF %VERSION = 2
    PRINT "Version 2"
#ELSE
    PRINT "Version 1"
#ENDIF

Dynamic Arrays (V12+)

DIM arr(5) AS LONG         ' Allocate 5-element heap array
arr(2) = 100                ' Write to element
x = arr(2)                  ' Read from element
REDIM arr(10) AS LONG       ' Resize (discards old data)
REDIM PRESERVE arr(20)     ' Resize (preserves old data)
ERASE arr()                 ' Free heap buffer

' Bounds
n = LBOUND(arr())           ' Lower bound (usually 0)
n = UBOUND(arr())           ' Upper bound = element count - 1

OPTIONAL Parameters (V12+)

FUNCTION add(a AS LONG, OPTIONAL b AS LONG) AS LONG
    FUNCTION = a + b        ' b defaults to 0 if not passed
END FUNCTION

result = add(10)            ' b = 0
result = add(10, 20)        ' b = 20

ON GOTO / ON GOSUB (V12+)

ON choice GOTO lab1, lab2, lab3     ' Computed goto
ON choice GOSUB sub1, sub2, sub3    ' Computed gosub
DATA 1, 2, 3, 4, 5                   ' Data block
READ a, b, c                         ' Read from data
RESTORE                              ' Reset to start of data

Nesting & Limits

  • Max nesting depth: 16 levels
  • Macros are pre-scanned before the main pass (forward references OK)
  • Parameter substitution is case-insensitive word-boundary
Note: Single-line MACRO syntax MACRO name(x) = expression emits a C #define and is also supported.
String Lifetime Management: V7/V8 automatically frees heap-backed STRING values on reassignment, before RETURN, EXIT FUNCTION, and natural function exit. No manual STRFREE needed.

Wide-Integer Types (V8+)

PBXB64 supports native 128-bit, 256-bit, and 512-bit signed and unsigned integers with inline x64 arithmetic - no runtime library calls.

LOCAL a AS INT128          ' 128-bit signed
LOCAL b AS I128            ' Alias for INT128
LOCAL c AS UINT128         ' 128-bit unsigned
LOCAL d AS U128            ' Alias for UINT128

LOCAL e AS INT256          ' 256-bit signed
LOCAL f AS I256            ' Alias for INT256
LOCAL g AS UINT256         ' 256-bit unsigned
LOCAL h AS U256            ' Alias for UINT256

LOCAL i AS INT512          ' 512-bit signed
LOCAL j AS I512            ' Alias for INT512
LOCAL k AS UINT512         ' 512-bit unsigned
LOCAL l AS U512            ' Alias for UINT512

' All standard arithmetic operators are supported:
a = 1000000000000000000000  ' 10^21
b = a + a                   ' 2*10^21
c = a * b                   ' 2*10^42 (fits in 128 bits)

MODULE System (V8+)

Encapsulate code into named scopes with visibility control.

MODULE MyModule
  ' Private by default — only visible inside this module
  FUNCTION PrivateHelper() AS LONG
      FUNCTION = 42
  END FUNCTION

  ' Public — callable from outside via module prefix
  PUBLIC FUNCTION PublicFunc() AS LONG
      FUNCTION = PrivateHelper()
  END FUNCTION

  ' Module-scoped equates and globals
  %MY_CONST = 100
  GLOBAL gCounter AS LONG
END MODULE

' Call from another module or the main program:
FUNCTION PBMAIN() AS LONG
    result = MyModule.PublicFunc()   ' OK: PUBLIC
    ' result = MyModule.PrivateHelper()  ' ERROR: PRIVATE
    FUNCTION = result
END FUNCTION

H-Lib Native Containers (V8+)

23 container families with auto-initialization, method-dispatch syntax, and UDT payload support.

LOCAL q AS LNQUE        ' FIFO queue of LONGs
q = q.New
q.Push 10
q.Push 20
PRINT q.Pop             ' 10
q.Final

LOCAL h AS LNHSH        ' Hash table (LONG key, LONG value)
h = h.New
h.Set(1, 100)
PRINT h.Get(1)          ' 100
h.Final

' Subscript access:
LOCAL a AS LNARR
a = a.New
a[0] = 42
PRINT a[0]              ' 42
a.Final

LIKE / ALIKE Operator (V8+)

Pattern matching with wildcards and character classes.

IF "Hello" LIKE "H*" THEN          ' true: * matches any sequence
IF "abc" LIKE "a[bc]c" THEN       ' true: bracket list
IF "abc" LIKE "a[!b]c" THEN       ' false: complemented class
IF "abc" LIKE "a[a-z]c" THEN       ' true: character range
IF "test.txt" LIKE "*.txt" THEN    ' true: wildcard extension

' ALIKE is always case-insensitive:
IF "Hello" ALIKE "h*" THEN         ' true

V15 Qualified Additions

  • Native DLL/export output and import-library generation are covered by focused linker lanes. #COMPILE SLL remains a separate native archive compatibility surface.
  • StringX functions COMPARE, COMPARE$, LIKE$, MATCH$, REGEX$, REGEXREPLACE$, FIND$, FINDREV$, REPLACES$, and REMOVES$ have positive and negative tests.
  • REGEXPR and REGREPL use the vendored REGEXPR v1.25.0 engine through the PB dialect layer.
  • TIMEBASE supports query and assignment forms. ROTATE supports tested expression and statement forms with strict malformed-call diagnostics.
  • Focused native coverage includes TAB controls, bounded DIALOG/GUI operations, XPRINT/LPRINT printer functions, preview callbacks, and SAPI-backed SAY.
  • COM/OOP coverage includes inheritance/override, selected real automation-server probes, BYREF outputs, OBJRESULT$, and per-thread IDISPINFO/EXCEPINFO details.
  • Qualified metastatements generate code or configuration where documented. Unsupported type-library emission fails explicitly rather than being ignored.

Known Limitations (V15)

  • Full WinAPI .pbi include library available in includes/ (1,272 headers)
  • #COMPILE DLL and exports are available for the tested native PE/export surface; complete historical linker parity is not claimed
  • Full PowerBASIC compatibility is ongoing work
← B64 Reference C Language Reference → View Examples
PBXB64 Compiler Documentation · V15 · Last updated 2026-07-28
For issues and contributions: smart-package.com
High-level flow from source code to executable through the PBXB64 frontends.

High-level flow from source code to executable through the PBXB64 frontends.


BASIC Control Flow - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Overview PBXB64 Compiler Help

BASIC Control Flow

Statements that direct program execution.

Chapter: Overview

Description

Statements that direct program execution.

Commands

  • IF...THEN...ELSE
  • SELECT CASE
  • FOR...NEXT
  • DO...LOOP
  • WHILE...WEND
  • GOTO
  • GOSUB...RETURN
  • TRY...CATCH...FINALLY
  • EXIT
  • [TODO] CONTINUE (cmd_continue.html)

See also

  • PBXB64 - BASIC Language Reference


BASIC Declarations - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Overview PBXB64 Compiler Help

BASIC Declarations

Statements that declare procedures, types, and variables.

Chapter: Overview

Description

Statements that declare procedures, types, and variables.

Commands

  • SUB / END SUB
  • [TODO] FUNCTION / END FUNCTION (cmd_function.html)
  • DECLARE
  • DIM
  • LOCAL
  • GLOBAL
  • STATIC
  • [TODO] SHARED (cmd_shared.html)
  • REDIM / PRESERVE
  • TYPE / END TYPE
  • [TODO] UNION / END UNION (cmd_union.html)
  • ENUM

See also

  • PBXB64 - BASIC Language Reference


BASIC Error Handling - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Overview PBXB64 Compiler Help

BASIC Error Handling

Runtime error control.

Chapter: Overview

Description

Runtime error control.

Commands

  • ERROR
  • ON ERROR
  • RESUME
  • [TODO] ERR (cmd_err.html)

See also

  • PBXB64 - BASIC Language Reference


BASIC Input/Output - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Overview PBXB64 Compiler Help

BASIC Input/Output

Console and file I/O statements.

Chapter: Overview

Description

Console and file I/O statements.

Commands

  • PRINT
  • INPUT
  • OPEN
  • CLOSE
  • GET
  • PUT
  • SEEK
  • [TODO] LINE (cmd_line.html)

See also

  • PBXB64 - BASIC Language Reference


BASIC Math Functions - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Overview PBXB64 Compiler Help

BASIC Math Functions

Numeric functions and constants.

Chapter: Overview

Description

Numeric functions and constants.

Commands

  • ABS
  • SGN
  • INT
  • FIX
  • ROUND
  • CEIL
  • [TODO] FLOOR (cmd_floor.html)
  • SIN
  • COS
  • TAN
  • ATN
  • SQR
  • EXP
  • LOG
  • RND
  • RANDOMIZE

See also

  • PBXB64 - BASIC Language Reference


BASIC Operators - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Overview PBXB64 Compiler Help

BASIC Operators

Logical, bitwise, and comparison operators.

Chapter: Overview

Description

Logical, bitwise, and comparison operators.

Commands

  • AND
  • OR
  • NOT
  • XOR
  • EQV
  • IMP
  • MOD
  • LIKE
  • [TODO] IS (cmd_is.html)

See also

  • PBXB64 - BASIC Language Reference


BASIC String Functions - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Overview PBXB64 Compiler Help

BASIC String Functions

Common string manipulation functions.

Chapter: Overview

Description

Common string manipulation functions.

Commands

  • MID$
  • LEFT$
  • RIGHT$
  • INSTR
  • LEN
  • ASC
  • CHR$
  • UCASE$
  • LCASE$
  • TRIM$
  • LTRIM$
  • RTRIM$
  • REPLACE$
  • STR$
  • VAL

See also

  • PBXB64 - BASIC Language Reference


BASIC Variables & Scope - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Overview PBXB64 Compiler Help

BASIC Variables & Scope

Variable modifiers, passing modes, and lifetime.

Chapter: Overview

Description

Variable modifiers, passing modes, and lifetime.

Commands

  • [TODO] AS (cmd_as.html)
  • [TODO] BYVAL (cmd_byval.html)
  • [TODO] BYREF (cmd_byref.html)
  • [TODO] ALIAS (cmd_alias.html)
  • [TODO] LIB (cmd_lib.html)
  • [TODO] NEW (cmd_new.html)
  • END

See also

  • PBXB64 - BASIC Language Reference


PBXB64 - C Language (V10) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PBXB64 - C Language (V10)

PBXB64 supports a growing C17 subset interoperable with B64/BASIC/PILOT through the unified IR. V10 adds printf/varargs, indirect function pointers, and float arithmetic.

Chapter: General Reference

Description

PBXB64 supports a growing C17 subset interoperable with B64/BASIC/PILOT through the unified IR. V10 adds printf/varargs, indirect function pointers, and float arithmetic.

printf / Varargs (V10)

#include <stdio.h>

Bootstrap printf with string-literal format:

#include <stdio.h>

int main(void) {
    int n = 42;
    printf("V10 answer=%d hex=%x str=%s\n", n, n, "ok");
    return 0;
}
Format | Support
%d, %i | Signed integer
%u | Unsigned integer
%x, %X | Hexadecimal
%o | Octal
%c | Character
%s | String
%% | Literal percent

Indirect Function Pointers (V10)

call r/m64 via x64 backend
long long add(long long a, long long b) { return a + b; }
long long sub(long long a, long long b) { return a - b; }

int main(void) {
    long long (*fp)(long long, long long);
    int res = 0;
    fp = &add;
    res = (int)fp(20, 22);
    fp = ⊂
    return res + (int)fp(50, 8) - 84;
}

Runtime: malloc / free (V10)

#include <stdlib.h>

int main(void) {
    int* p = (int*)malloc(sizeof(int));
    if (p) { *p = 42; free(p); }
    return 0;
}

Float Arithmetic (V10)

double f(double a, double b) {
    return a * 2.0 + b / 4.0;
}

Preprocessor (V9/V10)

#define MAX 100
#if MAX > 50
    #define MODE 1
#endif

#ifdef __STDC__
    int ver = __STDC_VERSION__;  // 201710L
#endif

_Pragma("GCC diagnostic ignored")  // stripped safely
int line = __LINE__;                // integer
char* file = __FILE__;              // string literal

C17 Headers

26 headers at core/include/c17/. Include with -I:

PBXB64 -I core/include/c17 program.c -o program.exe

Control Flow

switch (x) { case 1: break; case 2: case 3: break; default: break; }
goto label; label: return 0;
return (x > 0) ? 1 : -1;
for (int i = 0; i < 10; i++, j += 2) { body }
if (x) { block } else { block }


PBXB64 - C11 Atomics - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

PBXB64 - C11 Atomics

PBXB64 implements the scalar atomic types and operations from &lt;stdatomic.h&gt;. Atomic operations are lowered to seq_cst helper calls in the embedded c_hlib runtime, so the generated code is thread-safe without requiring special backend atomic instruction support.

Chapter: Overview

Description

PBXB64 implements the scalar atomic types and operations from <stdatomic.h>. Atomic operations are lowered to seq_cst helper calls in the embedded c_hlib runtime, so the generated code is thread-safe without requiring special backend atomic instruction support.

Supported Types

atomic_bool, atomic_char, atomic_schar, atomic_uchar,
atomic_short, atomic_ushort, atomic_int, atomic_uint,
atomic_long, atomic_ulong, atomic_llong, atomic_ullong,
atomic_intptr_t, atomic_uintptr_t, atomic_size_t,
atomic_ptrdiff_t, atomic_intmax_t, atomic_uintmax_t

Supported Operations

Macro | Notes
atomic_load, atomic_load_explicit | Read value
atomic_store, atomic_store_explicit | Write value
atomic_exchange, atomic_exchange_explicit | Swap value
atomic_fetch_add, atomic_fetch_sub | Add/subtract and return old value
atomic_fetch_or, atomic_fetch_and, atomic_fetch_xor | Bitwise ops and return old value
atomic_compare_exchange_strong, atomic_compare_exchange_weak | CAS (weak is strong)
atomic_flag_test_and_set, atomic_flag_clear | Atomic flag ops

Memory Orders

All six memory_order constants are accepted. The current runtime always uses seq_cst behavior regardless of the requested order.

Limitation: Pointer-sized atomics are supported; atomic pointers (_Atomic void*) and atomic floats are not yet implemented.

Back to C Language Reference

Example

#include <stdatomic.h>

static atomic_int counter;

int main(void) {
    atomic_init(&counter, 0);
    atomic_fetch_add(&counter, 1);
    return atomic_load(&counter) == 1 ? 0 : 1;
}


C Control Flow - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C Control Flow

C provides the standard structured control-flow statements.

Chapter: Overview

Description

C provides the standard structured control-flow statements.

Statements

  • if / else
  • switch / case / default / break
  • while
  • do ... while
  • for
  • break and continue
  • goto
  • return

Example

#include <stdio.h>
int main(void) {
    for (int i = 0; i < 3; i++) {
        if (i == 1) continue;
        printf("%d\n", i);
    }
    return 0;
}

See also

  • PBXB64 - C Language (V10)


C Functions - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C Functions

Functions are the primary unit of executable code in PBXB64's C frontend.

Chapter: Overview

Syntax

return_type name(parameter_list) {
    /* body */
    return expression;
}

Description

Functions are the primary unit of executable code in PBXB64's C frontend.

Calling Convention

The Win64 fastcall ABI is used for all user functions: integer/pointer arguments in RCX, RDX, R8, R9; floating-point arguments in XMM0–XMM3; additional arguments on the stack.

Variadic Functions

printf-style variadic functions are supported through the standard library binding.

Example

#include <stdio.h>
int add(int a, int b) { return a + b; }
int main(void) {
    printf("%d\n", add(2, 3));
    return 0;
}

See also

  • PBXB64 - C Language (V10)


PBXB64 - long double - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

PBXB64 - long double

On PBXB64 the long double type is a 64-bit IEEE-754 floating-point type with the same size, alignment, and calling convention as double. This provides full source compatibility with standard C code while reusing the existing SSE float backend.

Chapter: Overview

Description

On PBXB64 the long double type is a 64-bit IEEE-754 floating-point type with the same size, alignment, and calling convention as double. This provides full source compatibility with standard C code while reusing the existing SSE float backend.

Characteristics

Property | Value
Size | 8 bytes
Alignment | 8 bytes
Backend | SSE2 double
Literal suffix | L or l

Notes

  • Arithmetic, comparisons, conversions, function parameters, and returns all work.
  • sizeof(long double) equals sizeof(double).
  • The 80-bit x87 extended-precision format is not supported.
Limitation: 80-bit x87 long double and the associated math.h long-double functions (sinl, cosl, etc.) are not available.

Back to C Language Reference

Example

#include <stddef.h>

long double area(long double r) {
    long double pi = 3.14159265358979323846L;
    return pi * r * r;
}

int main(void) {
    long double a = area(2.0L);
    return (a == 12.566370614359172L) ? 0 : 1;
}


C Pointers & Arrays - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C Pointers & Arrays

Pointers and arrays are first-class concepts in the C frontend.

Chapter: Overview

Description

Pointers and arrays are first-class concepts in the C frontend.

Pointer Operations

  • address-of: &x
  • dereference: *p
  • pointer arithmetic: p + 1
  • subscript: p[i]

Arrays

int arr[5] = {1, 2, 3, 4, 5};
int *p = arr;
printf("%d\n", p[2]);

Example

#include <stdio.h>
int main(void) {
    int vals[] = {10, 20, 30};
    int *p = vals;
    p[1] = 99;
    printf("%d\n", vals[1]);
    return 0;
}

See also

  • PBXB64 - C Language (V10)


C Preprocessor - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C Preprocessor

PBXB64 implements a C17-compatible preprocessor.

Chapter: Overview

Description

PBXB64 implements a C17-compatible preprocessor.

Directives

  • #include
  • #define / #undef
  • #if / #ifdef / #ifndef / #else / #elif / #endif
  • #error
  • #pragma (limited support)

Example

#define VERSION 1
#if VERSION >= 1
#  define MSG "v1+"
#else
#  define MSG "old"
#endif
#include <stdio.h>
int main(void) {
    printf("%s\n", MSG);
    return 0;
}

See also

  • PBXB64 - C Language (V10)


C Standard Library - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C Standard Library

The hosted C environment provides a subset of the C standard library.

Chapter: Overview

Description

The hosted C environment provides a subset of the C standard library.

Supported Headers

  • <stdio.h> — formatted I/O
  • <stdlib.h> — allocation, conversion, random
  • <string.h> — string and memory operations
  • <math.h> — floating-point math
  • <stdint.h> — fixed-width integers
  • <stdbool.h> — boolean macros
  • <stddef.h> — common definitions
  • <ctype.h> — character classification

Example

#include <stdio.h>
#include <string.h>
int main(void) {
    char buf[64];
    strcpy(buf, "hello");
    printf("%s\n", buf);
    return 0;
}

See also

  • PBXB64 - C Language (V10)


C Structures & Unions - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C Structures & Unions

Aggregate types are laid out according to natural x64 alignment.

Chapter: Overview

Syntax

struct Point {
    int x;
    int y;
};
struct Point p = { .x = 1, .y = 2 };
printf("%d,%d\n", p.x, p.y);

Description

Aggregate types are laid out according to natural x64 alignment.

Unions

union U {
    int i;
    float f;
};
union U u;
u.i = 42;

Example

#include <stdio.h>
struct Rect { int x, y, w, h; };
int main(void) {
    struct Rect r = {0, 0, 10, 20};
    printf("%d\n", r.w * r.h);
    return 0;
}

See also

  • PBXB64 - C Language (V10)


PBXB64 - C11 Threads - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

PBXB64 - C11 Threads

PBXB64 provides a subset of &lt;threads.h&gt; implemented on top of the Win32 thread primitives already used by the PB runtime.

Chapter: Overview

Description

PBXB64 provides a subset of <threads.h> implemented on top of the Win32 thread primitives already used by the PB runtime.

Supported API

Name | Description
thrd_t | Thread handle (64-bit)
thrd_create | Create a thread
thrd_join | Wait for thread and release handle
thrd_exit | Exit current thread
mtx_t | Mutex handle
mtx_init | Initialize mutex (mtx_plain only)
mtx_lock | Acquire mutex
mtx_unlock | Release mutex
mtx_destroy | Destroy mutex

Thread/Mutex Handles

Local handles may produce incorrect argument passing.

Limitation: thrd_detach, thrd_sleep, thrd_yield, mtx_timed, mtx_recursive, condition variables, and tss_* are not yet implemented.

Back to C Language Reference

Example

#include <threads.h>
#include <stdatomic.h>

static atomic_int counter;
static mtx_t mutex;
static thrd_t worker;

static int thread_fn(void* arg) {
    (void)arg;
    for (int i = 0; i < 1000; ++i) {
        mtx_lock(&mutex);
        atomic_fetch_add(&counter, 1);
        mtx_unlock(&mutex);
    }
    return 0;
}

int main(void) {
    atomic_init(&counter, 0);
    mtx_init(&mutex, mtx_plain);
    thrd_create(&worker, thread_fn, NULL);
    thrd_join(worker, NULL);
    mtx_destroy(&mutex);
    return atomic_load(&counter) == 1000 ? 0 : 1;
}


C Data Types - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C Data Types

PBXB64's C frontend supports a C17 subset. The scalar types map directly to x64 machine types.

Chapter: Overview

Description

PBXB64's C frontend supports a C17 subset. The scalar types map directly to x64 machine types.

Integer Types

  • char — 8-bit signed or unsigned (implementation-defined sign)
  • short — 16-bit
  • int — 32-bit
  • long — 32-bit on Windows (LLP64)
  • long long — 64-bit
  • _Bool — boolean (C99)

Floating-Point Types

  • float — 32-bit IEEE-754
  • double — 64-bit IEEE-754
  • long double — same as double in the current backend

Derived Types

  • pointers: int *p;
  • arrays: int arr[10];
  • structures: struct Point { int x, y; };
  • unions: union U { int i; float f; };
  • enumerations: enum Color { RED, GREEN, BLUE };

Example

#include <stdio.h>
int main(void) {
    int a = 42;
    double d = 3.14;
    printf("%d %.2f\n", a, d);
    return 0;
}

See also

  • PBXB64 - C Language (V10)
  • C Pointers & Arrays
  • C Structures & Unions


C Variables & Constants - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C Variables & Constants

Variables are declared at block or file scope. Constants may use const, enum, or #define.

Chapter: Overview

Description

Variables are declared at block or file scope. Constants may use const, enum, or #define.

Storage Classes

  • auto — automatic storage (default for locals)
  • static — internal linkage or persistent local
  • extern — reference to an external symbol
  • register — hint (ignored by the backend)

Constants

const int MAX = 100;
#define PI 3.14159
enum { RED, GREEN, BLUE };

Example

#include <stdio.h>
static int counter = 0;
int main(void) {
    const int limit = 10;
    counter++;
    printf("%d/%d\n", counter, limit);
    return 0;
}

See also

  • PBXB64 - C Language (V10)


ASM Source Forms & Directives - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM Source Forms & Directives

Topics in this chapter

ASM DIR ALIGN ASM DIR ASCII ASM DIR ASCIZ STRING ASM DIR BYTE DB ASM DIR DATA ASM DIR DWORD DD ASM DIR EQU SET ASM DIR EXTERN ASM DIR GLOBAL ASM DIR MACRO ASM DIR QWORD DQ ASM DIR REP ASM DIR SECTION ASM DIR TEXT ASM DIR UNICODE ASM DIR WORD DW ASM LABEL ASM LOCAL LABEL ASM MACRO CALL ASM MEMORY OPERAND


Mnemonic Family Overviews - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

Mnemonic Family Overviews

Topics in this chapter

AES / SHA / CLMUL / CRC32 Mnemonics ASM MNEMONICS AVX ASM MNEMONICS BMI ASM MNEMONICS CACHE ASM MNEMONICS CORE ASM MNEMONICS CRYPTO ASM MNEMONICS FPU ASM MNEMONICS MMX ASM MNEMONICS SGX VMX ASM MNEMONICS SSE ASM MNEMONICS SYSTEM AVX/AVX2/AVX-512/FMA Mnemonics BMI1/BMI2 Mnemonics Cache Control / Prefetch Mnemonics Core GPR Mnemonics MMX Mnemonics SGX / VMX / CET Mnemonics SSE/SSE2/SSE3/SSSE3/SSE4 Mnemonics System Instructions x87 FPU Mnemonics


Arithmetic - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

Arithmetic

Topics in this chapter

INST ADDSUBPD INST ADDSUBPS INST DAA INST FADD INST FADDP INST HADDPD INST HADDPS INST HSUBPD INST HSUBPS INST PMADDUBSW INST PMINSB INST PMINUB INST PMINUW INST VADDSUBPD INST VADDSUBPS INST VAESENCLAST INST VHADDPD INST VHADDPS INST VHSUBPD INST VHSUBPS INST VPADDB INST VPADDD INST VPADDQ INST VPADDW INST VPHADDD INST VPHADDSW INST VPHADDW INST VPHSUBD INST VPHSUBSW INST VPHSUBW INST VPMADD52HUQ INST VPMADD52LUQ INST VPMADDUBSW INST VPMADDWD INST VPMAXSB INST VPMAXSD INST VPMAXSW INST VPMAXUB INST VPMAXUD INST VPMAXUW INST VPMINSB INST VPMINSD INST VPMINSW INST VPMINUB INST VPMINUD INST VPMINUW INST VPMULDQ INST VPMULHRSW INST VPMULHUW INST VPMULHW INST VPMULLD INST VPMULLW INST VPMULUDQ INST VPSUBB INST VPSUBD INST VPSUBQ INST VPSUBW INST VRSQRT14PD INST VRSQRT14PS


Bit Operations - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

Bit Operations

Topics in this chapter

INST AAA INST AAM INST ANDN INST BEXTR INST BLSI INST BLSR INST CDQE INST CMOVNO INST CMOVNS INST CMOVO INST CMOVS INST CMPXCHG16B INST CMPXCHG8B INST CWDE INST EMMS INST ENDBR32 INST ENDBR64 INST FCHS INST FCOM INST FLDCW INST FSTCW INST FSTSW INST FUCOM INST FUCOMP INST FUCOMPP INST FXAM INST FXTRACT INST GF2P8AFFINEINVQB INST GF2P8AFFINEQB INST HLT INST IN INST INVVPID INST JNO INST JNS INST JO INST JS INST LAR INST LDDQU INST LGDT INST LIDT INST LLDT INST LMSW INST LOOP INST LZCNT INST MONITORX INST MOVABS INST MOVBE INST MOVDQ2Q INST MOVDQA INST MOVNTDQ INST MOVNTDQA INST MOVNTI INST MOVQ2DQ INST MOVSXD INST MOVZX INST MPSADBW INST MWAIT INST OUT INST PCLMULQDQ INST PEXTRD INST PEXTRQ INST PINSRD INST PINSRQ INST PMOVSXBD INST PMOVSXBQ INST PMOVSXBW INST PMOVSXDQ INST PMOVZXBQ INST PMULUDQ INST PREFETCHH INST PREFETCHNTA INST PREFETCHT0 INST PREFETCHT2 INST PUSHQ INST RCR INST RDTSCP INST RETF INST ROL INST ROR INST SAVEPREVSSP INST SGDT INST SHLD INST SHRD INST SIDT INST SLDT INST SMSW INST UD1 INST UMONITOR INST VALIGND INST VALIGNQ INST VFIXUPIMMSD INST VFIXUPIMMSS INST VGATHERDPD INST VGATHERDPS INST VGATHERQPD INST VGATHERQPS INST VGETMANTPD INST VGETMANTPS INST VGETMANTSD INST VGETMANTSS INST VGF2P8AFFINEINVQB INST VGF2P8AFFINEQB INST VMOVNTDQ INST VMOVNTPS INST VMXOFF INST VMXON INST VPABSD INST VPABSQ INST VPABSW INST VPAND INST VPANDN INST VPANDQ INST VPCONFLICTD INST VPCONFLICTQ INST VPGATHERDD INST VPGATHERDQ INST VPGATHERQD INST VPGATHERQQ INST VPLZCNTD INST VPLZCNTQ INST VPMAXSQ INST VPMAXUQ INST VPMINSQ INST VPMINUQ INST VPMOVSXBD INST VPMOVSXBQ INST VPMOVSXBW INST VPMOVSXDQ INST VPMOVSXWD INST VPMOVSXWQ INST VPMOVZXBD INST VPMOVZXBQ INST VPMOVZXBW INST VPMOVZXDQ INST VPMOVZXWD INST VPMOVZXWQ INST VPMULTISHIFTQB INST VPOPCNTB INST VPOPCNTD INST VPOPCNTQ INST VPOPCNTW INST VPOR INST VPORQ INST VPSIGND INST VPSIGNW INST VPSLLD INST VPSLLQ INST VPSLLVD INST VPSLLVDQ INST VPSLLVQ INST VPSLLW INST VPSRAD INST VPSRAVD INST VPSRAVQ INST VPSRAW INST VPSRLD INST VPSRLQ INST VPSRLVD INST VPSRLVDQ INST VPSRLVQ INST VPSRLW INST VPTERNLOGD INST VPTERNLOGQ INST VPXOR INST VPXORQ INST VRCP14SD INST VRCP14SS INST VRCP28SD INST VRCP28SS INST VREDUCESD INST VREDUCESS INST VRSQRT28SD INST VRSQRT28SS INST VSHUFI32X4 INST VSHUFI64X2 INST WRSS


BMI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › BMI PBXB64 Compiler Help

BMI

Topics in this chapter

INST TZCNT


Cache / Prefetch - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Cache / Prefetch PBXB64 Compiler Help

Cache / Prefetch

Topics in this chapter

INST CLDEMOTE INST CLFLUSH INST CLFLUSHOPT INST CLWB INST CLZERO INST PREFETCHT1 INST PREFETCHW INST PREFETCHWT1 INST VMOVNTDQA INST VMOVNTPD


Compare / Flags - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

Compare / Flags

Topics in this chapter

INST ADCX INST ADOX INST BLENDPD INST BLENDPS INST BLENDVPD INST BLENDVPS INST BLSMSK INST BTC INST BTR INST BTS INST BZHI INST CLI INST CLRSSBSY INST CMC INST COMISD INST COMISS INST FCOMI INST FCOMIP INST FTST INST FUCOMI INST FUCOMIP INST MASKMOVDQU INST MOVMSKPD INST MULX INST PBLENDVB INST PBLENDW INST PCMPESTRM INST PCMPISTRM INST PDEP INST PEXT INST PMOVMSKB INST RORX INST SAHF INST SARX INST SHLX INST SHRX INST STC INST SYSCALL INST UCOMISD INST UCOMISS INST VBLENDMPD INST VBLENDMPS INST VCMPPD INST VCMPPS INST VCMPSD INST VCMPSS INST VCOMISD INST VCOMISS INST VCOMPRESS INST VCOMPRESSB INST VCOMPRESSD INST VCOMPRESSPD INST VCOMPRESSPS INST VCOMPRESSQ INST VCOMPRESSW INST VEXPAND INST VEXPANDB INST VEXPANDD INST VEXPANDPD INST VEXPANDPS INST VEXPANDQ INST VEXPANDW INST VFPCLASSPD INST VFPCLASSPS INST VMOVDQA32 INST VMOVDQA64 INST VMOVDQU32 INST VMOVDQU64 INST VPBLENDMD INST VPBLENDMQ INST VPCMPEQB INST VPCMPEQD INST VPCMPEQQ INST VPCMPEQW INST VPCMPGTB INST VPCMPGTD INST VPCMPGTQ INST VPCMPGTW INST VPERMI2B INST VPERMI2D INST VPERMI2Q INST VPERMI2W INST VPERMT2B INST VPERMT2D INST VPERMT2Q INST VPERMT2W INST VPMOVB2M INST VPMOVD2M INST VPMOVM2B INST VPMOVM2D INST VPMOVM2Q INST VPMOVM2W INST VPMOVQ2M INST VPMOVW2M INST VPSHUFBITQMB INST VPTEST INST VTESTPD INST VTESTPS INST VUCOMISD INST VUCOMISS


Control Transfer - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Control Transfer PBXB64 Compiler Help

Control Transfer

Topics in this chapter

INST NOTRACK


Crypto - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

Crypto

Topics in this chapter

INST AESDEC INST AESDECLAST INST AESENC INST AESENCLAST INST AESIMC INST AESKEYGENASSIST INST CRC32 INST GF2P8MULB INST SHA1MSG1 INST SHA1MSG2 INST SHA1NEXTE INST SHA1RNDS4 INST SHA256MSG1 INST SHA256MSG2 INST SHA256RNDS2 INST SM3MSG1 INST SM3MSG2 INST SM4ENC INST SM4ENC4 INST VAESDEC INST VAESDECLAST INST VAESENC INST VAESIMC INST VAESKEYGENASSIST INST VPCLMULQDQ


Data Movement - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

Data Movement

Topics in this chapter

INST MOVAPD INST MOVDQU INST MOVHLPS INST MOVHPD INST MOVHPS INST MOVLHPS INST MOVLPD INST MOVLPS INST MOVMSKPS INST MOVSHDUP INST MOVSLDUP INST MOVUPD INST VBROADCASTF128 INST VBROADCASTI128 INST VBROADCASTSD INST VBROADCASTSS INST VEXTRACTF128 INST VEXTRACTI128 INST VINSERTF128 INST VINSERTI128 INST VMOVAPD INST VMOVD INST VMOVDDUP INST VMOVDQA INST VMOVDQU INST VMOVHPD INST VMOVHPS INST VMOVLPD INST VMOVLPS INST VMOVQ INST VMOVSD INST VMOVSHDUP INST VMOVSLDUP INST VMOVSS INST VMOVUPD INST VMOVUPS INST VPBROADCASTB INST VPBROADCASTD INST VPBROADCASTQ INST VPBROADCASTW INST VPEXTRB INST VPEXTRD INST VPEXTRQ INST VPINSRB INST VPINSRD INST VPINSRQ INST VPMASKMOVD INST VPMASKMOVQ INST VPMOVMSKB


FPU / x87 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

FPU / x87

Topics in this chapter

INST FABS INST FBSTP INST FCLEX INST FCOMP INST FCOMPP INST FDECSTP INST FDIV INST FDIVP INST FDIVR INST FDIVRP INST FFREE INST FIADD INST FICOM INST FICOMP INST FIDIV INST FILD INST FIMUL INST FINCSTP INST FINIT INST FIST INST FISTP INST FISTTP INST FISUB INST FLD INST FLD1 INST FLDENV INST FLDL2E INST FLDL2T INST FLDLG2 INST FLDLN2 INST FLDPI INST FLDZ INST FMUL INST FMULP INST FNCLEX INST FNINIT INST FNOP INST FPATAN INST FPREM INST FPREM1 INST FRNDINT INST FRSTOR INST FSAVE INST FSCALE INST FSIN INST FSINCOS INST FSQRT INST FST INST FSTENV INST FSTP INST FSUB INST FSUBP INST FSUBR INST FSUBRP INST FWAIT INST FXCH INST FYL2X


Miscellaneous - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

Miscellaneous

Topics in this chapter

ADC - Add with Carry ADD - Add ADDPS - Add Packed Single-Precision Floating-Point ADDSD - Add Scalar Double-Precision Floating-Point ADDSS - Add Scalar Single-Precision Floating-Point AND BSF / BSR BSR - Bit Scan Reverse BSWAP - Byte Swap BT / BTS / BTR / BTC CALL CBW / CWDE / CDQE / CWD / CDQ / CQO / CBTW - Sign Extension CLD - Clear Direction Flag CLD / STD CMOVcc CMP CMPXCHG / CMPXCHG8B / CMPXCHG16B CPUID - CPU Identification CQO / CDQE / CWD / CDQ cvtsd2si - Convert Scalar Double to Signed Integer cvtsd2ss - Convert Scalar Double to Scalar Single cvtsi2sd - Convert Signed Integer to Scalar Double cvtss2sd - Convert Scalar Single to Scalar Double cvttsd2si - Convert with Truncation Scalar Double to Signed Integer DEC DIV divps - Divide Packed Single-Precision Floating-Point Values divsd - Divide Scalar Double-Precision Floating-Point Value divss - Divide Scalar Single-Precision Floating-Point Value ENTER / LEAVE IDIV IMUL INC INST CMPS INST POPCNT INST SCAS INST XADD int3 - Call to Interrupt 3 (Breakpoint) Jcc JMP LEA leave - High Level Procedure Exit LFENCE - Load Fence LOCK MAXSD - Maximum Scalar Double-Precision Floating-Point MAXSS - Maximum Scalar Single-Precision Floating-Point MFENCE - Memory Fence MINSD - Minimum Scalar Double-Precision Floating-Point MINSS - Minimum Scalar Single-Precision Floating-Point MOV MOVAPS - Move Aligned Packed Single-Precision Floating-Point MOVD - Move Doubleword MOVQ - Move Quadword MOVS - Move String MOVSD - Move Scalar Double-Precision Floating-Point MOVSS - Move Scalar Single-Precision Floating-Point MOVUPS - Move Unaligned Packed Single-Precision Floating-Point MOVZX / MOVSX MUL MULPS - Packed Single-Precision Floating-Point Multiply MULSD - Scalar Double-Precision Floating-Point Multiply MULSS - Scalar Single-Precision Floating-Point Multiply NEG NOP NOT - Bitwise Logical NOT OR PAND - Bitwise Logical AND for MMX/XMM PANDN - Bitwise Logical AND-NOT for MMX/XMM PAUSE - Spin Loop Hint POP POPA / POPAD - Pop All General-Purpose Registers POR - Bitwise Logical OR for MMX/XMM PUSH PUSHA / PUSHAD - Push All General-Purpose Registers PXOR - Bitwise Logical XOR for MMX/XMM RCL/RCR/ROL/ROR - Rotate Instructions RDTSC - Read Time-Stamp Counter REP RET SAR SBB - Subtract with Borrow SETcc - Set Byte on Condition SFENCE - Store Fence SHL SHR SQRTSD - Scalar Double-Precision Floating-Point Square Root SQRTSS - Scalar Single-Precision Floating-Point Square Root STC / CLC / CMC STD - Set Direction Flag STOS - Store String SUB SUBPS - Subtract Packed Single-Precision Floating-Point Values SUBSD - Subtract Scalar Double-Precision Floating-Point Value SUBSS - Subtract Scalar Single-Precision Floating-Point Value TEST UD2 - Undefined Instruction XCHG XOR


SGX / VMX / CET - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

SGX / VMX / CET

Topics in this chapter

INST INCSSP INST INVEPT INST RDSSP INST RSTORSSP INST SETSSBSY INST VMCALL INST VMCLEAR INST VMFUNC INST VMLAUNCH INST VMPTRLD INST VMPTRST INST VMREAD INST VMWRITE INST WRUSS


Shuffle / Permute - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

Shuffle / Permute

Topics in this chapter

INST ADDPD INST ANDNPS INST ANDPS INST CMPPD INST CMPPS INST CVTDQ2PD INST CVTDQ2PS INST CVTPD2DQ INST CVTPD2PS INST CVTPS2DQ INST CVTPS2PD INST CVTTPD2DQ INST CVTTPS2DQ INST DIVPD INST DPPD INST DPPS INST EXTRACTPS INST FBLD INST INSERTPS INST MAXPD INST MAXPS INST MINPD INST MINPS INST MOVNTPD INST MOVNTPS INST MULPD INST ORPS INST PABSB INST PABSD INST PABSW INST PACKSSDW INST PACKSSWB INST PACKUSDW INST PACKUSWB INST PADDB INST PADDD INST PADDQ INST PADDSB INST PADDSW INST PADDUSB INST PADDUSW INST PADDW INST PALIGNR INST PCMPEQB INST PCMPEQD INST PCMPEQQ INST PCMPEQW INST PCMPESTRI INST PCMPGTB INST PCMPGTD INST PCMPGTQ INST PCMPGTW INST PCMPISTRI INST PHADDD INST PHADDSW INST PHADDW INST PHMINPOSUW INST PHSUBD INST PHSUBSW INST PHSUBW INST PMADDWD INST PMAXSB INST PMAXSD INST PMAXSW INST PMAXUB INST PMAXUD INST PMAXUW INST PMINSD INST PMINSW INST PMINUD INST PMULDQ INST PMULHRSW INST PMULHUW INST PMULHW INST PMULLD INST PMULLW INST PSHUFB INST PSHUFD INST PSHUFHW INST PSHUFLW INST PSIGNB INST PSIGND INST PSIGNW INST PSLLD INST PSLLQ INST PSLLW INST PSRAD INST PSRAW INST PSRLD INST PSRLQ INST PSRLW INST PSUBB INST PSUBD INST PSUBQ INST PSUBSB INST PSUBSW INST PSUBUSB INST PSUBUSW INST PSUBW INST PTEST INST PUNPCKHBW INST PUNPCKHDQ INST PUNPCKHQDQ INST PUNPCKHWD INST PUNPCKLBW INST PUNPCKLDQ INST PUNPCKLQDQ INST PUNPCKLWD INST RCPPS INST ROUNDPD INST ROUNDPS INST RSQRTPS INST SHUFPD INST SHUFPS INST SQRTPD INST SQRTPS INST SUBPD INST UNPCKHPS INST UNPCKLPS INST VADDPD INST VADDPS INST VANDNPD INST VANDNPS INST VANDPD INST VANDPS INST VBLENDPD INST VBLENDPS INST VBLENDVPD INST VBLENDVPS INST VCPH2PS INST VCVTDQ2PD INST VCVTDQ2PS INST VCVTPD2DQ INST VCVTPD2PS INST VCVTPS2DQ INST VCVTPS2PD INST VCVTPS2PH INST VCVTTPD2DQ INST VCVTTPS2DQ INST VDBPSADBW INST VDIVPD INST VDIVPS INST VDPPD INST VDPPS INST VEXP2PD INST VEXP2PS INST VFIXUPIMMPD INST VFIXUPIMMPS INST VFMADD132PD INST VFMADD132PS INST VFMADD213PD INST VFMADD213PS INST VFMADD231PD INST VFMADD231PS INST VFMADDSUB132PD INST VFMADDSUB132PS INST VFMADDSUB213PD INST VFMADDSUB213PS INST VFMADDSUB231PD INST VFMADDSUB231PS INST VFMSUB132PD INST VFMSUB132PS INST VFMSUB213PD INST VFMSUB213PS INST VFMSUB231PD INST VFMSUB231PS INST VFNMADD132PD INST VFNMADD132PS INST VFNMADD213PD INST VFNMADD213PS INST VFNMADD231PD INST VFNMADD231PS INST VFNMSUB132PD INST VFNMSUB132PS INST VFNMSUB213PD INST VFNMSUB213PS INST VFNMSUB231PD INST VFNMSUB231PS INST VMAXPD INST VMAXPS INST VMINPD INST VMINPS INST VMOVAPS INST VMULPD INST VMULPS INST VORPD INST VORPS INST VPALIGNR INST VPBLENDVB INST VPBLENDW INST VPCOMPRESSD INST VPCOMPRESSQ INST VPERM2F128 INST VPERM2I128 INST VPERMD INST VPERMIL2PD INST VPERMIL2PS INST VPERMILPD INST VPERMILPS INST VPERMPD INST VPERMPS INST VPERMQ INST VPEXPANDD INST VPEXPANDQ INST VPMOVDB INST VPMOVDW INST VPMOVQB INST VPMOVQD INST VPMOVQW INST VPMOVWB INST VPMULLQ INST VPSHUFB INST VPSHUFD INST VPSHUFHW INST VPSHUFLW INST VRCP14PD INST VRCP14PS INST VRCP28PD INST VRCP28PS INST VRCPPS INST VREDUCEPD INST VREDUCEPS INST VRNDSCALEPD INST VRNDSCALEPS INST VROUNDPD INST VROUNDPS INST VRSQRT28PD INST VRSQRT28PS INST VRSQRTPS INST VSCALEFPD INST VSCATTERDPD INST VSCATTERDPS INST VSCATTERQPD INST VSCATTERQPS INST VSHUFPD INST VSHUFPS INST VSQRTPD INST VSQRTPS INST VSUBPD INST VSUBPS INST VUNPCKHPD INST VUNPCKHPS INST VUNPCKLPD INST VUNPCKLPS INST VXORPD INST VXORPS INST XORPS


SSE / AVX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

SSE / AVX

Topics in this chapter

INST CMPSD INST CMPSS INST CVTSI2SS INST CVTSS2SI INST CVTTSI2SD INST CVTTSS2SI INST FXRSTOR INST MOVDDUP INST PEXTRB INST PINSRB INST PMOVSXWD INST PMOVSXWQ INST PMOVZXBD INST PMOVZXBW INST PMOVZXDQ INST PMOVZXWD INST PMOVZXWQ INST PSADBW INST RCPSS INST ROUNDSD INST ROUNDSS INST RSQRTSS INST STMXCSR INST VADDSD INST VADDSS INST VCVTSD2SI INST VCVTSD2SS INST VCVTSI2SD INST VCVTSI2SS INST VCVTSS2SD INST VCVTSS2SI INST VCVTTSD2SI INST VCVTTSS2SI INST VDIVSD INST VDIVSS INST VFMADD132SD INST VFMADD132SS INST VFMADD213SD INST VFMADD213SS INST VFMADD231SD INST VFMADD231SS INST VFMSUB132SD INST VFMSUB132SS INST VFMSUB213SD INST VFMSUB213SS INST VFMSUB231SD INST VFMSUB231SS INST VFNMADD132SD INST VFNMADD132SS INST VFNMADD213SD INST VFNMADD213SS INST VFNMADD231SD INST VFNMADD231SS INST VFNMSUB132SD INST VFNMSUB132SS INST VFNMSUB213SD INST VFNMSUB213SS INST VFNMSUB231SD INST VFNMSUB231SS INST VGATHERPF0DPD INST VGATHERPF0DPS INST VGATHERPF1DPD INST VGATHERPF1DPS INST VGETEXPSD INST VGETEXPSS INST VGF2P8MULB INST VMAXSD INST VMAXSS INST VMINSD INST VMINSS INST VMULSD INST VMULSS INST VPABSB INST VPERMB INST VPERMI2PD INST VPERMI2PS INST VPERMT2PD INST VPERMT2PS INST VPSADBW INST VPSHLDV INST VPSHLDVW INST VPSHRDV INST VPSHRDVW INST VPSIGNB INST VPSLLVW INST VPSRAVW INST VPSRLVW INST VRANGESD INST VRANGESS INST VRCPSS INST VRNDSCALESD INST VRNDSCALESS INST VROUNDSD INST VROUNDSS INST VRSQRTSS INST VSCALEFPS INST VSCATTERPF0DPD INST VSCATTERPF0DPS INST VSCATTERPF1DPD INST VSCATTERPF1DPS INST VSQRTSD INST VSQRTSS INST VSUBSD INST VSUBSS


System & Atomic - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

System & Atomic

Topics in this chapter

INST BOUND INST INTO INST INVD INST INVLPG INST INVPCID INST LSL INST LTR INST MONITOR INST MWAITX INST RDFSBASE INST RDGSBASE INST RDMSR INST RDPMC INST SALC INST STR INST SWAPGS INST SYSENTER INST SYSEXIT INST SYSRET INST TPAUSE INST UD0 INST UMWAIT INST VERR INST VERW INST WBINVD INST WFENCE INST WRFSBASE INST WRGSBASE INST WRMSR INST XGETBV INST XSETBV


Overview - PBXB64 Compiler Help

Home › x64 Assembly Reference › Overview PBXB64 Compiler Help

Overview

Topics in this chapter

Addressing Modes Reference ASM ASM ADDRESSING MODES ASM DIRECTIVES ASMDATA/END ASMDATA statements Assembler Directives PBXB64 - Assembly Language Reference PBXB64 Inline Assembler Overview


B64 Aggregates - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Aggregates PBXB64 Compiler Help

B64 Aggregates

Topics in this chapter

B64 ARRAY struct (B64) variant (B64)


B64 Control Flow - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Control Flow PBXB64 Compiler Help

B64 Control Flow

Topics in this chapter

break (B64) continue (B64) else (B64) for (B64) if (B64) match (B64) while (B64)


B64 Data Types - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Data Types PBXB64 Compiler Help

B64 Data Types

Topics in this chapter

bool (B64) false (B64) i64 (B64) true (B64) typedef (B64) void (B64)


B64 Functions - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Functions PBXB64 Compiler Help

B64 Functions

Topics in this chapter

fn (B64) return (B64)


B64 Inline Assembly - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Inline Assembly PBXB64 Compiler Help

B64 Inline Assembly

Topics in this chapter

B64 ASM


Overview - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › Overview PBXB64 Compiler Help

Overview

Topics in this chapter

B64 Control Flow B64 Data Types B64 Functions B64 Inline Assembly B64 Pointers B64 REF OPERATORS B64 Structs & Arrays B64 Variables PBXB64 - B64 Language Reference


B64 Pointers & Expressions - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Pointers & Expressions PBXB64 Compiler Help

B64 Pointers & Expressions

Topics in this chapter

B64 OPERATORS cast (B64) sizeof (B64)


B64 Variables - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Variables PBXB64 Compiler Help

B64 Variables

Topics in this chapter

const (B64) extern (B64) let (B64) var (B64)


COM & Objects - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › COM & Objects PBXB64 Compiler Help

COM & Objects

Topics in this chapter

OBJRESULT$


Control Flow - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Control Flow PBXB64 Compiler Help

Control Flow

Topics in this chapter

CONTINUE DO EXIT FOR GOSUB GOTO IF SELECT CASE/END SELECT TRY/END TRY WHILE


Data Types & Variables - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Data Types & Variables PBXB64 Compiler Help

Data Types & Variables

Topics in this chapter

Long integers (&)


Declarations - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Declarations PBXB64 Compiler Help

Declarations

Topics in this chapter

DECLARE DIM ENUM/END ENUM statements FUNCTION GLOBAL LOCAL REDIM SHARED STATIC SUB/END SUB statements TYPE/END TYPE UNION


Error Handling - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Error Handling PBXB64 Compiler Help

Error Handling

Topics in this chapter

ERR ERROR$ ON ERROR RESUME


File I/O - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › File I/O PBXB64 Compiler Help

File I/O

Topics in this chapter

CLOSE CLS CSRLIN GET INPUT# LINE LOCATE OPEN POS PRINT# PUT SEEK


Math & Numeric - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

Math & Numeric

Topics in this chapter

ABS ATN CEIL COS EXP FIX FLOOR INT LOG RANDOMIZE - Real Seed RND - Real Random Number Generator ROUND SGN SIN SQR TAN


MCP / JSON Adapter - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP / JSON Adapter

Topics in this chapter

MCP_CatalogCount MCP_CatalogGet MCP_CatalogHas MCP_CatalogList MCP_CatalogNames MCP_CatalogRemoteList MCP_CatalogSearch MCP_CatalogVersion MCP_ErrorObject MCP_InitializeParams MCP_NotificationCancelled MCP_NotificationCreate MCP_NotificationInitialized MCP_NotificationSerialize MCP_PingId MCP_ProgressCreate MCP_ProgressReport MCP_PromptsGet MCP_PromptsList MCP_RemoteCall MCP_RequestId MCP_RequestIsNotification MCP_RequestMethod MCP_RequestParams MCP_ResourcesList MCP_ResourcesRead MCP_ResourcesSchemasList MCP_ResourcesTemplatesList MCP_ResponseCreate MCP_ResponseError MCP_ResponseId MCP_ResponseIsError MCP_ResponseResult MCP_ResponseSerialize MCP_ResultAddJson MCP_ResultAddResource MCP_ResultAddText MCP_ResultContent MCP_ResultData MCP_ResultSetError MCP_SessionCancel MCP_SessionCapabilities MCP_SessionClose MCP_SessionNotifications MCP_SessionNotify MCP_SessionOpen MCP_SessionRequest MCP_SessionState MCP_SessionTransport MCP_TaskCancel MCP_TaskCreate MCP_TaskResult MCP_TaskStatus MCP_TaskTransition MCP_ToolDescription MCP_ToolName MCP_ToolSchema


Memory & Pointers - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Memory & Pointers PBXB64 Compiler Help

Memory & Pointers

Topics in this chapter

MEMORY COPY


Network (TCP/UDP/FTP) - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Network (TCP/UDP/FTP) PBXB64 Compiler Help

Network (TCP/UDP/FTP)

Topics in this chapter

Net_FtpExists Net_FtpLastAction Net_FtpMkdir Net_FtpRename Net_SftpDelete Net_SftpDownload Net_SftpList Net_SftpUpload


Operators - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Operators PBXB64 Compiler Help

Operators

Topics in this chapter

AND EQV IMP IS LIKE MOD NOT OR XOR


Overview - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Overview PBXB64 Compiler Help

Overview

Topics in this chapter

BASIC Control Flow BASIC Declarations BASIC Error Handling BASIC Input/Output BASIC Math Functions BASIC Operators BASIC String Functions BASIC Variables & Scope PBXB64 - BASIC Language Reference


Preprocessor & Metastatements - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Preprocessor & Metastatements PBXB64 Compiler Help

Preprocessor & Metastatements

Topics in this chapter

#OPTION PREFIX/END PREFIX statements


Procedures & Scope - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Procedures & Scope PBXB64 Compiler Help

Procedures & Scope

Topics in this chapter

#LINK PBMAIN


Keyword Reference (A-Z) - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Keyword Reference (A-Z) PBXB64 Compiler Help

Keyword Reference (A-Z)

Topics in this chapter

WEB-Enhancements


String Processing - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

String Processing

Topics in this chapter

ASC CHR$ INSTR LCASE$ LEFT$ LEN LTRIM$ MID$ PARSE$ PARSECOUNT REPLACE RIGHT$ RTRIM$ STR$ TRIM$ UCASE$ VAL


Variables & Scope - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Variables & Scope PBXB64 Compiler Help

Variables & Scope

Topics in this chapter

ALIAS AS BYREF BYVAL END LIB NEW


Hashing & HMAC - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › Hashing & HMAC PBXB64 Compiler Help

Hashing & HMAC

Topics in this chapter

HMACSHA256$ HMACSHA512$ MD5$ SHA1$ SHA256$ SHA512$


HTTP - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP

Topics in this chapter

HEADERBUILD$ HTTP_Execute HTTP_RequestBody HTTP_RequestClone HTTP_RequestHeaders HTTP_RequestMethod HTTP_RequestSerialize HTTP_RequestUrl HTTP_ResponseContentType HTTP_ResponseCreate HTTP_ResponseHeader HTTP_ResponseIsSuccess HTTP_ResponseJson HTTP_SseData HTTP_SseId HTTP_SseParse HTTP_StatusText HTTP_UrlHost HTTP_UrlPath HTTP_UrlPort HTTP_UrlQuery HTTP_UrlScheme HTTPCLOSE HTTPOPEN HTTPREQUEST


JSON - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON

Topics in this chapter

JSON_AddElement JSON_AddProperty JSON_AppendString JSON_Base64UrlDecode JSON_Base64UrlEncode JSON_ByteLength JSON_CharAt JSON_ChildPath JSON_ClearError JSON_CloneRoot JSON_CompactObject JSON_ConcatString JSON_ConstantTimeEqual JSON_CopyPath JSON_CountBy JSON_DecrementBy JSON_DeepCopy JSON_DeepMerge JSON_DeleteAt JSON_Depth JSON_DivideBy JSON_DocumentCapacity JSON_DocumentCount JSON_DocumentReset JSON_ErrorHas JSON_ExcludeFields JSON_FilterArray JSON_FindAll JSON_FindByKey JSON_FindByValue JSON_FromCsv JSON_FromLines JSON_FromQueryString JSON_FromXml JSON_GetIndex JSON_GetKey JSON_GetPath JSON_GetPointer JSON_GetRaw JSON_GetValue JSON_GetWideString JSON_GroupBy JSON_HashCanonical JSON_HashDocument JSON_HasPath JSON_Height JSON_HexUpper JSON_HmacDocument JSON_IncrementBy JSON_InsertAt JSON_IsArray JSON_IsBoolean JSON_IsNullValue JSON_IsNumberValue JSON_IsObject JSON_IsString JSON_JoinArrays JSON_LeafCount JSON_MapKeys JSON_MapValues JSON_Match JSON_MovePath JSON_MultiplyBy JSON_NodeAttach JSON_NodeDetach JSON_NodeExists JSON_NodeIndex JSON_NodeIsArray JSON_NodeIsBoolean JSON_NodeIsNull JSON_NodeIsNumber JSON_NodeIsObject JSON_NodeIsString JSON_NodeKey JSON_NodeSwap JSON_NodeValue JSON_NormalizeNfc JSON_NormalizeNfd JSON_ParentPath JSON_ParseArrayItems JSON_ParseBooleanText JSON_ParseChunk JSON_ParseColumn JSON_ParseCommentPolicy JSON_ParseComplete JSON_ParseDepth JSON_ParseDuplicateKeys JSON_ParseErrorAt JSON_ParseFileUtf8 JSON_ParseFileWide JSON_ParseLine JSON_ParseLines JSON_ParseNdjson JSON_ParseNullText JSON_ParseNumberText JSON_ParseObjectMembers JSON_ParseOffset JSON_ParseRelaxed JSON_ParseStream JSON_ParseStrict JSON_ParseStringText JSON_ParseToken JSON_ParseWarnings JSON_ParseWithOptions JSON_Pop JSON_PrependString JSON_Project JSON_PruneEmpty JSON_PruneNulls JSON_Push JSON_QueryAll JSON_QueryArrays JSON_QueryBooleans JSON_QueryCount JSON_QueryExists JSON_QueryFirst JSON_QueryKeys JSON_QueryNulls JSON_QueryNumbers JSON_QueryObjects JSON_QueryPaths JSON_QueryStrings JSON_QueryValues JSON_RandomHex JSON_RandomUuid JSON_RemoveIndex JSON_RemovePath JSON_RemoveProperty JSON_ReplaceAll JSON_ReplaceValue JSON_RequirePath JSON_RequireType JSON_ReverseText JSON_SelectFields JSON_SetDefault JSON_SetError JSON_SetIndex JSON_SetKey JSON_Shift JSON_SiblingPath JSON_SignDocument JSON_SortArray JSON_SortBy JSON_Splice JSON_Substring JSON_SwapPaths JSON_ToCsv JSON_TogglePath JSON_ToLines JSON_ToQueryString JSON_ToXml JSON_Transpose JSON_UnicodeEscape JSON_UnicodeUnescape JSON_UniqueArray JSON_Unshift JSON_UrlDecodeComponent JSON_UrlEncodeComponent JSON_Utf16Validate JSON_Utf8Validate JSON_ValidateItems JSON_ValidateProperties JSON_ValidateRequired JSON_ValidationMessage JSON_VerifyDocument JSON_ZipArrays JSONFREE JSONGETBOOL JSONGETFLOAT JSONGETINT JSONGETSTR JSONNEW JSONPARSE JSONREMOVE JSONSETBOOL JSONSETFLOAT JSONSETINT JSONSETNULL JSONSETSTRING JSONSTRINGIFY$ JSONTYPE$


URL & Encoding - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

URL & Encoding

Topics in this chapter

BASE64$ BASE64URLSAFE$ ESCAPE$ HEX$ UNBASE64$ UNESCAPE$ UNHEX$ URLDECODE$ URLENCODE$ URLHOST$ URLPATH$ URLPORT URLQUERY$


C Control Flow - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Control Flow PBXB64 Compiler Help

C Control Flow

Topics in this chapter

C BREAK C CONTINUE C DO WHILE C FOR C GOTO C IF C SWITCH C WHILE


C Data Types - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Data Types PBXB64 Compiler Help

C Data Types

Topics in this chapter

C BOOL C ENUM C FLOAT C INT C TYPEDEF


C Functions - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Functions PBXB64 Compiler Help

C Functions

Topics in this chapter

C FUNCTION C FUNCTION POINTER C RETURN C VARIADIC


Overview - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

Overview

Topics in this chapter

C Control Flow C Data Types C Functions C MATH H C Pointers & Arrays C Preprocessor C SIGNAL H C Standard Library C STDIO C STDLIB H C STRING H C Structures & Unions C TIME H C Variables & Constants PBXB64 - C11 Atomics PBXB64 - C11 Threads PBXB64 - long double


C Pointers & Arrays - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Pointers & Arrays PBXB64 Compiler Help

C Pointers & Arrays

Topics in this chapter

C ARRAY C ARROW C CAST C POINTER C SIZEOF


C Preprocessor - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Preprocessor PBXB64 Compiler Help

C Preprocessor

Topics in this chapter

C DEFINE C IFDEF C INCLUDE C LINE FILE C STD


C Structures & Unions - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Structures & Unions PBXB64 Compiler Help

C Structures & Unions

Topics in this chapter

C BITFIELD C COMPOUND LITERAL C STRUCT C UNION


C Variables & Constants - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Variables & Constants PBXB64 Compiler Help

C Variables & Constants

Topics in this chapter

C AUTO C CONST C EXTERN C INITIALIZER C STATIC


COBOL Arithmetic & Data Movement - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Arithmetic & Data Movement PBXB64 Compiler Help

COBOL Arithmetic & Data Movement

Topics in this chapter

ADD COMPUTE DIVIDE INITIALIZE MOVE MOVE CORRESPONDING MULTIPLY ROUNDED SET SUBTRACT


COBOL Calls & Parameters - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Calls & Parameters PBXB64 Compiler Help

COBOL Calls & Parameters

Topics in this chapter

CALL GIVING USING


COBOL Console & Strings - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Console & Strings PBXB64 Compiler Help

COBOL Console & Strings

Topics in this chapter

ACCEPT CONVERTING DELIMITED BY DISPLAY INSPECT REPLACING STRING TALLYING UNSTRING WITH POINTER


COBOL Control Flow - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

COBOL Control Flow

Topics in this chapter

AND AT END CONTINUE DEPENDING ON ELSE END EVALUATE END IF END SEARCH EVALUATE EXIT PERFORM GO TO GOBACK IF NOT NOT AT END OR PERFORM SEARCH STOP RUN WHEN WHEN OTHER


COBOL Copybooks - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Copybooks PBXB64 Compiler Help

COBOL Copybooks

Topics in this chapter

COPY COPY REPLACING


COBOL Data Description - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Data Description PBXB64 Compiler Help

COBOL Data Description

Topics in this chapter

CONDITION NAME 88 EXTERNAL GLOBAL OCCURS PIC QUALIFIED NAMES REDEFINES USAGE VALUE


COBOL Divisions - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Divisions PBXB64 Compiler Help

COBOL Divisions

Topics in this chapter

DATA DIVISION ENVIRONMENT DIVISION IDENTIFICATION DIVISION PROCEDURE DIVISION SECTION


Embedded COBOL in BASIC - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Embedded COBOL in BASIC PBXB64 Compiler Help

Embedded COBOL in BASIC

Topics in this chapter

EMBEDDED END EMBEDDED START EMBEDDED USING


COBOL File I/O - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL File I/O PBXB64 Compiler Help

COBOL File I/O

Topics in this chapter

CLOSE FILE SECTION OPEN READ SELECT ASSIGN WRITE


Overview - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Overview PBXB64 Compiler Help

Overview

Topics in this chapter

ARITHMETIC DATA MOVEMENT CALLS PARAMETERS COBOL Frontend CONSOLE STRINGS CONTROL FLOW COPYBOOKS DATA DESCRIPTION DIVISIONS EMBEDDED BASIC FILE IO


BASIC Data Types - PBXB64 Compiler Help

Home › Data Types › BASIC Data Types PBXB64 Compiler Help

BASIC Data Types

Topics in this chapter

BASIC Datatypes Datatypes Overview DECIMAL128 - IEEE 754 Decimal UNF Family - Scientific Numeric Types UNL - Unlimited-Precision Integer


H-Lib Native Containers - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Native Containers

Topics in this chapter

H-Lib B+ Tree H-Lib Bloom Filter H-Lib C API H-Lib Container Function Params H-Lib Deque H-Lib Graph H-Lib Heap (Priority Queue) H-Lib LRU Cache H-Lib Multiset (Bag) H-Lib Native Containers H-Lib Quadtree H-Lib Ring (Circular Buffer) H-Lib Safe Concurrent Container H-Lib Set H-Lib SkipList H-Lib Subscript Access H-Lib Union-Find (Disjoint Set) Native H-Lib Containers - Examples Native H-Lib Containers - Methods Reference Native H-Lib Containers - Overview


UN Family (UNB/UNC/UNF/UNI/UNL/UNQ) - PBXB64 Compiler Help

Home › Data Types › UN Family (UNB/UNC/UNF/UNI/UNL/UNQ) PBXB64 Compiler Help

UN Family (UNB/UNC/UNF/UNI/UNL/UNQ)

Topics in this chapter

UNB - Big Float (Arbitrary Precision) UNC - Complex Number UNF - Unum Float (16-byte) UNI - Interval Arithmetic UNQ - Quaternion


Wide Integer Types - PBXB64 Compiler Help

Home › Data Types › Wide Integer Types PBXB64 Compiler Help

Wide Integer Types

Topics in this chapter

INT128 / I128 - 128-bit Signed Integer INT256 / I256 - 256-bit Signed Integer INT512 / I512 - 512-bit Signed Integer UINT128 / U128 - 128-bit Unsigned Integer UINT256 / U256 - 256-bit Unsigned Integer UINT512 / U512 - 512-bit Unsigned Integer Wide Integer Types Wide Integer Types (INT128/256/512)


Forth Arithmetic & Bitwise - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth Arithmetic & Bitwise

Topics in this chapter

Forth * Forth + Forth - Forth / Forth ABS Forth AND Forth INVERT Forth LSHIFT Forth MAX Forth MIN Forth MOD Forth NEGATE FORTH ONE MINUS FORTH ONE PLUS Forth OR Forth RSHIFT FORTH TWO SLASH FORTH TWO STAR Forth XOR


Forth Comparisons & Constants - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

Forth Comparisons & Constants

Topics in this chapter

Forth 0< Forth 0<= Forth 0<> Forth 0= Forth 0> Forth 0>= Forth <= Forth <> Forth >= FORTH BL FORTH EQUAL FORTH FALSE FORTH GREATER FORTH LESS FORTH TRUE Forth WITHIN


Forth Control Flow - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Control Flow PBXB64 Compiler Help

Forth Control Flow

Topics in this chapter

FORTH CASE FORTH ELSE FORTH ENDCASE FORTH ENDOF FORTH EXIT FORTH IF FORTH OF FORTH THEN


Forth Definitions & Compile State - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth Definitions & Compile State

Topics in this chapter

Forth ' Forth 1+ Forth 1- Forth 2* Forth 2/ Forth 2DROP Forth 2DUP Forth 2OVER Forth 2SWAP Forth < Forth > Forth ? Forth ?DO Forth [ Forth ['] Forth ] Forth ALLOCATE Forth BRIDGE! Forth BRIDGE!F32 Forth BRIDGE!F64 Forth BRIDGE@ Forth BRIDGE@F32 Forth BRIDGE@F64 Forth BRIDGEADDR Forth BRIDGEBUF Forth BRIDGEF32 Forth BRIDGEF64 Forth BRIDGEI64 Forth BRIDGELEN Forth BRIDGEPTR Forth BRIDGEPTRDECL Forth C" Forth C, Forth CATCH Forth CLOSE-FILE FORTH COLON FORTH CONSTANT Forth CREATE-FILE Forth ENVIRONMENT? Forth ERASE Forth EXECUTE Forth F! Forth F* Forth F** Forth F+ Forth F- Forth F/ Forth F0< Forth F0<> Forth F0= Forth F0> Forth F32 Forth F64 Forth F< Forth F<= Forth F<> Forth F= Forth F> Forth F>= Forth F>N Forth F@ Forth FABS Forth FCOS Forth FDROP Forth FDUP Forth FEXP Forth FILE-POSITION Forth FILE-SIZE Forth FILL Forth FLN Forth FMAX Forth FMIN Forth FNEGATE Forth FOVER Forth FREE Forth FROT Forth FSIN Forth FSQRT Forth FSTARSTAR Forth FSWAP Forth FTAN Forth IMMEDIATE Forth INCLUDE-FILE Forth LITERAL Forth MOVE Forth OPEN-FILE Forth PBADDR Forth PBLEN Forth PBSETF32 Forth PBSETF64 Forth PBSETI64 Forth PBSETSTR Forth PBVALF32 Forth PBVALF64 Forth PBVALI64 Forth PBVALSTR Forth POSTPONE Forth READ-FILE FORTH RECURSE Forth REPOSITION-FILE Forth REQUIRED Forth RESIZE Forth S>F Forth SEARCH FORTH SEMICOLON Forth STATE Forth THROW FORTH VALUE FORTH VARIABLE Forth WRITE-FILE


Embedded Forth in BASIC - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Embedded Forth in BASIC PBXB64 Compiler Help

Embedded Forth in BASIC

Topics in this chapter

FORTH ENDFORTH DIRECTIVE FORTH FORTH DIRECTIVE Forth PBSET Forth PBVAL Forth PBVAR


Forth Loops - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Loops PBXB64 Compiler Help

Forth Loops

Topics in this chapter

FORTH AGAIN FORTH BEGIN FORTH DO FORTH I FORTH J FORTH LEAVE FORTH LOOP FORTH PLUS LOOP FORTH REPEAT FORTH UNLOOP FORTH UNTIL FORTH WHILE


Forth Memory & Data Objects - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Memory & Data Objects PBXB64 Compiler Help

Forth Memory & Data Objects

Topics in this chapter

Forth ! Forth +! Forth , Forth @ FORTH ALLOT Forth C! Forth C@ Forth CELL+ Forth CELLS FORTH CREATE FORTH DOES


Overview - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Overview PBXB64 Compiler Help

Overview

Topics in this chapter

ARITHMETIC BITWISE COMPARISONS CONSTANTS CONTROL FLOW DEFINITIONS COMPILE STATE EMBEDDED BASIC Forth Frontend LOOPS MEMORY DATA OBJECTS PROGRAM CONTROL RETURN STACK RUNTIME STACK WORDS STRINGS CONSOLE IO


Forth Program Control - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Program Control PBXB64 Compiler Help

Forth Program Control

Topics in this chapter

Forth ABORT Forth BYE Forth QUIT


Forth Return Stack & Runtime - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Return Stack & Runtime PBXB64 Compiler Help

Forth Return Stack & Runtime

Topics in this chapter

Forth >R Forth DEPTH Forth MS Forth R> Forth R@ Forth SOURCE Forth SP! Forth SP@


Forth Stack Words - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Stack Words PBXB64 Compiler Help

Forth Stack Words

Topics in this chapter

Forth ?DUP Forth DROP Forth DUP Forth NIP Forth OVER Forth ROT Forth SWAP Forth TUCK FORTH TWO DROP FORTH TWO DUP FORTH TWO OVER FORTH TWO SWAP


Forth Strings & Console I/O - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth Strings & Console I/O

Topics in this chapter

Forth -TRAILING Forth . Forth ." Forth ACCEPT Forth BLANK FORTH BRACKET CHAR FORTH CHAR FORTH CMOVE FORTH CMOVE TO Forth COMPARE Forth COUNT Forth CR Forth EMIT Forth KEY Forth PARSE Forth S" Forth TYPE Forth WORD


LOGO Console - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Console PBXB64 Compiler Help

LOGO Console

Topics in this chapter

LOGO CT LOGO PRINT


LOGO Control Flow - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Control Flow PBXB64 Compiler Help

LOGO Control Flow

Topics in this chapter

LOGO IF LOGO IFELSE LOGO REPEAT LOGO WHILE


LOGO Drawing - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Drawing PBXB64 Compiler Help

LOGO Drawing

Topics in this chapter

LOGO FILL LOGO LABEL


LOGO Lists - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Lists PBXB64 Compiler Help

LOGO Lists

Topics in this chapter

LOGO BUTFIRST LOGO BUTLAST LOGO FIRST LOGO FPUT LOGO ITEM LOGO LAST LOGO LIST LOGO LPUT


LOGO Math - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO Math

Topics in this chapter

LOGO ABS LOGO COS LOGO DIFFERENCE LOGO EQUALP LOGO GREATERP LOGO INT LOGO LESSP LOGO POWER LOGO PRODUCT LOGO QUOTIENT LOGO RANDOM LOGO REMAINDER LOGO ROUND LOGO SIN LOGO SQRT LOGO SUM


LOGO Turtle Motion - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Turtle Motion PBXB64 Compiler Help

LOGO Turtle Motion

Topics in this chapter

LOGO BK LOGO FD LOGO HOME LOGO LT LOGO RT LOGO SETH LOGO SETPOS LOGO SETXY


Overview - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › Overview PBXB64 Compiler Help

Overview

Topics in this chapter

Logo Frontend


LOGO Pen State - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Pen State PBXB64 Compiler Help

LOGO Pen State

Topics in this chapter

LOGO PD LOGO PENREVERSE LOGO PENSIZE LOGO PU LOGO SETPC


LOGO Procedures - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Procedures PBXB64 Compiler Help

LOGO Procedures

Topics in this chapter

LOGO END LOGO OUTPUT LOGO STOP LOGO TO


LOGO Screen State - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Screen State PBXB64 Compiler Help

LOGO Screen State

Topics in this chapter

LOGO CLEAN LOGO CS LOGO FULLSCREEN LOGO HT LOGO SETBG LOGO SETSCRUNCH LOGO SPLITSCREEN LOGO ST LOGO TEXTSCREEN


LOGO Variables - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Variables PBXB64 Compiler Help

LOGO Variables

Topics in this chapter

LOGO COLON WORD LOGO LOCAL LOGO MAKE LOGO QUOTE WORD


PILOT Guards - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Guards PBXB64 Compiler Help

PILOT Guards

Topics in this chapter

PILOT N: (No) PILOT Y: (Yes)


PILOT Labels & Branching - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Labels & Branching PBXB64 Compiler Help

PILOT Labels & Branching

Topics in this chapter

PILOT *label PILOT J: (Jump) PILOT M: (Match)


Overview - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › Overview PBXB64 Compiler Help

Overview

Topics in this chapter

Getting Started with PILOT PBXB64 - PILOT Language Reference PILOT Cookbook: Menu Navigation PILOT Cookbook: Scoring Loop PILOT Cookbook: Simple Quiz PILOT V: (PowerBASIC Variable Bridge)


PILOT Runtime Helpers - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Runtime Helpers PBXB64 Compiler Help

PILOT Runtime Helpers

Topics in this chapter

PILOT S: (Sound)


PILOT Subroutines & End - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Subroutines & End PBXB64 Compiler Help

PILOT Subroutines & End

Topics in this chapter

PILOT E: (End) PILOT U: (Use)


PILOT Text & Comments - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Text & Comments PBXB64 Compiler Help

PILOT Text & Comments

Topics in this chapter

PILOT R: (Remark) PILOT T: (Type)


PILOT Variables & Input - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Variables & Input PBXB64 Compiler Help

PILOT Variables & Input

Topics in this chapter

PILOT A: (Accept) PILOT C: (Compute)


Rust Control Flow - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Control Flow PBXB64 Compiler Help

Rust Control Flow

Topics in this chapter

FOR RANGES IF MATCH WHILE LOOP


Rust Data Types - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Data Types PBXB64 Compiler Help

Rust Data Types

Topics in this chapter

ARRAYS LIFETIMES TUPLES


Rust Functions - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Functions PBXB64 Compiler Help

Rust Functions

Topics in this chapter

CLOSURES EXTERN STATIC FN GENERICS IMPL METHODS THREAD TASKS


Overview - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Overview PBXB64 Compiler Help

Overview

Topics in this chapter

CONTROL FLOW FUNCTIONS OPERATORS OPERATORS ARITHMETIC OPERATORS LOGICAL POINTERS Rust Frontend STRUCTS TYPES VARIABLES


Rust Pointers & Memory - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Pointers & Memory PBXB64 Compiler Help

Rust Pointers & Memory

Topics in this chapter

RAW POINTERS UNSAFE


Rust Structs & Enums - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Structs & Enums PBXB64 Compiler Help

Rust Structs & Enums

Topics in this chapter

ENUMS STRUCTS NAMED TUPLE STRUCTS UNIT STRUCTS


Rust Variables & Constants - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Variables & Constants PBXB64 Compiler Help

Rust Variables & Constants

Topics in this chapter

CONST LET


SPR Conditions - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Conditions PBXB64 Compiler Help

SPR Conditions

Topics in this chapter

SPR EIF SPR ELS SPR IEV SPR IFC SPR IVB SPR IVC SPR IVP SPR IVS SPR IVV SPR NEV SPR NVC SPR NWC


SPR File & Text I/O - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR File & Text I/O

Topics in this chapter

SPR ASC SPR ATF SPR CFF SPR CHR SPR COP SPR CSP SPR CTF SPR DCP SPR FEL SPR FEM SPR FEN SPR FEX SPR GSC SPR GUT SPR IEF SPR MBT SPR MBX SPR MKD SPR NEF SPR OUT SPR PRT SPR SBD SPR SBM SPR SHF SPR VRD


SPR Loops & Strings - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR Loops & Strings

Topics in this chapter

SPR BRK SPR CAT SPR CON SPR DOL SPR FOR SPR GSS SPR LEN SPR NEX SPR OOP SPR RPL SPR VBT SPR VTL SPR VTU


Overview - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › Overview PBXB64 Compiler Help

Overview

Topics in this chapter

SPR Frontend


SPR Program Control - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Program Control PBXB64 Compiler Help

SPR Program Control

Topics in this chapter

SPR DBP SPR END SPR ENR SPR GSB SPR GTO SPR JMP SPR JSR SPR RET SPR VAR


SPR System & Memory - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR System & Memory

Topics in this chapter

SPR CLW SPR EXB SPR EXE SPR EXF SPR EXO SPR EXX SPR HTV SPR KEY SPR KPR SPR KRL SPR MAP SPR MAW SPR MDC SPR MEL SPR MEM SPR MLC SPR MMV SPR MPO SPR MRC SPR MRE SPR SCW SPR STW


SPR Variables & Math - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR Variables & Math

Topics in this chapter

SPR BIT SPR CAL SPR CAX SPR CLV SPR EVA SPR FMT SPR GVT SPR RES SPR RND SPR SAV SPR VAB SPR VAI SPR VAO SPR VDC SPR VIC


About This Help - PBXB64 Compiler Help

Home › Welcome & Getting Started › About This Help PBXB64 Compiler Help

About This Help

Topics in this chapter

About This Help


Command-Line Options - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Command-Line Options

Topics in this chapter

Aggressive Optimization Basic Optimization C Standard Mode CLI CON CLI DUMP IR AFTER CLI DUMP IR BEFORE CLI GUI Compile Only CRT Mode Debug Information Define Macro Disable Builtins Disable Optimizations Dump IR Dump Tokens Emit Assembly Dump Emit AST Dump Emit IR Emit Map File Emit MIR Dump Emit Object File Enable All Warnings Entry Symbol Extra Warnings Freestanding Mode Hosted Mode Include Path Maximum Optimization No Default CRT No Optimization Output Path Pedantic Mode Preprocess Only Print Pipeline Print Statistics Print Version Save Assembly to File Save Assembly to File (asmout) Show Help Stop After Assembly Stop After Stage Syntax Check Only System Include Path Target Triple Time Stages Trace Passes Undefine Macro Verbose Output Verify After Each Pass Verify IR Verify MIR Warnings as Errors


General Reference - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

General Reference

Topics in this chapter

#ALIGN #BLOAT #COM #COMPILE #DEBUG CODE #DEBUG DISPLAY #DEBUG ERROR #DEBUG PRINT #EXPORT #IF #INCLUDE #MESSAGES #OPTIMIZE #PAGE #PBFORMS #RESOURCE #STACK #TOOLS #UNIQUE #UTILITY %DEF %PB_COMPILETIME numeric equate A simple communications program ACCEL ATTACH Accessing PowerBASIC variables by name Accessing the fields of a User-Defined Type ACODE$ ACOS ACOSH ACOT ACSC Add-on Libraries, Utilities and Tools Adding Controls to the Dialog Additional Source Code and Examples Addressing and pointers ALLOCATE REALLOCATE FREE An ECHO client and server using TCP ANY Appendix C: Optimizing Your Code Are there other important "Buzz-Words"? Arithmetic Operators ARRAY ARRAYIX ARRAY ASSIGN Array Data Types ARRAY DELETE ARRAY INSERT Array operations ARRAY SCAN ARRAY SORT Array storage requirements ARRAYASSIGN ARRAYATTR ARRAYSCAN ARRAYSHIFT ARRAYSHUFFLE ARRAYSWAP Arrays�within User-Defined Types ARRAYUNIQUE ASCII ASEC ASIN ASINH ASSERT ATANH ATN2 Balancing the stack BASE64 BASE64URLSAFE BEEP BESSELI0 BESSELI1 BESSELJ0 BESSELJ1 BETA BETWEEN BGR BIN$ Binary Files BINOM BINOMCDF BINOMPMF BIT BIT CALC Bit Data Types BITS BITSE BOUNDED BRIDGE BUILD$ Built In RGB Color Equates Built-in Interfaces Built-in numeric equates Built-in string equates Built-in User Defined Types Byte (?) C Data Types C17 Standard Library Headers CADD CALL CALL DWORD Callbacks CALLSTK$ CALLSTKCOUNT CASE CASE ELSE CATCH CB Callback functions CBRT CBYT CCODE CCONJ CCOS CDIV CEXP CHAIN Characters, Strings, and Unicode CHDIR CHDRIVE CHEBYSHEV CHOOSE CHRBYTES ChrToOem$ ChrToUtf8$ CIMAG CLASS/END CLASS CLIP$ CLIPBOARD GET BITMAP CLOG CLSID$ CMAG CMUL CODEPTR Collection Objects COMBOBOX ADD COMM COMM CLOSE COMM LINE COMM OPEN COMM PRINT COMM RECV COMM RESET COMM SEND COMM SET COMM TIMEOUT Command Summary COMMAND$ Commenting Assembly code Communication Control COMPILE Metastatement COMPILER Metastatement Config_Clear Config_Export Config_Has Config_Import Config_ProviderCount Config_ProviderName Config_Remove CONST Constants and Literals CONTROL ADD CONTROL ADD BUTTON CONTROL ADD CHECK3STATE CONTROL ADD CHECKBOX CONTROL ADD COMBOBOX CONTROL ADD FRAME CONTROL ADD GRAPHIC CONTROL ADD HEADER CONTROL ADD IMAGE CONTROL ADD IMAGEX CONTROL ADD IMGBUTTON CONTROL ADD IMGBUTTONX CONTROL ADD LABEL CONTROL ADD LINE CONTROL ADD LISTBOX CONTROL ADD LISTVIEW CONTROL ADD OPTION CONTROL ADD PROGRESSBAR CONTROL ADD SCROLLBAR CONTROL ADD STATUSBAR CONTROL ADD TAB CONTROL ADD TEXTBOX CONTROL ADD TOOLBAR CONTROL ADD TREEVIEW CONTROL DISABLE CONTROL ENABLE CONTROL GET CHECK CONTROL GET CLIENT CONTROL GET LOC CONTROL GET SIZE CONTROL GET TEXT CONTROL GET USER CONTROL HANDLE CONTROL HIDE CONTROL KILL CONTROL NORMALIZE CONTROL POST CONTROL REDRAW CONTROL SEND CONTROL SET CHECK CONTROL SET CLIENT CONTROL SET COLOR CONTROL SET FOCUS CONTROL SET FONT CONTROL SET IMAGE CONTROL SET IMAGEX CONTROL SET IMGBUTTON CONTROL SET IMGBUTTONX CONTROL SET LOC CONTROL SET OPTION CONTROL SET SIZE CONTROL SET TEXT CONTROL SET USER CONTROL SHOW STATE Control Styles CONTROL TRAXOMATIC Controls Converting a .RC to a .RES COSH CPHASE CPOW CREAL Creating a Dialog Creating a DISPATCH Object Creating a Dynamic Link Library Creating a Static Link Library CSET$ CSIN CSQRT CSUB CTAN CURDIR$ Currency and Extended-currency CVBYT CVWRD DATA Data Types Data types in Registers DATACOUNT DATE$ system variable DAYNAME$ DEBUG Debugging PBXB64 Programs DEC$ DEC128 DECR Default Variable Typing DEFBYT Defining Constants Defining User-Defined Types DEGREES DELAY DESKTOP GET CLIENT DESKTOP GET LOC DESKTOP GET PPI DESKTOP GET SIZE DIALOG DEFAULT FONT DIALOG DISABLE DIALOG DOEVENTS DIALOG ENABLE DIALOG END DIALOG GET CLIENT DIALOG GET LOC DIALOG GET SIZE DIALOG GET TEXT DIALOG GET USER DIALOG HIDE DIALOG MAXIMIZE DIALOG MINIMIZE DIALOG NEW DIALOG NONSTABLE DIALOG NORMALIZE DIALOG PIXELS DIALOG POST DIALOG REDRAW DIALOG SEND DIALOG SET CLIENT DIALOG SET COLOR DIALOG SET ICON DIALOG SET LOC DIALOG SET SIZE DIALOG SET TEXT DIALOG SET USER DIALOG SHOW MODAL DIALOG SHOW MODELESS DIALOG SHOW STATE DIALOG STABILIZE Dialog Styles DIALOG TRAXOMATIC DIALOG UNITS DIALOG XLAT DIGAMMA DIR$ DIR$ CLOSE DISKFREE DISKSIZE DISPLAY BROWSE DISPLAY COLOR DISPLAY FONT DISPLAY OPENFILE DISPLAY SAVEFILE Dll example DLLMAIN DO/LOOP statements Double-precision floating-point (#) Double-word (???) Dynamic (Variable-length) strings ($) Dynamic Dialog Tools Dynamic Dialog Tools (DDT) EACH Effective Addressing ELSE ELSEIF END IF ENDASM ENDC ENDFASM ENDJS ENDPB Enumerating Collections ENVIRON$ EOF ERASE ERF ERFC ERL system variable ERL$ ERR system variable Error Overview Error Trapping Error Trapping Summary ESCAPE EVAL Evaluating a variable EVENT SOURCE EVENTS EXE.Inst member Exiting an error handler EXP10 EXP2 EXPM1 Extended-precision floating-point (##) EXTRACT$ FACT FALSE FASM FASTPROC/END FASTPROC statements FIELD File Commands File_AppendText File_AppendUtf8 File_CopyReplace File_IsDirectory File_MakeDirectory File_MoveReplace File_NormalizePath File_ReadBytes File_RemoveDirectory File_TempName File_Timestamp File_WriteBytes FILEATTR FILECOPY FILENAME$ Files FILESCAN FINALLY Fixed-length strings Flow Control FLUSH FONT END FONT NEW FOR EACH/NEXT statements FOR/NEXT statements FORMAT$ FRAC - Real Fractional Part FREEFILE FUNCNAME$ FUNCTION/END FUNCTION statements GAMMA GCD GET$ GET$$ GETATTR GLOBALALLOC GLOBALFLAGS GLOBALFREE GLOBALLOCK GLOBALMEM ALLOC GLOBALSIZE GLOBALUNLOCK GOTO GRAPHIC ARC GRAPHIC ATTACH GRAPHIC BITMAP END GRAPHIC BITMAP LOAD GRAPHIC BITMAP NEW GRAPHIC BOX GRAPHIC CLEAR GRAPHIC Code Group GRAPHIC COLOR Graphic Commands GRAPHIC COPY GRAPHIC DETACH GRAPHIC ELLIPSE GRAPHIC GET BITS GRAPHIC GET SCALE GRAPHIC IMAGELIST GRAPHIC INPUT GRAPHIC INPUT FLUSH GRAPHIC LINE GRAPHIC LINE INPUT GRAPHIC PAINT GRAPHIC PIE GRAPHIC POLYGON GRAPHIC POLYLINE GRAPHIC PRINT GRAPHIC REDRAW GRAPHIC RENDER GRAPHIC SAVE GRAPHIC SCALE GRAPHIC SET AUTOSIZE GRAPHIC SET BITS GRAPHIC SET CAPTION GRAPHIC SET CLIENT GRAPHIC SET CLIP GRAPHIC SET FIXED GRAPHIC SET FOCUS GRAPHIC SET FONT GRAPHIC SET LOC GRAPHIC SET MIX GRAPHIC SET OVERLAP GRAPHIC SET PIXEL GRAPHIC SET POS GRAPHIC SET SCROLLTEXT GRAPHIC SET SIZE GRAPHIC SET STRETCHMODE GRAPHIC SET VIEW GRAPHIC SET VIRTUAL GRAPHIC SET WORDWRAP GRAPHIC SET WRAP GRAPHIC SPLIT GRAPHIC STRETCH GRAPHIC STYLE GRAPHIC WIDTH GRAPHIC WINDOW GRAPHIC WINDOW CLICK GRAPHIC WINDOW END GRAPHIC WINDOW HIDE GRAPHIC WINDOW MINIMIZE GRAPHIC WINDOW NONSTABLE GRAPHIC WINDOW NORMALIZE GRAPHIC WINDOW STABILIZE GRAPHIC$(CAPTION) GRAPHIC$(INKEY$) GRAPHIC$(WAITKEY$) GRAPHIC(CANVAS.X) GRAPHIC(Cell.Size.X) GRAPHIC(Chr.Size.X) GRAPHIC(Client.X) GRAPHIC(Clip.X) GRAPHIC(COL) GRAPHIC(DC) GRAPHIC(INSTAT) GRAPHIC(LINES) GRAPHIC(LOC.X) GRAPHIC(MIX) GRAPHIC(OVERLAP) GRAPHIC(PIXEL...) GRAPHIC(POS.X) GRAPHIC(PPI.X) GRAPHIC(SCROLLTEXT) GRAPHIC(SIZE.X) GRAPHIC(STRETCHMODE) GRAPHIC(TEXT.SIZE.X...) GRAPHIC(View.X) GRAPHIC(WORDWRAP) GRAPHIC(WRAP) Graphics GUID$ GUIDTXT$ HEADER GET COUNT HEADERBUILD HERMITE HEX$ HI Historical topic unavailable HMACSHA256 HMACSHA512 HOST ADDR HOST NAME How Are GUIDs Used? How error traps work HTTPCLOSE HTTPOPEN HTTPREQUEST HYPOT ID Binding IDISPINFO CLEAR IDISPINFO pseudo-object IDISPINFO SET IF/END IF IIF IMAGELIST ADD BITMAP IMPORT ADDR IN INCR Inline Assembler code syntax INPUTBOX$ INSTANCE Integers (%) INTERFACE / END INTERFACE Block (Direct) INTERFACE/END INTERFACE block (Dispatch) Intermixing ASM and BASIC code Internal representations of arrays IPowerThread.Close method IPowerTime.AddDays method ISFALSE ISFALSE ISFALSE and ISTRUE Operators ISFILE ISFOLDER ISINTERFACE ISMISSING ISNOTHING ISNOTNULL ISNULL ISOBJECT ISPRIME IStringBuilderA.Add method ISWIN ITERATE JOIN$ JS JSONFREE JSONGETBOOL JSONGETFLOAT JSONGETINT JSONGETSTR JSONNEW JSONPARSE JSONREMOVE JSONSETBOOL JSONSETFLOAT JSONSETINT JSONSETNULL JSONSETSTRING JSONSTRINGIFY JSONTYPE Just what is COM? KEYSTAT KEYSTATE Keyword Reference KILL LAGUERRE Late Binding LBETA LBOUND LCM LEGENDRE LET LET statement (with Objects) LET statement (with Types) LET statement (with Variants) LGAMMA LibMain LINE INPUT# Line numbers and Labels LISTBOX ADD LISTVIEW DELETE COLUMN LO LOC LOCK LOF LOG10 LOG1P LOG2 LOGISTIC LOGIT Long lines LOOP LPRINT ATTACH LPRINT CLOSE LPRINT FLUSH LPRINT FORMFEED LPRINT$ LSET$ MACRO/END MACRO MAK MAT MAT PRINT/READ/WRITE MAX MCASE$ MCP LOCAL TOOL ADAPTER MD5 ME pseudo-variable MENU ADD POPUP MENU ADD STRING MENU ATTACH MENU CONTEXT MENU DELETE MENU DRAW BAR Menu Example MENU GET STATE MENU GET TEXT MENU NEW BAR MENU NEW POPUP MENU SET STATE MENU SET TEXT Menu State Menu Walkthrough Menus Metastatements METHOD / END METHOD statements METRICS MIN Misc Operations MKBYT$ MKDIR MMX registers Mnemonics and Operands Modal vs. Modeless MODINV MODPOW MODULE MONTHNAME$ More on the Menu MOUSEPTR MSGBOX Multidimensional arrays MYBASE pseudo-variable NAME Nesting User-Defined Types NEXT NORMCDF NORMINV NORMPDF NUL$ Nul-Terminated Strings Numeric Equates Numeric Operations OBJACTIVE OBJECT OBJEQUAL OBJPTR OBJRESULT OCT$ ODE_RK4 OemToChr$ ON ON GOSUB ON GOTO ON KEY ON MOUSE Opcodes and Mnemonics Opening a communications port Opening a type-library Operating System Operator Precedence OPTION EXPLICIT Options Dialog Overview Parameters passed by reference or by copy Passing arrays Passing dynamic strings Passing parameters PATHNAME$ PATHSCAN$ PB PBLIBMAIN PBXB64 - C Language (V10) PBXB64 - Command-Line Options PBXB64 - Example Programs PBXB64 - Language Frontends PBXB64 Compiler Help PEEK PIC BIND PIC CLEAR PIC DOLLAR PIC FREE PIC GET PIC INIT PIC SET PICFIELD PICVAL PICVALID PLAY SOUND PLAY WAVE Pointers (@) Pointers to arrays Pointers to arrays with dual indexes Pointers to Nul-Terminated and fixed-length strings POISSONCDF POISSONPMF POKE POWERARRAY Object PRESERVE PRINT USING PRINTER$ PRINTERCOUNT Printing Commands Printing Overview Private and Exported Procedures PROCESS GET PRIORITY PROCESS SET PRIORITY PROFILE PROGID$ PROGRESSBAR GET POS PROPERTY / END PROPERTY PUT$ PUT$$ Quad integers (&&) RADIANS RAISEEVENT Random Access Files RATIONAL READ$ Reading and writing data REGEXPR REGISTER Registers REGREPL Relational Operators REM REMACRO REMAIN$ REMOVE$ REPEAT$ RESET RESOURCE SAVE FILE RESOURCE$ RETAIN$ RETURN RGB RMDIR ROTATE RSET$ RUN Saving registers Saving Registers at the Procedure level Saving the FPU registers Saving the Source Code SAY SCAN$ SCREEN SCROLLBAR GET PAGESIZE SELECT Sequential Files Serial Communications SETATTR SETEOF Setting an error trap SHA1 SHA256 SHA512 SHELL SHIFT SHRINK$ SINC Single-precision floating-point (!) SINH SIZEOF SLEEP SLL example SPACE$ SPLIT SPR EFX SPR FEF SPR FEP SPR FER SPR FES SPR FEV SPR NVB SPR NVP SPR USM SPR VAS SPR VAU SPR VLT SPR VRT Stack Overhead Reduction StackCollection Statement separation STATUSBAR SET PARTS STEP Storage requirements and restrictions Storage requirements and restrictions STRDELETE$ String arrays String Equates String expressions String Operations Commands STRING$ STRINGZ STRINSERT$ STRPTR STRREVERSE$ Structured Programming Subscripts SWAP SWITCH Syntax Custom Color Selector SYSINFO TAB DELETE TAGARRAY TALLY TANH TBOX TCP ACCEPT TCP and UDP Communications TCP CLOSE TCP LINE INPUT TCP NOTIFY TCP OPEN TCP PRINT TCP RECV TCP SEND Text Commands Text_Contains Text_EndsWith Text_Lower Text_PadLeft Text_PadRight Text_SplitLines Text_StartsWith Text_Upper The Inline Assembler The Stack THEN THREAD CLOSE THREAD Code Group Thread Control THREAD CREATE THREAD GET PRIORITY THREAD RESUME THREAD SET PRIORITY THREAD STATUS THREAD SUSPEND THREADCOUNT THREADED THREADID THREADSAFE Option Descriptor Time Commands TIME$ system variable TIMEBASE TIMER TIX - Real CPU Cycle Counter TO TOOLBAR ADD BUTTON TRACE TREEVIEW DELETE Tricks in preserving registers Tricks of the stack TRIGAMMA TRUE TURTLE TXT ADDTEXT TXT ATTRIBUTE TXT CLOSE TXT COLOR TXT COUNT TXT DELETE TXT FIND TXT FONT TXT INDEX TXT INPUT TXT INSERT TXT LINE TXT OPEN TXT PRINT TXT pseudo-object TXT REPLACE TXT SELECT TXT SELTEXT TYPE SET UBOUND UCODE$ UCODEPAGE UDP CLOSE UDP NOTIFY UDP OPEN UDP RECV UDP SEND UDT Examples UNB UNBASE64 UNC UNESCAPE UNF UNFABS UNFACOS UNFASIN UNFATAN UNFCOS UNFEXP UNFIPOW UNFLOG UNFNEG UNFPI UNFSIN UNFSQRT UNFTAN UNFTRUNC UNHEX UNI UNION/END UNION Unions UNL UNLOCK UNMACRO UNQ UNTIL UNWRAP$ URLDECODE URLENCODE URLHOST URLPATH URLPORT URLQUERY User-Defined Types (UDTs) Using arrays of User-Defined Types Using assembly-language in your code Using ESP and EBP Using User-Defined Types with procedures USING$ Utf8ToChr$ Variable scope Variables VARIANT$/VARIANT$$ VARIANTVT VARPTR VERIFY Version History WEND What Are Connection Points? What Does a Class Look Like? What Does an Interface Look Like? What Is a COM Component? What is a Dll? What Is a Resource File? What Is an HRESULT? What Is an Object Anyway? What is an SLL? What is DISPATCH? What is inheritance? WHILE/WEND statements Why use Dlls? Win32 API Include Updates WINDOW GET HANDLE WINDOW SET ID WINMAIN Word (??) WRAP$ WRITE# Writing an error handler WSTRING WSTRINGZ XPRINT ARC XPRINT ATTACH XPRINT BOX XPRINT CANCEL XPRINT CLOSE XPRINT Code Group XPRINT COLOR XPRINT COPY XPRINT ELLIPSE XPRINT FORMFEED XPRINT GET MARGIN XPRINT GET PAGES XPRINT GET SCALE XPRINT IMAGELIST XPRINT LINE XPRINT PIE XPRINT POLYGON XPRINT POLYLINE XPRINT PREVIEW XPRINT PRINT XPRINT RENDER XPRINT SCALE XPRINT SET CLIP XPRINT SET COLLATE XPRINT SET COLORMODE XPRINT SET COPIES XPRINT SET DUPLEX XPRINT SET FONT XPRINT SET MIX XPRINT SET ORIENTATION XPRINT SET OVERLAP XPRINT SET PAGES XPRINT SET PAPER XPRINT SET PIXEL XPRINT SET POS XPRINT SET QUALITY XPRINT SET STRETCHMODE XPRINT SET TRAY XPRINT SET WORDWRAP XPRINT SET WRAP XPRINT SPLIT XPRINT STRETCH XPRINT STYLE XPRINT WIDTH XPRINT$ XPRINT$(PAPERS) XPRINT$(TRAYS) XPRINT(CANVAS.X) XPRINT(Cell.Size.X) XPRINT(Chr.Size.X) XPRINT(Client.X) XPRINT(Clip.X) XPRINT(COL) XPRINT(COLLATE) XPRINT(COLORMODE) XPRINT(COPIES) XPRINT(DC) XPRINT(DUPLEX) XPRINT(LINES) XPRINT(MIX) XPRINT(ORIENTATION) XPRINT(OVERLAP) XPRINT(PAPER) XPRINT(PIXEL...) XPRINT(POS.X) XPRINT(PPI.X) XPRINT(QUALITY) XPRINT(SELECTION) XPRINT(SIZE.X) XPRINT(STRETCHMODE) XPRINT(TEXT.SIZE.X...) XPRINT(TRAY) XPRINT(WORDWRAP) XPRINT(WRAP) XTHREAD CREATE


PBXB64 - Command-Line Options - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PBXB64 - Command-Line Options

Chapter: General Reference

Description

PBXB64 [options] <input files>

Output Control

Option | Description
-o <file> | Set output executable path (default: a.exe)
-c | Compile only - produce object file (.obj), skip linking
-S | Stop after assembly generation (.asm)
--emit-ast, --dump-ast | Emit AST dump to stdout for debugging
--emit-ir, --dump-ir | Emit IR dump to stdout
--emit-asm | Emit assembly listing to stdout
--emit-obj | Force object file emission (alias for -c)
--emit-map | Emit map file
--emit-mir | Emit MIR dump to stdout
--asm:<path> | Save generated assembly to file, then continue compiling and linking
--dump-tokens | Dump lexer token stream to stdout

Preprocessor (V8 Enhanced)

Option | Description
-E | Preprocess only - output expanded source to stdout
-I <path> | Add user include search path (checked first)
-isystem <path> | Add system include path (suppresses warnings)
-DNAME | Define macro NAME=1
-DNAME=value | Define macro with explicit value
-UNAME | Undefine previously defined macro
-std=c17 | Enable C17 standard mode (default in V8)
-ffreestanding | Freestanding environment (no runtime dependencies)
-fhosted | Hosted C mode (default)
-fno-builtin | Disable builtin functions

Optimization Levels

Option | Description
-O0 | No optimization (default, fastest compile, debug-friendly)
-O1 | Basic optimizations: dead code elimination, constant folding
-O2 |
-O3 | Maximum optimization (may increase binary size)
--NoOpt | Disable all optimizations (alias for -O0)

Diagnostics

Option | Description
-Wall | Enable all common warnings
-Wextra | Enable extra warnings
-Werror | Treat warnings as errors
-pedantic | Strict standard compliance

Target & General Options

Option | Description
--target <triple> | Set target triple (default: x86_64-w64-windows-gnu)
--entry <symbol> | Override default entry point symbol
-v, --verbose | Verbose output - show compilation steps and paths
--version | Print compiler version and exit
-g, --debug | Emit debug information
--time-stages | Time compilation stages
V8 Tip: Combine -E -I core/include/c17 -DDEBUG=1 program.c to inspect preprocessed output with custom macros and headers.
← Overview B64 Language Reference → View Examples
PBXB64 Compiler Documentation · V8 Native Edition · Last updated 2026-01-15
For issues and contributions: smart-package.com


A simple communications program - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

A simple communications program

Let's assume you want a simple communications program to use for accessing a local computer bulletin board. You know the parameters for the board: it is 14400 baud, 8 data bits, one stop bit, and no p

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Let's assume you want a simple communications program to use for accessing a local computer bulletin board. You know the parameters for the board: it is 14400 baud, 8 data bits, one stop bit, and no p

Kind: Keyword | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

You want to display data on your screen, be able to type data, and have it sent to the bulletin board. You intend to use a modem connected to COM1. The following short program serves as a starting point, and uses PowerBASIC's new DDT features to create the user interface:

'----------------------------------------------------------

' Serial Communications Example for PowerBASIC for Windows

Back to command index


ABS - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

ABS

Return the absolute value of a numeric

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

y = ABS( numeric_expression )

Description

Return the absolute value of a numeric

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The absolute value of a number is its non-negative value. For example, the absolute value of -3 is 3, and the absolute value of +3 is also 3. The absolute value of 0 is 0.

Example

#COMPILE EXE
#DIM ALL
' math_abs_basic
FUNCTION PBMAIN() AS LONG
  IF (ABS(0)) <> (0) THEN FUNCTION = 1: EXIT FUNCTION
  IF (ABS(1)) <> (1) THEN FUNCTION = 2: EXIT FUNCTION
  IF (ABS(-1)) <> (1) THEN FUNCTION = 3: EXIT FUNCTION
  IF (ABS(100)) <> (100) THEN FUNCTION = 4: EXIT FUNCTION
  IF (ABS(-100)) <> (100) THEN FUNCTION = 5: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • SGN


ACCEL ATTACH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ACCEL ATTACH

Attach a table of keyboard accelerators to a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ACCEL ATTACH hDlg , AccelTbl() TO hAccelHandle

Description

Attach a table of keyboard accelerators to a

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ACCEL ATTACH permits you to attach one table of accelerator key definitions to each DDT dialog in your application.

The keyboard accelerator itself is a specific keystroke combination, which results in a %WM_COMMAND or %WM_SYSCOMMAND message being placed into the application's message queue.

Keyboard accelerators are very similar to command accelerators, and often permit the same action selections as menus offer. Since keyboard accelerators can be used directly, they negate the need to navigate a menu in order to perform a specific action.

Typically, application menu items inform users of available keyboard accelerators so expert users can work more efficiently without using the actual menus, but can still use the menu if required. The following image shows a menu showing command accelerator and keyboard accelerators for menu items (the command accelerators are underscored):

On Windows XP and Windows 2000 you may need to press the ALT key before Command Accelerators are made visible. You can set if Command Accelerators are visible when using the ALT key or all the time in the Windows Display Settings.

For a command accelerator to operate, the specific menu item must be visible and enabled. Conversely, keyboard accelerators can be used without the menu being open. In the example above, the CTRL+X keystroke combination will perform the CUT action, but the accelerator letter t will only perform the Cut action if the EDIT menu is opened first.

AccelTbl()

To utilize ACCEL ATTACH, you must first build the array AccelTbl() of ACCELAPI User-Defined Types (UDTs). This ACCELAPI structure is a 6-byte structure with the following definition:

TYPE ACCELAPI WORD

FVIRT AS BYTE ' Flags: One or more of %FVIRTKEY, %FSHIFT, %FALT and %FCONTROL

KEY AS WORD ' Accelerator key: ASCII code, or virtual key code {%FVIRTKEY}

CMD AS WORD ' Accelerator ID code gets passed in CB.CTL {LO(WORD, WPARAM)}

END TYPE

You must build the array of ACCELAPI types yourself, then attach it to a dialog by executing an ACCEL ATTACH statement. There must be no empty elements in the array, so it must be sized accurately.

.FVIRT

The .FVIRT flags can be combined together with the OR operator to combine the actions of the individual flags, as follows:

The ALT key must be pressed along with the accelerator key.

%FCONTROL

The CTRL key must be pressed along with the accelerator key.

%FSHIFT

The SHIFT key must be pressed along with the accelerator key.

%FVIRTKEY

The .KEY member specifies a virtual-key code. If this flag is not specified, the key member is assumed to specify an ASCII character code. %FVIRTKEY permits case-insensitive accelerator keystroke definitions - the Capslock state is ignored. For example, ALT+A and ALT+a (as determined by the Capslock key) produce the same accelerator event. If %FVIRTKEY is not used, the accelerator ALT+A would not trigger if Capslock were inactive.

If the %FVIRTKEY flag is specified in the .FVIRT member, the .KEY field contains the virtual key code for the accelerator key. Virtual key equates are defined in the WIN32API.INC file, starting with the prefix %VK_.

If %FVIRTKEY is not specified, the accelerator key code in the .KEY member is the ASCII code of the accelerator key. In this case, alphanumeric keystrokes become case-sensitive and the state of the Capslock key state becomes important. For example, if an accelerator were defined for ALT+A, it would be activated only if the Capslock key was on. Conversely, if an accelerator were defined for ALT+a then it would only be activated Capslock was off.

The .CMD member should contain the user-defined numeric ID code of the accelerator. When an accelerator keystroke occurs, a WM_COMMAND message is sent to the dialog Callback Function, with the accelerator identifier returned by the CB.CTL function.

It is usual practice to use the ID of a control that is to be activated by an accelerator. Accelerator notification codes sent to the Callback Function have CB.CTLMSG set to 1 (as opposed to button click events messages where CB.CTLMSG = %BN_CLICKED).

The handle of the dialog to attach the accelerator table to.

AccelHandle

Double-word or Long-integer variable where the handle of the attached accelerator table will be stored, or zero if the attach operation was unsuccessful.

Restrictions

If a previous table was attached to the target dialog, the table is automatically destroyed when the new table is attached in its place. The accelerator table is also destroyed automatically when the dialog is closed.

You can destroy the current accelerator table by executing ACCEL ATTACH with an array which is not dimensioned, but there is little or no reason to ever perform this action.

Accelerator tables can only run correctly when they are created in the same module that creates the dialog to which each table is attached.

See also

  • DIALOG NEW
  • MENU ADD STRING
  • MENU ATTACH
  • PBXB64 Compiler Help


Accessing PowerBASIC variables by name - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Accessing PowerBASIC variables by name

Most variables in a PowerBASIC module are visible to Inline Assembler code created with the ASM statement. You can reference LOCAL , STATIC , and GLOBAL variables by name by simply using the name as a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Most variables in a PowerBASIC module are visible to Inline Assembler code created with the ASM statement. You can reference LOCAL , STATIC , and GLOBAL variables by name by simply using the name as a

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

SUB DoStuff (BYVAL c&)

a% = 7 ' Local variable a%

Back to command index


Accessing the fields of a User-Defined Type - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Accessing the fields of a User-Defined Type

To work with the individual fields within a record variable, separate the field name from the variable name with a period. Here are some examples using the Student variable in the above DIM statement:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

To work with the individual fields within a record variable, separate the field name from the variable name with a period. Here are some examples using the Student variable in the above DIM statement:

Kind: Structure | Category: Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Last$ = Student.LastName

Message$ = "Id number is: " + STR$(Student.IdNum)

Student.FirstName = "Bob"

Student.LastName = "Smith"

Back to command index


ACODE$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ACODE$

Translates

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

a$ = ACODE$( UnicodeStrExpression [, CodePage& ])

Description

Translates

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This version of PowerBASIC handles all conversions between ANSI strings and UNICODE strings automatically. For example:

MyAnsiString$ = MyWideString$$

In this case, the wide characters are transparently converted to byte characters when they are stored in MyAnsiString$ . You should not insert an ACODE$ function here. The simple fact that the variables are of differing types (ANSI/WIDE) causes the compiler to make all conversions for you, whenever they are needed.

Of course, this automatic conversion was not available in previous versions of the compiler. In the past, there were no WIDE UNICODE variables offered, so it was necessary to force wide characters into standard byte strings when UNICODE was needed. The ACODE$ and UCODE$ functions are used for this purpose alone: to support legacy programs which calculated strings in this fashion.

New PowerBASIC programs and updates to your older PowerBASIC programs should use the new WIDE UNICODE variables which are now available.

ACODE$ presumes that the UnicodeStrExpression contains WIDE UNICODE characters stored in an ANSI byte string. It converts them into ANSI byte characters and returns them as an ANSI string. To convert an ANSI byte string into a UNICODE byte string, use the UCODE$ function.

If the optional parameter CodePage& is present, it represents the code page to be used for the conversion process. If not given, the default code page for the locale of the executing computer is used.

Unicode strings require two bytes to represent a Unicode character, whereas ANSI strings (the native PowerBASIC string format) use one byte to represent a character. Therefore, ACODE$ returns a string that has half of the byte count of the Unicode string, yet represents the same number of characters.

See also

  • UCODE$
  • UCODEPAGE
  • PBXB64 Compiler Help


ACOS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ACOS

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(ACOS(0.0) - 1.5707963268) > 0.0001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ACOSH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ACOSH

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(ACOSH(2.0) - 1.3169578969) > 0.0001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ACOT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ACOT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(ACOT(1.0) - 0.7853981634) > 0.0001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ACSC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ACSC

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(ACSC(2.0) - 0.5235987756) > 0.0001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Add-on Libraries, Utilities and Tools - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Add-on Libraries, Utilities and Tools

Third Party libraries, utilities, and tools can be found on the Add-on's section on the PowerBASIC web site.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Third Party libraries, utilities, and tools can be found on the Add-on's section on the PowerBASIC web site.

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Additional Source Code and Examples

Back to command index


Adding Controls to the Dialog - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Adding Controls to the Dialog

Once the dialog has been created, we can add controls to it. For our example, we will add a text box to let the user type in their name, and also add two BUTTON controls ("OK" and "Cancel"):

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Once the dialog has been created, we can add controls to it. For our example, we will add a text box to let the user type in their name, and also add two BUTTON controls ("OK" and "Cancel"):

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

CONTROL ADD TEXTBOX, hDlg, IdText&

, "", 14, 21, 134, 12, Style&, exStyle&

CONTROL ADD BUTTON, hDlg, 1, "&OK", 44, 38, 40, 14, %BS_DEFAULT or %WS_TABSTOP CALL Ok

CONTROL ADD BUTTON, hDlg, 2, "&Cancel", 90, 38, 40, 14 CALL Cancel

Back to command index


Additional Source Code and Examples - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Additional Source Code and Examples

Additional source code, example files, and utilities can be found on the PowerBASIC web site. Click the following links to go to those web pages:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Additional source code, example files, and utilities can be found on the PowerBASIC web site. Click the following links to go to those web pages:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Add-on Libraries, Utilities and Tools

Back to command index


Addressing and pointers - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Addressing and pointers

An important distinction in assembler is the difference between the address of a variable and the value of a variable. The address of a variable is where it is located in memory; the value of a variab

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

An important distinction in assembler is the difference between the address of a variable and the value of a variable. The address of a variable is where it is located in memory; the value of a variab

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

This is the ADDRESS of the variable in memory:

This is the VALUE at that address:

The method used in assembler to get the value at an address is a technique called dereferencing .

! MOV EAX, lpvar ; Copy address into EAX

Back to command index


ALIAS - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Variables & Scope PBXB64 Compiler Help

ALIAS

Category: PowerBASIC compatibility reference

Chapter: Variables & Scope

Syntax

DECLARE SUB ProcName ALIAS "ExportName" (...)
DECLARE FUNCTION ProcName ALIAS "ExportName" (...) AS Type

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


#ALIGN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#ALIGN

Align the next instruction to a boundary.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#ALIGN boundary

Description

Align the next instruction to a boundary.

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The #ALIGN metastatement is primarily used by advanced assembler programmers to gain ultimate efficiency from critical code sections.

#ALIGN is used to round up the instruction location to a power of two address. The boundary parameter shown must be a power of two, in the range of 2 through 256.

PowerBASIC inserts NOP instructions into the code section to bring the instruction location up to the desired address. If the instruction location is already at a multiple of boundary, #ALIGN has no effect.

See also

  • #OPTIMIZE
  • ASM
  • TIX - Real CPU Cycle Counter
  • PBXB64 Compiler Help


ALLOCATE REALLOCATE FREE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ALLOCATE REALLOCATE FREE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

ptr = ALLOCATE(size)
ptr = REALLOCATE(size, ptr)
status = FREE(ptr)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


An ECHO client and server using TCP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

An ECHO client and server using TCP

The simplest TCP server application is an Echo Server (RFC 862). It simply listens to port 7, and when it receives a data packet, it returns the data packet back to the client.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The simplest TCP server application is an Echo Server (RFC 862). It simply listens to port 7, and when it receives a data packet, it returns the data packet back to the client.

Kind: Keyword | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Writing a TCP server in PowerBASIC is quite straightforward, but your application must contain a (GUI) window or dialog to receive notification requests from Winsock . It is therefore necessary to either: (1) create a dialog with DDT , or (2) use the Windows API to create a GUI window for the application to receive these notifications. The following function will register a window class, and create a hidden window that can be used by your server.

FUNCTION MakeWindow() AS DWORD

LOCAL wce AS WndClassEx

LOCAL szClassName AS ASCIIZ * 80

Back to command index


AND - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Operators PBXB64 Compiler Help

AND

The AND operator works as both a logical and a bitwise arithmetic operator.

Chapter: Operators | Certification: [CERTIFIED TESTED]

Syntax

p AND q

Description

The AND operator works as both a logical and a bitwise arithmetic operator.

Kind: Operator | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Example

#COMPILE EXE
#DIM ALL
' numeric_logical_1
FUNCTION PBMAIN() AS LONG
  IF NOT (((5 > 3) AND (2 < 4)) = TRUE) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • Arithmetic Operators
  • EQV
  • IMP
  • ISFALSE and ISTRUE Operators
  • NOT
  • OR
  • XOR


ANY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ANY

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

DECLARE SUB Api LIB "x" (BYVAL p AS ANY)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Appendix C: Optimizing Your Code - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Appendix C: Optimizing Your Code

Performance optimization tips and techniques.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Performance optimization tips and techniques.

Kind: Conceptual | Category: Optimization

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


Are there other important "Buzz-Words"? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Are there other important "Buzz-Words"?

See Also

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

See Also

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

What is an object, anyway?

What are the parts of an object?

What does a Class look like?

What is a Base Class?

Back to command index


Arithmetic Operators - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Arithmetic Operators

Arithmetic operators perform normal mathematical operations. Several of these operators merit a word of explanation. The backslash (\) represents integral division. Integral division rounds its operan

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Arithmetic operators perform normal mathematical operations. Several of these operators merit a word of explanation. The backslash (\) represents integral division. Integral division rounds its operan

Kind: Operator | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The remainder of an integral division can be determined with the MOD (modulo) operator (MOD is valid for all numeric types). MOD is similar to integer division except that it returns the remainder of the division rather than the quotient. For example, 5 MOD 2 returns the value 1, and 9 MOD 10 returns the value 9.

The ISTRUE operator returns TRUE only if its operand is TRUE (non-zero). ISTRUE is guaranteed to return -1 as its TRUE value, whereas the operators can return any non-zero value.

The ISFALSE operator returns TRUE only if its operand is FALSE (zero). ISFALSE is guaranteed to return -1 as its TRUE value, where the operators can return any non-zero value.

PowerBASIC arithmetic operators

Power operator (^)

PBXB64 supports the existing ^ operator for INT128, UINT128, INT256, UINT256, INT512, UINT512, and UNL operands. For the fixed-width integer types, a non-negative exponent produces the result modulo the destination width. UNL exponentiation returns an UNL value and accepts mixed UNL/wide-integer base or exponent operands. Negative wide integer exponents are rejected at compile time.

Validation: tests/pb/test_math_wide_unl.pb covers signed and unsigned 128-, 256-, and 512-bit operands plus UNL. The focused validation is the math_wide_unl test in tests/validate.toml; tests/negative/test_wide_power_negative_exponent.pb covers the diagnostic boundary.

Back to command index


ARRAY ARRAYIX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ARRAY ARRAYIX

Fill a one-dimensional integral array so each element equals its array index.

Chapter: General Reference

Syntax

ARRAY ARRAYIX MyArray()

Description

Fill a one-dimensional integral array so each element equals its array index.

Kind: Statement | Category: Arrays

PBXB64 Status: AVAILABLE for one-dimensional BYTE, WORD, DWORD, INTEGER, LONG, and QUAD arrays.

PBXB64 Certification: [COMPILE/LINK/RUN TESTED]

Description

The operation writes the declared element index, including a non-zero or negative lower bound, into each element. Multi-dimensional arrays and non-integral element types are rejected with a diagnostic.

Validation

tests/e2e/pb/test_array_arrayix.pb covers fixed LONG and dynamic BYTE arrays in the Make and CMake E2E lanes.

See also

  • ARRAYSHUFFLE
  • ARRAYUNIQUE
  • PBXB64 Compiler Help


ARRAY ASSIGN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ARRAY ASSIGN

Allow the assignment of a number of values to successive elements of an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ARRAY ASSIGN array() = param1 [, param2 ] [, ]

Description

Allow the assignment of a number of values to successive elements of an

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ARRAY ASSIGN allows the assignment of a number of values to successive elements of an array. The assignment always starts with the first array element, and continues sequentially as the elements appear in memory. The values to be assigned must match the array type, and may be literals , variables , or expressions. ARRAY ASSIGN cannot be used on an array of Interfaces .

See also

  • ARRAY DELETE
  • ARRAY INSERT
  • ARRAY SCAN
  • ARRAY SORT
  • DIM
  • LBOUND
  • POWERARRAY Object
  • REDIM
  • UBOUND
  • PBXB64 Compiler Help


Array Data Types - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Array Data Types

It is often useful to treat a set of variables as a group. This lets you perform repetitive operations more easily. An array is a group of string or numeric data sharing the same variable name. The in

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

It is often useful to treat a set of variables as a group. This lets you perform repetitive operations more easily. An array is a group of string or numeric data sharing the same variable name. The in

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

PowerBASIC provides several statements that perform operations on an array as a whole, allowing you to sort its contents, scan its contents for data that matches a certain condition, and insert data into or delete data from the existing structure.

You can think of an array as a row of boxes, numbered from zero to a predetermined number: four, in the example figure below. Each box holds a distinct value, which may or may not differ from the values in the other boxes. The boxes and their numbers are represented by parentheses surrounding a number; for example, item%(3) represents box number three of the array item% . Thus, if the value held within box number 3 is 1952, the statement total%=item%(3) would place the value 1952 into the variable total% .

Dimensioning a dynamic array with DIM or REDIM also clears each element, unless the PRESERVE option is present. Each element of each numeric array is set to zero; string arrays are set to the null string ("", length zero). Declaring the name and type of an array, as well as the number and organization of its elements, is performed by the DIM statement. For example:

DIM payments(55) AS CURRENCYX

Back to command index


ARRAY DELETE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ARRAY DELETE

Delete a single item from a given

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ARRAY DELETE array ([ index ]) [FOR count ] [, expression ]

Description

Delete a single item from a given

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ARRAY DELETE deletes the data stored at the nominated element in array , an n-dimensional array. You can specify the index of the element which is to have its data deleted, how many elements ( count ) are to be automatically shifted down by one position, and what data value to give the last element after the rest of the elements have been shifted ( expression ).

All of these parameters are optional. If index is not specified, the data stored in the element at the beginning of the array is deleted. If expression is not present, the last element that the data is shifted out of will contain zero if array is a numeric array, or an empty string if array is a string array . If a shift count is given, when shifting the rest of the array to eliminate the element, only count elements will be shifted.

By default, ARRAY DELETE throws away the data at the element index of array , shifting the data in the appropriate portion of the array to cover the old element:

DIM A(1 TO 4) AS LONG

ARRAY DELETE A(2), 17&

makes A(2) = A(3) , A(3) = A(4) , and A(4) = 17 . The original value of A(1) remains in place. Use count to "protect" a portion of the array from the shift:

DIM A(1 TO 4) AS LONG

ARRAY DELETE A(2) FOR 2, 17&

makes A(2) = A(3) and A(3) = 17 because you told it to shift only 2 elements. The original values of A(4) and A(1) remain in place.

DELETE with multi-dimensional arrays

count can also be used with a multi-dimensional array (stored in linear column-major order; see ARRAY SORT ), to prevent shifting element data from one dimension into another dimension, thus preserving the organization of the array. For example:

DIM A(0 TO 1,0 TO 1) AS INTEGER

A(0,0)=0

A(1,0)=100

A(0,1)=200

A(1,1)=300

ARRAY DELETE A(0,0) FOR 2, 17%

makes A(0,0) = 100 and A(1,0) = 17 . The original values of A(0,1) and A(1,1) remain in place since you told it to shift only 2 elements. Without count :

ARRAY DELETE A(0,0), 17%

makes A(0,0) = 100 , A(1,0) = 200 , A(0,1) = 300 , and A(1,1) = 17 . The original value of A(0,0) is lost.

Restrictions

ARRAY DELETE cannot be used on arrays within UDT structures. However, ARRAY DELETE can be used with arrays of UDT structures - simply treat them as if they were an array of fixed-length strings .

To use ARRAY DELETE on an embedded UDT array, use DIM..AT to dimension a regular array (of the same type) directly "over the top" of the UDT array, and use ARRAY DELETE on that array. For example:

TYPE SalesType

OrderNum AS LONG

PartNumber(1 TO 20) AS STRING * 20

END TYPE

[ statements ]

DIM Sales AS SalesType

[ statements ]

DIM Temp(1 TO 20) AS STRING * 20 AT VARPTR(Sales.Partnumber(1))

ARRAY DELETE Temp(5), "string"

ERASE Temp()

See also

  • ARRAY ASSIGN
  • ARRAY INSERT
  • ARRAY SCAN
  • ARRAY SORT
  • DIM
  • LBOUND
  • POWERARRAY Object
  • REDIM
  • UBOUND
  • PBXB64 Compiler Help


ARRAY INSERT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ARRAY INSERT

Insert a single item into a given

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ARRAY INSERT array ([ index ]) [FOR count ] [, expression ]

Description

Insert a single item into a given

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ARRAY INSERT inserts a single data item into array , an n-dimensional array. You can specify the index at which the new element data is to be inserted, how many elements ( count) are to be shifted up by one position to make room for the new element data, and what data value to give the new element ( expression ).

All of these parameters are optional. If index is not specified, the element data is inserted at the beginning of the array If e xpression is not present, the new element will contain zero if array is a numeric array, or an empty string if array is a string array .

If a shift count is given, when shifting the rest of the array to make way for the new element data, only count elements will be shifted.

By default, ARRAY INSERT throws away the data in last element of array , then shifts the appropriate portion of the array to make way for the new element data:

DIM A(1 TO 4) AS LONG

ARRAY INSERT A(2), 17

makes A(4) = A(3) , A(3) = A(2) , and A(2) = 17 . The original value of A(4) is lost, while the original value of A(1) remains in place. Use count to "protect" a portion of the array from the shift:

DIM A(1 TO 4) AS LONG

ARRAY INSERT A(2) FOR 2, 17

makes A(3) = A(2) and A(2) = 17 because you told it to shift only 2 elements. The original values of A(4) and A(1) remain in place.

INSERT with multi-dimensional arrays

count can also be used with a multi-dimensional array (stored in linear column-major order; see ARRAY SORT ), to prevent shifting data from one dimension into another dimension, and thus preserving the organization of the array. For example:

DIM A(0 TO 1,0 TO 1) AS SINGLE

A(0,0)=0

A(1,0)=100

A(0,1)=200

A(1,1)=300

ARRAY INSERT A(0,0) FOR 2, 17

makes A(0,0) = 17 and A(1,0) = 0 . The original values of A(0,1) and A(1,1) remain in place since you told it to shift only 2 elements. Without count :

ARRAY INSERT A(0,0), 17

makes A(0,0) = 17 , A(1,0) = 0 , A(0,1) = 100 , and A(1,1) = 200 . The original value of A(1,1) is lost.

Restrictions

ARRAY INSERT cannot be used on arrays within UDT structures or on an array of Interfaces . However, ARRAY INSERT can be used with arrays of UDT structures - simply treat them as if they were an array of fixed-length strings.

To use ARRAY INSERT on an embedded UDT array, use DIM..AT to dimension a regular array (of the same type) directly "over the top" of the UDT array, and use ARRAY INSERT on that array. For example:

TYPE SalesType

OrderNum AS LONG

PartNumber(1 TO 20) AS STRING * 20

END TYPE

[ statements ]

DIM Sales AS SalesType

[ statements ]

DIM Temp(1 TO 20) AS STRING * 20 AT VARPTR(Sales.Partnumber(1))

ARRAY INSERT Temp(5), "string"

ERASE Temp()

See also

  • ARRAY ASSIGN
  • ARRAY DELETE
  • ARRAY SCAN
  • ARRAY SORT
  • DIM
  • LBOUND
  • POWERARRAY Object
  • REDIM
  • UBOUND
  • PBXB64 Compiler Help


Array operations - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Array operations

The following functions can be used to manipulate and manage arrays:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following functions can be used to manipulate and manage arrays:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Control generation of error checking code

Specify if variables must be declared before use

Back to command index


ARRAY SCAN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ARRAY SCAN

Scan all or part of an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ARRAY SCAN array ([ index ]) [FOR count ], expression , TO lvar&
ARRAY SCAN array ([ index ]) [FOR count ] [, FROM startChar TO endChar ] [, COLLATE {UCASE |
cstring }], expression , TO lvar&

Description

Scan all or part of an

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ARRAY SCAN scans all or part of array, an n-dimension array, for the first element that satisfies expression . expression consists of a relational operator (=, >, <, <>, >=, =>, <=, =<) followed by an expression of the same data type as array . The relative index of the first match is stored in lvar& , which must be a Long-integer variable:

ARRAY SCAN A&(), > 5, TO I&

This line of code identifies the relative index of the first element of array A&() that is greater than 5, and stores the relative index in I& . The match index ranges from 1 to the last element of the scan + 1.

Since it is a relative index:

DIM A(1 TO 10) AS SINGLE

ARRAY SCAN A(), > 17.42!, TO I&

will store 2 in I& if A(2) > 17.42, but:

DIM A(5 TO 20) AS SINGLE

ARRAY SCAN A(), > 17.42!, TO lvar&

will store 2, not 6, in lvar& if A(6) > 17.42.

If none of the scanned elements satisfy expression , zero will be stored in lvar& .

Together, index and count specify the portion of array to be scanned. index specifies the element at which the scan is to begin, while count specifies the number of consecutive elements to be scanned. If index is not specified, the scan begins at the first element of array . If count is not specified, the array is scanned from element index to the last element of array . If neither is specified, the entire array is scanned:

DIM A&(1 TO 100)

ARRAY SCAN A&(5), =1, TO I& 'scans 5..100

ARRAY SCAN A&() FOR 10, =1, TO I& 'scans 1..10

ARRAY SCAN A&(10) FOR 20, =1, TO I& 'scans 10..29

ARRAY SCAN A&(), =1, TO I& 'scans 1..100

Scanning a string array

When scanning a string array , COLLATE UCASE treats all lowercase letters as uppercase during the scan (for example, element "Bob" would satisfy the condition = "BOB"):

ARRAY SCAN A$(), COLLATE UCASE, = "BOB", TO I&

' scans A$() for "BOB"; all letters treated as

' uppercase

COLLATE string is used to specify a non-standard scanning order. cstring must contain exactly 256 characters, in the order in which they should be compared, from lowest to highest. For example, the normal ascending ASCII scan order (where "A" is considered less than "B", etc.) would be described by a string containing ASCII codes 0 through 255 in order:

C$ = CHR$(0 TO 255)

ARRAY SCAN A$(), COLLATE C$, > "BOB", TO I&

The normal descending ASCII scan order would be described by a string containing the reverse of the above:

C$ = STRREVERSE$(CHR$(0 TO 255))

ARRAY SCAN A$(), COLLATE C$, > "BOB", TO I&

The COLLATE string option is provided as a flexible means with which to specify a descending scan, or to specify the scanning order for strings containing international characters or other special symbols.

See ARRAY SORT for more information on building collating strings.

When scanning a string array, all characters of each element of the array are normally considered when performing comparisons. To limit the comparison to a specific subset of characters, use FROM to specify the startChar position, and TO to specify the endChar position that ARRAY SCAN will consider within each array element. For example, you could scan based on the zip code contained in the last 5 characters of a 40-character address string:

ARRAY SCAN A$(), = "90210", TO I&

' considers all characters when scanning for "90210"

ARRAY SCAN A$(), FROM 36 TO 40, = "90210", TO I&

' considers positions 36..40 only when scanning

Scanning a multi-dimensional array

When scanning a multi-dimensional array , the array is treated as a single-dimension array containing all of the elements of the multi-dimensional array, in linear column-major order. That is, all elements where all dimensions (except the first), are held at their minimum bounds, will come first in memory. These are immediately followed by the elements where the second dimension is set to its next consecutive index value, etc.

For example, the elements of a two-dimensional array (DIM A(0 TO n, 0 TO x)) would be stored in consecutive memory locations as follows:

A(0,0), A(1,0), , A(n,0) ' The first n+1 elements,

A(0,1), A(1,1), , A(n,1) ' The next n+1 elements,

[ statements ] ' Subsequent elements,

A(0,x), A(1,x), , A(n,x) ' The last n+1 statements.

or more clearly:

A(0,0), A(1,0) , A(n,0), A(0,1), A(1,1) , A(n,1), A(0,x),

A(1,x) , A(n,x)

In this case, ARRAY SCAN A(0,0) FOR n+1, >5, TO I& would scan only elements (0,0)...(n,0), while ARRAY SCAN A(0,0), >5, TO I& would scan the entire array: elements (0,0)...(n,x). As mentioned earlier, since ARRAY SCAN records the relative index of the matched element, ARRAY SCAN A(0,0), >5, TO I& would store 2 in I& if A(1,0) > 5.

Restrictions

ARRAY SCAN cannot be used on arrays within UDT structures or on an array of Interfaces . However, ARRAY SCAN can be used with arrays of UDT structures - simply treat them as if they were an array of fixed-length strings.

To use ARRAY SCAN on an embedded UDT array, use DIM..AT to dimension a regular array (of the same type) directly "over the top" of the UDT array, and use ARRAY SCAN on that array. For example:

TYPE SalesType

OrderNum AS LONG

PartNumber(1 TO 20) AS STRING * 20

END TYPE

[ statements ]

DIM Sales AS SalesType

[ statements ]

DIM Temp(1 TO 20) AS STRING * 20 AT VARPTR(Sales.Partnumber(1))

ARRAY SCAN Temp(), FROM 1 TO LEN(Search$), = Search$, TO lResult&

ERASE Temp()

See also

  • ARRAY ASSIGN
  • ARRAY DELETE
  • ARRAY INSERT
  • ARRAY SORT
  • DIM
  • LBOUND
  • POWERARRAY Object
  • REDIM
  • UBOUND
  • PBXB64 Compiler Help


ARRAY SORT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ARRAY SORT

Sort all or part of a given

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ARRAY SORT darray ([ index ]) [FOR count ] [,TAGARRAY tarray() ] [,{ASCEND | DESCEND}]
ARRAY SORT dArray ([ index ]) [FOR count ] [,FROM startChar TO endChar ] [,COLLATE {UCASE |
cstring }] [,TAGARRAY tarray() ] [,{ASCEND | DESCEND}]
ARRAY SORT darray ([ index ]) [FOR count ] [,TAGARRAY tarray() ] ,CALL custfunc()

Description

Sort all or part of a given

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ARRAY SORT sorts all or part of darray , an n-dimensional array, in ascending or descending order. tarray is a tag-along array whose elements are swapped in the same order as those in darray as the sort proceeds (you could sort an array of names and have an array of corresponding addresses tag along, for example). tarray must have at least as many elements as darray , since corresponding elements of tarray will be swapped during the sort.

Note that tarray does not have to be of the same type as darray . For example, you could have a numeric array containing account numbers tag along with a string array containing user names:

DIM Users$(100 TO 500), AcctNum&(100 TO 500)

ARRAY SORT Users$(), TAGARRAY AcctNum&()

Together, index and count specify the portion of darray to be sorted. index specifies the element at which the sort is to begin, while count specifies the number of consecutive elements to be sorted. If index is omitted, the sort begins at the first element of darray . If count is omitted or is zero, the array is sorted from element index to the last element of darray . If both are omitted, the entire array is sorted:

DIM A&(1 TO 99)

ARRAY SORT A&(5) 'sorts elements 5..99 of A&

ARRAY SORT A&() FOR 10 'sorts elements 1..10 of A&

ARRAY SORT A&(9) FOR 20 'sorts elements 9..28 of A&

ARRAY SORT A&() 'sorts elements 1..99 of A&

Sorting numeric arrays

By default, arrays are sorted in ascending order. To sort in descending order, include the DESCEND keyword:

ARRAY SORT A&(), DESCEND ' descending order

ARRAY SORT A&(), ASCEND ' ascending order

ARRAY SORT A&() ' ascending order

Sorting string arrays

When sorting a string array, the sort is performed in ascending order by default. In addition to DESCEND, ARRAY SORT provides the COLLATE UCASE and COLLATE string options.

COLLATE UCASE treats all lowercase letters as equal to their uppercase counterparts during the sort (elements "Bob" and "BOB" would be considered equal, for example):

DIM A$(1 TO 5)

A$(1) = "Bob"

A$(2) = "Jan"

A$(3) = "Linda"

A$(4) = "Ann"

A$(5) = "Jerry"

ARRAY SORT A$(), COLLATE UCASE, DESCEND

'sorts A$() in descending order; case-insensitive

COLLATE cstring is used to specify an entirely new sorting order. This can be used for a variety of purposes, the most obvious of which is the case of international character sets. The collate string cstring must contain exactly 256 characters, one for each of the ASCII codes 0-255, in the order that they would be sorted (from lowest to highest, if an ascending sort were performed on them).

Each position in the string represents the ASCII code of that value. The contents of the byte at that position tells PowerBASIC the "weight" or importance factor of that particular ASCII code. The default is that position 0 has a weight of 0, position 1 has a weight of 1, etc, so that CHR$ (0) sorts first, CHR$(1) sorts next, and so on through CHR$(255).

Suppose you want the special character "�" to have the same weight as the standard character "a". It's easy: construct a string of 256 characters, 0-255; then go to the position of "�" (ASCII code 132), and change the contents of that byte so it is exactly equal to the code for "a" (97). The following code fragment constructs just such a collate string:

' Create a 256-character string:

FOR ix = 0 TO 255

C$ = C$ + CHR$(ix)

MID$(C$, 132 + 1) = CHR$(97)

We add one to the ASC value for MID$ because string positions start at 1, not 0. We can also use the expanded CHR$ function to create the same collating string using less code:

C$ = CHR$(0 TO 131, 97, 133 TO 255)

It is most important to remember the rule for creating a collating string, as it is easy to make an intuitive jump to the wrong conclusion. Each position in the string (1-256) represents the ASCII code with that value minus one (CHR$(0) to CHR$(255)). The contents of the byte at that position tell the ARRAY SORT procedure the new "weight" or importance factor for that particular code. This is exactly the technique used by the 80x86-assembler opcode XLAT.

Suppose you want CHR$(0) to sort at the very end of the sequence. To do that, you would set the byte at position 0+1 to CHR$(255) and the bytes at positions 0+2 to 0+256 to the values 0 to 254. The ASCII sequence in the collating string would appear like this: 255,0,1,2,3,4 254. Using the expanded CHR$ function, this is straightforward:

C$ = CHR$(255, 0 TO 254)

To sort upper case and lower case alphabetic characters as exactly equal, just set positions 97 to 122 (a-z) to the values 65-90 (A-Z). This is precisely how COLLATE UCASE is handled. With the collating method implemented by this procedure in PowerBASIC, it is possible for two or more ASCII codes to have equal "weight".

As mentioned earlier, many programmers make a common, fatal mistake by intuitively creating a collating string that is simply a list of ASCII codes, in the sequence they wish to sort. That is, they expect the byte which appears first in the string to sort first, the byte which appears next to sort second, so that creating a collate string from the BASIC code:

CHR$(65) + CHR$(66) + CHR$(67) + ...

might cause the characters "ABC..." to be sorted first. This technique will never work with the ARRAY statement and must be carefully avoided . We describe it here only because it is a common error. While it is arguably more intuitive than the technique implemented in PowerBASIC, the reason it does not work is that it doesn't allow two or more ASCII codes to have the same "weight".

The following code builds a collating string compatible with the American OEM ASCII character set. For the fastest operation, this code should be run only once and the collating string should be made global .

GLOBAL cu AS STRING

FOR x = 0 TO 255

cu = cu + CHR$(x)

MID$(cu, 97+1, 26) = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

MID$(cu, 129+1, 6) = "ueaaaa" ' ������

MID$(cu, 136+1, 9) = "eeeiiiAAE" ' ��������

MID$(cu, 147+1, 8) = "ooouuyOU" ' ��������

MID$(cu, 161+1, 5) = "iounN" ' �����

MID$(cu, 168+1, 1) = "?" ' �

[ your code goes here ]

ARRAY SORT MyArray$(), COLLATE cu

An alternative arrangement using the expanded CHR$ function may look like this:

cu = CHR$(0 TO 96, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", _

123 TO 128, "ueaaaa", _ ' ������

135, "eeeiiiAAE", _ ' ��������

145 TO 146, "ooouuyOU", _ ' ��������

155 TO 160, "iounN", _ ' �����

166 TO 167, "?", _ ' �

169 TO 255)

For example, the normal ascending ASCII sort order would be described by a string containing ASCII codes 0 through 255 in order:

C$ = CHR$(0 TO 255)

ARRAY SORT A$(), COLLATE C$

The normal descending ASCII sort order would be described by a collating string containing the reverse of the above:

C$ = STRREVERSE$(CHR$(0 TO 255))

ARRAY SORT A$(), COLLATE C$

COLLATE string can also be used with the ASCEND or DESCEND option. With ASCEND, the sort is performed in the order specified by COLLATE string ; DESCEND sorts using the reverse of the order specified by COLLATE string :

ARRAY SORT A$(), COLLATE C$, DESCEND

The COLLATE string option is provided as a flexible means with which to specify the sorting order for strings containing international characters or other special symbols. Please keep in mind that the characters with ASCII code above CHR$(127) may have different meanings in different countries. The examples here assume that the default American OEM ASCII code page is in use.

When sorting a string array, all characters of each element of the array are normally considered when performing comparisons. To limit the comparison to a specific subset of characters, use FROM to specify the startChar position, and TO to specify the endChar position that ARRAY SORT will consider within each array element. For example, you could sort based on the zip code contained in the last 5 characters of a 40-character address string:

ARRAY SORT A$() ' sorts all chars

ARRAY SORT A$(), FROM 36 TO 40 ' sorts 36 - 40 only/p>

By using the FROM..TO keywords, it also becomes possible to sort an array of User-Defined Types. In this case, ARRAY SORT can sort the array as if it were an array of fixed-length strings .

Sorting custom arrays:

In most cases, the standard numeric and string sorts should serve your needs very well. However, in the case of more complex data, it is frequently necessary to create multi-key sorts, or other unusual data sequences. Generally speaking, a multi-key sort is used when you wish to order data based upon multiple sections of a string or UDT. For example, you may wish to have customers sequenced by name -- but in the case of duplicate names, order each set of duplicates by ZIP code. With the custom array option, you can sort by any number of keys, in any sequence you may desire.

A custom array may be user-defined types, fixed-length strings, or nul-terminated strings. With a custom array sort, you can write your own simple function to tell PowerBASIC the correct sequence for any two array elements. In the following example, the array MyType() is sorted based upon the code you write in the user-written function named MyFunc().

ARRAY SORT MyType(), CALL MyFunc()

As PowerBASIC proceeds through the sort, each time it needs to compare two array elements, it calls your custom function (in this case named MyFunc) to determine the correct sequence of the two elements. The custom function you write must always have exactly two ByRef parameters with precisely the same data type as the sorted array, for nul-terminated and FIELD strings, they must contain the length. These are the two variables which you must compare to determine the correct sequence. Your custom function must return a long integer to tell the correct sequence. It returns -1 if the first parameter should precede the second parameter. It returns +1 if the second parameter should precede the first. It returns 0 if the parameters are equal. This affords the PowerBASIC programmer the ultimate tool in sorting capabilities. You can have any number of keys. You can sort ascending, descending, or some other special sequence. The conditions are now totally under your control. The following example show how easy it is to create a multi-key sort, even those based upon non-string members of a UDT.

Type TheType

LastName as String * 40

FirstName as String * 20

BalanceDue as Currency

End Type

[ statements ]

Dim MyType(100) as TheType

[ statements ]

Array Sort MyType(), Call MyFunc()

[ statements ]

Function MyFunc(Param1 as TheType, Param2 as TheType) As Long

If Param1.LastName < Param2.LastName Then

Function = -1 : Exit Function

End If

If Param1.LastName > Param2.LastName Then

Function = +1 : Exit Function

End If

If Param1.FirstName < Param2.FirstName Then

Function = -1 : Exit Function

End If

If Param1.FirstName > Param2.FirstName Then

Function = +1 : Exit Function

End If

If Param1.BalanceDue < Param2.BalanceDue Then

Function = +1 : Exit Function

End If

If Param1.BalanceDue > Param2.BalanceDue Then

Function = -1 : Exit Function

End If

End Function

Notice that this function first sorts by last name in ascending sequence. If the last names are equal, it then sorts by first name in ascending sequence. If both names are equal, it then sorts by Balance Due in descending sequence so that the accounts with the highest balance appear first. This descending sequence is accomplished by switching the values -1/+1 in the final tests.

The array to be sorted, and the function parameters, must be fixed-length strings, nul-terminated strings, or user-defined types. PowerBASIC verifies that the size of the data and parameters are identical. However, to allow maximum flexibility, it does not require that the data types be the same. Therefore, for example, it's possible to sort an array of fixed-length strings using a function with UDT parameters as long as the data size is identical. It is the programmer's responsibility to ensure accuracy.

Sorting a multi-dimensional array

When sorting a multi-dimensional array , the array is treated as a single-dimension array containing all of the elements of the multi-dimensional array, in linear column-major order. That is, all elements where all dimensions (except the first), are held at their minimum bounds, will come first in memory. These are immediately followed by the elements where the second dimension is set to its next consecutive index value, etc.

For example, the elements of a two-dimensional array (i.e., DIM A( n , x )) would be stored in consecutive memory locations like this:

(0,0), , (n,0), (0,1), , (n,1), , (0,x), , (n,x)

In this case, ARRAY SORT A(0,0) FOR n+1 would sort only elements (0,0)...(n,0), while ARRAY SORT A(0,0) would sort the entire array: elements (0,0) (n,x).

Be very careful when using ARRAY SORT with multi-dimensional arrays so as not to disrupt the organization of the data in the arrays.

Restrictions

ARRAY SORT cannot be used on arrays within UDT structures or on an array of Interfaces . However, ARRAY SORT can be used with arrays of UDT structures - simply treat them as if they were an array of fixed-length strings.

To use ARRAY SORT on an embedded UDT array, use DIM..AT to dimension a regular array (of the same type) directly "over the top" of the UDT array, and use ARRAY SORT on that array. For example:

TYPE SalesType

OrderNum AS LONG

PartNumber(1 TO 20) AS STRING * 20

END TYPE

[ statements ]

DIM Sales AS SalesType

[ statements ]

DIM Temp(1 TO 20) AS STRING * 20 AT VARPTR(Sales.Partnumber(1))

ARRAY SORT Temp()

ERASE Temp()

See also

  • ARRAY ASSIGN
  • ARRAY DELETE
  • ARRAY INSERT
  • ARRAY SCAN
  • CHR$
  • DIM
  • LBOUND
  • POWERARRAY Object
  • REDIM
  • UBOUND
  • PBXB64 Compiler Help


Array storage requirements - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Array storage requirements

A PowerBASIC array may contain up to 4,294,967,295 elements, and the data may occupy as much as all available memory. However, all individual index numbers must fall within the range of a Long-integer

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A PowerBASIC array may contain up to 4,294,967,295 elements, and the data may occupy as much as all available memory. However, all individual index numbers must fall within the range of a Long-integer

Kind: Keyword | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

PowerBASIC stores array data in main memory for all array types (including LOCAL arrays). Therefore, there is no arbitrary array size limit imposed by the amount of free stack space, such as can be experienced with large LOCAL nul-terminated , and Fixed-length string variables. The availability of main memory is the prime consideration (typically up to 2 Gb can be used). However, LOCAL arrays do require the storage of around 128 bytes on the stack for the array descriptor table.

Back to command index


ARRAYASSIGN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ARRAYASSIGN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

ok& = ARRAYASSIGN(array(), value1, value2, ...)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ARRAYATTR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ARRAYATTR

Return descriptive attributes of a given

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

y = ARRAYATTR( Arr() , AttrNum )

Description

Return descriptive attributes of a given

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ARRAYATTR returns various descriptive attributes of an array, depending upon the value of AttrNum

AttrNum

Definition

Returns TRUE (-1) if the array is currently dimensioned, FALSE (0) if not.

Returns the data type , as defined in the following table. Note that the numeric equates listed on the right of the table are built into PowerBASIC, but the numeric values they represent are subject to change. Therefore, application code should always use the numeric equates rather than the numeric value, to ensure compatibility with future versions of PowerBASIC. The current data type definitions are:

Array type

Keyword

Equate

%VARCLASS_BYT

%VARCLASS_WRD

Double-word

%VARCLASS_DWD

Integer

INTEGER

%VARCLASS_INT

Long-integer

%VARCLASS_LNG

Quad-integer

%VARCLASS_QUD

Single-precision

SINGLE

%VARCLASS_SNG

Double-precision

DOUBLE

%VARCLASS_DBL

Extended-precision

%VARCLASS_EXT

Currency

CURRENCY

%VARCLASS_CUR

Extended Currency

CURRENCYX

%VARCLASS_CUX

Variant

VARIANT

%VARCLASS_VRNT

Interface

INTERFACE

%VARCLASS_IFAC

%VARCLASS_GUID

UDT or Union

TYPE/UNION

%VARCLASS_TYPE

ANSI NulTrm string

ASCIIZ/STRINGZ * n

%VARCLASS_STRZ

Fixed-length string

STRING * n

%VARCLASS_FIX

Dynamic string

STRING

%VARCLASS_STR

Field string

%VARCLASS_FLD

Wide NulTrm string

WSTRINGZ

%VARCLASS_WSTRZ

Wide FixLen string

WSTRING * n

%VARCLASS_WFIX

Wide Dynamic string

WSTRING * n

%VARCLASS_FLD

Wide Field string

WFIELD

%VARCLASS_WFLD

Returns TRUE (-1) if it is an array of pointers, FALSE (0) if not.

Returns the number of dimensions of the array. The lower and upper boundaries of each dimension can be retrieved with the LBOUND and UBOUND functions respectively

Returns the total number of elements in the array. For example, the array DIM A&(3,4,5) would comprise 120 elements (4 x 5 x 6 = 120).

Returns the array element size. For example, an array of Double-precision variables would be 8 bytes. For dynamic strings, the size of the string handle (4 bytes) is returned. For DISPATCH and INTERFACE arrays, ARRAYATTR returns the size of a pointer variable (4 bytes).

See also

  • DIM
  • LBOUND
  • UBOUND
  • POWERARRAY Object
  • REDIM
  • PBXB64 Compiler Help


Arrays�within User-Defined Types - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Arrays�within User-Defined Types

In prior versions of this compiler, arrays could not be part of a UDT structure. However, we now support both one and two-dimensional arrays of variables that have a fixed-length (for each element) -

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

In prior versions of this compiler, arrays could not be part of a UDT structure. However, we now support both one and two-dimensional arrays of variables that have a fixed-length (for each element) -

Kind: Keyword | Category: Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Two-dimensional arrays within Types work exactly as do any other array in PowerBASIC, except that their dimensions are specified by positive numeric constant values, and are therefore not dynamically alterable. That is, the dimension sizes must be specified with numeric equates or numeric literal values, and these cannot be altered at run-time.

Like conventional arrays, the default lower array boundary is zero, but positive non-zero values may be used to specify a specific range of subscript index values for the array, separated from the upper array boundary subscript with the TO keyword. Additionally, both the lower and upper subscript index values must be zero or greater (ie, negative subscript values are not permitted). Examples of valid syntax follow:

id AS INTEGER ' Scalar UDT member

Back to command index


ARRAYSCAN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ARRAYSCAN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

index& = ARRAYSCAN(array(), value)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ARRAYSHIFT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ARRAYSHIFT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

ok& = ARRAYSHIFT(array(), direction, count)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ARRAYSHUFFLE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ARRAYSHUFFLE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

ok& = ARRAYSHUFFLE(array())

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ARRAYSWAP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ARRAYSWAP

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

ok& = ARRAYSWAP(array(), index1, index2)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ARRAYUNIQUE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ARRAYUNIQUE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

newCount& = ARRAYUNIQUE(array())

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


AS - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Variables & Scope PBXB64 Compiler Help

AS

Category: PowerBASIC compatibility reference

Chapter: Variables & Scope

Syntax

name AS TypeName
FUNCTION Name(...) AS TypeName
DECLARE SUB Proc(BYVAL value AS LONG)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASC - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

ASC

Replaces one character in a string

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

ASC( stringvar , position& ) = CharCode&

Description

Replaces one character in a string

Kind: Statement | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The ASC statement replaces one character in a string variable. The position& parameter determines which character is replaced. The first character is one, the second two, etc. If position& is negative, ASC counts from the end of the string in reverse. That is, -1 specifies the last character, -2 specifies the second to last character, etc.

If the stringVar is ANSI , the CharCode must be in the range of 0 to 255. If Unicode , the CharCode must be in the range of 0 to 65535.

Restrictions

The ASC statement cannot be used to extend the length of a string. If string is null (zero-length), or position is zero or greater than the length of stringvar , the operation is ignored.

See also

  • CHR$
  • MID$
  • PBXB64 Compiler Help


ASCII - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ASCII

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

LOCAL s AS ASCII STRING

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Nul-Terminated Strings - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Nul-Terminated Strings

A Nul-Terminated string is called a STRINGZ with ANSI characters, or WSTRINGZ with WIDE , Unicode characters. When declared with ANSI characters, they are commonly known as ASCIIZ strings. You can thi

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A Nul-Terminated string is called a STRINGZ with ANSI characters, or WSTRINGZ with WIDE , Unicode characters. When declared with ANSI characters, they are commonly known as ASCIIZ strings. You can thi

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

If you assign a string that is shorter than the defined length, the string will not be padded on the right. The contents of the remainder of the string buffer are undetermined. Because a NulTerm string requires a NUL terminator, they are usually defined with a length of at least two characters.

You declare STRINGZ variables using the STRINGZ or WSTRINGZ keywords with the DIM statement. For example:

DIM MyStr1 AS STRINGZ * 40

DIM MyStr2 AS WSTRINGZ * 40

Back to command index


ASEC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ASEC

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(ASEC(2.0) - 1.0471975512) > 0.0001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASIN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ASIN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

y = ASIN( n )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASINH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ASINH

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(ASINH(1.0) - 0.8813735870) > 0.0001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Overview PBXB64 Compiler Help

ASM

Identify an assembly-language statement. PowerBASIC's

Chapter: Overview | Certification: [CERTIFIED TESTED]

Syntax

{! | ASM} { opcode | label }
{! | ASM} ALIGN boundary

Description

Identify an assembly-language statement. PowerBASIC's

Kind: Statement | Category: Inline Assembler

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This statement allows you to place assembly-language code within your PowerBASIC source code. An exclamation mark (!) serves as a shortcut for the ASM keyword.

Each group of ASM statements must preserve the following CPU registers if the assembler code causes them to change: EBX, ESI, EDI, ESP, EBP, and all segment registers. See Saving Registers for more information.

No other statements may appear on the same line as an ASM statement; however, comments are acceptable.

! DB 1, 2, 3, 4, 5

! DD &H45001222, &HFFFF4327

Any variable referenced in an assembly-language statement must be defined prior to use. For example:

x% = 10

! MOV AX, x%

You cannot access the target of a pointer with a single ASM statement as you might do in BASIC source code. Instead, you must use the pointer address indirectly. To simulate the BASIC statement INCR @x, you would write:

DIM x AS INTEGER PTR

ASM MOV EAX, x ; EAX holds a pointer to an Integer

ASM INC WORD PTR [EAX] ; Add one to target value

String literals of up to four characters may be used in Inline Assembler code:

! MOV AL, "a" ; move char a into reg AL

! MOV AX, "ab" ; move chars ab into reg AX

! ; "a" into AL, "b" into AH

! MOV EAX, "abcd" ; move chars abcd into reg EAX

PowerBASIC recognizes either an apostrophe ( ' ) or a semi-colon ( ; ) to specify a comment after a line of assembler code:

! PUSH EAX ; save the EAX register

! PUSH EBX ' save the EBX register

ASM ALIGN is used in critical situations to gain maximum efficiency from assembler code sections.

ASM ALIGN is used to round up the instruction location to a power of two address. The boundary parameter shown must be a power of two, in the range of 2 through 256.

PowerBASIC inserts NOP instructions into the code section to bring the instruction location up to the desired address. If the instruction location is already at a multiple of boundary , ALIGN has no effect.

The #ALIGN metastatement functions in the same respect as ASM ALIGN, but the ASM ALIGN statement is more suited to being used in a PREFIX/END PREFIX block.

Restrictions

Care should be exercised to ensure registers are appropriately preserved when Inline Assembler code is intermixed with BASIC statements. See Saving Registers for more information.

Example

LOCAL a&, b&, c&, z&

See also

  • The Inline Assembler
  • ASMDATA/END ASMDATA statements
  • PBXB64 Compiler Help


Addressing Modes Reference - PBXB64 Compiler Help

Home › x64 Assembly Reference › Overview PBXB64 Compiler Help

Addressing Modes Reference

The PBXB64 assembler supports 7 primary addressing modes with 21 operand kind variants across 14 encoding forms. All addressing modes follow Intel syntax (destination, source order).

Chapter: Overview

Description

The PBXB64 assembler supports 7 primary addressing modes with 21 operand kind variants across 14 encoding forms. All addressing modes follow Intel syntax (destination, source order).

Addressing Mode Summary

# | Mode | Syntax | Encoding | Example
1 | Register | reg | ModRM.reg / ModRM.rm | mov eax, ebx
2 | Immediate | imm | Immediate field | mov eax, 42
3 | Direct memory | [addr] | ModRM: 00 000 101 + disp32 | mov eax, [12345678h]
4 | Base+disp8 | [reg+disp8] | ModRM: 01 xxx xxx + disp8 | mov eax, [rcx+8]
5 | Base+disp32 | [reg+disp32] | ModRM: 10 xxx xxx + disp32 | mov eax, [rcx+1024]
6 | Base+index | [base+index] | ModRM+SIB: 00 100 xxx | mov eax, [rbx+rcx]
7 | Base+index+disp8 | [base+index+disp8] | ModRM+SIB: 01 100 xxx | mov eax, [rbx+rcx+8]
8 | Base+index+disp32 | [base+index+disp32] | ModRM+SIB: 10 100 xxx | mov eax, [rbx+rcx+1024]
9 | Index*scale | [index*scale] | ModRM+SIB: 00 100 101 | mov eax, [rcx*4]
10 | Index*scale+disp32 | [index*scale+disp] | ModRM+SIB: 00 100 101 + disp32 | mov eax, [rcx*4+16]
11 | Base+index*scale | [base+index*scale] | ModRM+SIB: scale=index | mov eax, [rbx+rcx*4]
12 | Base+index*scale+disp8 | [base+index*scale+disp8] | ModRM+SIB: 01 xxx xxx | mov eax, [rbx+rcx*4+8]
13 | Base+index*scale+disp32 | [base+index*scale+disp32] | ModRM+SIB: 10 xxx xxx | mov eax, [rbx+rcx*4+1024]
14 | RIP-relative | [rip+disp] | ModRM: 00 000 101 + disp32 (relative) | mov rax, [rip+label]
15 | RIP-relative+index | [rip+index*scale+disp] | RIP+SIB | mov rax, [rip+rcx*4+label]
16 | FS-segment override | fs:[base+disp] | Segment prefix 64h + ModRM | mov rax, fs:[0x30]
17 | GS-segment override | gs:[base+disp] | Segment prefix 65h + ModRM | mov rax, gs:[0x60]
18 | FS+RIP-relative | fs:[rip+disp] | 64h + RIP-relative | mov rax, fs:[rip+label]
19 | GS+RIP-relative | gs:[rip+disp] | 65h + RIP-relative | mov rax, gs:[rip+tls_var]
20 | Register (implicit) | reg | Opcode bits | push rbx (opcode 53h)
21 | Immediate (implied) | imm | Implicit in opcode | ret 16 (imm16 in opcode C2h)

1. Register Addressing

The operand is a register. The register is encoded in the ModRM byte or in the primary opcode.

mov eax, ebx        ; eax = ebx
add rcx, rdx        ; rcx = rcx + rdx
xor r8d, r9d        ; r8d = r8d xor r9d

2. Immediate Addressing

The operand is a constant value embedded in the instruction. The immediate size depends on the operand size.

mov eax, 42         ; 32-bit immediate
mov rax, 0x12345678 ; 32-bit sign-extended immediate
mov rcx, -1         ; sign-extended immediate
add ebx, 256        ; 32-bit immediate

3. Direct Memory Addressing

The operand is a memory location specified by a 32-bit absolute address. In x64, this is limited to the low 4GB address space (compatibility mode) unless used with RIP-relative.

mov eax, [12345678h]    ; absolute 32-bit address
mov DWORD PTR [1234h], 42  ; store to absolute address

4. Base + Displacement

The effective address is calculated as base + displacement. The displacement can be an 8-bit (disp8) or 32-bit (disp32) signed value.

mov eax, [rbp-8]        ; local variable at rbp-8
mov eax, [rcx+16]       ; struct member at offset 16
mov eax, [rsp+0x30]     ; stack parameter
mov eax, [rbx-4]        ; negative displacement

5. Base + Index

The effective address is base + index. The index is a general-purpose register used as an offset.

mov eax, [rbx+rcx]      ; array element: base + index
mov eax, [rax+rdx]      ; pointer + offset

6. Index * Scale

The effective address is index * scale. Valid scale values are 1, 2, 4, 8 (encoded as 00, 01, 10, 11 in the SIB byte).

mov eax, [rcx*4]        ; element at index*4
mov eax, [rdx*8]        ; element at index*8 (array of pointers)
mov eax, [r9*2]         ; 16-bit element array

7. Base + Index * Scale + Displacement

The full SIB (Scale-Index-Base) addressing form. This is the most general addressing mode, combining all components.

mov eax, [rbx+rcx*4+16]        ; array of structs
mov eax, [rbp+r9*8-32]         ; local array with negative offset
mov eax, [rax+rdx*2+0x100]     ; large displacement
mov eax, [r12+r10*4+0x80]      ; base+r12 with r10 scaled

8. RIP-Relative Addressing

In x64, most memory references use RIP-relative addressing by default for code-relative data access. The assembler encodes a 32-bit signed displacement from the current instruction pointer.

mov rax, [rip+label]           ; load from label (relative to RIP)
mov rax, [rip+my_data]         ; access global data
lea rcx, [rip+message]         ; load effective address
jmp [rip+function_ptr]         ; indirect jump via global pointer

RIP-relative addressing is the standard way to access global variables and constants in x64 code, as it avoids the need for absolute 64-bit addresses and produces position-independent code.

9. Segment Overrides

x64 supports fs: and gs: segment overrides for accessing thread-local storage and operating system data structures.

FS Segment

In Windows x64, the fs segment points to the Thread Environment Block (TEB).

mov rax, QWORD PTR fs:[0x30]   ; PEB pointer from TEB
mov eax, DWORD PTR fs:[0x18]   ; LastError from TEB
mov rax, QWORD PTR fs:[0x60]   ; TLS base pointer

GS Segment

In Windows x64, gs segment is used for thread-local storage. In x86-64 Linux, it points to thread-specific data.

mov rax, QWORD PTR gs:[0x00]   ; TLS variable (Win64)
mov rax, QWORD PTR gs:[0x10]   ; thread-specific data (Linux)

; With RIP-relative: TLS combined addressing
mov rax, QWORD PTR gs:[rip+tls_var]

Operand Size Prefixes

Memory operands require size specifiers to disambiguate the operand size:

Prefix | Size | Example
BYTE PTR | 8 bits | mov BYTE PTR [rcx], 0xFF
WORD PTR | 16 bits | mov WORD PTR [rcx], 0x1234
DWORD PTR | 32 bits | mov DWORD PTR [rcx], eax
QWORD PTR | 64 bits | mov QWORD PTR [rcx], rax
XMMWORD PTR | 128 bits | movdqa XMMWORD PTR [rcx], xmm0
YMMWORD PTR | 256 bits | vmovdqa YMMWORD PTR [rcx], ymm0
ZMMWORD PTR | 512 bits | vmovdqa32 ZMMWORD PTR [rcx], zmm0
TBYTE PTR | 80 bits | fld TBYTE PTR [rcx]

SIB (Scale-Index-Base) Encoding

The SIB byte is used when a memory operand involves an index register. Format:

SIB = [Scale 2 bits] [Index 3 bits] [Base 3 bits]

Scale: 00=1, 01=2, 10=4, 11=8
Index: general-purpose register (100 = no index)
Base:  general-purpose register (101 = disp32 if Mod=00)

Special cases:

  • Base = rsp (100): A SIB byte is always required to encode rsp as a base register (to avoid confusion with the ModRM "SIB present" encoding)
  • Index = rsp (100): Means "no index" register is used (only base + displacement)
  • Mod=00, Base=101, Index=100: RIP-relative addressing


ASM DIR ALIGN - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR ALIGN

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.align 16

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR ASCII - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR ASCII

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.ascii "Hello"

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR ASCIZ STRING - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR ASCIZ STRING

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.asciz "World"

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR BYTE DB - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR BYTE DB

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.db 1, 2, 3

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR DATA - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR DATA

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.data

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR DWORD DD - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR DWORD DD

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.dd 0x12345678

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR EQU SET - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR EQU SET

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.equ SYS_EXIT 60

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR EXTERN - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR EXTERN

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.extern puts

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR GLOBAL - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR GLOBAL

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.global forth_main

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR MACRO - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR MACRO

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.macro PROLOGUE size
    sub rsp, \size
.endm

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR QWORD DQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR QWORD DQ

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.dq 0x1122334455667788

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR REP - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR REP

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.rep 3
    nop
.endr

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR SECTION - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR SECTION

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.section .rdata

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR TEXT - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR TEXT

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.text

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR UNICODE - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR UNICODE

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.unicode "Hi"

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM DIR WORD DW - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM DIR WORD DW

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

.dw 0x1234

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Assembler Directives - PBXB64 Compiler Help

Home › x64 Assembly Reference › Overview PBXB64 Compiler Help

Assembler Directives

PBXB64's assembler supports a set of directives for controlling alignment, data emission, and structured exception handling (SEH) unwind information. Directives are used inside #ASM / #ENDASM blocks.

Chapter: Overview

Description

PBXB64's assembler supports a set of directives for controlling alignment, data emission, and structured exception handling (SEH) unwind information. Directives are used inside #ASM / #ENDASM blocks.

Alignment Directives

#ALIGN

Controls struct member alignment within PB TYPE / UNION blocks. Also controls overall section alignment in assembly blocks.

#ALIGN 16       ' align to 16-byte boundary

When used inside a TYPE/UNION context, #ALIGN controls the packing alignment of subsequent members. The default alignment is the natural alignment of each member type.

.p2align

Pad the current section with NOP instructions to achieve the specified alignment boundary. The directive takes a power-of-two exponent.

#ASM
    .p2align 4      ; align to 16-byte boundary (2^4)
    .p2align 5, 0x90, 8  ; align to 32-byte, pad with NOPs, max 8 bytes
#ENDASM

Parameters:

Parameter | Description
align | Power-of-two alignment (e.g., 4 = 16 bytes, 5 = 32 bytes)
fill | Optional fill byte (default: 0x90 = NOP)
max | Optional maximum bytes to insert

.zero

Emit a block of zero-initialized memory. Commonly used for alignment padding or data reservation.

#ASM
    .zero 32        ; emit 32 zero bytes
#ENDASM

SEH (Structured Exception Handling) Directives

These directives emit unwind information into the .pdata and .xdata PE sections, enabling the Windows x64 exception handler to unwind the stack correctly.

.seh_proc

Marks the beginning of a function with SEH unwind information. Required before any other SEH directives.

.seh_proc MyFunction

.seh_endprologue

Marks the end of the function prologue. After this point, the stack frame is fully set up and unwind codes have been recorded.

.seh_endprologue

.seh_pushreg

Records that a non-volatile register was pushed onto the stack. The register is restored during unwinding.

.seh_pushreg rbx
.seh_pushreg rsi
.seh_pushreg rdi

.seh_setframe

Establishes a frame pointer register with optional scaled offset. The frame pointer is used to access local variables and parameters during unwinding.

.seh_setframe rbp, 0   ; rbp is frame pointer, no scaled offset

.seh_stackalloc

Records that a specified number of bytes were allocated on the stack (typically via sub rsp, X).

.seh_stackalloc 64    ; 64 bytes of local stack allocated

.seh_savereg

Records that a non-volatile register was saved to a specific stack offset from the frame pointer or stack pointer.

.seh_savereg rbx, 32   ; rbx saved at [rbp+32] or [rsp+32]

.seh_savexmm

Records that a non-volatile XMM register was saved to a specific stack offset.

.seh_savexmm xmm6, 16  ; xmm6 saved at [rbp+16]

.seh_pushframe

Records that a frame was pushed (used for exception handling chain frames). The optional [code] flag indicates if a return address was pushed.

.seh_pushframe         ; push frame without return address
.seh_pushframe code     ; push frame with return address on stack

.seh_handler

Associates an exception handler function with the current procedure. Used for TRY/CATCH/FINALLY support.

.seh_handler ExceptionHandler, @except
.seh_handler FinallyHandler, @finally

.seh_endproc

Marks the end of a function's SEH unwind information. Must appear after all other SEH directives for the function.

.seh_endproc

Complete SEH Example

; Standard x64 function prologue with SEH
#ASM
.seh_proc MyFunc
    push rbp
    .seh_pushreg rbp
    mov rbp, rsp
    .seh_setframe rbp, 0
    sub rsp, 48
    .seh_stackalloc 48
    .seh_endprologue

    ; function body
    mov DWORD PTR [rbp-4], 42
    mov eax, DWORD PTR [rbp-4]

    ; epilogue
    add rsp, 48
    pop rbp
    ret
.seh_endproc
#ENDASM

Emit Directives

.byte

Emit raw byte values into the code stream.

.byte 0x90, 0x90, 0xCC    ; NOP, NOP, INT3

.word

Emit 16-bit word values.

.word 0x1234, 0x5678

.long

Emit 32-bit long values.

.long 0x12345678

.quad

Emit 64-bit quadword values.

.quad 0x1234567890ABCDEF

Section Directives

.section

Switch to a named section. Standard sections include .text, .data, .bss, .rdata.

.section .data
.section .rdata, "rd"   ; read-only data section

.section .text
    ; code follows

.text / .data / .bss

Convenience aliases for common sections.

.data
myVar: .quad 42

.text
    mov rax, QWORD PTR [myVar]


ASM LABEL - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM LABEL

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

start:

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM LOCAL LABEL - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM LOCAL LABEL

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

1:
    jl 1b

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM MACRO CALL - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM MACRO CALL

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

PROLOGUE 48

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ASM MEMORY OPERAND - PBXB64 Compiler Help

Home › x64 Assembly Reference › ASM Source Forms & Directives PBXB64 Compiler Help

ASM MEMORY OPERAND

Category: PowerBASIC compatibility reference

Chapter: ASM Source Forms & Directives

Syntax

mov rax, [rbp-8]

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


AVX/AVX2/AVX-512/FMA Mnemonics - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

AVX/AVX2/AVX-512/FMA Mnemonics

PBXB64 supports AVX (VEX-encoded), AVX2, AVX-512 (EVEX-encoded), and FMA instructions. AVX instructions use 3-operand syntax with a non-destructive destination.

Chapter: Mnemonic Family Overviews

Description

PBXB64 supports AVX (VEX-encoded), AVX2, AVX-512 (EVEX-encoded), and FMA instructions. AVX instructions use 3-operand syntax with a non-destructive destination.

Note: AVX-512 mnemonics use the EVEX prefix and support opmask registers (k0-k7). The assembler accepts both standard mnemonics and AVX-512 variants (e.g., VADDPS and VADDPSZ).

AVX — Floating-Point Arithmetic

Mnemonic | Description | Operands
VADDPS | Add packed single (128/256) | ymm/xmm, ymm/xmm, ymm/mem
VADDPD | Add packed double (128/256) | ymm/xmm, ymm/xmm, ymm/mem
VADDSS | Add scalar single | xmm, xmm, xmm/mem
VADDSD | Add scalar double | xmm, xmm, xmm/mem
VSUBPS | Subtract packed single | ymm/xmm, ymm/xmm, ymm/mem
VSUBPD | Subtract packed double | ymm/xmm, ymm/xmm, ymm/mem
VSUBSS | Subtract scalar single | xmm, xmm, xmm/mem
VSUBSD | Subtract scalar double | xmm, xmm, xmm/mem
VMULPS | Multiply packed single | ymm/xmm, ymm/xmm, ymm/mem
VMULPD | Multiply packed double | ymm/xmm, ymm/xmm, ymm/mem
VMULSS | Multiply scalar single | xmm, xmm, xmm/mem
VMULSD | Multiply scalar double | xmm, xmm, xmm/mem
VDIVPS | Divide packed single | ymm/xmm, ymm/xmm, ymm/mem
VDIVPD | Divide packed double | ymm/xmm, ymm/xmm, ymm/mem
VDIVSS | Divide scalar single | xmm, xmm, xmm/mem
VDIVSD | Divide scalar double | xmm, xmm, xmm/mem
VSQRTPS | Square root packed single | ymm/xmm, ymm/xmm, ymm/mem
VSQRTPD | Square root packed double | ymm/xmm, ymm/xmm, ymm/mem
VSQRTSS | Square root scalar single | xmm, xmm, xmm/mem
VSQRTSD | Square root scalar double | xmm, xmm, xmm/mem
VRCPPS | Reciprocal packed single (approx) | ymm/xmm, ymm/xmm, ymm/mem
VRCPSS | Reciprocal scalar single (approx) | xmm, xmm, xmm/mem
VRSQRTPS | Reciprocal sqrt packed single (approx) | ymm/xmm, ymm/xmm, ymm/mem
VRSQRTSS | Reciprocal sqrt scalar single (approx) | xmm, xmm, xmm/mem
VMAXPS | Maximum packed single | ymm/xmm, ymm/xmm, ymm/mem
VMAXPD | Maximum packed double | ymm/xmm, ymm/xmm, ymm/mem
VMAXSS | Maximum scalar single | xmm, xmm, xmm/mem
VMAXSD | Maximum scalar double | xmm, xmm, xmm/mem
VMINPS | Minimum packed single | ymm/xmm, ymm/xmm, ymm/mem
VMINPD | Minimum packed double | ymm/xmm, ymm/xmm, ymm/mem
VMINSS | Minimum scalar single | xmm, xmm, xmm/mem
VMINSD | Minimum scalar double | xmm, xmm, xmm/mem
VROUNDPS | Round packed single | ymm/xmm, ymm/mem, imm8
VROUNDPD | Round packed double | ymm/xmm, ymm/mem, imm8
VROUNDSS | Round scalar single | xmm, xmm/mem, imm8
VROUNDSD | Round scalar double | xmm, xmm/mem, imm8

AVX — Data Movement

Mnemonic | Description | Operands
VMOVAPS | Move aligned packed single | ymm/xmm, mem / mem, ymm/xmm
VMOVUPS | Move unaligned packed single | ymm/xmm, mem / mem, ymm/xmm
VMOVAPD | Move aligned packed double | ymm/xmm, mem / mem, ymm/xmm
VMOVUPD | Move unaligned packed double | ymm/xmm, mem / mem, ymm/xmm
VMOVSS | Move scalar single | xmm, xmm/mem / mem32, xmm
VMOVSD | Move scalar double | xmm, xmm/mem / mem64, xmm
VMOVD | Move doubleword to/from XMM | xmm, reg/mem / reg, xmm
VMOVQ | Move quadword to/from XMM | xmm, reg/mem / reg, xmm
VMOVDQA | Move aligned double quadword | ymm/xmm, mem / mem, ymm/xmm
VMOVDQU | Move unaligned double quadword | ymm/xmm, mem / mem, ymm/xmm
VMOVLPS | Move low packed single (64-bit) | xmm, xmm, mem64 / mem64, xmm
VMOVHPS | Move high packed single | xmm, xmm, mem64 / mem64, xmm
VMOVLPD | Move low packed double | xmm, xmm, mem64 / mem64, xmm
VMOVHPD | Move high packed double | xmm, xmm, mem64 / mem64, xmm
VMOVSHDUP | Move and duplicate high singles | ymm/xmm, ymm/mem
VMOVSLDUP | Move and duplicate low singles | ymm/xmm, ymm/mem
VMOVDDUP | Move and duplicate one double | ymm/xmm, ymm/mem
VBROADCASTSS | Broadcast single to all elements | ymm/xmm, mem32
VBROADCASTSD | Broadcast double to all elements | ymm, mem64
VBROADCASTF128 | Broadcast 128-bit to all lanes | ymm, mem128

AVX — Logical & Comparison

Mnemonic | Description | Operands
VANDPS | Bitwise AND of packed singles | ymm/xmm, ymm/xmm, ymm/mem
VANDPD | Bitwise AND of packed doubles | ymm/xmm, ymm/xmm, ymm/mem
VANDNPS | Bitwise AND-NOT of packed singles | ymm/xmm, ymm/xmm, ymm/mem
VANDNPD | Bitwise AND-NOT of packed doubles | ymm/xmm, ymm/xmm, ymm/mem
VORPS | Bitwise OR of packed singles | ymm/xmm, ymm/xmm, ymm/mem
VORPD | Bitwise OR of packed doubles | ymm/xmm, ymm/xmm, ymm/mem
VXORPS | Bitwise XOR of packed singles | ymm/xmm, ymm/xmm, ymm/mem
VXORPD | Bitwise XOR of packed doubles | ymm/xmm, ymm/xmm, ymm/mem
VCMPPS | Compare packed single (imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VCMPPD | Compare packed double (imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VCMPSS | Compare scalar single (imm8) | xmm, xmm, xmm/mem, imm8
VCMPSD | Compare scalar double (imm8) | xmm, xmm, xmm/mem, imm8
VCOMISS | Compare ordered scalar single (flags) | xmm, xmm/mem
VCOMISD | Compare ordered scalar double (flags) | xmm, xmm/mem
VUCOMISS | Compare unordered scalar single (flags) | xmm, xmm/mem
VUCOMISD | Compare unordered scalar double (flags) | xmm, xmm/mem
VTESTPS | Test packed single (sets ZF/CF) | ymm/xmm, ymm/xmm
VTESTPD | Test packed double (sets ZF/CF) | ymm/xmm, ymm/xmm
VPTEST | Logical compare of integers (sets ZF/CF) | ymm/xmm, ymm/mem

AVX — Shuffle / Permute

Mnemonic | Description | Operands
VSHUFPS | Shuffle packed single | ymm/xmm, ymm/xmm, ymm/mem, imm8
VSHUFPD | Shuffle packed double | ymm/xmm, ymm/xmm, ymm/mem, imm8
VPERMILPS | Permute in-lane packed single | ymm/xmm, ymm/mem, imm8
VPERMILPD | Permute in-lane packed double | ymm/xmm, ymm/mem, imm8
VPERM2F128 | Permute 128-bit lanes | ymm, ymm, ymm/mem, imm8
VUNPCKHPS | Unpack high packed single | ymm/xmm, ymm/xmm, ymm/mem
VUNPCKLPS | Unpack low packed single | ymm/xmm, ymm/xmm, ymm/mem
VUNPCKHPD | Unpack high packed double | ymm/xmm, ymm/xmm, ymm/mem
VUNPCKLPD | Unpack low packed double | ymm/xmm, ymm/xmm, ymm/mem

AVX — Integer Operations

Mnemonic | Description | Operands
VPADDB | Add packed bytes | ymm/xmm, ymm/xmm, ymm/mem
VPADDW | Add packed words | ymm/xmm, ymm/xmm, ymm/mem
VPADDD | Add packed doublewords | ymm/xmm, ymm/xmm, ymm/mem
VPADDQ | Add packed quadwords | ymm/xmm, ymm/xmm, ymm/mem
VPSUBB | Subtract packed bytes | ymm/xmm, ymm/xmm, ymm/mem
VPSUBW | Subtract packed words | ymm/xmm, ymm/xmm, ymm/mem
VPSUBD | Subtract packed doublewords | ymm/xmm, ymm/xmm, ymm/mem
VPSUBQ | Subtract packed quadwords | ymm/xmm, ymm/xmm, ymm/mem
VPAND | Bitwise AND | ymm/xmm, ymm/xmm, ymm/mem
VPANDN | Bitwise AND-NOT | ymm/xmm, ymm/xmm, ymm/mem
VPOR | Bitwise OR | ymm/xmm, ymm/xmm, ymm/mem
VPXOR | Bitwise XOR | ymm/xmm, ymm/xmm, ymm/mem
VPSLLW | Shift left logical words | ymm/xmm, xmm/mem, imm8
VPSLLD | Shift left logical doublewords | ymm/xmm, xmm/mem, imm8
VPSLLQ | Shift left logical quadwords | ymm/xmm, xmm/mem, imm8
VPSRLW | Shift right logical words | ymm/xmm, xmm/mem, imm8
VPSRLD | Shift right logical doublewords | ymm/xmm, xmm/mem, imm8
VPSRLQ | Shift right logical quadwords | ymm/xmm, xmm/mem, imm8
VPSRAW | Shift right arithmetic words | ymm/xmm, xmm/mem, imm8
VPSRAD | Shift right arithmetic doublewords | ymm/xmm, xmm/mem, imm8
VPMULLW | Multiply packed words (low) | ymm/xmm, ymm/xmm, ymm/mem
VPMULLD | Multiply packed doublewords (low) | ymm/xmm, ymm/xmm, ymm/mem
VPMULHW | Multiply packed words (high) | ymm/xmm, ymm/xmm, ymm/mem
VPMULHUW | Multiply packed words (high, unsigned) | ymm/xmm, ymm/xmm, ymm/mem
VPMULUDQ | Multiply unsigned dword to qword | ymm/xmm, ymm/xmm, ymm/mem
VPMULDQ | Multiply signed dword to qword | ymm/xmm, ymm/xmm, ymm/mem
VPMADDUBSW | Multiply unsigned bytes, add adjacent, saturate | ymm/xmm, ymm/xmm, ymm/mem
VPMADDWD | Multiply and add words to doublewords | ymm/xmm, ymm/xmm, ymm/mem
VPSADBW | Sum of absolute differences | ymm/xmm, ymm/xmm, ymm/mem

AVX — Convert Instructions

Mnemonic | Description | Operands
VCVTPD2PS | Convert packed double to single | ymm/xmm, ymm/xmm/mem
VCVTPS2PD | Convert packed single to double | ymm/xmm, ymm/xmm/mem
VCVTSD2SS | Convert scalar double to single | xmm, xmm, xmm/mem
VCVTSS2SD | Convert scalar single to double | xmm, xmm, xmm/mem
VCVTDQ2PD | Convert packed dword to double | ymm/xmm, xmm/mem
VCVTPD2DQ | Convert packed double to dword | ymm/xmm, ymm/xmm/mem
VCVTDQ2PS | Convert packed dword to single | ymm/xmm, ymm/mem
VCVTPS2DQ | Convert packed single to dword | ymm/xmm, ymm/mem
VCVTTPD2DQ | Truncate packed double to dword | ymm/xmm, ymm/mem
VCVTTPS2DQ | Truncate packed single to dword | ymm/xmm, ymm/mem
VCVTTSD2SI | Truncate scalar double to integer | reg, xmm/mem
VCVTTSS2SI | Truncate scalar single to integer | reg, xmm/mem
VCVTSI2SD | Convert integer to scalar double | xmm, xmm, reg/mem
VCVTSI2SS | Convert integer to scalar single | xmm, xmm, reg/mem
VCVTSD2SI | Convert scalar double to integer | reg, xmm/mem
VCVTSS2SI | Convert scalar single to integer | reg, xmm/mem
VCVTPS2PH | Convert packed single to half precision | xmm/mem, ymm/xmm, imm8
VCPH2PS | Convert half precision to packed single | ymm/xmm, xmm/mem

AVX — Blend / Select / Horizontal

Mnemonic | Description | Operands
VBLENDPS | Blend packed single (imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VBLENDPD | Blend packed double (imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VBLENDVPS | Variable blend packed single | ymm/xmm, ymm/xmm, ymm/mem
VBLENDVPD | Variable blend packed double | ymm/xmm, ymm/xmm, ymm/mem
VPBLENDVB | Variable blend packed bytes | ymm/xmm, ymm/xmm, ymm/mem
VPBLENDW | Blend packed words (imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VDPPS | Dot product packed single (imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VDPPD | Dot product packed double (imm8) | xmm, xmm, xmm/mem, imm8
VHADDPS | Horizontal add packed single | ymm/xmm, ymm/xmm, ymm/mem
VHADDPD | Horizontal add packed double | ymm/xmm, ymm/xmm, ymm/mem
VHSUBPS | Horizontal subtract packed single | ymm/xmm, ymm/xmm, ymm/mem
VHSUBPD | Horizontal subtract packed double | ymm/xmm, ymm/xmm, ymm/mem
VADDSUBPS | Add/subtract alternating packed single | ymm/xmm, ymm/xmm, ymm/mem
VADDSUBPD | Add/subtract alternating packed double | ymm/xmm, ymm/xmm, ymm/mem

AVX2

Mnemonic | Description | Operands
VPBROADCASTB | Broadcast byte to all elements | ymm/xmm, reg/mem
VPBROADCASTW | Broadcast word to all elements | ymm/xmm, reg/mem
VPBROADCASTD | Broadcast dword to all elements | ymm/xmm, reg/mem
VPBROADCASTQ | Broadcast qword to all elements | ymm/xmm, reg/mem
VBROADCASTI128 | Broadcast 128-bit to all lanes | ymm, mem128
VPERM2I128 | Permute 128-bit integer lanes | ymm, ymm, ymm/mem, imm8
VPERMD | Permute doublewords | ymm, ymm, ymm/mem
VPERMPD | Permute double-precision floats | ymm, ymm, ymm/mem, imm8
VPERMPS | Permute single-precision floats | ymm, ymm, ymm/mem
VPERMQ | Permute quadwords | ymm, ymm/mem, imm8
VPERMIL2PS | Two-source permute of singles | ymm/xmm, ymm/xmm, ymm/mem, imm4
VPERMIL2PD | Two-source permute of doubles | ymm/xmm, ymm/xmm, ymm/mem, imm4
VGATHERDPD | Gather double with dword indices | ymm/xmm, mem, ymm/xmm
VGATHERQPD | Gather double with qword indices | ymm/xmm, mem, ymm/xmm
VGATHERDPS | Gather single with dword indices | ymm/xmm, mem, ymm/xmm
VGATHERQPS | Gather single with qword indices | ymm/xmm, mem, ymm/xmm
VPGATHERDD | Gather dwords with dword indices | ymm/xmm, mem, ymm/xmm
VPGATHERDQ | Gather dwords with qword indices | ymm/xmm, mem, ymm/xmm
VPGATHERQD | Gather qwords with dword indices | ymm/xmm, mem, ymm/xmm
VPGATHERQQ | Gather qwords with qword indices | ymm/xmm, mem, ymm/xmm
VPMASKMOVD | Masked move of dwords | ymm/xmm, ymm/xmm, mem
VPMASKMOVQ | Masked move of qwords | ymm/xmm, ymm/xmm, mem
VPSLLVD | Variable shift left logical dwords | ymm/xmm, ymm/xmm, ymm/mem
VPSLLVQ | Variable shift left logical qwords | ymm/xmm, ymm/xmm, ymm/mem
VPSRLVD | Variable shift right logical dwords | ymm/xmm, ymm/xmm, ymm/mem
VPSRLVQ | Variable shift right logical qwords | ymm/xmm, ymm/xmm, ymm/mem
VPSRAVD | Variable shift right arith dwords | ymm/xmm, ymm/xmm, ymm/mem
VPMOVSXBW | Sign-extend bytes to words | ymm/xmm, xmm/mem
VPMOVSXBD | Sign-extend bytes to dwords | ymm/xmm, xmm/mem
VPMOVSXBQ | Sign-extend bytes to qwords | ymm/xmm, xmm/mem
VPMOVSXWD | Sign-extend words to dwords | ymm/xmm, xmm/mem
VPMOVSXWQ | Sign-extend words to qwords | ymm/xmm, xmm/mem
VPMOVSXDQ | Sign-extend dwords to qwords | ymm/xmm, xmm/mem
VPMOVZXBW | Zero-extend bytes to words | ymm/xmm, xmm/mem
VPMOVZXBD | Zero-extend bytes to dwords | ymm/xmm, xmm/mem
VPMOVZXBQ | Zero-extend bytes to qwords | ymm/xmm, xmm/mem
VPMOVZXWD | Zero-extend words to dwords | ymm/xmm, xmm/mem
VPMOVZXWQ | Zero-extend words to qwords | ymm/xmm, xmm/mem
VPMOVZXDQ | Zero-extend dwords to qwords | ymm/xmm, xmm/mem
VPSHUFB | Shuffle packed bytes (per-lane) | ymm/xmm, ymm/xmm, ymm/mem
VPSHUFD | Shuffle packed dwords (per-lane, imm8) | ymm/xmm, ymm/mem, imm8
VPSHUFHW | Shuffle packed high words (imm8) | ymm/xmm, ymm/mem, imm8
VPSHUFLW | Shuffle packed low words (imm8) | ymm/xmm, ymm/mem, imm8
VPABSB | Absolute value of bytes | ymm/xmm, ymm/mem
VPABSW | Absolute value of words | ymm/xmm, ymm/mem
VPABSD | Absolute value of dwords | ymm/xmm, ymm/mem
VPMAXSB | Maximum of signed bytes | ymm/xmm, ymm/xmm, ymm/mem
VPMAXSW | Maximum of signed words | ymm/xmm, ymm/xmm, ymm/mem
VPMAXSD | Maximum of signed dwords | ymm/xmm, ymm/xmm, ymm/mem
VPMAXUB | Maximum of unsigned bytes | ymm/xmm, ymm/xmm, ymm/mem
VPMAXUW | Maximum of unsigned words | ymm/xmm, ymm/xmm, ymm/mem
VPMAXUD | Maximum of unsigned dwords | ymm/xmm, ymm/xmm, ymm/mem
VPMINSB | Minimum of signed bytes | ymm/xmm, ymm/xmm, ymm/mem
VPMINSW | Minimum of signed words | ymm/xmm, ymm/xmm, ymm/mem
VPMINSD | Minimum of signed dwords | ymm/xmm, ymm/xmm, ymm/mem
VPMINUB | Minimum of unsigned bytes | ymm/xmm, ymm/xmm, ymm/mem
VPMINUW | Minimum of unsigned words | ymm/xmm, ymm/xmm, ymm/mem
VPMINUD | Minimum of unsigned dwords | ymm/xmm, ymm/xmm, ymm/mem
VPINSRB | Insert byte | xmm, xmm, reg/mem, imm8
VPINSRD | Insert dword | xmm, xmm, reg/mem, imm8
VPINSRQ | Insert qword | xmm, xmm, reg/mem, imm8
VPEXTRB | Extract byte | reg/mem, xmm, imm8
VPEXTRD | Extract dword | reg/mem, xmm, imm8
VPEXTRQ | Extract qword | reg/mem, xmm, imm8
VPMOVMSKB | Move byte mask to GPR | reg, ymm/xmm
VPHADDW | Horizontal add words | ymm/xmm, ymm/xmm, ymm/mem
VPHADDD | Horizontal add dwords | ymm/xmm, ymm/xmm, ymm/mem
VPHADDSW | Horizontal add words with saturation | ymm/xmm, ymm/xmm, ymm/mem
VPHSUBW | Horizontal subtract words | ymm/xmm, ymm/xmm, ymm/mem
VPHSUBD | Horizontal subtract dwords | ymm/xmm, ymm/xmm, ymm/mem
VPHSUBSW | Horizontal subtract words with saturation | ymm/xmm, ymm/xmm, ymm/mem
VPMULHRSW | Multiply high with round and scale | ymm/xmm, ymm/xmm, ymm/mem
VPSIGNB | Sign of bytes | ymm/xmm, ymm/xmm, ymm/mem
VPSIGNW | Sign of words | ymm/xmm, ymm/xmm, ymm/mem
VPSIGND | Sign of dwords | ymm/xmm, ymm/xmm, ymm/mem
VPALIGNR | Align right (concatenate and shift, imm8) | ymm/xmm, ymm/xmm, ymm/mem, imm8
VPCMPEQB | Compare bytes for equality | ymm/xmm, ymm/xmm, ymm/mem
VPCMPEQW | Compare words for equality | ymm/xmm, ymm/xmm, ymm/mem
VPCMPEQD | Compare dwords for equality | ymm/xmm, ymm/xmm, ymm/mem
VPCMPEQQ | Compare qwords for equality | ymm/xmm, ymm/xmm, ymm/mem
VPCMPGTB | Compare bytes for greater than | ymm/xmm, ymm/xmm, ymm/mem
VPCMPGTW | Compare words for greater than | ymm/xmm, ymm/xmm, ymm/mem
VPCMPGTD | Compare dwords for greater than | ymm/xmm, ymm/xmm, ymm/mem
VPCMPGTQ | Compare qwords for greater than | ymm/xmm, ymm/xmm, ymm/mem
VINSERTI128 | Insert 128-bit integer lane (imm8) | ymm, ymm, xmm/mem, imm8
VEXTRACTI128 | Extract 128-bit integer lane (imm8) | xmm/mem, ymm, imm8
VINSERTF128 | Insert 128-bit float lane (imm8) | ymm, ymm, xmm/mem, imm8
VEXTRACTF128 | Extract 128-bit float lane (imm8) | xmm/mem, ymm, imm8

FMA — Fused Multiply-Add

Mnemonic | Description | Operands
VFMADD132PS | FMA: a*b+c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMADD213PS | FMA: a*b+c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMADD231PS | FMA: a*b+c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMADD132PD | FMA: a*b+c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMADD213PD | FMA: a*b+c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMADD231PD | FMA: a*b+c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMADD132SS | FMA: a*b+c (single, scalar) | xmm, xmm, xmm/mem
VFMADD213SS | FMA: a*b+c (single, scalar) | xmm, xmm, xmm/mem
VFMADD231SS | FMA: a*b+c (single, scalar) | xmm, xmm, xmm/mem
VFMADD132SD | FMA: a*b+c (double, scalar) | xmm, xmm, xmm/mem
VFMADD213SD | FMA: a*b+c (double, scalar) | xmm, xmm, xmm/mem
VFMADD231SD | FMA: a*b+c (double, scalar) | xmm, xmm, xmm/mem
VFMSUB132PS | FMA: a*b-c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMSUB213PS | FMA: a*b-c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMSUB231PS | FMA: a*b-c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMSUB132PD | FMA: a*b-c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMSUB213PD | FMA: a*b-c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMSUB231PD | FMA: a*b-c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFMSUB132SS | FMA: a*b-c (single, scalar) | xmm, xmm, xmm/mem
VFMSUB213SS | FMA: a*b-c (single, scalar) | xmm, xmm, xmm/mem
VFMSUB231SS | FMA: a*b-c (single, scalar) | xmm, xmm, xmm/mem
VFMSUB132SD | FMA: a*b-c (double, scalar) | xmm, xmm, xmm/mem
VFMSUB213SD | FMA: a*b-c (double, scalar) | xmm, xmm, xmm/mem
VFMSUB231SD | FMA: a*b-c (double, scalar) | xmm, xmm, xmm/mem
VFMADDSUB132PS | FMA: a*b+c / a*b-c (alternating, packed single) | ymm/xmm, ymm/xmm, ymm/mem
VFMADDSUB213PS | FMA: a*b+c / a*b-c (alternating, packed single) | ymm/xmm, ymm/xmm, ymm/mem
VFMADDSUB231PS | FMA: a*b+c / a*b-c (alternating, packed single) | ymm/xmm, ymm/xmm, ymm/mem
VFMADDSUB132PD | FMA: a*b+c / a*b-c (alternating, packed double) | ymm/xmm, ymm/xmm, ymm/mem
VFMADDSUB213PD | FMA: a*b+c / a*b-c (alternating, packed double) | ymm/xmm, ymm/xmm, ymm/mem
VFMADDSUB231PD | FMA: a*b+c / a*b-c (alternating, packed double) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD132PS | FMA: -(a*b)+c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD213PS | FMA: -(a*b)+c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD231PS | FMA: -(a*b)+c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD132PD | FMA: -(a*b)+c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD213PD | FMA: -(a*b)+c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD231PD | FMA: -(a*b)+c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFNMADD132SS | FMA: -(a*b)+c (single, scalar) | xmm, xmm, xmm/mem
VFNMADD213SS | FMA: -(a*b)+c (single, scalar) | xmm, xmm, xmm/mem
VFNMADD231SS | FMA: -(a*b)+c (single, scalar) | xmm, xmm, xmm/mem
VFNMADD132SD | FMA: -(a*b)+c (double, scalar) | xmm, xmm, xmm/mem
VFNMADD213SD | FMA: -(a*b)+c (double, scalar) | xmm, xmm, xmm/mem
VFNMADD231SD | FMA: -(a*b)+c (double, scalar) | xmm, xmm, xmm/mem
VFNMSUB132PS | FMA: -(a*b)-c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFNMSUB213PS | FMA: -(a*b)-c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFNMSUB231PS | FMA: -(a*b)-c (single, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFNMSUB132PD | FMA: -(a*b)-c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFNMSUB213PD | FMA: -(a*b)-c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFNMSUB231PD | FMA: -(a*b)-c (double, packed) | ymm/xmm, ymm/xmm, ymm/mem
VFNMSUB132SS | FMA: -(a*b)-c (single, scalar) | xmm, xmm, xmm/mem
VFNMSUB213SS | FMA: -(a*b)-c (single, scalar) | xmm, xmm, xmm/mem
VFNMSUB231SS | FMA: -(a*b)-c (single, scalar) | xmm, xmm, xmm/mem
VFNMSUB132SD | FMA: -(a*b)-c (double, scalar) | xmm, xmm, xmm/mem
VFNMSUB213SD | FMA: -(a*b)-c (double, scalar) | xmm, xmm, xmm/mem
VFNMSUB231SD | FMA: -(a*b)-c (double, scalar) | xmm, xmm, xmm/mem

AVX-512 — Key Differences

AVX-512 extends YMM to 512-bit ZMM registers and adds opmask registers k0-k7. Mnemonics use an optional Z suffix or the EVEX prefix. Key new instructions:

Mnemonic | Description | Operands
VMOVDQA32 | Move aligned dword/qword (with opmask) | zmm, mem / mem, zmm
VMOVDQA64 | Move aligned qword (with opmask) | zmm, mem / mem, zmm
VMOVDQU32 | Move unaligned dword/qword (with opmask) | zmm, mem / mem, zmm
VMOVDQU64 | Move unaligned qword (with opmask) | zmm, mem / mem, zmm
VPABSQ | Absolute value of qwords | zmm, zmm/mem
VPMAXSQ | Maximum of signed qwords | zmm, zmm, zmm/mem
VPMINSQ | Minimum of signed qwords | zmm, zmm, zmm/mem
VPMAXUQ | Maximum of unsigned qwords | zmm, zmm, zmm/mem
VPMINUQ | Minimum of unsigned qwords | zmm, zmm, zmm/mem
VPCONFLICTD | Detect conflicts in dword vector | zmm, zmm/mem
VPCONFLICTQ | Detect conflicts in qword vector | zmm, zmm/mem
VPLZCNTD | Count leading zeros in dword vector | zmm, zmm/mem
VPLZCNTQ | Count leading zeros in qword vector | zmm, zmm/mem
VCOMPRESS | Compress packed elements (by mask) | zmm, zmm/mem
VEXPAND | Expand packed elements (by mask) | zmm, zmm/mem
VPCOMPRESSD | Compress packed dwords | zmm, zmm/mem
VPCOMPRESSQ | Compress packed qwords | zmm, zmm/mem
VPEXPANDD | Expand packed dwords | zmm, zmm/mem
VPEXPANDQ | Expand packed qwords | zmm, zmm/mem
VPERMI2B | Permute bytes with index and mask | zmm, zmm, zmm/mem
VPERMI2W | Permute words with index and mask | zmm, zmm, zmm/mem
VPERMI2D | Permute dwords with index and mask | zmm, zmm, zmm/mem
VPERMI2Q | Permute qwords with index and mask | zmm, zmm, zmm/mem
VPERMT2B | Permute bytes with index and mask (two-source) | zmm, zmm, zmm/mem
VPERMT2W | Permute words with index and mask (two-source) | zmm, zmm, zmm/mem
VPERMT2D | Permute dwords with index and mask (two-source) | zmm, zmm, zmm/mem
VPERMT2Q | Permute qwords with index and mask (two-source) | zmm, zmm, zmm/mem
VGETMANTPS | Extract normalized mantissa from single | zmm, zmm/mem, imm8
VGETMANTPD | Extract normalized mantissa from double | zmm, zmm/mem, imm8
VFPCLASSPS | Test packed single for class (NaN/Inf/Zero) | zmm, zmm/mem, imm8
VFPCLASSPD | Test packed double for class | zmm, zmm/mem, imm8
VRCP14PS | 14-bit reciprocal packed single | zmm, zmm/mem
VRCP14PD | 14-bit reciprocal packed double | zmm, zmm/mem
VRCP14SS | 14-bit reciprocal scalar single | xmm, xmm, xmm/mem
VRCP14SD | 14-bit reciprocal scalar double | xmm, xmm, xmm/mem
VRSQRT14PS | 14-bit reciprocal sqrt packed single | zmm, zmm/mem
VRSQRT14PD | 14-bit reciprocal sqrt packed double | zmm, zmm/mem
VSCALEFPS | Scale packed single by power of 2 | zmm, zmm, zmm/mem
VSCALEFPD | Scale packed double by power of 2 | zmm, zmm, zmm/mem
VFIXUPIMMPS | Fix up packed single (NaN handling) | zmm, zmm, zmm/mem, imm8
VFIXUPIMMPD | Fix up packed double (NaN handling) | zmm, zmm, zmm/mem, imm8
VREDUCEPS | Reduce packed single (round to N bits) | zmm, zmm/mem, imm8
VREDUCEPD | Reduce packed double (round to N bits) | zmm, zmm/mem, imm8
VRNDSCALEPS | Round packed single with scale | zmm, zmm/mem, imm8
VRNDSCALEPD | Round packed double with scale | zmm, zmm/mem, imm8
VPMADD52HUQ | Multiply and add 52-bit high unsigned qwords | zmm, zmm, zmm/mem
VPMADD52LUQ | Multiply and add 52-bit low unsigned qwords | zmm, zmm, zmm/mem
VPSLLVW | Variable shift left logical words | zmm, zmm, zmm/mem
VPSLLVDQ | Variable shift left logical dword/qword | zmm, zmm, zmm/mem
VPSRAVQ | Variable shift right arithmetic qwords | zmm, zmm, zmm/mem
VPSRLVW | Variable shift right logical words | zmm, zmm, zmm/mem
VPSRLVDQ | Variable shift right logical dword/qword | zmm, zmm, zmm/mem
VPTERNLOGD | Three-input bitwise operation (dword) | zmm, zmm, zmm/mem, imm8
VPTERNLOGQ | Three-input bitwise operation (qword) | zmm, zmm, zmm/mem, imm8
VPMOVDB | Pack and truncate dwords to bytes (narrow) | mem, zmm / xmm, zmm
VPMOVDW | Pack and truncate dwords to words (narrow) | mem, zmm / xmm, zmm
VPMOVQB | Pack and truncate qwords to bytes (narrow) | mem, zmm / xmm, zmm
VPMOVQD | Pack and truncate qwords to dwords (narrow) | mem, zmm / xmm, zmm
VPMOVQW | Pack and truncate qwords to words (narrow) | mem, zmm / xmm, zmm
VPMOVWB | Pack and truncate words to bytes (narrow) | mem, zmm / xmm, zmm
VPOPCNTB | Population count of bytes (vector) | zmm, zmm/mem
VPOPCNTW | Population count of words (vector) | zmm, zmm/mem
VPOPCNTD | Population count of dwords (vector) | zmm, zmm/mem
VPOPCNTQ | Population count of qwords (vector) | zmm, zmm/mem
VDBPSADBW | Double block packed sum of abs diffs (words) | zmm, zmm, zmm/mem, imm8
VSHUFI32X4 | Shuffle 128-bit lanes of 32-bit elements | zmm, zmm, zmm/mem, imm8
VSHUFI64X2 | Shuffle 128-bit lanes of 64-bit elements | zmm, zmm, zmm/mem, imm8

Mask Register Instructions (k0-k7)

AVX-512 introduces 8 mask registers (k0-k7) for predicated operation. k0 is hardwired to all-ones (no masking). The typical syntax is vmovdqa32 zmm1 {k1}{z}, zmm2.

Mnemonic | Description | Operands
KMOVB/KMOVW/KMOVD/KMOVQ | Move mask register to/from GPR or memory | k, k/reg/mem
KADDB/KADDW/KADDD/KADDQ | Add two mask registers | k, k, k
KANDB/KANDW/KANDD/KANDQ | Bitwise AND of mask registers | k, k, k
KANDNB/KANDNW/KANDND/KANDNQ | Bitwise AND-NOT of mask registers | k, k, k
KORB/KORW/KORD/KORQ | Bitwise OR of mask registers | k, k, k
KXORB/KXORW/KXORD/KXORQ | Bitwise XOR of mask registers | k, k, k
KXNORB/KXNORW/KXNORD/KXNORQ | Bitwise XNOR of mask registers | k, k, k
KNOTB/KNOTW/KNOTD/KNOTQ | Bitwise NOT of mask register | k, k
KORTESTB/KORTESTW/KORTESTD/KORTESTQ | OR test (sets CF/ZF if result is all-ones/zero) | k, k
KSHIFTLB/KSHIFTLW/KSHIFTLD/KSHIFTLQ | Shift left mask register by imm8 | k, k, imm8
KSHIFTRB/KSHIFTRW/KSHIFTRD/KSHIFTRQ | Shift right mask register by imm8 | k, k, imm8

AVX-512BW — Byte/Word Extensions

Mnemonic | Description | Operands
VPADDB | Add packed bytes (512-bit with opmask) | zmm, zmm, zmm/mem
VPADDW | Add packed words (512-bit with opmask) | zmm, zmm, zmm/mem
VPSUBB | Subtract packed bytes (512-bit with opmask) | zmm, zmm, zmm/mem
VPSUBW | Subtract packed words (512-bit with opmask) | zmm, zmm, zmm/mem
VPSLLVW | Variable shift left logical words | zmm, zmm, zmm/mem
VPSRLVW | Variable shift right logical words | zmm, zmm, zmm/mem
VPSRAVW | Variable shift right arithmetic words | zmm, zmm, zmm/mem
VPABSB | Absolute value of bytes (512-bit) | zmm, zmm/mem
VPABSW | Absolute value of words (512-bit) | zmm, zmm/mem
VPMOVB2M | Move byte mask from vector to k register | k, zmm
VPMOVW2M | Move word mask from vector to k register | k, zmm
VPMOVM2B | Move mask from k register to byte vector | zmm, k
VPMOVM2W | Move mask from k register to word vector | zmm, k
VDBPSADBW | Double block packed sum of abs diffs (words) | zmm, zmm, zmm/mem, imm8

AVX-512DQ — Double/Quadword Extensions

Mnemonic | Description | Operands
VPMULLQ | Multiply packed signed qwords (low 64 bits) | zmm, zmm, zmm/mem
VPANDQ | Bitwise AND of qwords | zmm, zmm, zmm/mem
VPORQ | Bitwise OR of qwords | zmm, zmm, zmm/mem
VPXORQ | Bitwise XOR of qwords | zmm, zmm, zmm/mem
VPABSQ | Absolute value of qwords | zmm, zmm/mem
VPMOVD2M | Move dword mask from vector to k register | k, zmm
VPMOVQ2M | Move qword mask from vector to k register | k, zmm
VPMOVM2D | Move mask from k register to dword vector | zmm, k
VPMOVM2Q | Move mask from k register to qword vector | zmm, k

AVX-512ER — Exponential/Reciprocal

Introduced in Intel Xeon Phi (Knights Landing). Provides high-precision exponential, reciprocal, and reciprocal sqrt.

Mnemonic | Description | Operands
VEXP2PD | Base-2 exponential approximation (double, packed) | zmm, zmm/mem
VEXP2PS | Base-2 exponential approximation (single, packed) | zmm, zmm/mem
VRCP28PD | 28-bit reciprocal approximation (double, packed) | zmm, zmm/mem
VRCP28PS | 28-bit reciprocal approximation (single, packed) | zmm, zmm/mem
VRCP28SD | 28-bit reciprocal approximation (double, scalar) | xmm, xmm, xmm/mem
VRCP28SS | 28-bit reciprocal approximation (single, scalar) | xmm, xmm, xmm/mem
VRSQRT28PD | 28-bit reciprocal sqrt approximation (double, packed) | zmm, zmm/mem
VRSQRT28PS | 28-bit reciprocal sqrt approximation (single, packed) | zmm, zmm/mem
VRSQRT28SD | 28-bit reciprocal sqrt approximation (double, scalar) | xmm, xmm, xmm/mem
VRSQRT28SS | 28-bit reciprocal sqrt approximation (single, scalar) | xmm, xmm, xmm/mem

AVX-512PF — Prefetch Gather/Scatter

Prefetch hints for gather/scatter operations (Xeon Phi only). Uses VSIB addressing.

Mnemonic | Description | Operands
VGATHERPF0DPD | Prefetch gather double, intent level 0 | mem (VSIB)
VGATHERPF0DPS | Prefetch gather single, intent level 0 | mem (VSIB)
VGATHERPF1DPD | Prefetch gather double, intent level 1 | mem (VSIB)
VGATHERPF1DPS | Prefetch gather single, intent level 1 | mem (VSIB)
VSCATTERPF0DPD | Prefetch scatter double, intent level 0 | mem (VSIB)
VSCATTERPF0DPS | Prefetch scatter single, intent level 0 | mem (VSIB)
VSCATTERPF1DPD | Prefetch scatter double, intent level 1 | mem (VSIB)
VSCATTERPF1DPS | Prefetch scatter single, intent level 1 | mem (VSIB)

AVX-512VPOPCNTDQ — Vector Popcount

Mnemonic | Description | Operands
VPOPCNTD | Population count of dword elements | zmm, zmm/mem
VPOPCNTQ | Population count of qword elements | zmm, zmm/mem

AVX-512BITALG — Bit Algorithms

Mnemonic | Description | Operands
VPOPCNTB | Population count of byte elements | zmm, zmm/mem
VPOPCNTW | Population count of word elements | zmm, zmm/mem
VPSHUFBITQMB | Shuffle bits in qword to byte mask | k, zmm, zmm/mem

AVX-512VBMI — Vector Byte Manipulation

Mnemonic | Description | Operands
VPERMB | Permute bytes across lanes | zmm, zmm, zmm/mem
VPERMI2B | Two-source permute of bytes with index | zmm, zmm, zmm/mem
VPERMT2B | Two-source permute of bytes (index in dest) | zmm, zmm, zmm/mem
VPMULTISHIFTQB | Multiple shift and concatenate qwords to bytes | zmm, zmm, zmm/mem

AVX-512VBMI2 — Byte/Word Compress/Expand

Mnemonic | Description | Operands
VCOMPRESSB | Compress packed bytes (by mask) | zmm, zmm/mem
VCOMPRESSW | Compress packed words (by mask) | zmm, zmm/mem
VEXPANDB | Expand packed bytes (by mask) | zmm, zmm/mem
VEXPANDW | Expand packed words (by mask) | zmm, zmm/mem
VPSHLDV | Variable shift left double (concatenate shift) | zmm, zmm, zmm/mem
VPSHLDVW | Variable shift left double words | zmm, zmm, zmm/mem
VPSHRDV | Variable shift right double (concatenate shift) | zmm, zmm, zmm/mem
VPSHRDVW | Variable shift right double words | zmm, zmm, zmm/mem

GFNI — Galois Field New Instructions

Mnemonic | Description | Operands
VGF2P8AFFINEINVQB | Galois field affine transformation inverse | zmm/xmm, zmm/xmm, zmm/mem, imm8
VGF2P8AFFINEQB | Galois field affine transformation | zmm/xmm, zmm/xmm, zmm/mem, imm8
VGF2P8MULB | Galois field multiply bytes (GF(2^8)) | zmm/xmm, zmm/xmm, zmm/mem

AVX-512 — Scatter Stores

Mnemonic | Description | Operands
VSCATTERDPS | Scatter packed single using dword indices | mem, zmm
VSCATTERDPD | Scatter packed double using dword indices | mem, zmm
VSCATTERQPS | Scatter packed single using qword indices | mem, zmm
VSCATTERQPD | Scatter packed double using qword indices | mem, zmm

AVX-512 — Additional Operations

Mnemonic | Description | Operands
VALIGND | Align dwords (concatenate and shift) | zmm, zmm, zmm/mem, imm8
VALIGNQ | Align qwords (concatenate and shift) | zmm, zmm, zmm/mem, imm8
VBLENDMPD | Blend packed double from mask | zmm, zmm, zmm/mem
VBLENDMPS | Blend packed single from mask | zmm, zmm, zmm/mem
VPBLENDMD | Blend packed dwords from mask | zmm, zmm, zmm/mem
VPBLENDMQ | Blend packed qwords from mask | zmm, zmm, zmm/mem
VCOMPRESSPS | Compress packed single (by mask) | zmm, zmm/mem
VCOMPRESSPD | Compress packed double (by mask) | zmm, zmm/mem
VCOMPRESSD | Compress packed dwords (by mask) | zmm, zmm/mem
VCOMPRESSQ | Compress packed qwords (by mask) | zmm, zmm/mem
VEXPANDPS | Expand packed single (by mask) | zmm, zmm/mem
VEXPANDPD | Expand packed double (by mask) | zmm, zmm/mem
VEXPANDD | Expand packed dwords (by mask) | zmm, zmm/mem
VEXPANDQ | Expand packed qwords (by mask) | zmm, zmm/mem
VFIXUPIMMSD | Fix up scalar double (NaN handling) | xmm, xmm, xmm/mem, imm8
VFIXUPIMMSS | Fix up scalar single (NaN handling) | xmm, xmm, xmm/mem, imm8
VREDUCESD | Reduce scalar double (round to N bits) | xmm, xmm, xmm/mem, imm8
VREDUCESS | Reduce scalar single (round to N bits) | xmm, xmm, xmm/mem, imm8
VRNDSCALESD | Round scalar double with scale | xmm, xmm, xmm/mem, imm8
VRNDSCALESS | Round scalar single with scale | xmm, xmm, xmm/mem, imm8
VRANGESD | Range restriction scalar double | xmm, xmm, xmm/mem, imm8
VRANGESS | Range restriction scalar single | xmm, xmm, xmm/mem, imm8
VGETEXPSD | Extract exponent scalar double | xmm, xmm, xmm/mem
VGETEXPSS | Extract exponent scalar single | xmm, xmm, xmm/mem
VGETMANTSD | Extract normalized mantissa scalar double | xmm, xmm, xmm/mem, imm8
VGETMANTSS | Extract normalized mantissa scalar single | xmm, xmm, xmm/mem, imm8
VPSRAVQ | Variable shift right arithmetic qwords | zmm, zmm, zmm/mem
VPERMI2W | Two-source permute of words with index | zmm, zmm, zmm/mem
VPERMT2W | Two-source permute of words (index in dest) | zmm, zmm, zmm/mem
VPERMI2D | Two-source permute of dwords with index | zmm, zmm, zmm/mem
VPERMI2Q | Two-source permute of qwords with index | zmm, zmm, zmm/mem
VPERMI2PS | Two-source permute of singles with index | zmm, zmm, zmm/mem
VPERMI2PD | Two-source permute of doubles with index | zmm, zmm, zmm/mem
VPERMT2D | Two-source permute of dwords (index in dest) | zmm, zmm, zmm/mem
VPERMT2Q | Two-source permute of qwords (index in dest) | zmm, zmm, zmm/mem
VPERMT2PS | Two-source permute of singles (index in dest) | zmm, zmm, zmm/mem
VPERMT2PD | Two-source permute of doubles (index in dest) | zmm, zmm, zmm/mem
Note: AVX-512 instructions can use opmask registers (k1-k7). Opmask zero (k0) is hardwired to all-ones and acts as "no mask". The typical syntax is: vmovdqa32 zmm1 {k1}{z}, zmm2 where {k1} enables masking and {z} enables zeroing-mask mode. The suffix suffix (32/64 for dword/qword element size) determines which elements the mask applies to.
A 256-bit YMM register can hold eight single-precision values.

A 256-bit YMM register can hold eight single-precision values.


BMI1/BMI2 Mnemonics - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

BMI1/BMI2 Mnemonics

Bit Manipulation Instruction Sets 1 and 2, introduced in Intel Haswell (2013) and AMD Jaguar/Piledriver. These instructions accelerate bitfield operations and arbitrary-precision arithmetic.

Chapter: Mnemonic Family Overviews

Description

Bit Manipulation Instruction Sets 1 and 2, introduced in Intel Haswell (2013) and AMD Jaguar/Piledriver. These instructions accelerate bitfield operations and arbitrary-precision arithmetic.

BMI1

Mnemonic | Description | Operands | CPUID Flag
ANDN | Bitwise AND-NOT: dst = ~src1 & src2 | reg, reg, reg/mem | BMI1
BEXTR | Bit field extract: extract contiguous bits | reg, reg/mem, reg/imm | BMI1
BLSI | Isolate lowest set bit: dst = src & -src | reg, reg/mem | BMI1
BLSMSK | Mask up to lowest set bit: dst = src ^ (src-1) | reg, reg/mem | BMI1
BLSR | Reset lowest set bit: dst = src & (src-1) | reg, reg/mem | BMI1
TZCNT | Count trailing zeros (uses F3 prefix unlike BSF) | reg, reg/mem | BMI1

BMI1 Examples

andn   eax, ebx, ecx      ; eax = ~ebx & ecx
bextr  eax, ecx, 8        ; eax = bits 15:8 of ecx (start=8, len=8)
blsi   eax, [var]         ; eax = [var] & -[var]
blsmsk eax, edx           ; eax = edx ^ (edx-1)
blsr   eax, ecx           ; eax = ecx & (ecx-1)  -- clears lowest set bit
tzcnt  eax, ebx           ; eax = count trailing zeros in ebx

BMI2

Mnemonic | Description | Operands | CPUID Flag
BZHI | Zero high bits: if index<operand_size, dst=src & mask | reg, reg/mem, reg | BMI2
MULX | Unsigned multiply without affecting flags | reg, reg, reg/mem | BMI2
PDEP | Parallel bits deposit: scatter bits using mask | reg, reg, reg/mem | BMI2
PEXT | Parallel bits extract: gather bits using mask | reg, reg, reg/mem | BMI2
RORX | Rotate right by immediate (no flags affected) | reg, reg/mem, imm8 | BMI2
SARX | Shift arithmetic right by variable (no flags) | reg, reg/mem, reg | BMI2
SHLX | Shift left logical by variable (no flags) | reg, reg/mem, reg | BMI2
SHRX | Shift right logical by variable (no flags) | reg, reg/mem, reg | BMI2

BMI2 Examples

bzhi   eax, ebx, ecx       ; zero bits above position ecx in ebx
mulx   edx, eax, ecx       ; edx:eax = ecx * [implicit rdx:rax]
pdep   rax, rbx, rcx       ; deposit bits of rbx using mask in rcx
pext   rax, rbx, rcx       ; extract bits of rbx using mask in rcx
rorx   eax, [var], 8       ; rotate right by 8, no flags
sarx   eax, ebx, ecx       ; arithmetic shift right ebx by ecx
shlx   eax, ebx, ecx       ; logical shift left ebx by ecx
shrx   eax, ebx, ecx       ; logical shift right ebx by ecx

ADCX / ADOX — Arbitrary-Precision Add

Intel Haswell introduced ADCX and ADOX for multi-precision arithmetic with independent carry chains.

Mnemonic | Description | Operands
ADCX | Add with carry (uses CF flag only) | reg32/64, reg/mem
ADOX | Add with overflow (uses OF flag only) | reg32/64, reg/mem
; Multi-precision addition with dual carry chains
adcx  rcx, [rsi+0]         ; add with carry chain 1 (CF)
adox  rdx, [rsi+8]         ; add with carry chain 2 (OF)
adcx  r8,  [rsi+16]        ; continue chain 1
adox  r9,  [rsi+24]        ; continue chain 2
Note: ADCX uses the Carry Flag (CF) exclusively. ADOX uses the Overflow Flag (OF) exclusively. This allows two independent carry chains to proceed in parallel, doubling throughput for large integer arithmetic.


Cache Control / Prefetch Mnemonics - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

Cache Control / Prefetch Mnemonics

Instructions for cache hierarchy management, prefetching, non-temporal stores, and memory ordering barriers.

Chapter: Mnemonic Family Overviews

Description

Instructions for cache hierarchy management, prefetching, non-temporal stores, and memory ordering barriers.

Prefetch Instructions

Mnemonic | Description | Operands
PREFETCHh | Prefetch data into cache at specified hint level | mem8
PREFETCHNTA | Prefetch into L1 data cache (non-temporal, minimal pollution) | mem8
PREFETCHT0 | Prefetch into all cache levels (L1, L2, L3) | mem8
PREFETCHT1 | Prefetch into L2 and L3 (not L1) | mem8
PREFETCHT2 | Prefetch into L3 only | mem8
PREFETCHW | Prefetch for write (reduce RFO latency, AMD/Intel) | mem8
PREFETCHWT1 | Prefetch for write into L2 (AVX-512) | mem8
; Prefetch data for read-intensive processing
prefetcht0 [rsi+64]       ; start loading cache line into L1
prefetcht1 [rsi+128]      ; prefetch into L2
prefetchnta [rsi+192]     ; non-temporal (don't pollute caches)

; Prefetch for write
prefetchw [rdi+64]        ; hint: we'll write here soon

Cache Line Flush / Writeback

Mnemonic | Description | Operands
CLFLUSH | Flush cache line containing address (writeback + invalidate) | mem8
CLFLUSHOPT | Flush cache line (optimized, buffered) | mem8
CLWB | Cache line write back (retain in cache if still needed) | mem8
CLZERO | Zero cache line (AMD only, clears 64 bytes) | none (uses [rax address])
CLDEMOTE | Demote cache line from L1 to lower levels (L2/L3) | mem8
; Write-back and flush a cache-aligned buffer
clflushopt [rdi]           ; optimized cache line flush
clwb       [rdi]           ; write-back but keep in cache

; Memory-mapped I/O: ensure write is visible to device
mov    DWORD PTR [mmio_reg], eax
clflush [mmio_reg]         ; flush write from cache to memory

Non-Temporal (Streaming) Stores

Non-temporal stores bypass the cache and write directly to memory, avoiding cache pollution. Ideal for large data structures written once.

Mnemonic | Description | Operands
MOVNTI | Non-temporal store of integer (dword/qword) | mem32/64, reg
MOVNTDQ | Non-temporal store of 128 bits (SSE2) | mem128, xmm
MOVNTDQA | Non-temporal load (streaming load hint, SSE4.1) | xmm, mem128
MOVNTPD | Non-temporal store of packed double (SSE2) | mem128, xmm
MOVNTPS | Non-temporal store of packed single (SSE) | mem128, xmm
VMOVNTDQ | VEX non-temporal 128/256-bit store (AVX) | mem, ymm/xmm
VMOVNTPD | VEX non-temporal double store (AVX) | mem, ymm/xmm
VMOVNTPS | VEX non-temporal single store (AVX) | mem, ymm/xmm
VMOVNTDQA | VEX non-temporal load (AVX2) | ymm/xmm, mem
; Non-temporal memory copy (large blocks)
; AVX variant - streaming store avoids cache pollution
vmovntdq [rdi],   ymm0    ; write 32 bytes, bypass cache
vmovntdq [rdi+32], ymm1   ; next 32 bytes
; ... use sfence to ensure visibility
sfence

; Non-temporal integer store (for single values)
movnti [rdi], eax          ; atomic 32-bit streaming store
movnti [rdi], rax          ; 64-bit streaming store

Memory Barriers & Fences

Mnemonic | Description
SFENCE | Store fence (serializes all store operations)
LFENCE | Load fence (serializes all load operations)
MFENCE | Memory fence (serializes all load and store operations)
SFENCE | Store fence (ensures all previous stores are globally visible)
LFENCE | Load fence (ensures all previous loads complete before next load)
; Memory ordering: producer-consumer
; Thread 1 (producer):
mov    DWORD PTR [data], eax
sfence                       ; ensure data visible before flag
mov    DWORD PTR [flag], 1

; Thread 2 (consumer):
spin:
    mov    eax, DWORD PTR [flag]
    lfence                   ; ensure flag loaded before data
    test   eax, eax
    jz     spin
    mov    ebx, DWORD PTR [data]

; Full memory barrier (both loads and stores)
lock or DWORD PTR [rsp], 0  ; alternative full barrier
; or simply:
mfence

Cache Control Usage Patterns

Streaming Copy (memcpy with NT stores)

; Copy 4096 bytes with non-temporal stores
mov    ecx, 128             ; 4096 / 32 (256-bit)
mov    rsi, src
mov    rdi, dst
loop:
    vmovdqa ymm0, [rsi]
    vmovntdq [rdi], ymm0
    add    rsi, 32
    add    rdi, 32
    dec    ecx
    jnz    loop
sfence                       ; ensure all NT stores are visible
vzeroupper

Cache Line Flush for NVDIMM Persistency

; Ensure data is persistent on NVDIMM
mov    DWORD PTR [journal], eax
clwb   [journal]            ; write-back cache line
sfence                       ; order CLWB before next barrier
; ... optionally wait for PCOMMIT (older platforms) ...
; With Intel eADR, CLWB + SFENCE is sufficient for persistency

Prefetch for Strided Access Patterns

; Strided matrix access (column-major)
xor    ecx, ecx
loop_col:
    prefetcht0 [rsi+rdx*8]   ; prefetch column element
    movsd  xmm0, [rsi]
    addsd  xmm0, [rdi+rcx]
    movsd  [rsi], xmm0
    add    rsi, rdx           ; stride
    inc    ecx
    cmp    ecx, 64
    jb     loop_col

Instruction Summary by Hint Level

Instruction | Cache Impact | Use Case
PREFETCHNTA | L1 only, non-temporal | Data read once, minimize L2/L3 pollution
PREFETCHT0 | L1, L2, L3 | Data accessed multiple times soon
PREFETCHT1 | L2, L3 (skip L1) | Data accessed soon but not immediately
PREFETCHT2 | L3 only | Data accessed in near future
PREFETCHW | All levels, exclusive | Data to be written (exclusive state)
MOVNT* | Bypass cache (write-combining) | Large streaming writes (framebuffer, large buffers)
CLFLUSH | Flush+invalidate cache line | Cache-coherent DMA, persistency
CLFLUSHOPT | Flush (buffered, faster) | Same as CLFLUSH but higher throughput
CLWB | Write-back (retain cache) | NVDIMM persistency, retains line in cache
CLDEMOTE | Move from L1 to L2/L3 | Reduce L1 pressure for data not immediately needed


Core GPR Mnemonics - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

Core GPR Mnemonics

This section documents the x86-64 general-purpose register (GPR) instructions supported by PBXB64's assembler. All instructions use Intel syntax.

Chapter: Mnemonic Family Overviews

Description

This section documents the x86-64 general-purpose register (GPR) instructions supported by PBXB64's assembler. All instructions use Intel syntax.

Data Movement

Mnemonic | Description | Operands
MOV | Move data between registers, memory, and immediates | reg/mem, reg/mem/imm
MOVZX | Move with zero-extension | reg, reg/mem
MOVSX | Move with sign-extension | reg, reg/mem
MOVSXD | Move with sign-extension (32-bit to 64-bit) | reg64, reg/mem32
CMOVcc | Conditional move (see below) | reg, reg/mem
XCHG | Exchange data between operands | reg, reg/mem
BSWAP | Byte swap (reverse endianness) | reg32/64
MOVBE | Move with big-endian conversion (load/store) | reg, mem / mem, reg
MOVABS | Move 64-bit absolute (aliased to MOV with imm64) | reg64, imm64

Conditional Moves (CMOVcc)

Mnemonic | Condition | Flags
CMOVA / CMOVNBE | Above (not below or equal) | CF=0 and ZF=0
CMOVAE / CMOVNB | Above or equal (not below) | CF=0
CMOVB / CMOVNAE | Below (not above or equal) | CF=1
CMOVBE / CMOVNA | Below or equal (not above) | CF=1 or ZF=1
CMOVE / CMOVZ | Equal (zero) | ZF=1
CMOVNE / CMOVNZ | Not equal (not zero) | ZF=0
CMOVG / CMOVNLE | Greater (signed, not less or equal) | ZF=0 and SF=OF
CMOVGE / CMOVNL | Greater or equal (signed, not less) | SF=OF
CMOVL / CMOVNGE | Less (signed, not greater or equal) | SF!=OF
CMOVLE / CMOVNG | Less or equal (signed, not greater) | ZF=1 or SF!=OF
CMOVO | Overflow | OF=1
CMOVNO | Not overflow | OF=0
CMOVS | Sign (negative) | SF=1
CMOVNS | Not sign (non-negative) | SF=0
CMOVP / CMOVPE | Parity (even) | PF=1
CMOVNP / CMOVPO | Not parity (odd) | PF=0

Arithmetic

Mnemonic | Description | Operands
ADD | Integer addition | reg/mem, reg/mem/imm
ADC | Add with carry | reg/mem, reg/mem/imm
SUB | Integer subtraction | reg/mem, reg/mem/imm
SBB | Subtract with borrow | reg/mem, reg/mem/imm
MUL | Unsigned multiply (r/m * AL/AX/EAX/RAX) | reg/mem
IMUL | Signed multiply (multiple forms) | reg/mem / reg, reg/mem / reg, reg/mem, imm
DIV | Unsigned divide (r/m divides AX/EAX/RAX) | reg/mem
IDIV | Signed divide | reg/mem
INC | Increment by 1 | reg/mem
DEC | Decrement by 1 | reg/mem
NEG | Negate (two's complement) | reg/mem
CMP | Compare (sets flags, no result) | reg/mem, reg/mem/imm
TEST | Logical compare (AND sets flags) | reg/mem, reg/mem/imm

The MUL and DIV instructions use implicit source/destination registers:

Operand Size | MUL: r/m * | Result (Product) | DIV: r/m divides | Quotient | Remainder
8-bit | AL | AX | AX | AL | AH
16-bit | AX | DX:AX | DX:AX | AX | DX
32-bit | EAX | EDX:EAX | EDX:EAX | EAX | EDX
64-bit | RAX | RDX:RAX | RDX:RAX | RAX | RDX

The IMUL instruction has three forms:

  • Single operand: imul r/m — same implicit behavior as MUL
  • Two operand: imul reg, r/m — reg = reg * r/m
  • Three operand: imul reg, r/m, imm — reg = r/m * imm

Logical / Bitwise

Mnemonic | Description | Operands
AND | Bitwise AND | reg/mem, reg/mem/imm
OR | Bitwise OR | reg/mem, reg/mem/imm
XOR | Bitwise XOR | reg/mem, reg/mem/imm
NOT | Bitwise NOT (one's complement) | reg/mem
ANDN | Bitwise AND-NOT (BMI1) | reg, reg, reg/mem

Shift / Rotate

Mnemonic | Description | Operands
SHL / SAL | Shift logical/arithmetic left | reg/mem, imm8/CL
SHR | Shift logical right | reg/mem, imm8/CL
SAR | Shift arithmetic right (sign-preserving) | reg/mem, imm8/CL
ROL | Rotate left | reg/mem, imm8/CL
ROR | Rotate right | reg/mem, imm8/CL
RCL | Rotate left through carry | reg/mem, imm8/CL
RCR | Rotate right through carry | reg/mem, imm8/CL
SHLD | Double precision shift left | reg/mem, reg, imm8/CL
SHRD | Double precision shift right | reg/mem, reg, imm8/CL

Stack Operations

Mnemonic | Description | Operands
PUSH | Push onto stack (RSP decremented by 8 in x64) | reg/mem/imm
POP | Pop from stack (RSP incremented by 8 in x64) | reg/mem
PUSHA / PUSHAD | Push all GPRs (not valid in x64 mode) | none
POPA / POPAD | Pop all GPRs (not valid in x64 mode) | none
PUSHF / PUSHFD | Push EFLAGS/RFLAGS | none
POPF / POPFD | Pop EFLAGS/RFLAGS | none
PUSHQ | Push QWORD (implicit 64-bit push) | imm32
ENTER | Make stack frame (push rbp, mov rbp, rsp; sub rsp, X) | imm16, imm8
LEAVE | Destroy stack frame (mov rsp, rbp; pop rbp) | none
Note: In x64 mode, PUSH and POP always operate on 64-bit values (RSP is adjusted by 8). 32-bit and 16-bit push/pop are not encodable in x64. PUSHA/POPA are not available.

Control Transfer

Unconditional Jumps

Mnemonic | Description | Operands
JMP | Unconditional jump | label/reg/mem
CALL | Call procedure (pushes return address) | label/reg/mem
RET | Return from procedure (pops return address) | none / imm16 (pop N bytes)
RETF | Far return (not used in x64) | none / imm16

Conditional Jumps

Mnemonic | Condition | Flags
JA / JNBE | Jump if above | CF=0 and ZF=0
JAE / JNB / JNC | Jump if above or equal | CF=0
JB / JNAE / JC | Jump if below | CF=1
JBE / JNA | Jump if below or equal | CF=1 or ZF=1
JE / JZ | Jump if equal | ZF=1
JNE / JNZ | Jump if not equal | ZF=0
JG / JNLE | Jump if greater (signed) | ZF=0 and SF=OF
JGE / JNL | Jump if greater or equal (signed) | SF=OF
JL / JNGE | Jump if less (signed) | SF!=OF
JLE / JNG | Jump if less or equal (signed) | ZF=1 or SF!=OF
JO | Jump if overflow | OF=1
JNO | Jump if not overflow | OF=0
JS | Jump if sign (negative) | SF=1
JNS | Jump if not sign | SF=0
JP / JPE | Jump if parity even | PF=1
JNP / JPO | Jump if parity odd | PF=0
JCXZ / JECXZ / JRCXZ | Jump if CX/ECX/RCX zero | CX/ECX/RCX=0

Loop Instructions

Mnemonic | Description | Operands
LOOP | Decrement CX/ECX/RCX, jump if not zero | label
LOOPE / LOOPZ | LOOP while equal/zero | label
LOOPNE / LOOPNZ | LOOP while not equal/not zero | label

String Operations

Mnemonic | Description | Operands
MOVS / MOVSB / MOVSW / MOVSD / MOVSQ | Move string (RSI→RDI, adjust by size) | none
CMPS / CMPSB / CMPSW / CMPSD / CMPSQ | Compare string (RSI vs RDI) | none
SCAS / SCASB / SCASW / SCASD / SCASQ | Scan string (compare AL/AX/EAX/RAX with [RDI]) | none
LODS / LODSB / LODSW / LODSD / LODSQ | Load string ([RSI]→AL/AX/EAX/RAX) | none
STOS / STOSB / STOSW / STOSD / STOSQ | Store string (AL/AX/EAX/RAX→[RDI]) | none

String instructions are often combined with the REP prefix for block operations:

cld                     ; clear direction flag (forward)
rep movsb               ; copy RCX bytes from RSI to RDI
rep stosd               ; fill RCX dwords with EAX
repne scasb             ; scan for AL in [RDI], RCX times

Flag Control

Mnemonic | Description
STC | Set Carry Flag (CF=1)
CLC | Clear Carry Flag (CF=0)
CMC | Complement Carry Flag (CF=!CF)
STD | Set Direction Flag (DF=1)
CLD | Clear Direction Flag (DF=0)
STI | Set Interrupt Flag (IF=1)
CLI | Clear Interrupt Flag (IF=0)
LAHF | Load Flags into AH (SF:ZF:0:AF:0:PF:1:CF)
SAHF | Store AH into Flags
SAHF | Store AH into RFLAGS lower byte

Bit Manipulation

Mnemonic | Description | Operands
BT | Bit test (stores bit at position in CF) | reg/mem, reg/imm
BTS | Bit test and set | reg/mem, reg/imm
BTR | Bit test and reset | reg/mem, reg/imm
BTC | Bit test and complement | reg/mem, reg/imm
BSF | Bit scan forward (lowest set bit) | reg, reg/mem
BSR | Bit scan reverse (highest set bit) | reg, reg/mem
POPCNT | Population count (number of set bits) — SSE4.2 | reg, reg/mem
LZCNT | Count leading zeros — BMI1 (via F3 0F BD) | reg, reg/mem
TZCNT | Count trailing zeros — BMI1 | reg, reg/mem

Exchange / Convert

Mnemonic | Description | Operands
XADD | Exchange and add (atomic) | reg/mem, reg
CMPXCHG | Compare and exchange (atomic) | reg/mem, reg
CMPXCHG8B | Compare and exchange 8 bytes (atomic) | mem64
CMPXCHG16B | Compare and exchange 16 bytes (atomic, needs LOCK) | mem128
CBW / CWDE / CDQE | Convert byte to word / word to dword / dword to qword | none (uses AL/AX/EAX)
CWD / CDQ / CQO | Convert word to dword / dword to qword / qword to dqword (DX:AX / EDX:EAX / RDX:RAX) | none
CWDE | Convert word (AX) to doubleword (EAX) with sign-extension | none
CDQE | Convert doubleword (EAX) to quadword (RAX) with sign-extension | none

Atomic / Lock Prefix

The LOCK prefix makes certain instructions atomic on multi-processor systems. Supported instructions:

lock add / lock adc / lock sub / lock sbb / lock and / lock or / lock xor
lock inc / lock dec / lock neg / lock not
lock xadd / lock cmpxchg / lock cmpxchg8b / lock cmpxchg16b
lock bts / lock btr / lock btc

Example:

lock inc DWORD PTR [counter]       ; atomic increment
lock cmpxchg DWORD PTR [ptr], ecx   ; atomic compare-exchange

Legacy / Compatibility

Mnemonic | Description
AAA | ASCII adjust after addition (not valid in x64)
AAS | ASCII adjust after subtraction (not valid in x64)
AAM | ASCII adjust after multiply (not valid in x64)
AAD | ASCII adjust before division (not valid in x64)
DAA | Decimal adjust after addition (not valid in x64)
DAS | Decimal adjust after subtraction (not valid in x64)
Note: The ASCII and decimal adjust instructions are not encodable in x64 mode but the assembler accepts them for source-level compatibility with legacy code.

NOP and Multi-Byte NOPs

Mnemonic | Encoding | Size
NOP | 90 | 1 byte
NOP (2-byte) | 66 90 | 2 bytes
NOP (3-byte) | 0F 1F 00 | 3 bytes
NOP (4-byte) | 0F 1F 40 00 | 4 bytes
NOP (5-byte) | 0F 1F 44 00 00 | 5 bytes
NOP (6-byte) | 66 0F 1F 44 00 00 | 6 bytes
NOP (7-byte) | 0F 1F 80 00 00 00 00 | 7 bytes
NOP (8-byte) | 0F 1F 84 00 00 00 00 00 | 8 bytes
NOP (9-byte) | 66 0F 1F 84 00 00 00 00 00 | 9 bytes


AES / SHA / CLMUL / CRC32 Mnemonics - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

AES / SHA / CLMUL / CRC32 Mnemonics

AES-NI (AES New Instructions), SHA extensions, Carry-less Multiplication (CLMUL), and CRC32 instructions for cryptographic and checksum acceleration.

Chapter: Mnemonic Family Overviews

Description

AES-NI (AES New Instructions), SHA extensions, Carry-less Multiplication (CLMUL), and CRC32 instructions for cryptographic and checksum acceleration.

AES-NI — AES New Instructions

Introduced in Intel Westmere (2010). Hardware-accelerated AES encryption/decryption.

Mnemonic | Description | Operands
AESENC | Perform one round of AES encryption | xmm, xmm/mem128
AESENCLAST | Perform last round of AES encryption | xmm, xmm/mem128
AESDEC | Perform one round of AES decryption | xmm, xmm/mem128
AESDECLAST | Perform last round of AES decryption | xmm, xmm/mem128
AESIMC | Inverse mix columns (for key expansion) | xmm, xmm/mem128
AESKEYGENASSIST | Assist for AES round key generation | xmm, xmm/mem128, imm8

AES Examples

; AES-128 encryption of one block
aeskeygenassist xmm2, xmm1, 1  ; generate round key 1
aesenc          xmm0, xmm2      ; round 1
; ...
aesenclast      xmm0, xmmk10    ; final round

; AES decryption
aesdec          xmm0, xmm2      ; round 1
aesdeclast      xmm0, xmmk10    ; final round
aesimc          xmm1, xmm0      ; inverse mix columns

VAES — AES with AVX/AVX-512

Mnemonic | Description | Operands
VAESENC | VEX/EVEX AES round encryption | xmm/ymm/zmm, xmm/ymm/zmm, mem
VAESENCLAST | VEX/EVEX AES last round encryption | xmm/ymm/zmm, xmm/ymm/zmm, mem
VAESDEC | VEX/EVEX AES round decryption | xmm/ymm/zmm, xmm/ymm/zmm, mem
VAESDECLAST | VEX/EVEX AES last round decryption | xmm/ymm/zmm, xmm/ymm/zmm, mem
VAESIMC | VEX AES inverse mix columns | xmm, xmm/mem
VAESKEYGENASSIST | VEX AES key generation assist | xmm, xmm/mem, imm8

PCLMULQDQ — Carry-Less Multiplication

Mnemonic | Description | Operands
PCLMULQDQ | Carry-less multiply of two 64-bit halves | xmm, xmm/mem128, imm8
VPCLMULQDQ | VEX/EVEX carry-less multiply | xmm/ymm/zmm, xmm/ymm/zmm, mem, imm8

The imm8 operand selects which 64-bit halves to multiply:

Bits | Field | Value
1:0 | SRC2 select | 00=low qword, 01=high qword
5:4 | SRC1 (first operand) select | 00=low qword, 01=high qword
; GF(2^128) multiplication for AES-GCM
pclmulqdq xmm1, xmm2, 0x00   ; low * low
pclmulqdq xmm1, xmm2, 0x01   ; low * high
pclmulqdq xmm1, xmm2, 0x10   ; high * low
pclmulqdq xmm1, xmm2, 0x11   ; high * high

SHA Extensions

Introduced in Intel Goldmont (2016) and Ice Lake. Hardware-accelerated SHA-1 and SHA-256.

SHA-1

Mnemonic | Description | Operands
SHA1RNDS4 | SHA-1 four rounds | xmm, xmm/mem128, imm8
SHA1NEXTE | SHA-1 next four e-values | xmm, xmm/mem128
SHA1MSG1 | SHA-1 message schedule update 1 | xmm, xmm/mem128
SHA1MSG2 | SHA-1 message schedule update 2 | xmm, xmm/mem128

SHA-256

Mnemonic | Description | Operands
SHA256RNDS2 | SHA-256 two rounds | xmm, xmm/mem128
SHA256MSG1 | SHA-256 message schedule update 1 | xmm, xmm/mem128
SHA256MSG2 | SHA-256 message schedule update 2 | xmm, xmm/mem128

CRC32 — Cyclic Redundancy Check

Introduced in SSE4.2 (Intel Nehalem, 2008). Hardware-accelerated CRC-32C (Castagnoli polynomial 0x1EDC6F41).

Mnemonic | Description | Operands
CRC32 | Accumulate CRC32C value into destination | reg32/64, reg/mem8/16/32/64

The first operand (destination) holds the accumulated CRC value. The second operand (source) is the input data. The source size determines which encoding is used.

; CRC32 examples - source size determines encoding
crc32 eax, byte  [ptr]      ; 8-bit input
crc32 eax, word  [ptr]      ; 16-bit input (66 prefix)
crc32 eax, dword [ptr]      ; 32-bit input (default)
crc32 rax, qword [ptr]      ; 64-bit input (REX.W prefix)

; Chained CRC32 computation
xor   eax, eax              ; start with CRC = 0
crc32 eax, byte [rsi]       ; CRC-32C of byte 0
crc32 eax, byte [rsi+1]     ; accumulate byte 1
crc32 eax, byte [rsi+2]     ; accumulate byte 2
; ... or use rep crc32 with larger operands

GFNI — Galois Field New Instructions

Introduced in Ice Lake (2020). Provides SIMD GF(2^8) multiplication and affine transformations for cryptography and post-quantum algorithms.

Mnemonic | Description | Operands
GF2P8AFFINEINVQB | Galois field affine transformation inverse (legacy SSE) | xmm, xmm/mem128, imm8
GF2P8AFFINEQB | Galois field affine transformation (legacy SSE) | xmm, xmm/mem128, imm8
GF2P8MULB | Galois field multiply bytes (legacy SSE) | xmm, xmm/mem128

See AVX Mnemonics for VEX/EVEX-encoded variants (VGF2P8*) supporting 128/256/512-bit operations with opmask.

SM3 / SM4 — Chinese Crypto (optional)

Mnemonic | Description | Operands
SM3MSG1 | SM3 message schedule update 1 | xmm, xmm/mem
SM3MSG2 | SM3 message schedule update 2 | xmm, xmm/mem
SM4ENC | SM4 one round encryption | xmm, xmm/mem
SM4ENC4 | SM4 four rounds encryption | xmm, xmm/mem


x87 FPU Mnemonics - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

x87 FPU Mnemonics

The x87 floating-point unit provides 80-bit extended-precision arithmetic. PBXB64 supports the full x87 instruction set. The x87 has 8 registers (ST0-ST7) organised as a stack, and supports single (32-bit), double (64-bit), and extended (80-bit) precision.

Chapter: Mnemonic Family Overviews

Description

The x87 floating-point unit provides 80-bit extended-precision arithmetic. PBXB64 supports the full x87 instruction set. The x87 has 8 registers (ST0-ST7) organised as a stack, and supports single (32-bit), double (64-bit), and extended (80-bit) precision.

Note: On modern x64 processors, prefer SSE instructions for scalar floating-point. The x87 is primarily used for extended precision (80-bit) calculations or for legacy code compatibility.

Data Transfer

Mnemonic | Description | Operands
FLD | Load real value onto stack (push) | mem32/64/80 / ST(i)
FST | Store real value (pop = FSTP) | mem32/64 / ST(i)
FSTP | Store real value and pop | mem32/64/80 / ST(i)
FILD | Load integer value onto stack (push) | mem16/32/64
FIST | Store integer value | mem16/32
FISTP | Store integer value and pop | mem16/32/64
FISTTP | Truncate and store integer, pop (SSE3) | mem16/32/64
FBLD | Load BCD value (18-digit packed BCD) | mem80 (TBYTE)
FBSTP | Store BCD value and pop | mem80 (TBYTE)
FXCH | Exchange ST(0) with ST(i) | ST(i)
; Load constants
fld     [double_var]       ; push 64-bit value
fild    [int_val]          ; push integer converted to float
fldz                       ; push +0.0
fld1                       ; push +1.0
fldpi                      ; push pi
fldl2t                     ; push log2(10)
fldl2e                     ; push log2(e)
fldlg2                     ; push log10(2)
fldln2                     ; push ln(2)

; Store results
fstp    [result]           ; pop and store to memory

Basic Arithmetic

Mnemonic | Description | Operands
FADD | Add (ST0 = ST0 + src) | mem32/64 / ST(i)
FADDP | Add and pop (ST(i) = ST(i)+ST0, then pop) | ST(i), ST(0)
FIADD | Add integer to ST0 | mem16/32
FSUB | Subtract (ST0 = ST0 - src) | mem32/64 / ST(i)
FSUBP | Subtract and pop | ST(i), ST(0)
FSUBR | Subtract reverse (ST0 = src - ST0) | mem32/64 / ST(i)
FSUBRP | Subtract reverse and pop | ST(i), ST(0)
FISUB | Subtract integer | mem16/32
FMUL | Multiply (ST0 = ST0 * src) | mem32/64 / ST(i)
FMULP | Multiply and pop | ST(i), ST(0)
FIMUL | Multiply by integer | mem16/32
FDIV | Divide (ST0 = ST0 / src) | mem32/64 / ST(i)
FDIVP | Divide and pop | ST(i), ST(0)
FDIVR | Divide reverse (ST0 = src / ST0) | mem32/64 / ST(i)
FDIVRP | Divide reverse and pop | ST(i), ST(0)
FIDIV | Divide by integer | mem16/32
FPREM | Partial remainder | none
FPREM1 | Partial remainder (IEEE) | none
FABS | Absolute value | none
FCHS | Change sign (negate) | none
FRNDINT | Round to integer (current rounding mode) | none
FSQRT | Square root | none
FSCALE | Scale by power of 2 (ST0 * 2^ST1) | none
FXTRACT | Extract exponent and significand | none
; Compute: result = sqrt(a*a + b*b)
fld     [a]                ; ST0 = a
fmul    ST0, ST0           ; ST0 = a^2
fld     [b]                ; ST0 = b, ST1 = a^2
fmul    ST0, ST0           ; ST0 = b^2, ST1 = a^2
faddp   ST1, ST0           ; ST0 = a^2 + b^2
fsqrt                      ; ST0 = sqrt(a^2 + b^2)
fstp    [result]           ; store result, pop

Comparison

Mnemonic | Description | Operands
FCOM | Compare ST0 with src (sets FPU status word C0/C2/C3) | mem32/64 / ST(i)
FCOMP | Compare and pop | mem32/64 / ST(i)
FCOMPP | Compare and pop twice | none
FICOM | Compare ST0 with integer | mem16/32
FICOMP | Compare integer and pop | mem16/32
FCOMI | Compare and set EFLAGS (P6+, ST0 with ST[i]) | ST(i)
FCOMIP | Compare, set EFLAGS, and pop | ST(i)
FUCOMI | Unordered compare, set EFLAGS | ST(i)
FUCOMIP | Unordered compare, set EFLAGS, pop | ST(i)
FUCOM | Unordered compare (no exception on NaN) | ST(i)
FUCOMP | Unordered compare and pop | ST(i)
FUCOMPP | Unordered compare and pop twice | none
FTST | Test ST0 against 0.0 | none
FXAM | Examine ST0 (NaN, normal, denormal, zero, etc.) | none
; Compare ST0 with ST1
fcom    ST1                ; compare, sets FPU flags
fstsw   ax                 ; store FPU status word to AX
sahf                       ; load AH into EFLAGS
jae     above_or_equal

; Compare using FCOMI (direct EFLAGS)
fcomi   ST0, ST1           ; sets ZF/PF/CF directly
jb      below
je      equal
ja      above

Constants

Mnemonic | Description | Pushed Value
FLDZ | Load +0.0 | +0.0
FLD1 | Load +1.0 | +1.0
FLDPI | Load pi (π) | 3.14159265358979324
FLDL2E | Load log2(e) | 1.44269504088896341
FLDLN2 | Load ln(2) | 0.69314718055994531
FLDL2T | Load log2(10) | 3.32192809488736235
FLDLG2 | Load log10(2) | 0.30102999566398120

Trigonometric / Transcendental

Mnemonic | Description
FSIN | Sine of ST0 (ST0 in radians)
FCOS | Cosine of ST0
FSINCOS | Sine and cosine of ST0 (ST1=sin, ST0=cos)
FPTAN | Partial tangent (ST1=tan, ST0=1.0)
FPATAN | Partial arctangent (ST1/ST0 → ST1=atan, pop)
F2XM1 | 2^ST0 - 1
FYL2X | ST1 * log2(ST0), pop
FYL2XP1 | ST1 * log2(ST0 + 1), pop
; Compute sin(x)
fld     [x]
fsin                       ; ST0 = sin(x)
fstp    [result]           ; store

; Compute x * log2(y)
fld     [y]
fld     [x]
fyl2x                      ; ST0 = x * log2(y)
fstp    [result]

; Compute 2^x - 1
fld     [x]
f2xm1                      ; ST0 = 2^x - 1
fstp    [result]

Control / Status

Mnemonic | Description | Operands
FNCLEX | Clear FPU exceptions (no wait) | none
FCLEX | Clear FPU exceptions (wait) | none
FNINIT | Initialize FPU (no wait) | none
FINIT | Initialize FPU (wait) | none
FSTSW | Store FPU status word | mem16 / AX
FSTCW | Store FPU control word | mem16
FLDCW | Load FPU control word | mem16
FSTENV | Store FPU environment | mem (14/28 bytes)
FLDENV | Load FPU environment | mem
FSAVE | Save FPU state (94/108 bytes) | mem
FRSTOR | Restore FPU state | mem
FINCSTP | Increment FPU stack pointer | none
FDECSTP | Decrement FPU stack pointer | none
FFREE | Free FPU register ST(i) | ST(i)
FNOP | FPU no operation | none
FWAIT | Wait for FPU (assembly: WAIT) | none

FPU Control Word

The FPU control word controls precision, rounding mode, and exception masks:

Bit(s) | Field | Values
1:0 | Rounding Control | 00=nearest, 01=down, 10=up, 11=truncate
3:2 | Precision Control | 00=24-bit(single), 10=53-bit(double), 11=64-bit(extended)
5 | Exception: Precision | 0=masked, 1=unmasked
6 | Exception: Underflow |
7 | Exception: Overflow |
8 | Exception: Zero Divide |
9 | Exception: Denormal |
10 | Exception: Invalid |
; Set rounding to truncate (toward zero)
fstcw  [cw]               ; save current control word
mov    ax, [cw]
or     ax, 0x0C00         ; set RC bits to 11 (truncate)
mov    [cw_new], ax
fldcw  [cw_new]           ; load new control word


MMX Mnemonics - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

MMX Mnemonics

MMX (MultiMedia eXtensions) provides 64-bit SIMD operations on MMX registers (mm0-mm7), which are aliased to the x87 FPU stack. PBXB64 supports all 57 MMX instructions. MMX registers are 64 bits wide and operate on packed byte, word, or doubleword integers.

Chapter: Mnemonic Family Overviews

Description

MMX (MultiMedia eXtensions) provides 64-bit SIMD operations on MMX registers (mm0-mm7), which are aliased to the x87 FPU stack. PBXB64 supports all 57 MMX instructions. MMX registers are 64 bits wide and operate on packed byte, word, or doubleword integers.

Note: MMX registers share physical storage with x87 FPU registers. Always use EMMS after MMX code before using FPU instructions. On modern CPUs, prefer SSE2 for integer SIMD.

Data Movement

Mnemonic | Description | Operands
MOVD | Move doubleword to/from MMX register | mm, reg32/mem32 / reg32, mm
MOVQ | Move quadword to/from MMX register | mm, mm/mem64 / mem64, mm

Packed Arithmetic

Mnemonic | Description | Operands
PADDB | Add packed bytes (wrap on overflow) | mm, mm/mem64
PADDW | Add packed words (wrap) | mm, mm/mem64
PADDD | Add packed doublewords (wrap) | mm, mm/mem64
PADDSB | Add packed bytes with signed saturation | mm, mm/mem64
PADDSW | Add packed words with signed saturation | mm, mm/mem64
PADDUSB | Add packed bytes with unsigned saturation | mm, mm/mem64
PADDUSW | Add packed words with unsigned saturation | mm, mm/mem64
PSUBB | Subtract packed bytes (wrap) | mm, mm/mem64
PSUBW | Subtract packed words (wrap) | mm, mm/mem64
PSUBD | Subtract packed doublewords (wrap) | mm, mm/mem64
PSUBSB | Subtract packed bytes with signed saturation | mm, mm/mem64
PSUBSW | Subtract packed words with signed saturation | mm, mm/mem64
PSUBUSB | Subtract packed bytes with unsigned saturation | mm, mm/mem64
PSUBUSW | Subtract packed words with unsigned saturation | mm, mm/mem64
PMULLW | Multiply packed words (low 16 bits of product) | mm, mm/mem64
PMULHW | Multiply packed words (high 16 bits of product) | mm, mm/mem64
PMULHUW | Multiply packed unsigned words (high 16 bits) | mm, mm/mem64
PMADDWD | Multiply and add packed words to doublewords | mm, mm/mem64

Comparison

Mnemonic | Description | Operands
PCMPEQB | Compare packed bytes for equality | mm, mm/mem64
PCMPEQW | Compare packed words for equality | mm, mm/mem64
PCMPEQD | Compare packed doublewords for equality | mm, mm/mem64
PCMPGTB | Compare packed bytes for greater than (signed) | mm, mm/mem64
PCMPGTW | Compare packed words for greater than | mm, mm/mem64
PCMPGTD | Compare packed doublewords for greater than | mm, mm/mem64

Logical

Mnemonic | Description | Operands
PAND | Bitwise AND | mm, mm/mem64
PANDN | Bitwise AND-NOT | mm, mm/mem64
POR | Bitwise OR | mm, mm/mem64
PXOR | Bitwise XOR | mm, mm/mem64

Shift

Mnemonic | Description | Operands
PSLLW | Pack shift left logical words | mm, imm8/mm
PSLLD | Pack shift left logical doublewords | mm, imm8/mm
PSLLQ | Pack shift left logical quadword | mm, imm8/mm
PSRLW | Pack shift right logical words | mm, imm8/mm
PSRLD | Pack shift right logical doublewords | mm, imm8/mm
PSRLQ | Pack shift right logical quadword | mm, imm8/mm
PSRAW | Pack shift right arithmetic words | mm, imm8/mm
PSRAD | Pack shift right arithmetic doublewords | mm, imm8/mm

Pack / Unpack

Mnemonic | Description | Operands
PACKSSWB | Pack signed words to bytes (saturated) | mm, mm/mem64
PACKSSDW | Pack signed doublewords to words (saturated) | mm, mm/mem64
PACKUSWB | Pack unsigned words to bytes (unsigned sat.) | mm, mm/mem64
PUNPCKHBW | Unpack high bytes (interleave) | mm, mm/mem64
PUNPCKHWD | Unpack high words | mm, mm/mem64
PUNPCKHDQ | Unpack high doublewords | mm, mm/mem64
PUNPCKLBW | Unpack low bytes | mm, mm/mem64
PUNPCKLWD | Unpack low words | mm, mm/mem64
PUNPCKLDQ | Unpack low doublewords | mm, mm/mem64

Conversion

Mnemonic | Description | Operands
PACKSSWB | Pack words to bytes (saturated) | mm, mm/mem64
PACKSSDW | Pack doublewords to words (saturated) | mm, mm/mem64
PACKUSWB | Pack words to bytes (unsigned saturated) | mm, mm/mem64
PMOVMSKB | Move byte mask to GPR (MSB of each byte) | reg, mm

State Management

Mnemonic | Description
EMMS | Empty MMX state (clear MMX/x87 tag word)
FEMMS | Fast EMMS (AMD, clears fewer registers)

MMX Examples

; Add 8 bytes with saturation
movq    mm0, [byte_array_a]
movq    mm1, [byte_array_b]
paddusb mm0, mm1          ; unsigned saturated add
movq    [result], mm0

; Compare two 16-bit vectors
movq    mm0, [vector_a]
movq    mm1, [vector_b]
pcmpeqw mm0, mm1          ; word-wise equality
movq    [result], mm0

; Calculate sum of absolute differences
movq    mm0, [block_a]
movq    mm1, [block_b]
psadbw  mm0, mm1         ; sum of absolute differences -> low qword
movd    eax, mm0         ; result in eax

; Always clear MMX state before FPU
emms                     ; important!


SGX / VMX / CET Mnemonics - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

SGX / VMX / CET Mnemonics

SGX (Software Guard Extensions), VMX (Virtual Machine Extensions), and CET (Control-flow Enforcement Technology). These are specialized security and virtualization instruction sets available on recent Intel processors.

Chapter: Mnemonic Family Overviews

Description

SGX (Software Guard Extensions), VMX (Virtual Machine Extensions), and CET (Control-flow Enforcement Technology). These are specialized security and virtualization instruction sets available on recent Intel processors.

SGX — Software Guard Extensions

SGX enables creation of isolated enclaves within the address space. Instructions are divided into three privilege levels:

ENCLS — Supervisor (Ring 0)

Mnemonic | Description
ENCLS[ECREATE] | Create an enclave
ENCLS[EADD] | Add a page to an enclave
ENCLS[EEXTEND] | Extend the measurement of an enclave page
ENCLS[EINIT] | Initialize the enclave (complete measurement)
ENCLS[ELDB] | Load an enclave page as blocked
ENCLS[ELDU] | Load an enclave page as unblocked
ENCLS[EPA] | Add a version array page
ENCLS[EREMOVE] | Remove a page from an enclave
ENCLS[ETRACK] | Activate tracking of enclave page modifications
ENCLS[EWB] | Write back and evict an enclave page
ENCLS[EAUG] | Add a page for dynamic growth (SGX2)
ENCLS[EMODPR] | Modify page permissions/restrictions (SGX2)
ENCLS[EMODT] | Modify page type (SGX2)
ENCLS[EDECRD] | Decrement page reference count (SGX2)
ENCLS[ETRACKC] | Activate redirect tracking for child enclaves

ENCLU — User (Ring 3, inside enclave)

Mnemonic | Description
ENCLU[EENTER] | Enter an enclave
ENCLU[ERESUME] | Resume an enclave after interrupt/exception
ENCLU[EEXIT] | Exit the enclave
ENCLU[EGETKEY] | Get a hardware-derived key from the enclave
ENCLU[EREPORT] | Create a cryptographic report
ENCLU[EACCEPT] | Accept a page modification (SGX2)
ENCLU[EMODPE] | Modify the permitted page protections (SGX2)
ENCLU[EACCEPTCOPY] | Accept a copied page (SGX2)

ENCLV — Virtualization (Ring 0, VMM)

Mnemonic | Description
ENCLV[EDECLASSIFY] | Clear the classified attributes of a page
ENCLV[ETRACKC] | Track child enclave page modifications
; SGX enclave entry (inside host)
lea rcx, [secs]            ; SGX Enclave Control Structure
lea rdx, [base_address]
lea r8,  [source_page]
mov eax, 0                 ; ECREATE
ENCLS

; SGX enclave entry (inside enclave)
lea rax, [tcs]             ; Thread Control Structure
lea rbx, [aep]             ; Asynchronous Exit Pointer
mov rcx, [entry_address]   ; Entry point in enclave
ENCLU[EENTER]

VMX — Virtual Machine Extensions

Hardware virtualization support for hypervisors/VMMs.

VMX Management

Mnemonic | Description | Operands
VMXON | Enter VMX operation | mem64 (VMXON region ptr)
VMXOFF | Exit VMX operation | none
VMPTRLD | Load current VMCS pointer | mem64
VMPTRST | Store current VMCS pointer | mem64
VMCLEAR | Clear VMCS (flush cached state) | mem64
VMREAD | Read field from VMCS | reg, reg/mem
VMWRITE | Write field to VMCS | reg/mem, reg

VM Entry/Exit

Mnemonic | Description
VMLAUNCH | Launch virtual machine (first entry)
VMRESUME | Resume virtual machine (subsequent entries)

VM-Exit Handling

Mnemonic | Description | Operands
VMCALL | Call VMM from guest (VM-exit) | none
VMFUNC | VM function call (leaf in EAX) | none

VM Shadow / TLB Control

Mnemonic | Description | Operands
INVEPT | Invalidate EPT (Extended Page Table) | reg, mem128
INVVPID | Invalidate VPID (Virtual Processor ID) | reg, mem128
VMPTRLD | Load VMCS pointer | mem64
; Basic VMM: launch a guest
vmxon [vmxon_region]       ; enter VMX operation
vmptrld [vmcs]             ; load VMCS
; ... set up VMCS fields ...
vmlaunch                   ; launch guest
; ... on VM exit ...
vmresume                   ; resume guest
vmxoff                     ; exit VMX operation

CET — Control-flow Enforcement Technology

CET provides shadow stack (hardware-enforced return address protection) and indirect branch tracking (IBT). Available on Intel Tiger Lake+.

Shadow Stack (SS)

Mnemonic | Description | Operands
RDSSP | Read shadow stack pointer | reg64
INCSSP | Increment shadow stack pointer by N*8 | reg32
SAVEPREVSSP | Save previous shadow stack pointer | none
RSTORSSP | Restore shadow stack pointer | mem64
WRSS | Write to shadow stack (supervisor) | mem64, reg64
WRUSS | Write to shadow stack (user) | mem64, reg64
SETSSBSY | Mark shadow stack as busy | none
CLRSSBSY | Clear shadow stack busy flag | mem64

Indirect Branch Tracking (IBT)

Mnemonic | Description | Encoding
ENDBR64 | End of branch (64-bit, at branch targets) | F3 0F 1E FA
ENDBR32 | End of branch (32-bit) | F3 0F 1E FB
NOTRACK | Prefix: suppress IBT check for next JMP/CALL | F2 prefix

CET Examples

; Shadow stack save/restore
rdssp  rax                ; read current shadow stack pointer
mov    [saved_ssp], rax   ; save it for later restore

; Set up shadow stack for a new context
rstorssp [new_ss_frame]   ; restore shadow stack pointer
saveprevssp               ; save previous SSP
ret                       ; shadow stack will also pop

; IBT-compliant function
func:
    endbr64               ; required at every indirect branch target
    push rbp
    mov rbp, rsp
    ; ... function body ...
    pop rbp
    ret

; Indirect call through function pointer
call_func:
    endbr64
    mov rax, [pfn]        ; load function pointer
    notrack call rax       ; call without IBT check (NOTRACK prefix)
Note: CET shadow stack requires operating system support (Windows 10 20H1+ kernel-mode, Windows 11 user-mode). On CPUs without CET, these instructions raise #UD.


SSE/SSE2/SSE3/SSSE3/SSE4 Mnemonics - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

SSE/SSE2/SSE3/SSSE3/SSE4 Mnemonics

All SSE-family instructions operate on 128-bit XMM registers. PBXB64 supports SSE through SSE4.2 with full Intel syntax.

Chapter: Mnemonic Family Overviews

Description

All SSE-family instructions operate on 128-bit XMM registers. PBXB64 supports SSE through SSE4.2 with full Intel syntax.

SSE — Streaming SIMD Extensions

Original SSE (KNI/Katmai New Instructions). Single-precision floating-point operations on XMM registers.

SSE Data Movement

Mnemonic | Description | Operands
MOVAPS | Move aligned packed single (16-byte aligned) | xmm, xmm/mem128 / mem128, xmm
MOVUPS | Move unaligned packed single | xmm, xmm/mem128 / mem128, xmm
MOVSS | Move scalar single | xmm, xmm/mem32 / mem32, xmm
MOVLPS | Move low packed single (lower 64 bits) | xmm, mem64 / mem64, xmm
MOVHPS | Move high packed single (upper 64 bits) | xmm, mem64 / mem64, xmm
MOVLHPS | Move low to high packed single | xmm, xmm
MOVHLPS | Move high to low packed single | xmm, xmm
MOVMSKPS | Move sign mask to GPR (4 sign bits → GPR) | reg, xmm

SSE Packed Arithmetic (Single Precision)

Mnemonic | Description | Operands
ADDPS | Add packed single | xmm, xmm/mem128
ADDSS | Add scalar single | xmm, xmm/mem32
SUBPS | Subtract packed single | xmm, xmm/mem128
SUBSS | Subtract scalar single | xmm, xmm/mem32
MULPS | Multiply packed single | xmm, xmm/mem128
MULSS | Multiply scalar single | xmm, xmm/mem32
DIVPS | Divide packed single | xmm, xmm/mem128
DIVSS | Divide scalar single | xmm, xmm/mem32
SQRTPS | Square root packed single | xmm, xmm/mem128
SQRTSS | Square root scalar single | xmm, xmm/mem32
RCPPS | Reciprocal packed single (approximate) | xmm, xmm/mem128
RCPSS | Reciprocal scalar single (approximate) | xmm, xmm/mem32
RSQRTPS | Reciprocal square root packed single (approx) | xmm, xmm/mem128
RSQRTSS | Reciprocal square root scalar single (approx) | xmm, xmm/mem32
MAXPS | Maximum packed single | xmm, xmm/mem128
MAXSS | Maximum scalar single | xmm, xmm/mem32
MINPS | Minimum packed single | xmm, xmm/mem128
MINSS | Minimum scalar single | xmm, xmm/mem32

SSE Logical / Comparison

Mnemonic | Description | Operands
ANDPS | Bitwise AND of packed singles | xmm, xmm/mem128
ANDNPS | Bitwise AND-NOT of packed singles | xmm, xmm/mem128
ORPS | Bitwise OR of packed singles | xmm, xmm/mem128
XORPS | Bitwise XOR of packed singles | xmm, xmm/mem128
CMPPS | Compare packed single (imm8 predicate) | xmm, xmm/mem128, imm8
CMPSS | Compare scalar single (imm8 predicate) | xmm, xmm/mem32, imm8
COMISS | Compare ordered scalar single (sets flags) | xmm, xmm/mem32
UCOMISS | Compare unordered scalar single (sets flags) | xmm, xmm/mem32

CMPPS/CMPSS immediate predicates:

Imm | Predicate | Description
0 | EQ | Equal
1 | LT | Less than
2 | LE | Less than or equal
3 | UNORD | Unordered
4 | NEQ | Not equal
5 | NLT | Not less than
6 | NLE | Not less than or equal
7 | ORD | Ordered

SSE Shuffle / Unpack

Mnemonic | Description | Operands
SHUFPS | Shuffle packed single | xmm, xmm/mem128, imm8
UNPCKHPS | Unpack high packed single | xmm, xmm/mem128
UNPCKLPS | Unpack low packed single | xmm, xmm/mem128

SSE Control

Mnemonic | Description
STMXCSR | Store MXCSR register (control/status)
LDMXCSR | Load MXCSR register
FXRSTOR | Restore x87 and SSE state
FXSAVE | Save x87 and SSE state

SSE2 — Streaming SIMD Extensions 2

Adds double-precision floating-point and integer SIMD operations (MMX-like on XMM).

SSE2 Double-Precision Arithmetic

Mnemonic | Description | Operands
ADDPD | Add packed double | xmm, xmm/mem128
ADDSD | Add scalar double | xmm, xmm/mem64
SUBPD | Subtract packed double | xmm, xmm/mem128
SUBSD | Subtract scalar double | xmm, xmm/mem64
MULPD | Multiply packed double | xmm, xmm/mem128
MULSD | Multiply scalar double | xmm, xmm/mem64
DIVPD | Divide packed double | xmm, xmm/mem128
DIVSD | Divide scalar double | xmm, xmm/mem64
SQRTPS | Square root packed (PS variant in SSE) | xmm, xmm/mem128
SQRTPD | Square root packed double | xmm, xmm/mem128
SQRTSD | Square root scalar double | xmm, xmm/mem64
MAXPD | Maximum packed double | xmm, xmm/mem128
MAXSD | Maximum scalar double | xmm, xmm/mem64
MINPD | Minimum packed double | xmm, xmm/mem128
MINSD | Minimum scalar double | xmm, xmm/mem64

SSE2 Data Movement

Mnemonic | Description | Operands
MOVAPD | Move aligned packed double | xmm, xmm/mem128 / mem128, xmm
MOVUPD | Move unaligned packed double | xmm, xmm/mem128 / mem128, xmm
MOVSD | Move scalar double | xmm, xmm/mem64 / mem64, xmm
MOVLPD | Move low packed double | xmm, mem64 / mem64, xmm
MOVHPD | Move high packed double | xmm, mem64 / mem64, xmm
MOVMSKPD | Move sign mask to GPR (2 bits) | reg, xmm
MOVDQ2Q | Move XMM to MMX register (low quadword) | mm, xmm
MOVQ2DQ | Move MMX to XMM register (low quadword) | xmm, mm

SSE2 Integer Operations (XMM)

Mnemonic | Description | Operands
MOVD | Move doubleword to/from XMM | xmm, reg32/mem32 / reg32, xmm
MOVQ | Move quadword to/from XMM | xmm, reg64/mem64 / reg64/rm, xmm
MOVDQA | Move aligned double quadword (16-byte aligned) | xmm, xmm/mem128 / mem128, xmm
MOVDQU | Move unaligned double quadword | xmm, xmm/mem128 / mem128, xmm
PADDB | Add packed byte integers | xmm, xmm/mem128
PADDW | Add packed word integers | xmm, xmm/mem128
PADDD | Add packed doubleword integers | xmm, xmm/mem128
PADDQ | Add packed quadword integers | xmm, xmm/mem128
PSUBB | Subtract packed byte integers | xmm, xmm/mem128
PSUBW | Subtract packed word integers | xmm, xmm/mem128
PSUBD | Subtract packed doubleword integers | xmm, xmm/mem128
PSUBQ | Subtract packed quadword integers | xmm, xmm/mem128
PMULLW | Multiply packed word integers (low 16 bits) | xmm, xmm/mem128
PMULHW | Multiply packed word integers (high 16 bits) | xmm, xmm/mem128
PMULHUW | Multiply packed word integers (high 16 bits, unsigned) | xmm, xmm/mem128
PMULUDQ | Multiply unsigned doubleword to quadword | xmm, xmm/mem128
PMADDWD | Multiply and add packed word to doubleword | xmm, xmm/mem128
PSADBW | Sum of absolute differences | xmm, xmm/mem128

SSE2 Packed Integer Logical

Mnemonic | Description | Operands
PAND | Bitwise AND of packed integers | xmm, xmm/mem128
PANDN | Bitwise AND-NOT of packed integers | xmm, xmm/mem128
POR | Bitwise OR of packed integers | xmm, xmm/mem128
PXOR | Bitwise XOR of packed integers | xmm, xmm/mem128

SSE2 Packed Shift

Mnemonic | Description | Operands
PSLLW | Shift left logical packed word | xmm, imm8 / xmm
PSLLD | Shift left logical packed doubleword | xmm, imm8 / xmm
PSLLQ | Shift left logical packed quadword | xmm, imm8 / xmm
PSRLW | Shift right logical packed word | xmm, imm8 / xmm
PSRLD | Shift right logical packed doubleword | xmm, imm8 / xmm
PSRLQ | Shift right logical packed quadword | xmm, imm8 / xmm
PSRAW | Shift right arithmetic packed word | xmm, imm8 / xmm
PSRAD | Shift right arithmetic packed doubleword | xmm, imm8 / xmm

SSE2 Comparison

Mnemonic | Description | Operands
CMPPD | Compare packed double (imm8 predicate) | xmm, xmm/mem128, imm8
CMPSD | Compare scalar double (imm8 predicate) | xmm, xmm/mem64, imm8
COMISD | Compare ordered scalar double (sets flags) | xmm, xmm/mem64
UCOMISD | Compare unordered scalar double (sets flags) | xmm, xmm/mem64
PCMPEQB | Compare packed bytes for equality | xmm, xmm/mem128
PCMPEQW | Compare packed words for equality | xmm, xmm/mem128
PCMPEQD | Compare packed doublewords for equality | xmm, xmm/mem128
PCMPGTB | Compare packed bytes for greater than (signed) | xmm, xmm/mem128
PCMPGTW | Compare packed words for greater than | xmm, xmm/mem128
PCMPGTD | Compare packed doublewords for greater than | xmm, xmm/mem128

SSE2 Convert Instructions

Mnemonic | Description | Operands
CVTPD2PS | Convert packed double to packed single | xmm, xmm/mem128
CVTPS2PD | Convert packed single to packed double | xmm, xmm/mem64
CVTSD2SS | Convert scalar double to scalar single | xmm, xmm/mem64
CVTSS2SD | Convert scalar single to scalar double | xmm, xmm/mem32
CVTDQ2PD | Convert packed doubleword to packed double | xmm, xmm/mem64
CVTPD2DQ | Convert packed double to packed doubleword | xmm, xmm/mem128
CVTDQ2PS | Convert packed doubleword to packed single | xmm, xmm/mem128
CVTPS2DQ | Convert packed single to packed doubleword | xmm, xmm/mem128
CVTTPD2DQ | Truncate packed double to packed doubleword | xmm, xmm/mem128
CVTTPS2DQ | Truncate packed single to packed doubleword | xmm, xmm/mem128
CVTTSD2SI | Truncate scalar double to integer | reg32/64, xmm/mem64
CVTTSI2SD | Truncate integer to scalar double | xmm, reg32/64/mem32
CVTSD2SI | Convert scalar double to integer (round) | reg32/64, xmm/mem64
CVTSI2SD | Convert integer to scalar double | xmm, reg32/64/mem32
CVTSS2SI | Convert scalar single to integer (round) | reg32/64, xmm/mem32
CVTSI2SS | Convert integer to scalar single | xmm, reg32/64/mem32
CVTTSS2SI | Truncate scalar single to integer | reg32/64, xmm/mem32

SSE2 Shuffle / Unpack / Pack

Mnemonic | Description | Operands
PACKSSWB | Pack signed words to bytes (saturated) | xmm, xmm/mem128
PACKSSDW | Pack signed doublewords to words (saturated) | xmm, xmm/mem128
PACKUSWB | Pack unsigned words to bytes (unsigned sat) | xmm, xmm/mem128
PUNPCKHBW | Unpack high bytes | xmm, xmm/mem128
PUNPCKHWD | Unpack high words | xmm, xmm/mem128
PUNPCKHDQ | Unpack high doublewords | xmm, xmm/mem128
PUNPCKHQDQ | Unpack high quadwords | xmm, xmm/mem128
PUNPCKLBW | Unpack low bytes | xmm, xmm/mem128
PUNPCKLWD | Unpack low words | xmm, xmm/mem128
PUNPCKLDQ | Unpack low doublewords | xmm, xmm/mem128
PUNPCKLQDQ | Unpack low quadwords | xmm, xmm/mem128
SHUFPD | Shuffle packed double | xmm, xmm/mem128, imm8
PSHUFD | Shuffle packed doublewords | xmm, xmm/mem128, imm8
PSHUFHW | Shuffle packed high words | xmm, xmm/mem128, imm8
PSHUFLW | Shuffle packed low words | xmm, xmm/mem128, imm8
PSHUFB | Shuffle packed bytes (SSSE3) | xmm, xmm/mem128

SSE2 Cache Control

Mnemonic | Description | Operands
MASKMOVDQU | Masked store of packed integers | xmm, xmm
MOVNTDQ | Non-temporal store of packed integers | mem128, xmm
MOVNTI | Non-temporal store of integer (doubleword/quadword) | mem32/64, reg
MOVNTPD | Non-temporal store of packed double | mem128, xmm
PAUSE | Spin-loop hint (improves performance/power) | none

SSE3 — Streaming SIMD Extensions 3

Mnemonic | Description | Operands
ADDSUBPD | Add/subtract packed double (alternating) | xmm, xmm/mem128
ADDSUBPS | Add/subtract packed single (alternating) | xmm, xmm/mem128
HADDPD | Horizontal add packed double | xmm, xmm/mem128
HADDPS | Horizontal add packed single | xmm, xmm/mem128
HSUBPD | Horizontal subtract packed double | xmm, xmm/mem128
HSUBPS | Horizontal subtract packed single | xmm, xmm/mem128
MOVDDUP | Move and duplicate (one to both halves of XMM) | xmm, xmm/mem64
MOVSHDUP | Move and duplicate high singles | xmm, xmm/mem128
MOVSLDUP | Move and duplicate low singles | xmm, xmm/mem128
LDDQU | Load unaligned 128-bit (avoids cache line split) | xmm, mem128
FISTTP | FPU: truncate and store integer (pops x87 stack) | mem16/32/64

SSSE3 — Supplemental SSE3

Mnemonic | Description | Operands
PSIGNB | Sign of packed bytes (negate or zero) | xmm, xmm/mem128
PSIGNW | Sign of packed words | xmm, xmm/mem128
PSIGND | Sign of packed doublewords | xmm, xmm/mem128
PSHUFB | Packed shuffle bytes (permutation table) | xmm, xmm/mem128
PMULHRSW | Packed multiply high with round and scale | xmm, xmm/mem128
PABSB | Packed absolute value of bytes | xmm, xmm/mem128
PABSW | Packed absolute value of words | xmm, xmm/mem128
PABSD | Packed absolute value of doublewords | xmm, xmm/mem128
PHADDSW | Packed horizontal add signed words with saturation | xmm, xmm/mem128
PHSUBW | Packed horizontal subtract words | xmm, xmm/mem128
PHSUBD | Packed horizontal subtract doublewords | xmm, xmm/mem128
PHADDD | Packed horizontal add doublewords | xmm, xmm/mem128
PHADDW | Packed horizontal add words | xmm, xmm/mem128
PMADDUBSW | Multiply unsigned bytes, add adjacent, saturate | xmm, xmm/mem128
PALIGNR | Packed align right (concatenate and shift) | xmm, xmm/mem128, imm8
PHSUBSW | Packed horizontal subtract signed words with saturation | xmm, xmm/mem128

SSE4.1 — SSE4

Mnemonic | Description | Operands
PMULLD | Multiply packed signed doublewords (low 32 bits) | xmm, xmm/mem128
PMULDQ | Multiply packed signed doublewords to quadwords | xmm, xmm/mem128
PCMPEQQ | Compare packed quadwords for equality | xmm, xmm/mem128
PCMPGTQ | Compare packed quadwords for greater than (signed) | xmm, xmm/mem128
PMAXSB | Maximum of packed signed bytes | xmm, xmm/mem128
PMAXSW | Maximum of packed signed words | xmm, xmm/mem128
PMAXSD | Maximum of packed signed doublewords | xmm, xmm/mem128
PMAXUB | Maximum of packed unsigned bytes | xmm, xmm/mem128
PMAXUW | Maximum of packed unsigned words | xmm, xmm/mem128
PMAXUD | Maximum of packed unsigned doublewords | xmm, xmm/mem128
PMINSB | Minimum of packed signed bytes | xmm, xmm/mem128
PMINSW | Minimum of packed signed words | xmm, xmm/mem128
PMINSD | Minimum of packed signed doublewords | xmm, xmm/mem128
PMINUB | Minimum of packed unsigned bytes | xmm, xmm/mem128
PMINUW | Minimum of packed unsigned words | xmm, xmm/mem128
PMINUD | Minimum of packed unsigned doublewords | xmm, xmm/mem128
PINSRB | Insert byte (from GPR or memory) | xmm, reg/mem32, imm8
PINSRD | Insert doubleword | xmm, reg/mem32, imm8
PINSRQ | Insert quadword | xmm, reg/mem64, imm8
PEXTRB | Extract byte to GPR or memory | reg/mem8, xmm, imm8
PEXTRD | Extract doubleword | reg/mem32, xmm, imm8
PEXTRQ | Extract quadword | reg/mem64, xmm, imm8
INSERTPS | Insert packed single (merge from source) | xmm, xmm/mem32, imm8
EXTRACTPS | Extract packed single to GPR/memory | reg/mem32, xmm, imm8
PHMINPOSUW | Packed horizontal min of unsigned words, store position | xmm, xmm/mem128
PMOVSXBW | Move with sign-extension, bytes to words | xmm, xmm/mem64
PMOVSXBD | Move with sign-extension, bytes to doublewords | xmm, xmm/mem32
PMOVSXBQ | Move with sign-extension, bytes to quadwords | xmm, xmm/mem16
PMOVSXWD | Move with sign-extension, words to doublewords | xmm, xmm/mem64
PMOVSXWQ | Move with sign-extension, words to quadwords | xmm, xmm/mem32
PMOVSXDQ | Move with sign-extension, doublewords to quadwords | xmm, xmm/mem64
PMOVZXBW | Move with zero-extension, bytes to words | xmm, xmm/mem64
PMOVZXBD | Move with zero-extension, bytes to doublewords | xmm, xmm/mem32
PMOVZXBQ | Move with zero-extension, bytes to quadwords | xmm, xmm/mem16
PMOVZXWD | Move with zero-extension, words to doublewords | xmm, xmm/mem64
PMOVZXWQ | Move with zero-extension, words to quadwords | xmm, xmm/mem32
PMOVZXDQ | Move with zero-extension, doublewords to quadwords | xmm, xmm/mem64
PBLENDVB | Variable blend of packed bytes (by XMM0 mask) | xmm, xmm/mem128
PBLENDW | Blend of packed words (immediate mask) | xmm, xmm/mem128, imm8
BLENDPD | Blend packed double (immediate mask) | xmm, xmm/mem128, imm8
BLENDPS | Blend packed single (immediate mask) | xmm, xmm/mem128, imm8
BLENDVPD | Variable blend packed double (by XMM0 mask) | xmm, xmm/mem128
BLENDVPS | Variable blend packed single (by XMM0 mask) | xmm, xmm/mem128
DPPS | Dot product of packed single | xmm, xmm/mem128, imm8
DPPD | Dot product of packed double | xmm, xmm/mem128, imm8
MPSADBW | Multiple sum of absolute differences (8-bit) | xmm, xmm/mem128, imm8
ROUNDPS | Round packed single | xmm, xmm/mem128, imm8
ROUNDSS | Round scalar single | xmm, xmm/mem32, imm8
ROUNDPD | Round packed double | xmm, xmm/mem128, imm8
ROUNDSD | Round scalar double | xmm, xmm/mem64, imm8
PTEST | Logical compare of packed integers (sets ZF/CF) | xmm, xmm/mem128
PACKUSDW | Pack signed doublewords to unsigned words (saturated) | xmm, xmm/mem128
MOVNTDQA | Non-temporal load (streaming load hint) | xmm, mem128

SSE4.2 — SSE4.2

Mnemonic | Description | Operands
PCMPGTQ | Compare packed quadwords for greater than (signed) | xmm, xmm/mem128
PCMPEQQ | Compare packed quadwords for equality | xmm, xmm/mem128
CRC32 | Accumulate CRC32C value | reg32/64, reg/mem8/16/32/64
POPCNT | Population count (number of 1-bits) | reg, reg/mem
PCMPESTRI | Packed compare explicit length strings, index | xmm, xmm/mem128, imm8
PCMPESTRM | Packed compare explicit length strings, mask | xmm, xmm/mem128, imm8
PCMPISTRI | Packed compare implicit length strings, index | xmm, xmm/mem128, imm8
PCMPISTRM | Packed compare implicit length strings, mask | xmm, xmm/mem128, imm8

String Text Processing (SSE4.2 imm8 flags)

The string comparison instructions use an imm8 byte to control:

Bits | Field | Values
1:0 | Aggregated result | 00=equal each, 01=equal ordered, 10=equal signed, 11=equal unsigned
3:2 | Polarity | 00=+, 01=negative, 10=masked+, 11=masked-
5:4 | Output selection | 00=least significant index, 01=most significant, 10=first bit set
6 | Intrsx | 0=int byte comparison, 1=unsigned byte comparison


System Instructions - PBXB64 Compiler Help

Home › x64 Assembly Reference › Mnemonic Family Overviews PBXB64 Compiler Help

System Instructions

System instructions provide access to CPU features, control registers, memory management, I/O ports, and performance monitoring. Most require elevated privileges (ring 0 / kernel mode).

Chapter: Mnemonic Family Overviews

Description

System instructions provide access to CPU features, control registers, memory management, I/O ports, and performance monitoring. Most require elevated privileges (ring 0 / kernel mode).

Warning: Many system instructions are privileged and will cause an exception (#GP) if executed at ring 3 (user mode). Use with care in PB programs, typically via a device driver or kernel service.

CPU Identification & Feature Detection

Mnemonic | Description | Operands | Privilege
CPUID | CPU identification (EAX=leaf, ECX=subleaf, returns EAX/EBX/ECX/EDX) | none | User
XGETBV | Read extended control register XCR (ECX=index) | none | User
XSETBV | Write extended control register XCR (must be ring 0) | none | Ring 0
; CPUID example: check for AVX2 support
mov eax, 7               ; leaf 7 = extended features
mov ecx, 0               ; subleaf 0
cpuid
test ebx, 20             ; bit 5 = AVX2
jnz has_avx2

; XGETBV example: check XCR0 for AVX state
mov ecx, 0               ; XCR0
xgetbv                   ; returns EDX:EAX
test eax, 6              ; bits 1+2 = XMM + YMM state enabled
jnz avx_enabled

Timestamp & Performance Counters

Mnemonic | Description | Operands | Privilege
RDTSC | Read time-stamp counter (returns EDX:EAX) | none | User
RDTSCP | Read TSC + processor ID (returns EDX:EAX, ECX=IA32_TSC_AUX) | none | User
RDPMC | Read performance monitoring counter (ECX=counter) | none | User*
; High-resolution timing
rdtsc                    ; eax = TSC low, edx = TSC high
shl rdx, 32
or  rax, rdx             ; rax = 64-bit TSC value
; ...
rdtscp                   ; similar but with processor ID in ecx
mov [processor_id], ecx

Control Registers

Mnemonic | Description | Operands | Privilege
MOV CR0, reg | Write control register CR0 | reg64 | Ring 0
MOV reg, CR0 | Read control register CR0 | reg64 | Ring 0
MOV CR2, reg | Write CR2 (page fault linear address) | reg64 | Ring 0
MOV reg, CR2 | Read CR2 | reg64 | Ring 0
MOV CR3, reg | Write CR3 (page table base address) | reg64 | Ring 0
MOV reg, CR3 | Read CR3 | reg64 | Ring 0
MOV CR4, reg | Write CR4 (extension control) | reg64 | Ring 0
MOV reg, CR4 | Read CR4 | reg64 | Ring 0
MOV CR8, reg | Write CR8 (task priority, x64 only) | reg64 | Ring 0
MOV reg, CR8 | Read CR8 | reg64 | Ring 0

Debug Registers

Mnemonic | Description | Operands | Privilege
MOV DR0-DR7, reg | Write debug register | reg64 | Ring 0
MOV reg, DR0-DR7 | Read debug register | reg64 | Ring 0

Descriptor Table Instructions

Mnemonic | Description | Operands | Privilege
SGDT | Store Global Descriptor Table register | mem80 (pseudo-descriptor) | User
SIDT | Store Interrupt Descriptor Table register | mem80 | User
SLDT | Store Local Descriptor Table register | reg/mem16/64 | User
SMSW | Store Machine Status Word (CR0 low 16 bits) | reg/mem16/64 | User
STR | Store Task Register | reg/mem16/64 | User
LGDT | Load Global Descriptor Table register | mem80 (pseudo-descriptor) | Ring 0
LIDT | Load Interrupt Descriptor Table register | mem80 | Ring 0
LLDT | Load Local Descriptor Table register | reg/mem16/64 | Ring 0
LMSW | Load Machine Status Word | reg/mem16/64 | Ring 0
LTR | Load Task Register | reg/mem16/64 | Ring 0

Segment Register Instructions

Mnemonic | Description | Operands | Privilege
LAR | Load access rights (segment descriptor) | reg, reg/mem16 | User
LSL | Load segment limit | reg, reg/mem16 | User
VERR | Verify segment for reading | reg/mem16 | User
VERW | Verify segment for writing | reg/mem16 | User
MOV segment, reg | Load segment register (CS/DS/ES/FS/GS/SS) | reg16/64 | Ring 0*
MOV reg, segment | Read segment register | reg16/64 | User

I/O Port Instructions

Mnemonic | Description | Operands | Privilege
IN | Input from I/O port | AL/AX/EAX, DX/imm8 | Ring 0*
OUT | Output to I/O port | DX/imm8, AL/AX/EAX | Ring 0*
INS / INSB / INSW / INSD | Input string from I/O port to memory | none (uses DX, RDI) | Ring 0*
OUTS / OUTSB / OUTSW / OUTSD | Output string to I/O port from memory | none (uses DX, RSI) | Ring 0*
Note: I/O instructions may be accessible at ring 3 if the I/O Permission Bitmap (IOPL) allows it. On Windows, user-mode I/O access is generally blocked.

Interrupt / Exception

Mnemonic | Description | Operands | Privilege
INT n | Software interrupt (raises interrupt n) | imm8 | User
INT3 | Breakpoint interrupt (#BP, debugger trap) | none | User
INTO | Interrupt on overflow (if OF=1, #OF) | none | User
BOUND | Check array bounds (not valid in x64) | reg, mem | User
IRET / IRETD / IRETQ | Interrupt return (pops CS:RIP, RFLAGS, stack) | none | Ring 0
; Software interrupt
mov ah, 0x09             ; DOS: write string
mov dx, offset message
int 0x21                 ; DOS system call

; Debugger breakpoint
int3                     ; same as 'bp' in PB

; Simple system call (Linux x64)
mov eax, 60              ; sys_exit
xor edi, edi             ; exit code 0
syscall                  ; invoke kernel

System Call Instructions

Mnemonic | Description | Operands | Privilege
SYSCALL | Fast system call (AMD/x64 Linux: RCX=RIP, R11=RFLAGS) | none | User
SYSRET | Return from fast system call | none | Ring 0
SYSENTER | Fast system call (Intel): sets EIP=MSR SYSENTER_EIP | none | User
SYSEXIT | Fast return from SYSENTER | none | Ring 0

TLS / Segment Base Instructions

Mnemonic | Description | Operands | Privilege
SWAPGS | Swap GS base register with KernelGSBase (MSR C0000102) | none | Ring 0
RDFSBASE | Read FS base address | reg64 | User
RDGSBASE | Read GS base address | reg64 | User
WRFSBASE | Write FS base address | reg64 | Ring 0*
WRGSBASE | Write GS base address | reg64 | Ring 0*
; Windows: get PEB via GS segment
mov rax, QWORD PTR gs:[0x60]   ; PEB address

; Linux x64: swap GS for kernel entry
swapgs                         ; exchange user GS with kernel GS
mov QWORD PTR gs:[0x10], rsp   ; save kernel stack pointer

Model-Specific Registers (MSR)

Mnemonic | Description | Operands | Privilege
RDMSR | Read MSR (ECX=MSR address, returns EDX:EAX) | none | Ring 0
WRMSR | Write MSR (ECX=address, EDX:EAX=value) | none | Ring 0
; Read IA32_APIC_BASE MSR
mov ecx, 0x1B             ; IA32_APIC_BASE MSR
rdmsr                     ; edx:eax = APIC base address
; edx = high 32 bits, eax = low 32 bits
shl rdx, 32
or  rax, rdx              ; rax = full 64-bit value

Cache / Memory Management

Mnemonic | Description | Operands | Privilege
CLFLUSH | Flush cache line containing address | mem8 | User
CLFLUSHOPT | Optimized flush cache line | mem8 | User
CLWB | Cache line write back (retain in cache) | mem8 | User
INVD | Invalidate internal caches (no writeback) | none | Ring 0
WBINVD | Write back and invalidate caches | none | Ring 0
INVLPG | Invalidate TLB entry for address | mem8 | Ring 0
INVPCID | Invalidate TLB entries with PCID | reg, mem128 | Ring 0
INVEPT | Invalidate Extended Page Table entries | reg, mem128 | Ring 0
INVVPID | Invalidate VPID TLB entries | reg, mem128 | Ring 0
WFENCE | Wait for SFENCE (no-op in modern CPUs) | none | User

Power Management / Halt

Mnemonic | Description | Operands | Privilege
HLT | Halt processor until next interrupt | none | Ring 0
MWAIT | Monitor and wait for writes | none (uses EAX/ECX) | Ring 0
MONITOR | Set up address range for MWAIT | none (uses RAX/RCX/RDX) | Ring 0
MWAITX | Extended MWAIT with timing hint | none | Ring 0
MONITORX | Extended MONITOR | none | Ring 0
CLZERO | Zero cache line (AMD only) | none | User
PAUSE | Spin-wait hint (reduces power/improves HT) | none | User
UMONITOR | User-level MONITOR | reg | User
UMWAIT | User-level MWAIT | reg, imm8 | User
TPAUSE | Timed PAUSE | reg, imm8 | User
; Spin-wait loop with PAUSE
spin_loop:
    pause
    cmp DWORD PTR [lock_var], 0
    jne spin_loop

; Kernel halt
hlt                        ; stop CPU until interrupt

Miscellaneous / Obsolete

Mnemonic | Description | Operands
SALC | Set AL based on carry (undocumented, CF→AL=0xFF/0x00) | none
UD0 | Undefined instruction (raises #UD) | none
UD1 | Undefined instruction (two operands form) | reg, reg/mem
UD2 | Undefined instruction (guaranteed #UD, 2 bytes: 0F 0B) | none
XLAT / XLATB | Translate byte (AL = [RBX + AL]) | none
WAIT / FWAIT | Wait for FPU/Math coprocessor | none
NOP | No operation (including multi-byte NOPs) | none


PBXB64 Inline Assembler Overview - PBXB64 Compiler Help

Home › x64 Assembly Reference › Overview PBXB64 Compiler Help

PBXB64 Inline Assembler Overview

The PBXB64 inline assembler provides full x86-64 assembly language support within PowerBASIC source files using the #ASM / #ENDASM directive pair. It supports over 1400 unique mnemonics across all major x86-64 ISA families, 21 operand kind variants, and 14 addressing modes.

Chapter: Overview

Description

The PBXB64 inline assembler provides full x86-64 assembly language support within PowerBASIC source files using the #ASM / #ENDASM directive pair. It supports over 1400 unique mnemonics across all major x86-64 ISA families, 21 operand kind variants, and 14 addressing modes.

Note: All mnemonics use Intel syntax (destination, source) order, consistent with MASM/TASM conventions.

Basic Syntax

FUNCTION PBMAIN() AS LONG
    #ASM
        mov eax, 42
        mov ebx, eax
        add ebx, 10
        mov [result], ebx
    #ENDASM
    PRINT result
END FUNCTION

Assembly blocks can appear at function scope or inside statement bodies. They are emitted directly into the function's code stream.

Variable Access with {name} Syntax

PB variables are accessed inside ASM blocks using curly brace notation. The assembler resolves the variable to its correct stack offset or global address and substitutes the effective address into the operand.

FUNCTION Demo() AS LONG
    LOCAL x AS LONG
    LOCAL y AS LONG
    LOCAL z AS LONG
    x = 10
    y = 20

    #ASM
        mov eax, DWORD PTR [{x}]   ; load x (stack offset)
        mov ecx, DWORD PTR [{y}]   ; load y
        add eax, ecx
        mov DWORD PTR [{z}], eax   ; store to z
    #ENDASM

    PRINT z   ; prints 30
END FUNCTION

Variable Access by Type

PB Declaration | ASM Access | Size
LOCAL n AS BYTE | BYTE PTR [{n}] | 1 byte
LOCAL n AS WORD | WORD PTR [{n}] | 2 bytes
LOCAL n AS DWORD | DWORD PTR [{n}] | 4 bytes
LOCAL n AS LONG | DWORD PTR [{n}] | 4 bytes
LOCAL n AS QUAD | QWORD PTR [{n}] | 8 bytes
LOCAL n AS INTEGER | WORD PTR [{n}] | 2 bytes
LOCAL n AS SINGLE | DWORD PTR [{n}] | 4 bytes (float)
LOCAL n AS DOUBLE | QWORD PTR [{n}] | 8 bytes (double)
LOCAL n AS STRING | QWORD PTR [{n}] | 8 bytes (data ptr)
LOCAL n AS STRING | QWORD PTR [LEN({n})] | 8 bytes (length)
LOCAL n AS STRING | QWORD PTR [STRPTR({n})] | 8 bytes (data ptr)

ASM Macros

The assembler provides built-in macros for PowerBASIC variable introspection:

Macro | Description
LEN(variable) | Resolves to the length field offset of a string variable
STRPTR(variable) | Resolves to the data pointer of a string variable
VARPTR(variable) | Resolves to the address/offset of any variable
SIZEOF(variable) | Resolves to the compile-time size of a variable or type

Segment Overrides

The assembler supports segment overrides for thread-local storage and system operations:

Override | Purpose | Example
fs: | Windows TEB (Thread Environment Block) | mov rax, QWORD PTR fs:[0x30]
gs: | Windows PEB / x64 TLS base | mov rax, gs:[0x60]

Addressing Modes

The assembler supports 6 primary addressing modes with 21 operand kind variants:

  1. Register — mov eax, ebx
  2. Immediate — mov eax, 42
  3. Direct memory — mov eax, [12345678h]
  4. Base + displacement — mov eax, [rbp-8]
  5. Base + index — mov eax, [rbx+rcx]
  6. Base + index*scale + displacement — mov eax, [rbx+rcx*4+16]
  7. RIP-relative — mov eax, [rip+label]

See Addressing Modes Reference for full details.

Supported ISA Families

ISA Family | Mnemonics | Reference
x86-64 Core (GPR) | ~400 | Core Mnemonics
SSE/SSE2/SSE3/SSSE3/SSE4 | ~300 | SSE Mnemonics
AVX/AVX2/AVX-512/FMA | ~500 | AVX Mnemonics
BMI1/BMI2 | ~16 | BMI Mnemonics
AES-NI / SHA / CLMUL / CRC32 / GFNI | ~30 | Crypto Mnemonics
System Instructions | ~50 | System Mnemonics
SGX / VMX / CET | ~50 | SGX/VMX/CET
MMX | ~60 | MMX Mnemonics
x87 FPU | ~80 | FPU Mnemonics
Cache Control | ~20 | Cache Mnemonics

Directives

The assembler supports a variety of directives for alignment, zero-initialization, and structured exception handling (SEH). See Directives Reference for full details.

Compiler Version

This reference applies to PBXB64 V32+ (May 2026). The assembler engine supports over 1500 unique mnemonics across all ISA families, verified by runtime test suite.

Typical x86-64 stack layout with RSP and RBP references.

Typical x86-64 stack layout with RSP and RBP references.


ASMDATA/END ASMDATA statements - PBXB64 Compiler Help

Home › x64 Assembly Reference › Overview PBXB64 Compiler Help

ASMDATA/END ASMDATA statements

Define a block where primitive read-only data is stored.

Chapter: Overview | Certification: [CERTIFIED TESTED]

Syntax

ASMDATA BlockName
DB 1, "ABC"$, 0
DW 2, "XYZ"$$, 0
DD &H12345678
DQ 1234567890
END ASMDATA

Description

Define a block where primitive read-only data is stored.

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

It is frequently convenient to define some data within the code section of your program. This data is read-only, so it may never be altered. An attempt to do so will result in a GPF (General Protection Fault), which will cause termination of your program. This type of data is generally accessed only by ASM code.

Defined Data can be placed inside of a Sub , Function , Method , or Property using ASM statements, but there are a number of pitfalls to that technique. When debugging, or when using TRACE , PROFILE , #DEBUG DISPLAY , ERL , ERL$ , etc., PowerBASIC must insert special code in various places which makes if difficult (if not impossible) for you to access the data accurately. You don't know the size of the inserted code, so you'll have some difficulty addressing it accurately.

An ASMDATA block solves that problem entirely. It is designed for the sole purpose of defining data, and no extra code or extra data is ever inserted for any reason. Data within the block is never aligned , so you always know the exact location of each item. The ASMDATA block must be located outside of any Sub, Function, Method, or Property. However, the BlockName you assign is public, so it may be referenced from any place in your program. You may have one block on your program, or many.

By default, all ASMDATA blocks are positioned at the first available byte . This allows contiguous blocks to be accessed as though they were one larger block. You can align any or all of the blocks differently by preceding the block with an #ALIGN metastatement.

Labels and line numbers are not allowed in an ASMDATA block. If you need a reference point to a particular sub-section of your data, just split it into two or more blocks, using each BlockName as the reference point.

The only statements allowed within an ASMDATA block are DB, DD, DQ, and DW, so they do not need to be preceded by an ASM statement. An ANSI string literal expression may be placed in a DB statement, and a WIDE (unicode) string literal expression may be placed in a DW statement, it should be noted that strings in ASM blocks must be 255 characters or less. A string literal expression may consist of quoted string literals, string equates , and the concatenation operators (&,+). You may also use CHR$() , SPACE$() , and STRING$() if they use only literal parameters.

You can access the address of an ASMDATA block with the CODEPTR() function. So, if you create a block named ABC, like this:

ASMDATA ABC

DB 5,2,3

DB 7,8,9

END ASMDATA

You would access it something like this:

AsmVar = CODEPTR(ABC)

Another option is to access it directly to a CPU register of your choice by using one of these opcodes:

ASM LEA EBX, abc

ASM MOV EBX, Offset abc

This would result in moving the first data byte (5) into register AL.

Or even move it directly to a 32-bit variable:

ASM MOV AsmVar, Offset abc

See also

  • ASM
  • PBXB64 Compiler Help


ASSERT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ASSERT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

ASSERT condition
ASSERT condition, "message"

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ATANH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ATANH

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(ATANH(0.5) - 0.5493061443) > 0.0001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ATN - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

ATN

Return the arctangent of an argument.

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

y = ATN( numeric_expression )

Description

Return the arctangent of an argument.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ATN returns the arctangent (Inverse Tangent) of numeric_expression ; that is, the angle whose tangent is numeric_expression .

The result, as with all operations involving angles in PowerBASIC, is in radians rather than degrees . Although it is common to specify angles in degrees, the radian is a more convenient measurement for mathematical operations. One radian is defined as the angle at the center of a circle that subtends an arc equal in length to one radius. Since for all circles, using the constant ? :

Circumference / radius = 2 * ?

the length of the circumference of a circle is equal to 2 * ? * radius , and the angle of a full circle (360 degrees) is equal to 2 * ? radians.

To convert radians to degrees, just multiply the radian value by 180/ ? , or 57.29577951308232##. For example, the arctangent of 0.23456 can be converted this way:

t = ATN(.23456!) 't = 0.230395 (radians)

t = 57.29577951308232## * ATN(.23456!) 't= 13.200 (degrees)

To convert degrees to radians, multiply by 0.0174532925199433##. For example:

14 degrees = (0.0174532925199433## * 14) = 0.2443460952792062 radians

Rather than memorizing the radians/degrees conversion factors, calculate them for yourself by remembering this relationship: 2 ? radians equals a full circle (360 degrees), so 1 ? radian is 180 / ? degrees. Conversely, 1 degree equals ? / 180 radians.

? is a transcendental constant, meaning that it has an infinite number of decimal places. To 15-place accuracy, adequate for most applications, ? = 3.141592653589793##. This value can be closely approximated with the expression:

pi## = 4 * ATN(1)

Degrees-to-radians and radians-to-degrees conversions are good applications for user-defined functions.

The ATN function always returns an Extended-precision result.

In PBXB64, ATN also accepts INT128, UINT128, INT256, UINT256, INT512, UINT512, and UNL values through the existing ATN command. The typed path returns a floating result; UNL values are handled internally by the same command.

The Tangent (TAN) of a value can be easily calculated with the TAN function.

The Hyperbolic Tangent (TANH) can be calculated:

TanH = (EXP(2 * Value) - 1) / (EXP(2 * Value) + 1)

The Inverse Hyperbolic Tangent (ARCTANH) of a value can be calculated:

ArcTanH = LOG((1 + Value) / (1 - Value)) / 2

' Useful Macro functions

MACRO Pi = 3.141592653589793##

MACRO DegreesToRadians(dpDegrees) = (dpDegrees*0.0174532925199433##)

MACRO RadiansToDegrees(dpRadians) = (dpRadians*57.29577951308232##)

Example

#COMPILE EXE
#DIM ALL
' math_atn_basic
FUNCTION PBMAIN() AS LONG
  IF ((ATN(0.0)) < (0.0000000000) - 0.0001) OR ((ATN(0.0)) > (0.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((ATN(1.0)) < (0.7853981634) - 0.0001) OR ((ATN(1.0)) > (0.7853981634) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((ATN(-1.0)) < (-0.7853981634) - 0.0001) OR ((ATN(-1.0)) > (-0.7853981634) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • COS
  • SIN
  • TAN


ATN2 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ATN2

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

y = ATN2( y_expression, x_expression )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


B64 ARRAY - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Aggregates PBXB64 Compiler Help

B64 ARRAY

Category: PowerBASIC compatibility reference

Chapter: B64 Aggregates

Syntax

var xs: [3]i64 = [1, 2, 3];

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


B64 ASM - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Inline Assembly PBXB64 Compiler Help

B64 ASM

Category: PowerBASIC compatibility reference

Chapter: B64 Inline Assembly

Syntax

asm { mov rax, 42 }

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index

Back to top


bool (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Data Types PBXB64 Compiler Help

bool (B64)

Boolean type

Chapter: B64 Data Types | Certification: [CERTIFIED TESTED]

Syntax

let b: bool = true;

Description

Boolean type

Kind: Keyword | Category: B64 Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

bool is the Boolean type in B64. It is represented as an 8-byte integer where 0 is false and any non-zero value is true.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
section .text

.globl main
main:
entry:
    push rbp
    mov rbp, rsp
    push rbx
    sub rsp, 8
    mov r10, 5
    cmp r10, 3
    mov r10, 0
    setg r10
    mov rbx, r10
    nop
    mov [rbp-16], rbx
    mov r10, [rbp-16]
    mov rbx, r10
    test rbx, rbx
    mov r10, 0
    setne r10
    mov rbx, r10
    test rbx, rbx
    jne if_then_1
    jmp if_else_2
if_then_1:
    mov rax, 1
    add rsp, 8
    pop rbx
    pop rbp
    ret
if_else_2:
    jmp if_end_3
if_end_3:
    xor rax, rax
    add rsp, 8
    pop rbx
    pop rbp
    ret

Notes

Comparisons produce bool values that are then tested by conditional jumps.

Example

fn main(): i64 {
    let b: bool = 5 > 3;
    if b {
        return 1;
    }
    return 0;
}

See also

  • i64 (B64)
  • true (B64)
  • false (B64)
  • B64 Data Types
  • PBXB64 Compiler Help


break (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Control Flow PBXB64 Compiler Help

break (B64)

Exit the innermost loop

Chapter: B64 Control Flow | Certification: [CERTIFIED TESTED]

Syntax

break;

Description

Exit the innermost loop

Kind: Keyword | Category: B64 Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The break statement terminates the innermost enclosing while or for loop and transfers control to the statement after the loop.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
    jmp pb_while_end_PBMAIN_0

Notes

break currently exits only the innermost loop.

Example

fn main(): i64 {
    var i: i64 = 1;
    while true {
        if i > 10 { break; }
        i = i + 1;
    }
    return i;
}

See also

  • continue (B64)
  • while (B64)
  • for (B64)
  • B64 Control Flow
  • PBXB64 Compiler Help


cast (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Pointers & Expressions PBXB64 Compiler Help

cast (B64)

Explicit type conversion

Chapter: B64 Pointers & Expressions | Certification: [CERTIFIED TESTED]

Syntax

cast<TargetType>(expression)

Description

Explicit type conversion

Kind: Keyword | Category: B64 Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The cast<T>(x) expression converts x to type T. For pointer casts and integer casts this is typically a no-op at the machine level; for numeric conversions the backend emits the appropriate instruction.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
    ; cast between integer widths may be a no-op or truncation
    mov al, bl

Notes

Casting a pointer to an integer or vice versa preserves the bit pattern.

Example

fn main(): i64 {
    let n: i64 = 65;
    let c: i8 = cast<i8>(n);
    return cast<i64>(c);
}

See also

  • sizeof (B64)
  • i64 (B64)
  • B64 Data Types
  • PBXB64 Compiler Help


const (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Variables PBXB64 Compiler Help

const (B64)

Declare a compile-time constant

Chapter: B64 Variables | Certification: [CERTIFIED TESTED]

Syntax

const name: type = expression;

Description

Declare a compile-time constant

Kind: Keyword | Category: B64 Variables

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The const keyword defines a named value that is computed at compile time. Constants do not occupy mutable storage.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
    mov rax, 100

Notes

Constant expressions are folded into immediates where possible.

Example

const MaxCount: i64 = 100;

fn main(): i64 {
    return MaxCount;
}

See also

  • let (B64)
  • var (B64)
  • B64 Variables
  • PBXB64 Compiler Help


continue (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Control Flow PBXB64 Compiler Help

continue (B64)

Skip to the next loop iteration

Chapter: B64 Control Flow | Certification: [CERTIFIED TESTED]

Syntax

continue;

Description

Skip to the next loop iteration

Kind: Keyword | Category: B64 Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The continue statement skips the remainder of the current loop body and continues with the next iteration of the innermost loop.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
    jmp pb_while_cond_PBMAIN_0

Notes

Like break, continue affects only the innermost loop.

Example

fn main(): i64 {
    var sum: i64 = 0;
    for i = 1 to 10 {
        if i MOD 2 == 0 { continue; }
        sum = sum + i;
    }
    return sum;
}

See also

  • break (B64)
  • while (B64)
  • for (B64)
  • B64 Control Flow
  • PBXB64 Compiler Help


else (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Control Flow PBXB64 Compiler Help

else (B64)

Alternative branch in if or match

Chapter: B64 Control Flow | Certification: [CERTIFIED TESTED]

Syntax

if condition { ... } else { ... }

Description

Alternative branch in if or match

Kind: Keyword | Category: B64 Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The else keyword introduces the branch executed when an if condition is false. It is also used in match expressions as a catch-all pattern.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
section .text

.globl main
main:
entry:
    push rbp
    mov rbp, rsp
    push rbx
    sub rsp, 8
    mov rbx, 2
    mov [rbp-16], rbx
    mov r10, [rbp-16]
    mov rbx, r10
    cmp rbx, 1
    mov r10, 0
    sete r10
    mov rbx, r10
    test rbx, rbx
    mov r10, 0
    setne r10
    mov rbx, r10
    test rbx, rbx
    jne if_then_1
    jmp if_else_2
if_then_1:
    mov rax, 10
    add rsp, 8
    pop rbx
    pop rbp
    ret
if_else_2:
    mov rax, 20
    add rsp, 8
    pop rbx
    pop rbp
    ret
if_end_3:
    xor rax, rax
    add rsp, 8
    pop rbx
    pop rbp
    ret

Notes

The else block is optional; without it a false condition skips the if body entirely.

Example

fn main(): i64 {
    let x: i64 = 2;
    if x == 1 {
        return 10;
    } else {
        return 20;
    }
}

See also

  • if (B64)
  • match (B64)
  • B64 Control Flow
  • PBXB64 Compiler Help


extern (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Variables PBXB64 Compiler Help

extern (B64)

Declare an external symbol

Chapter: B64 Variables | Certification: [CERTIFIED TESTED]

Syntax

extern name: type;
extern fn name(param: type): return_type;

Description

Declare an external symbol

Kind: Keyword | Category: B64 Declarations

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The extern keyword introduces a symbol or function that is defined in another translation unit or in external code. It allows forward references and linking against C/PB runtime functions.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
; extern declarations produce no code by themselves;
; they create an unresolved symbol for the linker.

Notes

Use extern when calling functions defined in other .b64 files or in the C runtime.

Example

extern fn puts(s: *i8): i64;

fn main(): i64 {
    let msg: *i8 = "hello";
    return puts(msg);
}

See also

  • fn (B64)
  • return (B64)
  • B64 Functions
  • PBXB64 Compiler Help


false (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Data Types PBXB64 Compiler Help

false (B64)

Boolean false literal

Chapter: B64 Data Types | Certification: [CERTIFIED TESTED]

Syntax

let b: bool = false;

Description

Boolean false literal

Kind: Keyword | Category: B64 Literals

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

false is the Boolean false literal, represented as the integer 0.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
    xor rbx, rbx

Example

fn main(): i64 {
    let b: bool = false;
    if b { return 1; }
    return 0;
}

See also

  • true (B64)
  • bool (B64)
  • B64 Data Types
  • PBXB64 Compiler Help


fn (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Functions PBXB64 Compiler Help

fn (B64)

Declare a function

Chapter: B64 Functions | Certification: [CERTIFIED TESTED]

Syntax

fn name(param: type, ...): return_type {
    [statements]
    return expression;
}

Description

Declare a function

Kind: Keyword | Category: B64 Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The fn keyword declares a B64 function. Functions may take parameters and must declare a return type. main() returning i64 is the program entry point.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
section .text

.globl add
add:
entry:
    push rbp
    mov rbp, rsp
    push rbx
    sub rsp, 24
    mov [rbp-16], rcx
    mov [rbp-24], rdx
    mov r10, [rbp-16]
    mov rbx, r10
    mov r10, [rbp-24]
    nop
    add rbx, r10
    mov rax, rbx
    add rsp, 24
    pop rbx
    pop rbp
    ret

.globl main
main:
entry:
    push rbp
    mov rbp, rsp
    push rbx
    sub rsp, 8
    mov rcx, 3
    mov rdx, 4
    sub rsp, 32
    call add
    add rsp, 32
    mov rbx, rax
    nop
    mov [rbp-16], rbx
    mov r10, [rbp-16]
    mov rax, r10
    add rsp, 8
    pop rbx
    pop rbp
    ret

Notes

B64 uses the Microsoft x64 calling convention: RCX, RDX, R8, R9 for the first four integer arguments.

Example

fn add(a: i64, b: i64): i64 {
    return a + b;
}

fn main(): i64 {
    let x: i64 = add(3, 4);
    return x;
}

See also

  • extern (B64)
  • return (B64)
  • let (B64)
  • B64 Functions
  • PBXB64 Compiler Help


for (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Control Flow PBXB64 Compiler Help

for (B64)

Counted loop

Chapter: B64 Control Flow | Certification: [CERTIFIED TESTED]

Syntax

for i = start to end [step n] {
    [statements]
}

Description

Counted loop

Kind: Keyword | Category: B64 Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The for loop iterates a counter variable from a start value to an end value, optionally with a step value.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
; compile failed:
; C:\Users\theog\AppData\Local\Temp\tmpo4_2xpmj\example.b64:3:9: error: ’
C:\Users\theog\AppData\Local\Temp\tmpo4_2xpmj\example.b64:3:9: error: undefined identifier
C:\Users\theog\AppData\Local\Temp\tmpo4_2xpmj\example.b64:3:11: error: left side of assignment is not assignable
C:\Users\theog\AppData\Local\Temp\tmpo4_2xpmj\example.b64:3:15: error:  ’
C:\Users\theog\AppData\Local\Temp\tmpo4_2xpmj\example.b64:3:15: error: undefined identifier
C:\Users\theog\AppData\Local\Temp\tmpo4_2xpmj\example.b64:3:18: error:
C:\Users\theog\AppData\Local\Temp\tmpo4_2xpmj\example.b64:3:20: error: ’
C:\Users\theog\AppData\Local\Temp\tmpo4_2xpmj\example.b64:4:21: error: undefined identifier

Notes

The loop counter is mutable and scoped to the loop body.

Example

fn main(): i64 {
    var sum: i64 = 0;
    for i = 1 to 5 {
        sum = sum + i;
    }
    return sum;
}

See also

  • while (B64)
  • break (B64)
  • continue (B64)
  • B64 Control Flow
  • PBXB64 Compiler Help


i64 (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Data Types PBXB64 Compiler Help

i64 (B64)

64-bit signed integer type

Chapter: B64 Data Types | Certification: [CERTIFIED TESTED]

Syntax

let x: i64 = 0;

Description

64-bit signed integer type

Kind: Keyword | Category: B64 Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

i64 is the primary signed integer type in B64. It occupies 8 bytes and maps directly to the x64 general-purpose registers.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
    mov rax, 42

Notes

Integer literals without a suffix default to i64.

Example

fn main(): i64 {
    let n: i64 = 42;
    return n;
}

See also

  • bool (B64)
  • void (B64)
  • variant (B64)
  • B64 Data Types
  • PBXB64 Compiler Help


if (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Control Flow PBXB64 Compiler Help

if (B64)

Conditional statement or expression

Chapter: B64 Control Flow | Certification: [CERTIFIED TESTED]

Syntax

if condition {
    [statements]
} else {
    [statements]
}

Description

Conditional statement or expression

Kind: Keyword | Category: B64 Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The if statement executes one of two blocks based on a boolean condition. B64 also supports if as an expression that evaluates to a value.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
section .text

.globl main
main:
entry:
    push rbp
    mov rbp, rsp
    push rbx
    sub rsp, 8
    mov rbx, 10
    mov [rbp-16], rbx
    mov r10, [rbp-16]
    mov rbx, r10
    cmp rbx, 5
    mov r10, 0
    setg r10
    mov rbx, r10
    test rbx, rbx
    mov r10, 0
    setne r10
    mov rbx, r10
    test rbx, rbx
    jne if_then_1
    jmp if_else_2
if_then_1:
    mov rax, 1
    add rsp, 8
    pop rbx
    pop rbp
    ret
if_else_2:
    xor rax, rax
    add rsp, 8
    pop rbx
    pop rbp
    ret
if_end_3:
    xor rax, rax
    add rsp, 8
    pop rbx
    pop rbp
    ret

Notes

The condition must have type bool.

Example

fn main(): i64 {
    let x: i64 = 10;
    if x > 5 {
        return 1;
    } else {
        return 0;
    }
}

See also

  • else (B64)
  • bool (B64)
  • B64 Control Flow
  • PBXB64 Compiler Help


let (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Variables PBXB64 Compiler Help

let (B64)

Declare an immutable variable

Chapter: B64 Variables | Certification: [CERTIFIED TESTED]

Syntax

let name: type = expression;

Description

Declare an immutable variable

Kind: Keyword | Category: B64 Variables

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The let keyword declares a local variable whose binding cannot be reassigned. The type may be omitted when it can be inferred from the initializer.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
; compile failed:
; C:\Users\theog\AppData\Local\Temp\tmp8x2_ri27\example.b64:3:11: error: expected COLON, got EQ

Notes

let bindings are stored on the stack unless the optimizer can keep them in registers.

Example

fn main(): i64 {
    let x: i64 = 10;
    let y = x + 5;
    return y;
}

See also

  • var (B64)
  • const (B64)
  • B64 Variables
  • PBXB64 Compiler Help


match (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Control Flow PBXB64 Compiler Help

match (B64)

Pattern match on a variant

Chapter: B64 Control Flow | Certification: [CERTIFIED TESTED]

Syntax

match value {
    CaseName(binding) => expression,
    ...
}

Description

Pattern match on a variant

Kind: Keyword | Category: B64 Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The match expression inspects a variant value, binds the payload of the matching case, and evaluates the corresponding arm.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
; compile failed:
; C:\Users\theog\AppData\Local\Temp\tmpnnq3wj41\example.b64:2:14: error: expected RBRACE, got COMMA
C:\Users\theog\AppData\Local\Temp\tmpnnq3wj41\example.b64:2:14: error: expected RBRACE, got COMMA
C:\Users\theog\AppData\Local\Temp\tmpnnq3wj41\example.b64:2:14: error: unexpected token: RBRAC
C:\Users\theog\AppData\Local\Temp\tmpnnq3wj41\example.b64:3:5: error: unexpected token: RBRACE
C:\Users\theog\AppData\Local\Temp\tmpnnq3wj41\example.b64:3:9: error: unexpected token: RBRAC
C:\Users\theog\AppData\Local\Temp\tmpnnq3wj41\example.b64:4:1: error: unexpected token: RBRACE
C:\Users\theog\AppData\Local\Temp\tmpnnq3wj41\example.b64:8:11: error: expected LPAREN, got IDENTIFIER

Notes

All cases of a variant must be handled unless a catch-all else arm is provided.

Example

variant Option {
    Some(i64),
    None,
}

fn main(): i64 {
    let v: Option = Some(7);
    match v {
        Some(n) => return n,
        None => return 0,
    }
}

See also

  • variant (B64)
  • else (B64)
  • B64 Control Flow
  • PBXB64 Compiler Help


B64 OPERATORS - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Pointers & Expressions PBXB64 Compiler Help

B64 OPERATORS

Category: PowerBASIC compatibility reference

Chapter: B64 Pointers & Expressions

Syntax

x = (a + b) * 2;

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


return (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Functions PBXB64 Compiler Help

return (B64)

Exit a function and return a value

Chapter: B64 Functions | Certification: [CERTIFIED TESTED]

Syntax

return expression;
return;

Description

Exit a function and return a value

Kind: Keyword | Category: B64 Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The return statement ends execution of the current function and yields its value to the caller. The value is placed in rax per the x64 ABI.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
section .text

.globl square
square:
entry:
    push rbp
    mov rbp, rsp
    push rbx
    push rsi
    sub rsp, 16
    mov [rbp-24], rcx
    mov r10, [rbp-24]
    mov rbx, r10
    mov rsi, r10
    nop
    imul rbx, rsi
    mov rax, rbx
    add rsp, 16
    pop rsi
    pop rbx
    pop rbp
    ret

.globl main
main:
entry:
    mov rcx, 5
    sub rsp, 32
    call square
    add rsp, 32
    ret

Notes

A function with return type void may use return; with no expression.

Example

fn square(n: i64): i64 {
    return n * n;
}

fn main(): i64 {
    return square(5);
}

See also

  • fn (B64)
  • if (B64)
  • B64 Control Flow
  • PBXB64 Compiler Help


sizeof (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Pointers & Expressions PBXB64 Compiler Help

sizeof (B64)

Size of a type in bytes

Chapter: B64 Pointers & Expressions | Certification: [CERTIFIED TESTED]

Syntax

sizeof<Type>

Description

Size of a type in bytes

Kind: Keyword | Category: B64 Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

sizeof<T> evaluates to the size in bytes of type T. It is a compile-time constant.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
    mov rax, 8

Notes

sizeof<void> is 0; sizeof<bool> is 1; pointer and i64 sizes are 8.

Example

fn main(): i64 {
    return sizeof<i64>;
}

See also

  • i64 (B64)
  • struct (B64)
  • B64 Data Types
  • PBXB64 Compiler Help


struct (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Aggregates PBXB64 Compiler Help

struct (B64)

Declare a composite type

Chapter: B64 Aggregates | Certification: [CERTIFIED TESTED]

Syntax

struct Name {
    field: type,
    ...
}

Description

Declare a composite type

Kind: Keyword | Category: B64 Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The struct keyword declares a record type with named fields. Structs can be passed by value, returned by value, or accessed through pointers.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
; compile failed:
; C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:2:11: error: expected RBRACE, got COMMA
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:2:11: error: expected RBRACE, got COMMA
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:2:11: error: unexpected token: RBRAC
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:3:5: error: unexpected token: RBRACE
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:3:6: error: unexpected token: RBRAC
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:3:8: error: unexpected token: RBR
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:3:11: error: unexpected token: RBRAC
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:4:1: error: unexpected token: RBRACE
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:7:20: error: unexpected token in expression
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:7:22: error: expected SEMICOLON, got IDENTIFIER
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:8:5: error: unexpected token: RBRACE
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:8:12: error: unexpected token: RBRACE
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:8:13: error: unexpected token: RBR
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:8:14: error: unexpected token: RBRACE
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:8:16: error: unexpected token: RBRA
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:8:18: error: unexpected token: RBRACE
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:8:19: error: unexpected token: RBR
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:8:20: error: unexpected token: RBRACE
C:\Users\theog\AppData\Local\Temp\tmpmavnotjv\example.b64:9:1: error: unexpected token: RBRACE

Notes

Field access uses the declared offsets; aggregate return values may be passed through a hidden return-pointer argument.

Example

struct Point {
    x: i64,
    y: i64,
}

fn main(): i64 {
    let p: Point = { x: 3, y: 4 };
    return p.x + p.y;
}

See also

  • i64 (B64)
  • sizeof (B64)
  • B64 Structs & Arrays
  • PBXB64 Compiler Help


true (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Data Types PBXB64 Compiler Help

true (B64)

Boolean true literal

Chapter: B64 Data Types | Certification: [CERTIFIED TESTED]

Syntax

let b: bool = true;

Description

Boolean true literal

Kind: Keyword | Category: B64 Literals

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

true is the Boolean true literal, represented as the integer 1.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
    mov rbx, 1

Example

fn main(): i64 {
    let b: bool = true;
    if b { return 1; }
    return 0;
}

See also

  • false (B64)
  • bool (B64)
  • B64 Data Types
  • PBXB64 Compiler Help


typedef (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Data Types PBXB64 Compiler Help

typedef (B64)

Create a type alias

Chapter: B64 Data Types | Certification: [CERTIFIED TESTED]

Syntax

typedef NewName = ExistingType;

Description

Create a type alias

Kind: Keyword | Category: B64 Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The typedef keyword creates an alias for an existing type. The alias is interchangeable with the original type in declarations and casts.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
    mov rax, 5

Notes

Typedefs do not introduce new distinct types; they are purely aliases.

Example

typedef Count = i64;

fn main(): i64 {
    let n: Count = 5;
    return n;
}

See also

  • i64 (B64)
  • struct (B64)
  • B64 Data Types
  • PBXB64 Compiler Help


var (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Variables PBXB64 Compiler Help

var (B64)

Declare a mutable variable

Chapter: B64 Variables | Certification: [CERTIFIED TESTED]

Syntax

var name: type = expression;

Description

Declare a mutable variable

Kind: Keyword | Category: B64 Variables

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The var keyword declares a local variable whose value can be reassigned later with the assignment operator.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
section .text

.globl main
main:
entry:
    push rbp
    mov rbp, rsp
    push rbx
    sub rsp, 8
    mov rbx, 1
    mov [rbp-16], rbx
    mov r10, [rbp-16]
    mov rbx, r10
    nop
    add rbx, 1
    nop
    mov [rbp-16], rbx
    mov r10, [rbp-16]
    mov rax, r10
    add rsp, 8
    pop rbx
    pop rbp
    ret

Notes

var and let have the same storage rules; only mutability differs.

Example

fn main(): i64 {
    var n: i64 = 1;
    n = n + 1;
    return n;
}

See also

  • let (B64)
  • const (B64)
  • B64 Variables
  • PBXB64 Compiler Help


variant (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Aggregates PBXB64 Compiler Help

variant (B64)

Sum type for tagged values

Chapter: B64 Aggregates | Certification: [CERTIFIED TESTED]

Syntax

variant Name {
    CaseName(type),
    ...
}

Description

Sum type for tagged values

Kind: Keyword | Category: B64 Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The variant keyword declares a discriminated union (sum type). Values carry a tag indicating which case is active.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
; compile failed:
; C:\Users\theog\AppData\Local\Temp\tmpkyrr5tz6\example.b64:2:14: error: expected RBRACE, got COMMA
C:\Users\theog\AppData\Local\Temp\tmpkyrr5tz6\example.b64:2:14: error: expected RBRACE, got COMMA
C:\Users\theog\AppData\Local\Temp\tmpkyrr5tz6\example.b64:2:14: error: unexpected token: RBRAC
C:\Users\theog\AppData\Local\Temp\tmpkyrr5tz6\example.b64:3:5: error: unexpected token: RBRACE
C:\Users\theog\AppData\Local\Temp\tmpkyrr5tz6\example.b64:3:9: error: unexpected token: RBRAC
C:\Users\theog\AppData\Local\Temp\tmpkyrr5tz6\example.b64:4:1: error: unexpected token: RBRACE
C:\Users\theog\AppData\Local\Temp\tmpkyrr5tz6\example.b64:8:11: error: expected LPAREN, got IDENTIFIER

Notes

Use match to inspect a variant safely.

Example

variant Option {
    Some(i64),
    None,
}

fn main(): i64 {
    let v: Option = Some(7);
    match v {
        Some(n) => return n,
        None => return 0,
    }
}

See also

  • match (B64)
  • struct (B64)
  • B64 Data Types
  • PBXB64 Compiler Help


void (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Data Types PBXB64 Compiler Help

void (B64)

Empty type

Chapter: B64 Data Types | Certification: [CERTIFIED TESTED]

Syntax

fn proc(): void { ... }

Description

Empty type

Kind: Keyword | Category: B64 Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

void indicates the absence of a value. It is used as the return type for procedures that do not return data.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
    ; void function returns with no value in rax

Notes

Variables cannot be declared with type void.

Example

fn greet(): void {
    return;
}

fn main(): i64 {
    greet();
    return 0;
}

See also

  • fn (B64)
  • return (B64)
  • B64 Data Types
  • PBXB64 Compiler Help


while (B64) - PBXB64 Compiler Help

Home › Language Frontends › B64 Frontend › B64 Control Flow PBXB64 Compiler Help

while (B64)

Loop while a condition is true

Chapter: B64 Control Flow | Certification: [CERTIFIED TESTED]

Syntax

while condition {
    [statements]
}

Description

Loop while a condition is true

Kind: Keyword | Category: B64 Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The while loop tests its condition before each iteration and executes the body only while the condition is true.

Generated Assembly

Compile with:

PBXB64 example.b64 --asmout example.asm
section .text

.globl main
main:
entry:
    push rbp
    mov rbp, rsp
    push rbx
    sub rsp, 24
    mov r10, 1
    mov rbx, 1
    mov [rbp-16], rbx
    xor r10, r10
    xor rbx, rbx
    mov [rbp-24], 0
    jmp while_cond_1
while_cond_1:
    mov r10, [rbp-16]
    mov rbx, r10
    cmp rbx, 5
    mov r10, 0
    setle r10
    mov rbx, r10
    test rbx, rbx
    mov r10, 0
    setne r10
    mov rbx, r10
    test rbx, rbx
    jne while_body_2
    jmp while_end_3
while_body_2:
    mov r10, [rbp-24]
    mov rbx, r10
    mov r10, [rbp-16]
    nop
    add rbx, r10
    nop
    mov [rbp-24], rbx
    mov rbx, r10
    nop
    add rbx, 1
    nop
    mov [rbp-16], rbx
    jmp while_cond_1
while_end_3:
    mov r10, [rbp-24]
    mov rax, r10
    add rsp, 24
    pop rbx
    pop rbp
    ret

Notes

Use break to exit the loop and continue to skip to the next iteration.

Example

fn main(): i64 {
    var n: i64 = 1;
    var sum: i64 = 0;
    while n <= 5 {
        sum = sum + n;
        n = n + 1;
    }
    return sum;
}

See also

  • for (B64)
  • break (B64)
  • continue (B64)
  • B64 Control Flow
  • PBXB64 Compiler Help


Balancing the stack - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Balancing the stack

An important consideration when using the stack is to be symmetrical in the byte count of what is pushed and what is popped.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

An important consideration when using the stack is to be symmetrical in the byte count of what is pushed and what is popped.

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

If the stack is not balanced on exit from an assembly code block (i.e., you POP too few or too many registers ), your routine will return to the wrong location in your code. This is because PowerBASIC must assume that the last item on the stack is the address to which it should return.

In other words, if the stack is not balanced on exit from an assembly code block, program execution is likely to resume at the wrong address and instantly crash the program. In most instances, if you PUSH a given data size onto the stack, you must POP the same data size.

Back to command index


BASE64 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BASE64

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

encoded$ = BASE64$(text$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


BASE64URLSAFE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BASE64URLSAFE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

encoded$ = BASE64URLSAFE$(text$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


BEEP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BEEP

Sound a tone through the computer's speaker.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

BEEP

Description

Sound a tone through the computer's speaker.

Kind: Statement | Category: Utilities

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

BEEP plays the default Windows waveform sound, typically a � second tone, through either the built-in speaker; or a sound card if installed (in which case the Windows "Default Beep" sound is played). The Default Beep can be configured in the Sounds section of Control Panel.

Back to command index


BESSELI0 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BESSELI0

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = BESSELI0( x )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


BESSELI1 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BESSELI1

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = BESSELI1( x )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


BESSELJ0 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BESSELJ0

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = BESSELJ0( x )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


BESSELJ1 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BESSELJ1

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = BESSELJ1( x )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


BETA - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BETA

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = BETA( x, y )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


BETWEEN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BETWEEN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result& = BETWEEN(Lower TO Upper, TestVal)
result& = BETWEEN(Lower$ TO Upper$, TestVal$)

Description

Category: PowerBASIC compatibility reference

PBXB64 status: AVAILABLE

Verification

The focused executable check is tests/pb/test_bounded.pb in the pb_linkrun lane.

See also BOUNDED for inclusive bounds.

Back to the help index

Example

IF BETWEEN(1 TO 10, 5) = 0 THEN FUNCTION = 1


BGR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BGR

Create a BGR

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

result& = BGR( red& , green& , blue& )
result& = BGR( rgbexpr& )

Description

Create a BGR

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

An RGB value is a long integer value in the range of 0 to &H00FFFFFF. It is used to specify a very precise color to various PowerBASIC functions and Windows API functions. The lowest three bytes of the value each specify the intensity of a primary color which combine to form the resultant color. Byte 1 (lowest) represents the red component, byte 2 the green, and byte 3 the blue. They can each take on a value in the range of 0 to 255. Byte 4 (highest) is always 0.

Some Windows API functions, such as those which reference Device Independent Bitmaps (DIB), require that the colors be specified in the reverse sequence (Blue-Green-Red instead of Red-Green-Blue). In order to maximize performance and execution speed, PowerBASIC statements and functions which reference these structures also use the BGR format. These include GRAPHIC GET BITS and GRAPHIC SET BITS . When used with 3 parameters, the BGR() function creates a BGR value from the three component values.

When used with one parameter, this function translates an RGB value to its BGR equivalent by swapping the first byte with the third byte, and returning the result.

For example, the RGB value of blue is &HFF0000. BGR() translates it to &H0000FF. Calling RGB() with that value converts it back to &HFF0000.

See also

  • Built In RGB Color Equates
  • RGB
  • PBXB64 Compiler Help


BIN$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BIN$

Convert an integral value to a binary string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = BIN$( IntVal [, Digits , LeadSpaces , TrailSpaces ])

Description

Convert an integral value to a binary string

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

IntVal is a numeric expression in the range of a 64-bit Quad Integer (-9223372036854775808 to +9223372036854775807). Any fractional part of the value is rounded. The result string is always formatted as an integral number using all the significant digits in IntVal . It is never expressed in scientific notation.

If Digits is 0 (or not given), no leading characters will be added to the numeric field. If Digits is a positive number greater than 0, the result string will be prepended with leading zeros to achieve the desired length. If Digits is a negative number, leading spaces are added to reach the absolute length. Digits may be in the range of -64 to +64.

LeadSpaces specifies additional leading spaces to be prepended, regardless of the length of the numeric portion of the string.

TrailSpaces specifies additional trailing spaces to be appended to the end of the string.

See also

  • DEC$
  • FORMAT$
  • HEX$
  • OCT$
  • STR$
  • TRIM$
  • USING$
  • VAL
  • PBXB64 Compiler Help


Binary Files - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Binary Files

PowerBASIC's binary file technique, an extension to Interpretive BASIC, allows you to treat any file as a numbered sequence of bytes without regard to anything, including the following: ASCII characte

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

PowerBASIC's binary file technique, an extension to Interpretive BASIC, allows you to treat any file as a numbered sequence of bytes without regard to anything, including the following: ASCII characte

Kind: Keyword | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Flexibility always comes at a price. Binary files require that you do all the work to decide what goes where. Binary may be the best option when dealing with alien files that aren't in ASCII format; for example, a file created by a spreadsheet or database product. Of course, you will have to know the precise structure of the file before you can even attempt to break it down into numbers and strings agreeable to PowerBASIC.

Every file opened in binary mode has an associated position indicator that points to the place in the file that will be read or written to next. Use the SEEK statement to set the position indicator, and the SEEK function to read it.

Binary files are accessed in the following way:

Back to command index


BINOM - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BINOM

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

c = BINOM( n, k )
text = BINOM$( n, k )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


BINOMCDF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BINOMCDF

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

probability = BINOMCDF( k, n, p )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


BINOMPMF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BINOMPMF

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

probability = BINOMPMF( k, n, p )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


BIT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BIT

Manipulate individual bits of an integral class

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

BIT {SET | RESET | TOGGLE} intvar , bitnumber

Description

Manipulate individual bits of an integral class

Kind: Statement | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

intvar must be one of the integral-class variable types: Byte , Word , Integer , Double-word , Long-integer , or Quad-integer .

The allowable range for the parameter bitnumber is the same as that of a Long-integer, making it possible to have implicit bit-arrays of more than 2 billion bits in size. Bits 0 to 15 are in the first word starting at intvar , bits 16-31 are in the next word, and so forth.

Implied bit-arrays are considered to start at the memory position of the variable intvar . For example, if intvar is itself an array variable, it is possible to access bits in any of the following elements of the array. See the array examples below.

Care must be exercised to ensure that the bit index number ( bitnumber ) does not exceed the number of bits that can be validly accessed. For example, adjusting the 17th bit of a 16-bit scalar variable may cause a subtle memory corruption problem, and/or may trigger a General Protection Fault (GPF). Similarly, adjusting the 4097th bit of a bit-array derived from a 128-element DWORD array may cause similar problems. bitnumber is always zero-based, so the 129th bit of an implied bit-array is referenced in the BIT statement with bitnumber equal to 128. For example: BIT SET A?(1), 128.

Sets the indicated bit to one.

Sets the indicated bit to zero.

TOGGLE

Toggles the indicated bit: one becomes zero; zero becomes one.

See also

  • BIT CALC
  • PBXB64 Compiler Help


BIT CALC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BIT CALC

Set or reset a bit in an integral class

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

BIT CALC intvar , bitnumber , calcexpr

Description

Set or reset a bit in an integral class

Kind: Statement | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

BIT CALC performs like a combination of the BIT SET and BIT RESET statements, offering the choice between set (1) and reset (0) according to the result of a numeric expression.

intvar

An integral class variable ( Byte , Word , Double-word , Integer , Long-integer or Quad-integer ), or a variable forming the base of an implied bit-array.

bitnumber

An integral class expression or numeric literal that specifies the bit number to adjust. Bit numbers start from zero (0), and extend to the size of the target variable or bit-array. For example, a 16-bit integer variable uses the range 0 to 15. An implied bit-array comprised of a Long-integer array with 100 elements (4 bytes * 100 = 400 bytes = 3200 bits) covers the bit range 0 to 3199.

calcexpr

The value derived from bit zero of calcexpr determines the set or reset action. If bit zero contains a zero (0), the bit in intvar is reset; if bit zero in calcexpr contains a one (1), the bit in intvar is set. This action can be more easily remembered if we consider PowerBASIC performs an implied bitwise AND operation ( calcexpr AND 1) to derive the set or reset action.

Care must be exercised to ensure that the bit index number ( bitnumber ) does not exceed the number of bits that can be validly accessed. For example, reading the 17th bit of a 16-bit scalar variable may trigger a General Protection Fault (GPF). Similarly, adjusting the 4097th bit of a bit-array derived from a 128-element DWORD array may cause similar problems. bitnumber is always zero-based, so the 129th bit of an implied bit-array is referenced in the BIT statement with bitnumber equal to 128. For example: x& = BIT(A?(1), 128).

See also

  • BIT
  • BITS
  • PBXB64 Compiler Help


Bit Data Types - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Bit Data Types

TYPE and UNION structures may contain bit variables, which are named BIT (unsigned values) or SBIT (signed values). Each bit variable may occupy from 1 to 31 bits. When used in a TYPE, bit variables a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

TYPE and UNION structures may contain bit variables, which are named BIT (unsigned values) or SBIT (signed values). Each bit variable may occupy from 1 to 31 bits. When used in a TYPE, bit variables a

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Bit variables may only be used as TYPE or UNION members, not as scalar, array, or pointer variables. The size of a bit variable is defined as:

var AS BIT * nlit [IN BYTE|WORD|DWORD]

where the term "* nlit" defines the number of bits (1 to 31), and the optional term "IN BYTE|WORD|DWORD", if present, defines the start of a new bit field of 1, 2, or 4 bytes.

Back to command index


BITS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BITS

Converts an integral value into another data type, based upon the bit pattern of the value. This is particularly helpful in converting between signed and unsigned representations.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

resultvar = BITS( datatype , expression )

Description

Converts an integral value into another data type, based upon the bit pattern of the value. This is particularly helpful in converting between signed and unsigned representations.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Since the integer value -1 and word value 65535 have the identical bit pattern of 1111111111111111, BITS(WORD,-1) would return the unsigned word value of 65535. Of course, BITS(INTEGER,65535) would then return the integer value -1. Other values and data types would follow the same pattern and rules.

This newer form of BITS condenses the functionality of the older forms (BITS%, BITS&, BITS?, BITS?? and BITS???) into a single function. In particular, this provides for the addition of new data types in future version of PowerBASIC, particularly those which may not have an associated type-specifier character.

See also

  • BIT CALC
  • BIT
  • BITSE
  • PBXB64 Compiler Help


BITSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BITSE

Compare integral values for equivalent bits regardless of sign.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

x& = BITSE( nexp , nexp , bitsize )

Description

Compare integral values for equivalent bits regardless of sign.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This function allows you to compare two integral values for equivalent bit patterns, regardless of whether they are signed or unsigned values. The two numeric expressions ( nexp ) are the integral values to be compared, The bitsize parameter specifies the number of bits to be compared, 8, 16, or 32.

For example, the integer value -1 and the word value 65535 both have the identical bit pattern: 1111111111111111. The difference is simply the way the bits are interpreted by a program.

x& = BITSE( -1, 65535, 16)

The above example would cause the lowest 16 bits of the expressions to be compared. Since they are equal, the value TRUE (-1) is returned.

See also

  • BITS
  • PBXB64 Compiler Help


#BLOAT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#BLOAT

Artificially inflate the disk image size of a compiled program.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#BLOAT size_expression

Description

Artificially inflate the disk image size of a compiled program.

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

#BLOAT allows the creation of artificially bloated program files on disk, in order to match or exceed that generated by competing " BloatWare " compilers. #BLOAT does not affect the memory image size (running size) of a compiled program.

size_expression

The size_expression parameter is a simple Long-integer expression that specifies the total desired size of the compiled programs disk image, but is ignored if it is smaller than the actual program size. #BLOAT uses sections of the actual compiled code to fill and obfuscate the portion added to the file.

While #BLOAT adds no true merit to the technical efficiency of the compiled code, there are a number of reasons for its use, including:

See also

  • COMPILE Metastatement
  • #OPTIMIZE
  • PBXB64 Compiler Help


BOUNDED - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BOUNDED

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result& = BOUNDED(Lower TO Upper, TestVal)
result& = BOUNDED(Lower$ TO Upper$, TestVal$)

Description

Category: PowerBASIC compatibility reference

PBXB64 status: AVAILABLE

Verification

The focused executable check is tests/pb/test_bounded.pb in the pb_linkrun lane.

See also BETWEEN for strict exclusive bounds.

Back to the help index

Example

IF BOUNDED(1 TO 10, 5) = 0 THEN FUNCTION = 1


BRIDGE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BRIDGE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

BRIDGE EXPORT name AS type [ALIAS "symbol"]
BRIDGE IMPORT name AS type ALIAS "symbol"

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


BUILD$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

BUILD$

Build or concatenate

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

x$ = BUILD$( a$ , b$ , c$ , d$ ...)

Description

Build or concatenate

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

In some cases, string concatenation using the classic string operators can be a slow process. This is particularly true when there are many operands using longer strings. The BUILD$ function passes all the typical bottlenecks to create a new string at the greatest possible speed. The following 2 lines are functionally identical, but the BUILD$ version will execute substantially faster.

x$ = a$ + "bb" + c$ + y$(7) + y$(i&) + z$

x$ = BUILD$(a$, "bb", c$, y$(7), y$(i&), z$)

It's interesting to note that this string function could have been named APPEND$ or PREPEND$ because it performs these functionalities so well. For example, to prepend a topic number to text$ while also adding a period at the end, you could execute:

text$ = BUILD$( "1) ", text$, ".")

In order to extract the utmost efficiency, BUILD$() was designed to work with a very narrow definition. The component parameters must be dynamic string variables, either scalar or array , string literals , or string equates . They may not be expressions . There is virtually no limit as to the number of parameters.

The BUILD$() function is most valuable when you are concatenating numerous strings all at the same time. However, when you must add many string sections, in many separate operations, the StringBuilder object is much faster, and a more appropriate choice.

Generally speaking, the greater the number of parameters, the greater the increase in execution speed.

See also

  • LET
  • CHR$
  • CSET$
  • JOIN$
  • LSET$
  • REPEAT$
  • RSET$
  • STRING$
  • IStringBuilderA.Add method
  • STRINSERT$
  • WRAP$
  • PBXB64 Compiler Help


Built-in Interfaces - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Built-in Interfaces

The compiler provides a set of built-in Interfaces, including:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The compiler provides a set of built-in Interfaces, including:

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

ICONNECTIONPOINTCONTAINER

Back to command index


Built-in numeric equates - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Built-in numeric equates

The compiler provides a convenient set of built-in numeric equates .

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The compiler provides a convenient set of built-in numeric equates .

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The first to consider should be the group which determines the compiler version and the supported feature level. Additional information may be found with the %DEF equate operator.

%PB_CC32, %PB_DLL32, %PB_EXE, %PB_REVISION, %PB_REVLETTER, %PB_WIN32

Compile-Time information:

The PBXB64 table also includes the documented Win32 GUI equates used by the PB Original DDT examples: %BITSPIXEL, %PLANES, %NUMRESERVED, %GWL_USERDATA, %SYSTEM_FONT, and %SYSTEM_FIXED_FONT. The ListView message and notification equates include %LVM_SETBKCOLOR, %LVM_SETCALLBACKMASK, %LVM_SETCOLUMN, %LVM_SETCOLUMNW, %LVM_SETCOLUMNWIDTH, %LVM_SETEXTENDEDLISTVIEWSTYLE, %LVM_SETHOTCURSOR, %LVM_SETBKIMAGE, %LVM_SETBKIMAGEW, %LVM_SETGROUPINFO, %LVM_SETGROUPMETRICS, %LVN_BEGINLABELEDITW, %LVN_ENDLABELEDITW, %LVN_GETDISPINFOW, and %LVN_SETDISPINFOW.

The same table now covers the documented button/edit/listbox/menu/static/text-alignment/toolbar/message values: %BM_CLICK, %EM_GETSEL, %EM_SETSEL, %LB_SETTABSTOPS, %LB_SETHORIZONTALEXTENT, %LB_SETCOLUMNWIDTH, %MF_SEPARATOR, %STN_CLICKED, %STN_DBLCLK, %STN_ENABLE, %STN_DISABLE, %TA_TOP, %TA_BOTTOM, %TA_BASELINE, %TBN_DROPDOWN, %CBN_SELCANCEL, %WM_ENABLE, %WM_ERASEBKGND, %WM_SETCURSOR, %WM_SETFONT, %WM_SYSCOMMAND, %WM_PARENTNOTIFY, and %WM_DROPFILES.

These values are covered by tests/pb/test_builtin_equates_authoritative.pb in both Make and CMake builds.

Back to command index


Built In RGB Color Equates - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Built In RGB Color Equates

The following is a list of RGB color equates built into the compiler, which can be used with routines that accept RGB color values.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following is a list of RGB color equates built into the compiler, which can be used with routines that accept RGB color values.

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Back to command index


Built-in string equates - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Built-in string equates

The compiler also provides a set of built-in string equates . These offer convenience as well as self-documentation.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The compiler also provides a set of built-in string equates . These offer convenience as well as self-documentation.

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The following table shows the ANSI form, each of which begins with a single dollar-sign ($). The compiler also includes and offers a wide Unicode version of each of them, identified by a double dollar-sign ($$). For example, $NUL returns a byte with the character code zero (0), while $$NUL returns a word with the character code zero (0).

Back to command index


Built-in User Defined Types - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Built-in User Defined Types

The compiler provides a set of built-in User-Defined Types, including:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The compiler provides a set of built-in User-Defined Types, including:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

VariantArgs AS VARIANT

NamedDispID AS VARIANT

Back to command index


BYREF - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Variables & Scope PBXB64 Compiler Help

BYREF

Category: PowerBASIC compatibility reference

Chapter: Variables & Scope

Syntax

SUB Proc(BYREF value AS LONG)
FUNCTION Proc(BYREF value AS STRING) AS LONG

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Byte (?) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Byte (?)

Bytes are 8-bit (1 byte) unsigned integers ranging in value from 0 to 255 ( 0 to 2^8-1). The type-specifier character for a Byte is: ?.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Bytes are 8-bit (1 byte) unsigned integers ranging in value from 0 to 255 ( 0 to 2^8-1). The type-specifier character for a Byte is: ?.

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Byte variables are identified by following the variable name with a question mark (i.e., var? ), or by using the DEFBYT statement as described in the previous discussion of Integers. You can also declare Byte variables using the BYTE keyword with the DIM statement. For example:

Byte variables are particularly useful for storing small, unsigned integral quantities like the number of days in a month. You should not use Byte variables in FOR/NEXT loops, as they are highly inefficient.

A PowerBASIC Byte variable is equivalent to a bool data type (in lowercase) used by most modern C compilers. A bool is a non-traditional 8-bit unsigned data type, whereas a BOOL data type (in capital letters) is equivalent to a Long-integer in PowerBASIC. Be aware that some older C compilers may freely interchange bool and BOOL keywords.

Example

#COMPILE EXE
#DIM ALL
' numeric_type_long
FUNCTION PBMAIN() AS LONG
  LOCAL a AS LONG
  a = 10
  IF (a) <> (10) THEN FUNCTION = 1: EXIT FUNCTION
  a = a + 5
  IF (a) <> (15) THEN FUNCTION = 2: EXIT FUNCTION
  a = a * 2
  IF (a) <> (30) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


BYVAL - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Variables & Scope PBXB64 Compiler Help

BYVAL

Category: PowerBASIC compatibility reference

Chapter: Variables & Scope

Syntax

SUB Proc(BYVAL value AS LONG)
FUNCTION Proc(BYVAL value AS STRING) AS LONG

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C17 Standard Library Headers - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

C17 Standard Library Headers

PBXB64 ships with a complete C17 standard library header set for hosted C validation. These headers are located in the c17_headers directory and are automatically searched when compiling C code with PBXB64 -std=c17.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

PBXB64 ships with a complete C17 standard library header set for hosted C validation. These headers are located in the c17_headers directory and are automatically searched when compiling C code with PBXB64 -std=c17.

Kind: Reference | Category: C Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Header Categories

Header | Category | Key Contents
<assert.h> | Diagnostics | assert() macro
<ctype.h> | Character | isalpha, isdigit, toupper, etc.
<errno.h> | Diagnostics | errno, error code macros
<float.h> | Limits | FLT_MAX, DBL_MAX, LDBL_MAX, etc.
<inttypes.h> | Formatting | PRId64, PRIu64, etc.
<limits.h> | Limits | CHAR_MAX, INT_MAX, LONG_MAX, etc.
<locale.h> | Localization | setlocale, localeconv
<math.h> | Math | sin, cos, sqrt, pow, etc.
<setjmp.h> | Non-local jumps | setjmp, longjmp
<signal.h> | Signals | signal, raise, SIG* constants
<stdarg.h> | Variadic | va_list, va_start, va_arg, va_end
<stdatomic.h> | Atomics | atomic types and operations
<stdbool.h> | Boolean | bool, true, false
<stddef.h> | Definitions | size_t, ptrdiff_t, NULL, offsetof
<stdint.h> | Integer | int8_t, uint16_t, int32_t, int64_t, etc.
<stdio.h> | I/O | FILE, fopen, printf, scanf, etc.
<stdlib.h> | General | malloc, free, atoi, qsort, rand, etc.
<string.h> | String | strlen, strcpy, strcat, memcmp, etc.
<time.h> | Time | time, clock, struct tm, strftime
<wchar.h> | Wide char | wchar_t, wprintf, wcslen, etc.

PBXB64-Specific Headers

Header | Description
<pbxb64/hlib.h> | H-Lib container C API for PB frontends

See also

  • C Data Types
  • Data Types
  • PBXB64 Compiler Help


C ARRAY - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Pointers & Arrays PBXB64 Compiler Help

C ARRAY

Category: C frontend reference

Chapter: C Pointers & Arrays

Syntax

int a[3] = {1, 2, 3};

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C ARROW - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Pointers & Arrays PBXB64 Compiler Help

C ARROW

Category: C frontend reference

Chapter: C Pointers & Arrays

Syntax

p->field

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C AUTO - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Variables & Constants PBXB64 Compiler Help

C AUTO

Category: C frontend reference

Chapter: C Variables & Constants

Syntax

auto int x = 1;

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C BITFIELD - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Structures & Unions PBXB64 Compiler Help

C BITFIELD

Category: C frontend reference

Chapter: C Structures & Unions

Syntax

struct F { unsigned x:3; };

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C BOOL - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Data Types PBXB64 Compiler Help

C BOOL

Category: C frontend reference

Chapter: C Data Types

Syntax

_Bool ok = 1;

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C BREAK - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Control Flow PBXB64 Compiler Help

C BREAK

Category: C frontend reference

Chapter: C Control Flow

Syntax

break;

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C CAST - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Pointers & Arrays PBXB64 Compiler Help

C CAST

Category: C frontend reference

Chapter: C Pointers & Arrays

Syntax

(int)x

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C COMPOUND LITERAL - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Structures & Unions PBXB64 Compiler Help

C COMPOUND LITERAL

Category: C frontend reference

Chapter: C Structures & Unions

Syntax

(struct P){1, 2}

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C CONST - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Variables & Constants PBXB64 Compiler Help

C CONST

Category: C frontend reference

Chapter: C Variables & Constants

Syntax

const int x = 1;

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C CONTINUE - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Control Flow PBXB64 Compiler Help

C CONTINUE

Category: C frontend reference

Chapter: C Control Flow

Syntax

continue;

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C Data Types - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

C Data Types

PBXB64 supports compiling C17 source files (.c, .h) using the built-in C frontend. The C17 standard library headers are included with the compiler and are available in the c17_headers directory.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

PBXB64 supports compiling C17 source files (.c, .h) using the built-in C frontend. The C17 standard library headers are included with the compiler and are available in the c17_headers directory.

Kind: Data Type | Category: C Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Standard C Data Types

When compiling C code with PBXB64 -std=c17 file.c, the following standard C data types are available through the included headers:

Type | Header | Size | Description
char | <stdint.h> | 1 byte | Character / smallest addressable unit
short | <stdint.h> | 2 bytes | Short signed integer
int | <stdint.h> | 4 bytes | Standard signed integer
long | <stdint.h> | 4 bytes | Long signed integer (Win64 LLP64)
long long | <stdint.h> | 8 bytes | Extended signed integer
float | <math.h> | 4 bytes | IEEE 754 single-precision
double | <math.h> | 8 bytes | IEEE 754 double-precision
long double | <math.h> | 8 bytes | Extended precision (Win64 maps to double)
void* | <stddef.h> | 8 bytes | Pointer (64-bit on Win64)
size_t | <stddef.h> | 8 bytes | Unsigned size type (Win64)
ptrdiff_t | <stddef.h> | 8 bytes | Signed pointer difference type

Fixed-Width Integer Types

Exact-width types from <stdint.h>:

Type | Size | PB Equivalent
int8_t | 1 byte | BYTE (signed)
uint8_t | 1 byte | BYTE
int16_t | 2 bytes | INTEGER
uint16_t | 2 bytes | WORD
int32_t | 4 bytes | LONG
uint32_t | 4 bytes | DWORD
int64_t | 8 bytes | QUAD
uint64_t | 8 bytes | QUAD (unsigned)
intptr_t | 8 bytes | QUAD
uintptr_t | 8 bytes | QUAD

Boolean Type

<stdbool.h> provides bool, true, and false. In C, bool is 1 byte. In PB, use BYTE or LONG for boolean values.

Character Types

<wchar.h> provides wchar_t (2 bytes on Win64, UTF-16). PB equivalent is WSTRING. char is 1 byte (ANSI). PB equivalent is STRING.

Included C17 Headers

The following standard C17 headers are bundled with PBXB64:

assert.h    ctype.h     errno.h     float.h
inttypes.h  limits.h    locale.h    math.h
setjmp.h    signal.h    stdarg.h    stdatomic.h
stdbool.h   stddef.h    stdint.h    stdio.h
stdlib.h    string.h    time.h      wchar.h

Usage

#include <stdint.h>
#include <stdbool.h>

int main(void) {
    int64_t big = 9223372036854775807LL;
    bool flag = true;
    return 0;
}

See also

  • Data Types
  • Native H-Lib Containers - Overview
  • PBXB64 Compiler Help


C DEFINE - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Preprocessor PBXB64 Compiler Help

C DEFINE

Category: C frontend reference

Chapter: C Preprocessor

Syntax

#define N 42

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C DO WHILE - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Control Flow PBXB64 Compiler Help

C DO WHILE

Category: C frontend reference

Chapter: C Control Flow

Syntax

do { i++; } while (i < 10);

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C ENUM - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Data Types PBXB64 Compiler Help

C ENUM

Category: C frontend reference

Chapter: C Data Types

Syntax

enum Color { RED, GREEN = 4 };

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C EXTERN - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Variables & Constants PBXB64 Compiler Help

C EXTERN

Category: C frontend reference

Chapter: C Variables & Constants

Syntax

extern int puts(const char *);

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C FLOAT - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Data Types PBXB64 Compiler Help

C FLOAT

Category: C frontend reference

Chapter: C Data Types

Syntax

double x = 3.14;

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C FOR - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Control Flow PBXB64 Compiler Help

C FOR

Category: C frontend reference

Chapter: C Control Flow

Syntax

for (int i = 0; i < 10; i++) { }

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C FUNCTION - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Functions PBXB64 Compiler Help

C FUNCTION

Category: C frontend reference

Chapter: C Functions

Syntax

int add(int a, int b) { return a + b; }

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C FUNCTION POINTER - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Functions PBXB64 Compiler Help

C FUNCTION POINTER

Category: C frontend reference

Chapter: C Functions

Syntax

int (*fp)(int) = f; fp(1);

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C GOTO - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Control Flow PBXB64 Compiler Help

C GOTO

Category: C frontend reference

Chapter: C Control Flow

Syntax

goto done; done: return 0;

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C IF - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Control Flow PBXB64 Compiler Help

C IF

Category: C frontend reference

Chapter: C Control Flow

Syntax

if (x) { return 1; } else { return 0; }

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C IFDEF - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Preprocessor PBXB64 Compiler Help

C IFDEF

Category: C frontend reference

Chapter: C Preprocessor

Syntax

#ifdef NAME

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C INCLUDE - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Preprocessor PBXB64 Compiler Help

C INCLUDE

Category: C frontend reference

Chapter: C Preprocessor

Syntax

#include <stdio.h>

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C INITIALIZER - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Variables & Constants PBXB64 Compiler Help

C INITIALIZER

Category: C frontend reference

Chapter: C Variables & Constants

Syntax

int a[3] = {1, 2, 3};

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C INT - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Data Types PBXB64 Compiler Help

C INT

Category: C frontend reference

Chapter: C Data Types

Syntax

int x = 42; unsigned long long y = 1;

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C LINE FILE - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Preprocessor PBXB64 Compiler Help

C LINE FILE

Category: C frontend reference

Chapter: C Preprocessor

Syntax

__LINE__

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C MATH H - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C MATH H

Category: C frontend reference

Chapter: Overview

Syntax

#include <math.h>

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C POINTER - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Pointers & Arrays PBXB64 Compiler Help

C POINTER

Category: C frontend reference

Chapter: C Pointers & Arrays

Syntax

int *p = &x; *p = 3;

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C RETURN - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Functions PBXB64 Compiler Help

C RETURN

Category: C frontend reference

Chapter: C Functions

Syntax

return 42;

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C SIGNAL H - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C SIGNAL H

Category: C frontend reference

Chapter: Overview

Syntax

#include <signal.h>

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C SIZEOF - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Pointers & Arrays PBXB64 Compiler Help

C SIZEOF

Category: C frontend reference

Chapter: C Pointers & Arrays

Syntax

sizeof(int)

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C STATIC - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Variables & Constants PBXB64 Compiler Help

C STATIC

Category: C frontend reference

Chapter: C Variables & Constants

Syntax

static int counter;

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C STD - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Preprocessor PBXB64 Compiler Help

C STD

Category: C frontend reference

Chapter: C Preprocessor

Syntax

PBXB64 -std=c17 file.c

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C STDIO - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C STDIO

Category: C frontend reference

Chapter: Overview

Syntax

#include <stdio.h>

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C STDLIB H - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C STDLIB H

Category: C frontend reference

Chapter: Overview

Syntax

#include <stdlib.h>

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C STRING H - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C STRING H

Category: C frontend reference

Chapter: Overview

Syntax

#include <string.h>

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C STRUCT - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Structures & Unions PBXB64 Compiler Help

C STRUCT

Category: C frontend reference

Chapter: C Structures & Unions

Syntax

struct Point { int x; int y; };

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C SWITCH - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Control Flow PBXB64 Compiler Help

C SWITCH

Category: C frontend reference

Chapter: C Control Flow

Syntax

switch (x) { case 1: return 2; default: return 0; }

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C TIME H - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › Overview PBXB64 Compiler Help

C TIME H

Category: C frontend reference

Chapter: Overview

Syntax

#include <time.h>

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C TYPEDEF - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Data Types PBXB64 Compiler Help

C TYPEDEF

Category: C frontend reference

Chapter: C Data Types

Syntax

typedef int Count;

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C UNION - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Structures & Unions PBXB64 Compiler Help

C UNION

Category: C frontend reference

Chapter: C Structures & Unions

Syntax

union U { int i; float f; };

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C VARIADIC - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Functions PBXB64 Compiler Help

C VARIADIC

Category: C frontend reference

Chapter: C Functions

Syntax

printf("%d", x);

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


C WHILE - PBXB64 Compiler Help

Home › Language Frontends › C Frontend › C Control Flow PBXB64 Compiler Help

C WHILE

Category: C frontend reference

Chapter: C Control Flow

Syntax

while (i < 10) { i++; }

Description

Category: C frontend reference

V15 status

This topic documents the PBXB64 C frontend. Current compile and link/run lanes define the supported boundary; unqualified C17 behavior must not be inferred from the historical reference.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CADD - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CADD

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CADD$( left, right )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CALL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CALL

Invoke a procedure (

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CALL ProcName [([ arguments ])] [TO result_var ]

Description

Invoke a procedure (

Kind: Statement | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The CALL statement has the following parts:

ProcName

The name of a Sub, Function, Method, Property, or FastProc defined elsewhere in the program.

arguments

An optional, comma-delimited list of variables , expressions, and constants to be passed to the procedure as parameters, for up to 32 parameters. If the CALL keyword is used, the arguments must be enclosed in parentheses.

You can omit the CALL keyword. If you do so, you may also omit the parentheses surrounding arguments. For example, the following lines are equivalent:

CALL MyProc(parm1, parm2)

MyProc(parm1, Parm2)

MyProc parm1, parm2

However, if the first parameter argument is enclosed in parentheses for any reason, the entire parameter list must be enclosed in parentheses. For example:

MyProc (3+z, b) ' Valid syntax

MyProc ((3+z), b) ' Valid syntax

MyProc (3+z), b ' Invalid syntax

This updated syntax now permits macros to be called using the SUB-style convention if/when the macros expand directly to Function calls. For example:

MACRO sm(Msg) = SendMessage(a, Msg, b, c)

can be called like this (when the return value is not required):

In all cases, the number and type of parameters passed must agree with the arguments in procedure definition.

V ariant Arguments

Y ou can think of a Variant as a kind of container, which can hold a variable of most any data type. If you call a procedure which requires a variant for one or more of its arguments, PowerBASIC will automatically convert a standard data type into a variant data type.

While a variant may not normally contain a UDT , PowerBASIC offers a special methodology to do so. At programmer direction, a TYPE may be assigned to a variant (as a byte string ) by using:

[LET] VrntVar = TypeVar AS STRING

In the same manner, a UDT argument can be auto-converted to the variant type by appending AS STRING:

CALL ProcName(UDTVar AS STRING)

The data contained in the User-Defined Type variable (UDT) is stored in the variant argument as a dynamic string of bytes (vt_bstr). When you retrieve that UDT data (with Variant$ ), PowerBASIC understands the content and handles it accurately. However, other programming languages may not understand this technique, so it should be limited to PowerBASIC applications. This methodology is implemented in all of the PowerBASIC COLLECTION objects as it greatly enhances ease of coding and performance of the final executable.

Passing Parameters

In a procedure definition, every parameter is described by the data type, and the format used to pass it. The type may be any normal variable type, such as long, string, User-Defined Type, etc. The passing format describes how the value is presented to the procedure: by reference (BYREF), by value (BYVAL), or by reference to a copy (BYCOPY).

When a parameter is passed by reference, it consists of a 4-byte address of the data. In this case, the original data can be modified by the procedure.

When a parameter is passed by value, it consists of an actual copy of the data. Since the parameter is a copy, the original data cannot be modified by the procedure.

When you pass parameters from the calling code with an explicit BYVAL, you effectively switch off the compilers type-checking for that parameter. This can be useful in cases where the called code is expecting a BYREF parameter, and you wish to pass an address of another data type that would trigger a compile-time error without the BYVAL method. For example:

SUB TheSub(x AS STRINGZ) ' Address of x expected

[ statements ]

END SUB

[ statements ]

DIM a$

a$ = "Dynamic string data"

CALL TheSub(BYVAL STRPTR(a$)) ' Pass data address

BYCOPY

A parameter passed by copy is a special case; somewhat of a hybrid of the other two methods. When a procedure expects a parameter to be passed by reference, it expects to see a pointer to the data. In some cases, such as when the parameter is a calculated expression, it is not precisely possible to pass a pointer, since an expression result is a temporary value that does not exist in a permanent memory location. On the other hand, if you wish to ensure that the original data is not modified by the procedure, you can place a BYCOPY override in the arguments list.

In both cases, a copy of the data is stored in a temporary memory location, and the parameter consists of a 4-byte address of this temporary location. Another way to force BYCOPY is to enclose a variable name in parentheses, so it will appear to the compiler as an expression, rather than just a single variable.

Unless declared otherwise, parameters default to BYREF passing method. Expressions and constants are always passed BYCOPY. Fixed length strings , User-Defined Types , and full arrays are always passed BYREF.

CALL MySub (i&) ' i& is passed by reference

CALL MySub (BYREF i&) ' i& is passed by reference

CALL MySub (BYCOPY i&) ' i& is passed by copy

CALL MySub ((i&)) ' i& is passed by copy

Unless declared otherwise, parameters default to the BYREF passing method. Expressions and constants are always passed BYCOPY. Full arrays are always passed BYREF.

Entire arrays are specified by using an empty set of parentheses after the array, while individual array elements are specified by subscript index number. For example:

CALL SumArray(a()) ' pass entire array 'a'

CALL SumArray(a(3)) ' pass element 3 of array 'a'

The CALL statement can be used to invoke functions, subs, methods, properties, or fastprocs. In this case, the return value of the function is simply discarded, unless the TO keyword is used to specify a return variable.

If a procedure expects a parameter by reference, it is possible to substitute a pointer by value, for the identical result. This is particularly useful with Fixed-length strings and Types:

DECLARE SUB a(z%)

DIM MyInt AS INTEGER, x AS INTEGER PTR

x = VARPTR(MyInt)

CALL a(MyInt)

CALL a(BYVAL x)

CALL a(BYVAL VARPTR(MyInt))

Of course, if the procedure is expecting a parameter by value, you may not pass the pointer, but rather the pointer target (i.e., CALL a(@x)).

PowerBASIC compilers have a limit of 32 parameters per SUB, FUNCTION, METHOD, and PROPERTY. To pass more than 32 parameters, construct a User-Defined Type (UDT) and pass (the address of) the UDT by reference (BYREF) instead.

Fixed-length strings, STRINGZ strings, and User-Defined Types/Unions may also be passed as BYVAL or OPTIONAL parameters, now. Try to avoid passing large items BYVAL, as it's terribly inefficient, and there is a maximum size limit of 64 Kb for a given parameter list. Arrays cannot be passed BYVAL.

When a procedure definition specifies either a BYREF parameter or a pointer variable parameter, the calling code may freely pass a BYVAL DWORD or a Pointer instead. While the use of the explicit BYVAL override in the calling code is optional, it is recommended for clarity. It is necessary to explicitly declare all pointer parameters as BYVAL (i.e., BYVAL X AS BYTE PTR). Failure to do so will generate a compile-time Error 549 ("BYVAL required with pointers").

A procedure may also be imported and exported within the same module. That is, a function in the module may be stated as EXPORT, while a DECLARE in the same module specifies it as an imported function by the option LIB "XXX.DLL", provided that XXX.DLL is the name of the module. This may be particularly valuable when you wish to build an #INCLUDE file with all of the DECLARE statements for a project.

For information on using OPTIONAL parameters, please see DECLARE , FUNCTION , METHOD , PROPERTY and SUB topics.

NOTHING

The reserved word NOTHING can be used to replace any OBJECT variable parameter. In this case, the compiler passes a null object (or a pointer to a null object if BYREF) in place of a typical parameter. While this simplifies some programming issues, the technique must be used with caution. If the target METHOD or FUNCTION is not expecting a null parameter, it could cause a fatal error condition.

TO result_var

This offers an optional way to assign a function return value to result_var . For example, the following code assigns the return value to x% in two different ways:

x% = MyFunCall

CALL MyFunCall TO x%

Restrictions

A thread Function may not be directly called or executed, except by a THREAD CREATE statement.

See also

  • CALL DWORD
  • DECLARE
  • FASTPROC/END FASTPROC statements
  • FUNCTION/END FUNCTION statements
  • METHOD / END METHOD statements
  • PROPERTY / END PROPERTY
  • SUB/END SUB statements
  • THREAD CREATE
  • PBXB64 Compiler Help


CALL DWORD - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CALL DWORD

Invoke a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CALL DWORD TargetPtr
CALL DWORD TargetPtr USING abc ([ arguments ]) [TO result_var ]

Description

Invoke a

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

CALL DWORD is an essential ingredient for implementing run-time (explicit) dynamic linking of DLLs , rather than the more common load-time (implicit) linking. This provides a way of constructing calls to APIs and DLLs that may not be present in all versions of Windows. This technique ensures that an application can start up successfully, even if Windows cannot resolve the location of the API or DLL function.

The first (simplified) form of CALL DWORD may be used if the target Sub/Function takes no parameters and offers no return value. It also requires STDCALL (SDECL ) calling conventions, which is used by the vast majority (99%+) of import procedures. In all other cases, you must use the second form, with a USING clause to define the signature of the target Sub/Function.

TargetPtr

A Double-word , Long-integer , or pointer variable that contains the address of the entry point of a procedure (Sub or Function). If the target Sub/Function is located in the same module, you can retrieve the address with the CODEPTR function. If it's located in an external DLL, use IMPORT ADDR to load it and get the address.

This option is used to define a model procedure declaration which matches all of the calling conventions desired to be used to invoke the target Sub/Function. For example, the following two calls to the function MySubCall are equivalent:

DECLARE SUB MySubCall

DIM PtrMySubCall AS DWORD

PtrMySubCall= CODEPTR(MySubCall)

[ statements ]

CALL MySubCall

CALL DWORD PtrMySubCall USING MySubCall

arguments

An optional, comma-delimited list of variables , expressions, and constants to be passed to the procedure as parameters. In the CALL DWORD context, enclosing parentheses are required. The number and type of parameters passed must agree with the arguments of the procedure named by the USING clause. See CALL for more information on parameter passing methods.

TO result_var

When calling a Function which returns a value, the TO keyword offers a way to assign the function return value to result_var .

Restrictions

Thread Functions and Callback Functions may not be invoked with CALL DWORD. The DECLARE model for the USING clause may not specify a LIB or IMPORT option.

See also

  • CALL
  • CODEPTR
  • DECLARE
  • FASTPROC/END FASTPROC statements
  • FUNCTION/END FUNCTION statements
  • IMPORT ADDR
  • SUB/END SUB statements
  • THREAD CREATE
  • PBXB64 Compiler Help


Callbacks - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Callbacks

A callback is a Function called by Windows when an event occurs. In the previous modal dialog example , when the OK button is clicked by the user, Windows calls the OkButton() function. PowerBASIC's D

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A callback is a Function called by Windows when an event occurs. In the previous modal dialog example , when the OK button is clicked by the user, Windows calls the OkButton() function. PowerBASIC's D

Kind: Keyword | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

If you've used Visual Basic, you'll be familiar with the concept of a Control Callback even though it's not called by that name. A Control Callback is a function that is called when a %WM_COMMAND or %WM_NOTIFY event is generated for a particular control. In the earlier example , we arranged it so the OkButton() function was called when the OK button was clicked. Further, when the Cancel button was clicked, the CancelButton() function was called. A Control Callback function is enabled when you execute a CONTROL ADD statement using the CALL CtlProc option at the end.

CONTROL ADD BUTTON, hDlg, %IDOK, "OK", 34, 32, 40, 14, %BS_DEFAULT OR %WS_TABSTOP CALL OkButton

CONTROL ADD BUTTON, hDlg, %IDCANCEL, "Cancel", 84, 32, 40, 14 CALL CancelButton

Back to command index


CALLSTK$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CALLSTK$

Retrieve the details of a specific

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

sfname$ = CALLSTK$( n )

Description

Retrieve the details of a specific

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

CALLSTK$(1) returns the name of the current Sub , Function , Method , or Property , and the value of each of the parameters at the time it was called. CALLSTK$(2) returns the name of the procedure which called the current one, as well as its parameters. Likewise, CALLSTK$(3) returns the one above it, and so forth.

If the CALLSTK$( n ) parameter is outside the range of one (1) through the number of stack frames identified by CALLSTKCOUNT , an empty string is returned. parameters are displayed in decimal, while pointer and array parameters display a decimal representation of the offset of the target value.

Restrictions

The CALLSTK$ function can be invaluable during debugging , but it generates substantial extra code which should be avoided in a final release version of an application. If the source code contains #TOOLS OFF , all CALLSTK$ functions which remain in the program return an empty string.

The CALLSTK$ function is "thread-aware", returning only stack frame details from the thread in which it was referenced.

See also

  • #TOOLS
  • CALLSTKCOUNT
  • FUNCNAME$
  • PROFILE
  • TRACE
  • PBXB64 Compiler Help


CALLSTKCOUNT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CALLSTKCOUNT

Retrieve the number of

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

count& = CALLSTKCOUNT

Description

Retrieve the number of

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

CALLSTKCOUNT returns a Long-integer value that represents the total number of stack frames that currently exist on the application call stack.

Retrieve individual stack frame details with the CALLSTK$ function, or write them all to a disk file with the CALLSTK statement.

Restrictions

The CALLSTKCOUNT function, when used in conjunction with the CALLSTK$ function, can be invaluable during debugging , but its use generates substantial extra code which should be avoided in a final release version of an application. If the source code contains #TOOLS OFF , all CALLSTKCOUNT functions which remain in the program return zero.

The CALLSTKCOUNT function is "thread-aware", returning only the stack frame count from the thread in which it was referenced.

See also

  • #TOOLS
  • CALLSTK$
  • FUNCNAME$
  • PROFILE
  • TRACE
  • PBXB64 Compiler Help


CASE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CASE

Label a SELECT CASE branch

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CASE expression [, expression ...]
CASE expression TO expression
CASE IS comparison expression
CASE ELSE

Description

Label a SELECT CASE branch

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The CASE statement introduces one branch of a SELECT CASE block. The selector expression is compared against each CASE list; the first matching block executes, then control jumps to the statement after END SELECT.

Generated Assembly

Compile with:

PBXB64 example.pb --asmout example.asm
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 1
    sete r10
    mov rbx, r10
    test rbx, rbx
    jne pb_case_body_PBMAIN_0
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 2
    sete r10
    mov rbx, r10
    test rbx, rbx
    jne pb_case_body_PBMAIN_1
    jmp pb_case_else_PBMAIN_2
pb_case_body_PBMAIN_0:
    mov [rbp-16], 10
    jmp pb_select_end_PBMAIN_3
pb_case_body_PBMAIN_1:
    mov [rbp-16], 20
    jmp pb_select_end_PBMAIN_3
pb_case_else_PBMAIN_2:
    mov [rbp-16], 0
    jmp pb_select_end_PBMAIN_3
pb_select_end_PBMAIN_3:

Notes

Ranges use TO and comparisons use IS. Fall-through between cases does not occur.

Example

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 2
    SELECT CASE x
        CASE 1
            FUNCTION = 10
        CASE 2
            FUNCTION = 20
        CASE ELSE
            FUNCTION = 0
    END SELECT
END FUNCTION

See also

  • SELECT CASE/END SELECT
  • CASE ELSE
  • BASIC Control Flow
  • PBXB64 Compiler Help


CASE ELSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CASE ELSE

Default branch of SELECT CASE

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CASE ELSE
  [statements]

Description

Default branch of SELECT CASE

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

CASE ELSE is the optional final branch of a SELECT CASE block. It executes when none of the preceding CASE expressions match the selector.

Generated Assembly

Compile with:

PBXB64 example.pb --asmout example.asm
    ; ... earlier CASE tests ...
    jmp pb_case_else_PBMAIN_2
pb_case_body_PBMAIN_0:
    mov [rbp-16], 10
    jmp pb_select_end_PBMAIN_3
pb_case_else_PBMAIN_2:
    mov [rbp-16], 0
    jmp pb_select_end_PBMAIN_3
pb_select_end_PBMAIN_3:

Notes

If no CASE matches and CASE ELSE is omitted, execution continues after END SELECT.

Example

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 99
    SELECT CASE x
        CASE 1
            FUNCTION = 10
        CASE ELSE
            FUNCTION = 0
    END SELECT
END FUNCTION

See also

  • SELECT CASE/END SELECT
  • CASE
  • BASIC Control Flow


CATCH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CATCH

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

TRY
  ERROR 5
CATCH
  RESUME NEXT
END TRY

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CB Callback functions - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CB Callback functions

In a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CtlID = CB.CTL
CtlMsg = CB.CTLMSG
WinHndl = CB.HNDL
Value = CB.LPARAM
Msg = CB.MSG
Value = CB.WPARAM
CodeMsg = CB.NMCODE
NmPtr = CB.NMHDR
NmStruc = CB.NMHDR$
NmHndl = CB.NMHWND
NmID = CB.NMID

Description

In a

Kind: Function | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

When an event occurs (like a user clicking on a button , a character typed into a text box , etc.) Windows sends a message to the control Callback Function, or the Dialog Callback Function. The CB functions are used to easily retrieve information about the message. These CB functions can only be used within a callback function.

Callback functions in Windows have a standard set of four parameters. For this reason, PowerBASIC allows you to ignore them and save some typing in your source code. The implied parameters are:

FUNCTION DlgCallback(BYVAL hDlg AS DWORD _

BYVAL wMsg AS LONG _

BYVAL wParam AS LONG _

BYVAL lParam AS LONG)

Generic Callback Functions

CB.HNDL

This function returns the window handle of the parent dialog. This is the value specified by the hDlg parameter above.

CB.MSG

Each type of message sent to your callback function has a unique numeric value, such as %WM_COMMAND, %WM_NOTIFY, etc. CB.MSG will return the actual numeric message value of the message being processed. The definitions of the numeric values in other CB functions (CB.LPARAM, CB.WPARAM, CB.CTL, etc.) can only be ascertained once CB.MSG is identified. Therefore, callback functions usually test the value of CB.MSG first.

CB.WPARAM

When Windows sends a message to a callback function, the wParam value contains different values, depending on the nature of the particular message (CB.MSG). In other words, CB.WPARAM returns a message-dependent value.

CB.LPARAM

When Windows sends a message to a callback function, the lParam value contains different values, depending on the nature of the particular message (CB.MSG). In other words, CB.LPARAM returns a message-dependent value.

%WM_COMMAND Specific Callback Functions

CB.CTL

If CB.MSG = %WM_COMMAND, this function returns the ID number assigned to the control with the CONTROL ADD statement. For other values of CB.MSG, it returns message-dependent values. This value is sent as the low-order word of the wParam parameter. It's functionally equivalent to LO (WORD, wParam&) in a conventional function, or LO(WORD, CB.WPARAM) in a DDT Callback Function.

CB.CTLMSG

If CB.MSG = %WM_COMMAND, this function returns the specific control message describing the event which occurred. For example, CB.CTLMSG returns %BN_CLICKED when the user clicks a button. For other values of CB.MSG, it returns message-dependent values. This value is sent as the high-order word of the wParam parameter. It's functionally equivalent to HI (WORD, wParam&) in a conventional function, or HI(WORD, CB.WPARAM) in a DDT Callback Function.

%WM_NOTIFY Specific Callback Functions

CB.NMCODE

If CB.MSG = %WM_NOTIFY, this function returns the specific notification message describing the event which occurred. For example, CB.NMCODE retu rns %NM_SETFOCUS when the described control gains the focus . For other values of CB.MSG, the value returned is meaningless.

CB.NMHDR

If CB.MSG = %WM_NOTIFY, this function returns the address ( a pointer ) to the NMHDR UDT for this notification message. NMHDR is defined as:

Type NMHDR

hwndFrom as DWord ' Handle of the control sending the message

idfrom as DWord ' Identifier of the control sending the message

code as Long ' Notification code

End Type

Some notification messages (%NM_CHAR, %NM_CLICK, etc.) require an extended version of the NM structure. However, all NM structures begin with an NMHDR UDT, so the pointer returned here is always accurate. For other values of CB.MSG, the pointer returned by CB.NMHDR is meaningless.

CB.NMHDR$

If CB.MSG = %WM_NOTIFY, this function returns the contents of the NMHDR UDT as a dynamic string . If the notification message is one which requires an extended version of the NM structure, the string returned contains all of the data for the extended UDT. However, in all cases, the first 12 bytes of the returned string will be the contents of NMHDR. You can use TYPE SET to assign the string data to an appropriate user-defined type. For other values of CB.MSG, the string returned by CB.NMHDR$ is meaningless.

The following notification messages use the extended NM structures as listed, so an appropriately longer string is returned:

Message

%NM_CLICK

NMMOUSE

%NM_RCLICK

NMMOUSE

%NM_NCHITTEST

NMMOUSE

%NM_KEYDOWN

%NM_SETCURSOR

NMMOUSE

%NM_CHAR

NMCHAR

%NM_TOOLTIPSCREATED

NMTOOLTIPSCREATED

Other special notify messages may use a different extended NM structure than those listed above. To ensure compatibility, you can include an optional numeric parameter to specify the size of the special UDT you are using:

TYPE SET NotifyUDT = CB.NMHDR$(sizeof(NotifyUDT))

CB.NMHWND

If CB.MSG = %WM_NOTIFY, this function returns the handle of the control which sent this message. For other values of CB.MSG, the value returned is meaningless.

CB.NMID

If CB.MSG = %WM_NOTIFY, this function returns the ID number assigned to this control. For other values of CB.MSG, the value returned is meaningless.

Restrictions

These functions are only valid inside a Callback Function. The CB Callback functions replace CBMSG, CBHNDL, CBLPARAM, CBWPARAM, CBCTL, and CBCTLMSG . Note these functions are no longer supported, so update your code to use the new syntax.

See also

  • Callbacks
  • Dynamic Dialog Tools (DDT)
  • PBXB64 Compiler Help


CBRT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CBRT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(CBRT(-8.0) + 2.0) > 0.0001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CBYT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CBYT

Convert a value to specific

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

bytevar? = CBYT( numeric_expression )
currencyvar@ = CCUR( numeric_expression )
currencyextvar@@ = CCUX( numeric_expression )
doublevar# = CDBL( numeric_expression )
doublewordvar??? = CDWD( numeric_expression )
extendedvar## = CEXT( numeric_expression )
integervar% = CINT( numeric_expression )
longintvar& = CLNG( numeric_expression )
quadintvar&& = CQUD( numeric_expression )
singlevar! = CSNG( numeric_expression )
wordvar?? = CWRD( numeric_expression )

Description

Convert a value to specific

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Each of these functions converts a numeric expression to a particular variable type. In each case, numeric_expression must be within the legal range for the result type. The numeric_expression will be rounded if necessary.

Function

Result type

Currency

Extended-currency

Double-precision floating-point

Double-word

Extended-precision floating-point

Integer

Long-integer

Quad-integer

Single-precision floating-point

These conversion functions are rarely needed as PowerBASIC automatically performs any necessary conversions when executing an assignment statement or passing parameters. For example:

e% = f#

is equivalent to:

e% = CINT(f#)

In the case of the functions that convert to integral class values, the fractional part of the number is rounded. If the fractional part is exactly .5 then it rounds to the nearest even integral value. For example, CINT(1.5) returns 2, CINT(.5) returns 0, and CLNG(-0.6) returns -1.

Restrictions

CSNG limit string display to 7 significant digits.

Example

#COMPILE EXE
#DIM ALL
' math_cast_rounding
FUNCTION PBMAIN() AS LONG
  IF (CINT(3.7)) <> (4) THEN FUNCTION = 1: EXIT FUNCTION
  IF (CLNG(3.7)) <> (4) THEN FUNCTION = 2: EXIT FUNCTION
  IF (CSNG(3.7)) <> (4) THEN FUNCTION = 3: EXIT FUNCTION
  IF (CDBL(3.7)) <> (4) THEN FUNCTION = 4: EXIT FUNCTION
  IF (CCUR(3.7)) <> (4) THEN FUNCTION = 5: EXIT FUNCTION
  IF (CUX(3.7)) <> (4) THEN FUNCTION = 6: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • CEIL
  • CVBYT
  • FIX
  • INT
  • MKBYT$


CCODE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CCODE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

#CCODE
int helper(void) { return 42; }
#ENDC

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CCONJ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CCONJ

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CCONJ$( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CCOS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CCOS

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CCOS$( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CDIV - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CDIV

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CDIV$( numerator, denominator )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CEIL - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

CEIL

Convert a floating

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

intvar = CEIL( numeric_expression )

Description

Convert a floating

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The CEIL function rounds upward, returning the smallest integral value that is greater than or equal to numeric_expression . For example, y = CEIL(1.5) places the value 2 into y .

Example

#COMPILE EXE
#DIM ALL
' math_ceil_basic
FUNCTION PBMAIN() AS LONG
  IF ((CEIL(1.1)) < (2.0000000000) - 0.0001) OR ((CEIL(1.1)) > (2.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((CEIL(-1.1)) < (-1.0000000000) - 0.0001) OR ((CEIL(-1.1)) > (-1.0000000000) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((CEIL(0.0)) < (0.0000000000) - 0.0001) OR ((CEIL(0.0)) > (0.0000000000) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • CBYT
  • FIX
  • FRAC - Real Fractional Part
  • INT
  • ROUND


CEXP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CEXP

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CEXP$( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CHAIN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CHAIN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

CHAIN command$
result& = CHAIN(command$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Characters, Strings, and Unicode - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Characters, Strings, and Unicode

A string consists of a set of zero or more characters. A character is an alphabetic letter, a number, a punctuation mark, or even non-printing control codes, which usually aid in formatting the text.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A string consists of a set of zero or more characters. A character is an alphabetic letter, a number, a punctuation mark, or even non-printing control codes, which usually aid in formatting the text.

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

This representation is convenient, since a string of text characters can be readily stored as a series of small integral numbers. For example, the word "Hello" is stored as 72, 105, 108, 108, 111. Couldn't be any simpler. How are the numbers assigned and associated? It's just a matter of mutual consent by those who use them. As long as everyone agrees on the associations, the system works well. That said, we have experienced a certain amount of growing pains over the years. With the global growth of computer use, larger character sets are needed to represent the necessary characters. We have clearly reached the point where every programmer must consider alternate character sets for his applications. Failure to do so can carry severe penalties. When you find you can no longer read data files from an outside source, or can no longer read text from the Internet, it will be too late. The following sections describe the most-common and most-used character sets.

ASCII was the first character set to be used on small computers. In fact, all of the other sets described here use ASCII codes as-is for a base. ASCII is a set of 128 characters, numbered from 0 to 127. It was designed for American English, so it defines only unaccented letters, numbers, punctuation, and control codes. As long as you only need English text, ASCII works fairly well.

ASCII needs just 7 bits of storage per character, so it was convenient to store each character in a byte . The last bit was simply ignored. Of course, that meant that the values from 128 to 255 were unused. That void wouldn't last long.

Back to command index


CHDIR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CHDIR

Change the current (default) directory on the default drive, or any other drive (similar to the DOS CHDIR command). CHDIR affects only the default drive for the current program.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CHDIR path

Description

Change the current (default) directory on the default drive, or any other drive (similar to the DOS CHDIR command). CHDIR affects only the default drive for the current program.

Kind: Statement | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

path is a string expression containing either a relative or an explicit directory name. The directory name can be constructed from a (DOS-Style) Short File Name (SFN) directory name, a Long File Name (LFN) directory name, or a combination of the two. Also, path may be prefixed with a drive letter and colon (i.e., "D:") to change the current directory on a non-default drive.

The current directory is the location where your program will perform file operations by default. Thus:

CHDIR "\DATA"

changes to the \DATA subdirectory on the current drive, and:

CHDIR "..\DATA2"

changes the current directory to a directory whose parent is also the parent to the original directory. The double-period implies the parent directory.

CHDIR "J:\Program Files\Internet Explorer"

changes the current directory of Drive J. Drive J need not be the current default drive.

If path does not specify a valid directory on the target drive, a run-time Error 76 occurs ("Path not found").

A program that changes the current directory on the default drive also changes its active directory.

path may also be used with UNC names (i.e., \\server\share), but their use is subject to operating system restrictions.

Restrictions

CHDIR is not intended to change the current default drive. Use CHDRIVE instead.

See also

  • CHDRIVE
  • CURDIR$
  • MKDIR
  • RMDIR
  • PBXB64 Compiler Help


CHDRIVE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CHDRIVE

Change the current default drive.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CHDRIVE drive

Description

Change the current default drive.

Kind: Statement | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

drive is a string expression whose first character is a letter from A to the highest logical drive letter. The trailing colon (:) that DOS uses is optional in PowerBASIC. If drive does not indicate a valid drive, a run-time Error 76 occurs ("Path not found").

See also

  • CHDIR
  • CURDIR$
  • MKDIR
  • RMDIR
  • PBXB64 Compiler Help


CHEBYSHEV - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CHEBYSHEV

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = CHEBYSHEV( degree, x )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CHOOSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CHOOSE

Return one of several values, based upon the value of an index.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

y = CHOOSE( index& , choice1 [, choice2 ] ...[ELSE choice9 ])
y& = CHOOSE&( index& , choice1 [, choice2 ] ...[ELSE choice9 ])
y$ = CHOOSE$( index& , choice1 [, choice2 ] ...[ELSE choice9 ])
y = CHOOSE([BIT] index&, choice1 [, choice2 ] ...[ELSE choice9 ])
y& = CHOOSE&([BIT] index&, choice1 [, choice2 ] ...[ELSE choice9 ])
y$ = CHOOSE$([BIT] index&, choice1 [, choice2 ] ...[ELSE choice9 ])
y$ = CHOOSE$([BITS] index&, choice1 [, choice2 ] ...[ELSE choice9 ])

Description

Return one of several values, based upon the value of an index.

Kind: Function | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

These functions may take any number of choice parameters. They return one of the parameters, or a combination of them, based upon the value of index& . In the standard form, index& makes the choice based upon the sequence of the parameters. That is, if index& is one, choice1 is returned. If two, choice2 is returned, etc. If index& is not equal to one of the choice values, the default value is returned to the calling code.

CHOOSE expects choices of any numeric type. CHOOSE& expects choices optimized for an integral data type. CHOOSE$ expects choices of string type. CHOOSE% is recognized as a valid synonym for CHOOSE&.

If no match is made with one of the choice values, the value zero (0) or an empty (zero-length) string is normally returned. However, if an ELSE clause is included as the last choice, its value is returned as the default value. For example:

ChoiceVar$ = CHOOSE$(7,"ONE", "TWO" ELSE "NUL")

In this case, the ELSE expression "NUL" is returned.

If the BIT option is included, the selection is based upon the first bit set (lowest to highest) in index& . That is, the lowest bit (1) returns choice1 , the next bit (2) returns choice2 , the next bit (4) returns choice3 , the next bit(8) returns choice4 , etc. Evaluation of index& stops as soon as one set bit is found. This is particularly valuable when used with an ENUMERATION which also uses the BIT option, to describe a set of attributes for an item in your program.

This is similar to the BIT option, but is only available with the CHOOSE$() version. index& is evaluated in the same general fashion, but the function may return multiple choices, as a concatenated string, if more than one bit is set. For example:

x$ = CHOOSE$(BITS 5, "Computer ", "Laptop ", "Desktop ")

Since the value 5 consists of 2 bits (the lowest and third-lowest) set, the first and third strings are concatenated and returned to the caller. In this case, "Computer Desktop " is the result.

Restrictions

PowerBASIC only evaluates the selected choice(s) at run-time, not all of them. This ensures optimum execution speed, as well as the elimination of unanticipated side effects.

See also

  • IIF
  • MAX
  • MIN
  • SWITCH
  • SELECT CASE/END SELECT
  • PBXB64 Compiler Help


CHR$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

CHR$

Converts one or more numeric character codes (

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

s$ = CHR$( expression [, expression ] [,...])
s$ = CHR$( string_expression [,...])
s$$ = CHR$$( x& TO y& , ...)

Description

Converts one or more numeric character codes (

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The CHR$() form of the function creates a string of ANSI (1- byte ) characters. Arguments must be ANSI (1-byte) characters, or codes in the range of 0 to 255. The CHR$$() form of the function creates a string of WIDE (2-byte) characters. Arguments must be WIDE (2-byte) characters, or codes in the range of 0 to 65535.

Generally speaking, PowerBASIC handles ANSI/WIDE conversions for you, automatically and transparently. However, there are just a few functions (CHR$, PEEK$ , POKE$ , STRING$ , etc.) which are ambiguous, by definition, and require that the programmer choose the appropriate result type (ANSI or WIDE). Use CHR$ for ANSI results, or use CHR$$ for Unicode results. In the remainder of these remarks, CHR$ is used to represent both CHR$ and CHR$$.

CHR$ creates and returns a string. There are three forms of arguments available, and they may be intermixed in a single CHR$ function. The created string may contain no characters, one character, or multiple characters, depending upon the arguments you use. You may specify any number of arguments for this function.

If the argument is a numeric expression, it is translated into the character defined by that number. A character code of -1 is treated as a special case. If you use it as an argument, CHR$ returns an empty (zero length) string for that character. For example, CHR$(65, -1, 66) returns "AB".

CHR$(x& TO y&) returns a sequence of all characters from CHR$(x&) through CHR$(y&) inclusive. The characters may be ascending or descending in sequence. For example, CHR$(65 TO 70) returns the string "ABCDEF". CHR$(52 T0 50) returns the string "432", and CHR$(65 TO 65) returns the string "A".

If the argument is a string expression, the characters are simply copied into the newly created string at the specified position. The expanded CHR$ definition is intended to assist in the encoding of longer strings, to avoid the need for concatenation operations.

For example, the CHR$ function can be used to create COLLATE strings for the ARRAY SORT and ARRAY SCAN statements at run-time, and can be used to create string equates at compile time:

$colstring = CHR$(0 TO 131, 97, 133 TO 255)

The following lines are functionally equivalent, and return the same string result:

a$ = CHR$("Line1", 13, 10, "Line2")

a$ = "Line1" & CHR$(13) & CHR$(10) & "Line2"

a$ = "Line1" & $CRLF & "Line2"

CHR$ complements the ASC function, which returns the numeric character code of a nominated character in a string.

See also

  • ARRAY SCAN
  • ARRAY SORT
  • ASC
  • NUL$
  • SPACE$
  • STRING$
  • PBXB64 Compiler Help


CHRBYTES - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CHRBYTES

Determine the size of a single character in a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

siz& = CHRBYTES( MyStringVar )

Description

Determine the size of a single character in a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This function is used to determine whether a particular string variable contains ANSI characters or Unicode (wide) characters, ANSI characters are stored in 1 byte , so the function returns 1 if the variable is a dynamic string , stringz , string*n , or field string . Unicode characters are stored in 2 bytes, so the function returns 2 if the variable is a wstring , wstringz , wstring*n , or wfield string . This function may be particularly valuable in some macros which use string variables.

See also

  • LEN
  • SIZEOF
  • PBXB64 Compiler Help


ChrToOem$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ChrToOem$

Translates a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

o$ = ChrToOem$( AnsiOrWide$ )

Description

Translates a string

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

AnsiOrWide$ contains a series of ANSI characters or WIDE (16-bit) characters, ChrToOem$ translates it into OEM byte characters.

See also

  • OemToChr$
  • ChrToUtf8$
  • Utf8ToChr$
  • PBXB64 Compiler Help


ChrToUtf8$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ChrToUtf8$

Translates a string of

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

o$ = ChrToUtf8$( AnsiOrWide$ )

Description

Translates a string of

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

AnsiOrWide$ contains a series of ANSI characters or WIDE (16-bit) characters, ChrToUtf8$ translates it into UTF-8 byte characters.

See also

  • ChrToOem$
  • OemToChr$
  • Utf8ToChr$
  • PBXB64 Compiler Help


CIMAG - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CIMAG

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CIMAG$( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CLASS/END CLASS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CLASS/END CLASS

Create the code and data for an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CLASS name [ $GUID ] [COMMON] [OPTIMIZE] [AS COM | AS EVENT]
Class Method code blocks...
INSTANCE ClassName AS STRING
INTERFACE name $GUID [AS EVENT]
INHERIT IUNKNOWN
Method and Property code blocks...
END INTERFACE
EVENT SOURCE interface-name
END CLASS

Description

Create the code and data for an

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

CLASS / END CLASS statements enclose the Interface implementation(s) and Instance variable declarations of a Class . METHOD and PROPERTY blocks contain the code to be executed on an object. INSTANCE statements define the variables which are unique to each instance of an object of this class.

The name and optional $GUID are supplied by the programmer to identify the class. By default, a class is considered private, so that the methods are accessible only from within the EXE or DLL where it is defined. The AS COM attribute makes the class available externally, to virtually any process which is COM -aware.

With a private class, the $GUID may be freely omitted, as PowerBASIC can readily identify the class by name. With a published COM class, you should insert a specific GUID of your choice. If omitted, a random GUID will be created by the compiler, but it will change every time you compile the program. This will be difficult to synchronize with other programs which wish to identify and access your object.

COMMON

The optional COMMON descriptor may be included to specify that this class may be freely referenced by and between linked unit modules (Host/Main or SLL ). This has the added side effect of ensuring that the class will not be removed by #OPTIMIZE CODE ON .

AS EVENT

If a class is an Event Source (it generates events rather than handling events), one or more EVENT SOURCE statements are included to name the event interfaces. The event interfaces must be declared and implemented separately. An event is generated by executing a RAISEEVENT statement or an OBJECT RAISEEVENT statement in the class. If a class is an Event Handler (it contains code to handle an event generated by an Event Source), the AS EVENT attribute must appear on the CLASS statement and each INTERFACE statement. An Event Handler is also known as an "Event Sink", using COM terminology.

OPTIMIZE

With code optimization enabled ( #OPTIMIZE CODE ON) , PowerBASIC removes code for subs and functions which are not called. Where possible, this technique is even applied to individual methods and property methods within classes.

Of course, if an object variable is transferred out of the current module (to another EXE/SLL/DLL), there is no way to determine (at compile-time) which methods may be called on it at run-time, so none can be safely removed. COM, COMMON, and EVENT classes allow variables to be transferred out of the module, so they block removal of any code in the class.

The OPTIMIZE descriptor allows you to control this code optimization to a high degree. If you specify the OPTIMIZE option, you are stating that no object variables on this class will be transferred out of the module. Therefore, PowerBASIC is free to remove any code in the class which is not referenced. This is a powerful tool which can allow you to substantially reduce the size of your program.

The OPTIMIZE rules can be summarized:

See also

  • #OPTIMIZE
  • EVENT SOURCE
  • EVENTS
  • INSTANCE
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • Just what is COM?
  • METHOD / END METHOD statements
  • PROPERTY / END PROPERTY
  • RAISEEVENT
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


Save Assembly to File - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Save Assembly to File

Save generated assembly to the given file, then continue compiling and linking.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 program.c --asm:output.asm

Description

Save generated assembly to the given file, then continue compiling and linking.

Category: Output Control | Option: --asm:

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Save generated assembly to the given file, then continue compiling and linking.

When to use

Use this option when you need to save generated assembly to the given file, then continue compiling and linking.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Save Assembly to File (asmout) - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Save Assembly to File (asmout)

Write the compiler-generated x64 assembly text to a specific file and stop after code generation.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 program.pb --asmout output.asm
PBXB64 program.pb --asm:output.asm

Description

Write the compiler-generated x64 assembly text to a specific file and stop after code generation.

Category: Output Control | Option: --asmout <path> (alias: --asm:<path>)

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

No object file or executable is produced.

This is the long-form counterpart to -S. Unlike -S, which derives the output name from the input file, --asmout lets you name the assembly file explicitly.

Comparison with related options

Option | Output | Stops after
-S | <input_stem>.asm | code generation
--emit-asm | <input_stem>.asm | code generation
--asmout <path> | specified file | code generation
-c | <input_stem>.obj | assembly / object

When to use

  • Inspecting the assembly the compiler generates for a specific construct.
  • Producing ASM excerpts for documentation or bug reports.
  • Comparing output before and after an optimization change.

Example

PBXB64 example.pb --asmout example.asm

See also

  • Stop After Assembly
  • Emit Assembly Dump
  • Compile Only
  • Output Path
  • PBXB64 Compiler Help


Compile Only - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Compile Only

Compile only and produce an object file (.obj), skipping the link step.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -c module.c -o module.obj

Description

Compile only and produce an object file (.obj), skipping the link step.

Category: Output Control | Option: -c

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Compile only and produce an object file (.obj), skipping the link step.

When to use

Use this option when you need to compile only and produce an object file (.obj), skipping the link step.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


CLI CON - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

CLI CON

Category: PowerBASIC compatibility reference

Chapter: Command-Line Options

Syntax

PBXB64 -con sample.pb -o sample.exe

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CRT Mode - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

CRT Mode

Set the C runtime mode (auto, ucrt, msvcrt, none).

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --crt=ucrt program.c

Description

Set the C runtime mode (auto, ucrt, msvcrt, none).

Category: Target & Linking | Option: --crt=

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Set the C runtime mode (auto, ucrt, msvcrt, none).

When to use

Use this option when you need to set the c runtime mode (auto, ucrt, msvcrt, none).

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Define Macro - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Define Macro

Define a preprocessor macro.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -DDEBUG=1 program.c

Description

Define a preprocessor macro.

Category: Preprocessor | Option: -D

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Define a preprocessor macro.

When to use

Use this option when you need to define a preprocessor macro.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Dump IR - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Dump IR

Emit IR text without changing the compile stage.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --dump-ir program.c

Description

Emit IR text without changing the compile stage.

Category: Output Control | Option: --dump-ir

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Emit IR text without changing the compile stage.

When to use

Use this option when you need to emit ir text without changing the compile stage.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


CLI DUMP IR AFTER - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

CLI DUMP IR AFTER

Category: PowerBASIC compatibility reference

Chapter: Command-Line Options

Syntax

PBXB64 -O2 --dump-ir-after=instcombine-light sample.c -o sample.exe

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CLI DUMP IR BEFORE - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

CLI DUMP IR BEFORE

Category: PowerBASIC compatibility reference

Chapter: Command-Line Options

Syntax

PBXB64 -O2 --dump-ir-before=gvn-conservative sample.c -o sample.exe

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Dump Tokens - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Dump Tokens

Dump the lexer token stream to stdout.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --dump-tokens program.c

Description

Dump the lexer token stream to stdout.

Category: Output Control | Option: --dump-tokens

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Dump the lexer token stream to stdout.

When to use

Use this option when you need to dump the lexer token stream to stdout.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Preprocess Only - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Preprocess Only

Run the preprocessor and output expanded source to stdout.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -E program.c

Description

Run the preprocessor and output expanded source to stdout.

Category: Preprocessor | Option: -E

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Run the preprocessor and output expanded source to stdout.

When to use

Use this option when you need to run the preprocessor and output expanded source to stdout.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Emit Assembly Dump - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Emit Assembly Dump

Emit assembly listing to stdout and stop after code generation.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --emit-asm program.c

Description

Emit assembly listing to stdout and stop after code generation.

Category: Output Control | Option: --emit-asm

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Emit assembly listing to stdout and stop after code generation.

When to use

Use this option when you need to emit assembly listing to stdout and stop after code generation.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Emit AST Dump - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Emit AST Dump

Dump the abstract syntax tree to stdout for debugging.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --emit-ast program.c

Description

Dump the abstract syntax tree to stdout for debugging.

Category: Output Control | Option: --emit-ast, --dump-ast

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Dump the abstract syntax tree to stdout for debugging.

When to use

Use this option when you need to dump the abstract syntax tree to stdout for debugging.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Emit IR - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Emit IR

Emit intermediate representation text and stop after the frontend.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --emit-ir program.c

Description

Emit intermediate representation text and stop after the frontend.

Category: Output Control | Option: --emit-ir

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Emit intermediate representation text and stop after the frontend.

When to use

Use this option when you need to emit intermediate representation text and stop after the frontend.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Emit Map File - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Emit Map File

Generate a linker map file.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --emit-map program.pb

Description

Generate a linker map file.

Category: Output Control | Option: --emit-map

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Generate a linker map file.

When to use

Use this option when you need to generate a linker map file.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Emit MIR Dump - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Emit MIR Dump

Emit machine IR dump to stdout.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --emit-mir program.c

Description

Emit machine IR dump to stdout.

Category: Output Control | Option: --emit-mir

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Emit machine IR dump to stdout.

When to use

Use this option when you need to emit machine ir dump to stdout.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Emit Object File - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Emit Object File

Force object file emission; alias for -c.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --emit-obj program.c

Description

Force object file emission; alias for -c.

Category: Output Control | Option: --emit-obj

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Force object file emission; alias for -c.

When to use

Use this option when you need to force object file emission; alias for -c.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Entry Symbol - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Entry Symbol

Override the default entry point symbol.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --entry MyStart program.c

Description

Override the default entry point symbol.

Category: Target & Linking | Option: --entry

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Override the default entry point symbol.

When to use

Use this option when you need to override the default entry point symbol.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Freestanding Mode - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Freestanding Mode

Compile for a freestanding environment without runtime dependencies.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -ffreestanding program.c

Description

Compile for a freestanding environment without runtime dependencies.

Category: Diagnostics | Option: -ffreestanding

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Compile for a freestanding environment without runtime dependencies.

When to use

Use this option when you need to compile for a freestanding environment without runtime dependencies.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Hosted Mode - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Hosted Mode

Compile for a hosted environment with a full runtime (default).

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -fhosted program.c

Description

Compile for a hosted environment with a full runtime (default).

Category: Diagnostics | Option: -fhosted

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Compile for a hosted environment with a full runtime (default).

When to use

Use this option when you need to compile for a hosted environment with a full runtime (default).

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Disable Builtins - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Disable Builtins

Disable compiler builtin function optimizations.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -fno-builtin program.c

Description

Disable compiler builtin function optimizations.

Category: Diagnostics | Option: -fno-builtin

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Disable compiler builtin function optimizations.

When to use

Use this option when you need to disable compiler builtin function optimizations.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Debug Information - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Debug Information

Emit debug information into the output.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -g program.c

Description

Emit debug information into the output.

Category: Verification | Option: -g, --debug

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Emit debug information into the output.

When to use

Use this option when you need to emit debug information into the output.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


CLI GUI - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

CLI GUI

Category: PowerBASIC compatibility reference

Chapter: Command-Line Options

Syntax

PBXB64 -gui sample.pb -o sample.exe

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Show Help - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Show Help

Show command-line help and exit.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --help

Description

Show command-line help and exit.

Category: Information | Option: -h, --help

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Show command-line help and exit.

When to use

Use this option when you need to show command-line help and exit.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Include Path - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Include Path

Add a user include search path.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -I./include program.c

Description

Add a user include search path.

Category: Preprocessor | Option: -I

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Add a user include search path.

When to use

Use this option when you need to add a user include search path.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


System Include Path - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

System Include Path

Add a system include path that suppresses warnings.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -isystem./sdk program.c

Description

Add a system include path that suppresses warnings.

Category: Preprocessor | Option: -isystem

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Add a system include path that suppresses warnings.

When to use

Use this option when you need to add a system include path that suppresses warnings.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


No Default CRT - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

No Default CRT

Do not link the default C runtime.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --no-default-crt program.c

Description

Do not link the default C runtime.

Category: Target & Linking | Option: --no-default-crt

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Do not link the default C runtime.

When to use

Use this option when you need to do not link the default c runtime.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Disable Optimizations - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Disable Optimizations

Disable all optimizations; equivalent to -O0.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --NoOpt program.c

Description

Disable all optimizations; equivalent to -O0.

Category: Optimization | Option: --NoOpt

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Disable all optimizations; equivalent to -O0.

When to use

Use this option when you need to disable all optimizations; equivalent to -o0.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Output Path - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Output Path

Sets the output executable or object file path.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 program.pb -o myapp.exe

Description

Sets the output executable or object file path.

Category: Output Control | Option: -o

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Sets the output executable or object file path.

When to use

Use this option when you need to sets the output executable or object file path.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


No Optimization - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

No Optimization

No optimization. Fastest compile, easiest to debug.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -O0 program.c

Description

No optimization. Fastest compile, easiest to debug.

Category: Optimization | Option: -O0

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

No optimization. Fastest compile, easiest to debug.

When to use

Use this option when you need to no optimization. fastest compile, easiest to debug.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Basic Optimization - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Basic Optimization

Basic optimizations: dead code elimination and constant folding.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -O1 program.c

Description

Basic optimizations: dead code elimination and constant folding.

Category: Optimization | Option: -O1

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Basic optimizations: dead code elimination and constant folding.

When to use

Use this option when you need to basic optimizations: dead code elimination and constant folding.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Aggressive Optimization - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Aggressive Optimization

Aggressive optimizations: inlining, loop unrolling, register tuning.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -O2 program.c

Description

Aggressive optimizations: inlining, loop unrolling, register tuning.

Category: Optimization | Option: -O2

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Aggressive optimizations: inlining, loop unrolling, register tuning.

When to use

Use this option when you need to aggressive optimizations: inlining, loop unrolling, register tuning.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Maximum Optimization - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Maximum Optimization

Maximum optimization level; may increase binary size.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -O3 program.c

Description

Maximum optimization level; may increase binary size.

Category: Optimization | Option: -O3

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Maximum optimization level; may increase binary size.

When to use

Use this option when you need to maximum optimization level; may increase binary size.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Pedantic Mode - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Pedantic Mode

Enable strict standard compliance warnings.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -pedantic program.c

Description

Enable strict standard compliance warnings.

Category: Diagnostics | Option: -pedantic

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Enable strict standard compliance warnings.

When to use

Use this option when you need to enable strict standard compliance warnings.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Print Pipeline - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Print Pipeline

Display the compilation pipeline stages and exit.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --print-pipeline

Description

Display the compilation pipeline stages and exit.

Category: Pipeline Control | Option: --print-pipeline

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Display the compilation pipeline stages and exit.

When to use

Use this option when you need to display the compilation pipeline stages and exit.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Stop After Assembly - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Stop After Assembly

Generate assembly output (.asm) and stop before assembly.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -S program.c

Description

Generate assembly output (.asm) and stop before assembly.

Category: Output Control | Option: -S

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Generate assembly output (.asm) and stop before assembly.

When to use

Use this option when you need to generate assembly output (.asm) and stop before assembly.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Print Statistics - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Print Statistics

Print compiler statistics after compilation.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --stats program.c

Description

Print compiler statistics after compilation.

Category: Verification | Option: --stats

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Print compiler statistics after compilation.

When to use

Use this option when you need to print compiler statistics after compilation.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


C Standard Mode - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

C Standard Mode

Set the C standard mode (c89, c99, c11, c17, gnu17, etc.).

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -std=c17 program.c

Description

Set the C standard mode (c89, c99, c11, c17, gnu17, etc.).

Category: Preprocessor | Option: -std=

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Set the C standard mode (c89, c99, c11, c17, gnu17, etc.).

When to use

Use this option when you need to set the c standard mode (c89, c99, c11, c17, gnu17, etc.).

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Stop After Stage - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Stop After Stage

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --stop-after=opt program.c

Description

Category: Pipeline Control | Option: --stop-after=

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

When to use

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Syntax Check Only - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Syntax Check Only

Parse and type-check the source, then stop before IR generation.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -fsyntax-only program.c

Description

Parse and type-check the source, then stop before IR generation.

Category: Pipeline Control | Option: -fsyntax-only, --syntax-only

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Parse and type-check the source, then stop before IR generation.

When to use

Use this option when you need to parse and type-check the source, then stop before ir generation.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Target Triple - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Target Triple

Set the target triple (default: x86_64-w64-windows-gnu).

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --target x86_64-w64-windows-gnu program.c

Description

Set the target triple (default: x86_64-w64-windows-gnu).

Category: Target & Linking | Option: --target

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Set the target triple (default: x86_64-w64-windows-gnu).

When to use

Use this option when you need to set the target triple (default: x86_64-w64-windows-gnu).

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Time Stages - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Time Stages

Print timing information for each compilation stage.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --time-stages program.c

Description

Print timing information for each compilation stage.

Category: Verification | Option: --time-stages

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Print timing information for each compilation stage.

When to use

Use this option when you need to print timing information for each compilation stage.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Trace Passes - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Trace Passes

Print the name of each optimizer pass as it runs.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --trace-passes program.c

Description

Print the name of each optimizer pass as it runs.

Category: Verification | Option: --trace-passes

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Print the name of each optimizer pass as it runs.

When to use

Use this option when you need to print the name of each optimizer pass as it runs.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Undefine Macro - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Undefine Macro

Undefine a previously defined preprocessor macro.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -UNDEBUG program.c

Description

Undefine a previously defined preprocessor macro.

Category: Preprocessor | Option: -U

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Undefine a previously defined preprocessor macro.

When to use

Use this option when you need to undefine a previously defined preprocessor macro.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Verbose Output - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Verbose Output

Show detailed compilation steps and paths.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -v program.c

Description

Show detailed compilation steps and paths.

Category: Information | Option: -v, --verbose

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Show detailed compilation steps and paths.

When to use

Use this option when you need to show detailed compilation steps and paths.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Verify After Each Pass - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Verify After Each Pass

Run the IR verifier after every optimizer pass.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --verify-after-each-pass program.c

Description

Run the IR verifier after every optimizer pass.

Category: Verification | Option: --verify-after-each-pass

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Run the IR verifier after every optimizer pass.

When to use

Use this option when you need to run the ir verifier after every optimizer pass.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Verify IR - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Verify IR

Run the IR verifier on the generated intermediate representation.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --verify-ir program.c

Description

Run the IR verifier on the generated intermediate representation.

Category: Verification | Option: --verify-ir

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Run the IR verifier on the generated intermediate representation.

When to use

Use this option when you need to run the ir verifier on the generated intermediate representation.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Verify MIR - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Verify MIR

Run the verifier on machine IR.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --verify-mir program.c

Description

Run the verifier on machine IR.

Category: Verification | Option: --verify-mir, --verify-machine

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Run the verifier on machine IR.

When to use

Use this option when you need to run the verifier on machine ir.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Print Version - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Print Version

Print the compiler version and exit.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 --version

Description

Print the compiler version and exit.

Category: Information | Option: --version

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Print the compiler version and exit.

When to use

Use this option when you need to print the compiler version and exit.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Enable All Warnings - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Enable All Warnings

Enable all common compiler warnings.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -Wall program.c

Description

Enable all common compiler warnings.

Category: Diagnostics | Option: -Wall

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Enable all common compiler warnings.

When to use

Use this option when you need to enable all common compiler warnings.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Warnings as Errors - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Warnings as Errors

Treat all warnings as errors.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -Werror program.c

Description

Treat all warnings as errors.

Category: Diagnostics | Option: -Werror

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Treat all warnings as errors.

When to use

Use this option when you need to treat all warnings as errors.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


Extra Warnings - PBXB64 Compiler Help

Home › Welcome & Getting Started › Command-Line Options PBXB64 Compiler Help

Extra Warnings

Enable extra compiler warnings.

Chapter: Command-Line Options | Certification: [CERTIFIED TESTED]

Syntax

PBXB64 -Wextra program.c

Description

Enable extra compiler warnings.

Category: Diagnostics | Option: -Wextra

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Enable extra compiler warnings.

When to use

Use this option when you need to enable extra compiler warnings.

See also

  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


CLIP$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CLIP$

Delete characters from a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = CLIP$(LEFT StringExpression , Count& )
s$ = CLIP$(RIGHT StringExpression , Count& )
s$ = CLIP$(MID StringExpression , Start& , Count& )

Description

Delete characters from a string

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Returns the contents of StringExpression with Count& characters removed from the left side.

Returns the contents of StringExpression with Count& characters removed from the right side.

Returns the contents of StringExpression with Count& characters removed starting at position Start& . The first character is considered position 1, the second position 2...

If Count& is negative, or Start& is less than one, the return value is undefined.

Restrictions

If Count& is less than one, the entire string is returned. If Start& is less than one, the results are undefined.

See also

  • EXTRACT$
  • LTRIM$
  • MID$
  • REMOVE$
  • REPLACE
  • RTRIM$
  • SHRINK$
  • STRINSERT$
  • STRDELETE$
  • TRIM$
  • UNWRAP$
  • PBXB64 Compiler Help


CLIPBOARD GET BITMAP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CLIPBOARD GET BITMAP

Copy data to/from the Windows ClipBoard.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CLIPBOARD GET BITMAP TO ClipVar [, ClipResult ]
CLIPBOARD GET OEMTEXT TO AnsiStrgVar [, ClipResult ]
CLIPBOARD GET TEXT TO StrgVar [, ClipResult ]
CLIPBOARD GET UNICODE TO StrgVar [, ClipResult ]
CLIPBOARD RESET [, ClipResult ]
CLIPBOARD SET BITMAP ClipHndl [, ClipResult ]
CLIPBOARD SET OEMTEXT StrgExpr [, ClipResult ]
CLIPBOARD SET TEXT StrgExpr [, ClipResult ]
CLIPBOARD SET UNICODE StrgExpr [, ClipResult ]

Description

Copy data to/from the Windows ClipBoard.

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]


CLOG - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CLOG

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CLOG$( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CLOSE - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › File I/O PBXB64 Compiler Help

CLOSE

Conclude I/O (input/output) to / from a

Chapter: File I/O | Certification: [CERTIFIED TESTED]

Syntax

CLOSE [[#] filenum& [, [#] filenum& ] ...]

Description

Conclude I/O (input/output) to / from a

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

CLOSE ends the relationship between a PowerBASIC file number and the disk file or device that was associated with it by an OPEN statement. Any pending I/O operations on the file/device are concluded, buffers are flushed and released, and the disk directory information (if any) for that file is updated.

If no file number is specified, CLOSE closes all open files.

If the file was opened using OPEN HANDLE, the CLOSE statement is still needed, although it does not tell the operating system to close the file. In this special case, the file was already open when OPEN HANDLE provided access to it, and will remain open after CLOSE disassociates the file from PowerBASIC.

CLOSE works with all types of files and devices (disk files, devices, COMM , TCP , UDP , etc).

The number symbols (#) are optional but recommended for clarity.

See also

  • COMM CLOSE
  • FILEATTR
  • FLUSH
  • OPEN
  • TCP CLOSE
  • UDP CLOSE
  • PBXB64 Compiler Help


CLS - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › File I/O PBXB64 Compiler Help

CLS

Category: PowerBASIC compatibility reference

Chapter: File I/O

Syntax

CLS

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CLSID$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CLSID$

Return a 16-byte

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

a$ = CLSID$( ProgramID$ )

Description

Return a 16-byte

Kind: Function | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A CLSID string is a 128-bit (16-byte) binary string representing the GUID or UUID of a COM object/component. A CLSID string is not in a human-readable format.

You can convert textual ID name of a COM object/component into a CLSID string with the CLSID$ function. CLSID examines the system registry in order to determine the CLSID string associated with the ProgramID$ string.

The ProgramID$ parameter is not case-sensitive, so "MSAGENT.CONTROL.2", "MSAgent.Control.2" and "msagent.control.2" all refer to the same COM object/component. If the ProgramID$ cannot be found, or if any error occurs during the lookup and conversion process, CLSID$ will not set the ERR system variable, but will return an empty string.

To convert the binary CLSID string into human-readable GUID/UUID format, use the GUIDTXT$ function. CLSID$ is the complement to the PROGID$ function.

PowerBASIC programmers rarely, if ever, need to deal with CLSID strings in order to utilize a COM object or component.

The return string may be assigned to a dynamic string , fixed-length or nul-terminated string (at least 16 bytes long), or (typically) a GUID variable. See DIM for more information.

See also

  • DIM
  • GUID$
  • GUIDTXT$
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ISNOTHING
  • ISOBJECT
  • LET statement (with Objects)
  • OBJECT
  • OBJACTIVE
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • What Does a Class Look Like?
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


CMAG - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CMAG

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

magnitude = CMAG( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CMUL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CMUL

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CMUL$( left, right )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CODEPTR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CODEPTR

Obtain a 32-bit address of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

AddrVar = CODEPTR( Label )
AddrVar = CODEPTR( ProcName )

Description

Obtain a 32-bit address of a

Kind: Function | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

CODEPTR retrieves the address of a Label, Sub, Function, or FastProc. The first form may be used to get the address of a label located within the same procedure. The second form is used to obtain the address of a Sub, Function, or FastProc.

CODEPTR is particularly useful when it is necessary to pass the address of a SUB or FUNCTION to PowerBASIC or Windows to specify a Callback Function.

Restrictions

CODEPTR cannot obtain the address of a METHOD or PROPERTY as direct access to them would constitute an illegal operation.

See also

  • STRPTR
  • VARPTR
  • CALL DWORD
  • PBXB64 Compiler Help


Collection Objects - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Collection Objects

The following operations provides a convenient way to refer to a related group of items:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following operations provides a convenient way to refer to a related group of items:

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

ILinkListCollection.ADD

An item is added to the end of the LinkListCollection.

ILinkListCollection.CLEAR

All items are removed from the LinkListCollection.

Back to command index


StackCollection - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

StackCollection

A collection object is a set of items which can be referred to as a unit. It provides a convenient way to refer to a related group of items as a single object. The items in a collection need only be related by the fact that they exist in the collection. They do not have to share the same data type.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

< ObjectVar >.membername( params )
RetVal = < ObjectVar >.membername( params )
< ObjectVar >.membername( params ) TO ReturnVariable

Description

A collection object is a set of items which can be referred to as a unit. It provides a convenient way to refer to a related group of items as a single object. The items in a collection need only be related by the fact that they exist in the collection. They do not have to share the same data type.

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Items in a PowerCollection may be retrieved by their key using the ITEM method. They may be retrieved sequentially using the NEXT or PREVIOUS method. Each key in a PowerCollection must be unique. Keys in a PowerCollection are case-sensitive. To access the keys in a case-insensitive manner, you must create and retrieve all keys as either upper case or lower case, but not mixed.

The Dispatch ID (DispID) for each member method is displayed within angle brackets.

Power Collection Methods

ADD <3> ( PowerKey AS WString, PowerItem AS Variant)

The PowerItem variant is added to the end of the PowerCollection. It is associated with the PowerKey string for later retrieval. If the operation was successful, an HResult of S_OK (0) is returned. If it fails because of a duplicate key, an HResult of E_DUPLICATEKEY (&H800A01C9) is returned, and an Object Error (99) is generated.

CLEAR <4>

All PowerKeys and PowerItems are removed from the PowerCollection.

CONTAINS <5> ( PowerKey AS WString) AS Long

The PowerCollection is scanned to determine if the specified PowerKey is present. If found, the Index number of this Item (range of 1 - COUNT) is returned. This value will always evaluate as true . If not found, the value false (0) is returned.

COUNT <6> AS Long

The number of data items currently contained in the PowerCollection is returned to the caller.

ENTRY <7> ( Index AS Long, OUT PowerKey as WString, OUT PowerItem as Variant)

The PowerCollection entry specified by the Index number is returned to the caller in the two specified OUT parameters. If the index number is less than one, or greater than the item count, the variant returned will be of type empty (VT_EMPTY), and the OBJRESULT will be %S_FALSE (1).

FIRST <1> AS Long

The current INDEX for the PowerCOLLECTION is set to one (1), so that subsequent references to the NEXT method will access member items from the beginning. The previous value of the INDEX is returned to the caller.

INDEX <8> ( Index AS Long) AS Long

The current INDEX for the PowerCOLLECTION is set to the specified index number. If the parameter is less than one, or greater than the current count of data items, the INDEX is not changed. The previous value of the INDEX is returned to the caller.

IndexVar& = ObjectVar .INDEX(0)

The above example retrieves the current index number, without changing it, and assigns it to the variable IndexVar& .

ITEM <9> ( PowerKey AS WString) AS Variant

The PowerItem associated with the specified PowerKey is returned. If the specified key is not found, the variant returned will be of type empty (VT_EMPTY), and the OBJRESULT will be %S_FALSE (1).

LAST <10> AS Long

The current INDEX for the PowerCOLLECTION is set to the last item so that subsequent references to the PREVIOUS method will access member items from the end. The previous value of the INDEX is returned to the caller.

NEXT <2> AS Variant

The NEXT method allows the PowerCollection data items to be retrieved sequentially. Each time NEXT is referenced, the data item at the position specified by the INDEX is returned to the caller, and the INDEX is incremented. If the operation is successful, the OBJRESULT is set to %S_OK (0). When there are no more data items to retrieve, the OBJRESULT is set to %S_FALSE (1).

PREVIOUS <11> AS Variant

The PREVIOUS method allows the PowerCollection data items to be retrieved sequentially. Each time PREVIOUS is referenced, the data item at the position specified by the INDEX is returned to the caller, and the INDEX is decremented. If the operation is successful, the OBJRESULT is set to %S_OK (0). When there are no more data items to retrieve, the OBJRESULT is set to %S_FALSE (1).

REMOVE <12> ( PowerKey AS WString)

The specified PowerKey , and the PowerItem associated with it, are removed from the PowerCollection. The index number of each data item past the removed item is decremented by one. If the requested PowerKey is not found, OBJRESULT returns %S_FALSE (1) and no operation is performed.

REPLACE <13> ( PowerKey AS WString, PowerItem AS Variant)

The PowerItem associated with the specified PowerKey is replaced by the new specified PowerItem . If the requested PowerKey is not found, OBJRESULT returns %S_FALSE (1) and no operation is performed.

SORT <14> ( Flags AS Long)

The data items in the PowerCollection are sorted based upon the text in the associated PowerKeys . If the parameter Flags is zero(0), the items are sorted in ascending sequence. If one (1), the items are sorted in descending sequence.

LinkList Collection

A Linked List Collection is an ordered set of data items, which are accessed by their position in the list rather than by an alphanumeric string key. Each data item is passed and stored as a variant variable. You can retrieve these data items by their position number, or sequentially in ascending or descending sequence.

Syntax

The CLASS is "LinkListCollection". The INTERFACE is ILinkListCollection (a DUAL interface).

< ObjectVar >.membername( params )

RetVal = < ObjectVar >.membername( params )

< ObjectVar >.membername( params ) TO ReturnVariable

Remarks

Items in a LinkListCollection may be retrieved by their position number using the ITEM method. They may be retrieved sequentially using the NEXT or PREVIOUS methods.

The Dispatch ID (DispID) for each member method is displayed within angle brackets.

LinkList Collection Methods

ADD <3> ( PowerItem AS Variant)

The PowerItem variant is added to the end of the LinkListCollection.

CLEAR <4>

All PowerItems are removed from the LinkListCollection.

COUNT <5> AS Long

The number of data items currently contained in the LinkListCollection is returned to the caller.

FIRST <1> AS Long

The current INDEX for the LinkListCOLLECTION is set to one (1), so that subsequent references to the NEXT method will access member items from the beginning. The previous value of the INDEX is returned to the caller.

INDEX <6> ( Index AS Long) AS Long

The current INDEX for the LinkListCOLLECTION is set to the specified index number. If the parameter is less than one, or greater than current count of data items, the INDEX is not changed. The previous value of the INDEX is returned to the caller.

IndexVar& = ObjectVar .INDEX(0)

The above example retrieves the current index number, without changing it, and assigns it to the variable IndexVar& .

INSERT <7> ( Index AS Long, PowerItem AS Variant)

The PowerItem variant is added to the collection at the position specified by the Index . If the index number is less than one, or greater than the count, the item is added to the end of the list.

ITEM <8> ( Index AS Long) AS Variant

The PowerItem at the position specified by Index is returned. If the specified item is not present, the variant returned will be of type empty (VT_EMPTY), and the OBJRESULT will be %S_FALSE (1).

LAST <9> AS Long

The current INDEX for the LinkListCOLLECTION is set to the last item so that subsequent references to the PREVIOUS method will access member items from the end. The previous value of the INDEX is returned to the caller.

NEXT <2> AS Variant

The NEXT method allows the LinkListCollection data items to be retrieved sequentially. Each time NEXT is referenced, the data item at the position specified by the INDEX is returned to the caller, and the INDEX is incremented. If the operation is successful, the OBJRESULT is set to %S_OK (0). When there are no more data items to retrieve, the OBJRESULT is set to %S_FALSE (1).

PREVIOUS <10> AS Variant

The PREVIOUS method allows the LinkListCollection data items to be retrieved sequentially. Each time PREVIOUS is referenced, the data item at the position specified by the INDEX is returned to the caller, and the INDEX is decremented. If the operation is successful, the OBJRESULT is set to %S_OK (0). When there are no more data items to retrieve, the OBJRESULT is set to %S_FALSE (1).

REMOVE <11> ( Index AS Long)

The PowerItem at the position specified by Index is removed from the LinkListCollection. The index number of each data item past the removed item is decremented by one. If the requested item is not present, OBJRESULT returns %S_FALSE (1) and no operation is performed.

REPLACE <12> (Index AS Long, PowerItem AS Variant)

The PowerItem at the position specified by Index is replaced by the new specified PowerItem . If the requested PowerItem is not present, OBJRESULT returns %S_FALSE (1) and no operation is performed.

Stack Collection

A Stack Collection is an ordered set of data items, which are accessed on a LIFO (Last-In / First-Out) basis. This collection follows the same algorithm as the machine stack on your Intel CPU. Each data item is passed and stored as a variant variable, using the PUSH and POP methods.

Syntax

The CLASS is "StackCollection". The INTERFACE is IStackCollection (a DUAL interface).

< ObjectVar >.membername( params )

RetVal = < ObjectVar >.membername( params )

< ObjectVar >.membername( params ) TO ReturnVariable

Remarks

The Dispatch ID (DispID) for each member method is displayed within angle brackets.

Stack Collection Methods

CLEAR <1>

All PowerItems are removed from the StackCollection.

COUNT <2> AS Long

The number of data items currently contained in the StackCollection is returned to the caller.

POP <3> AS Variant

The PowerItem at the "Stack-Top" (the item most recently added) is retrieved and returned to the caller. When there are no more data items to retrieve, the variant returned will be of type empty (VT_EMPTY), and the OBJRESULT will be %S_FALSE (1).

PUSH <4> (PowerItem AS Variant)

The specified PowerItem is added to the StackCollection at the "Stack-Top" position.

Queue Collection

A Queue Collection is an ordered set of data items, which are accessed on a FIFO (First-In / First-Out) basis. Each data item is passed and stored as a variant variable, using the ENQUEUE and DEQUEUE methods.

Syntax

The CLASS is "QueueCollection". The INTERFACE is IQueueCollection (a DUAL interface).

< ObjectVar >.membername( params )

RetVal = < ObjectVar >.membername( params )

< ObjectVar >.membername( params ) TO ReturnVariable

Remarks

The Dispatch ID (DispID) for each member method is displayed within angle brackets.

Queue Collection Methods

CLEAR <1>

All PowerItems are removed from the QueueCollection.

COUNT <2> AS Long

The number of data items currently contained in the QueueCollection is returned to the caller.

DEQUEUE <3> AS Variant

The PowerItem at the "oldest" position is retrieved and returned to the caller. When there are no more data items to retrieve, the variant returned will be of type empty (VT_EMPTY), and the OBJRESULT will be %S_FALSE (1).

ENQUEUE <4> ( PowerItem AS Variant)

The specified PowerItem is added to the QueueCollection at the "newest" position.

See also

  • FOR EACH/NEXT statements
  • PBXB64 Compiler Help


#COM - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#COM

Declare information to be included in a COM

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#COM CLASS ClassName [, ClassName ...]
#COM DOC "This is specific information to be used in the Help String"
#COM HELP "MyProg.chm"[, &H1E00]
#COM NAME "LibName", 3.32
#COM GUID GUID$("{20000000-2000-2000-2000000000000002}")
#COM TLIB {ON|+ | OFF|-}

Description

Declare information to be included in a COM

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The #COM metastatement establishes information about the COM library or application which can be extracted by COM client programs.

#COM CLASS allows you to add the COM attribute to a class defined elsewhere. The COM attribute can even be added to a class in an SLL which was compiled separately. A class which is declared AS COM makes it available to external programs through the COM services of Windows. When you define a class as COM, it is automatically considered to be COMMON as well.

#COM DOC specifies a help string which usually provides a general description of the COM server.

#COM HELP specifies the name of the associated help file and the help context code. The name must appear as a string literal , while the context code is an unsigned DWORD value greater than zero. The context code may be specified in decimal or radix format.

#COM NAME specifies the name of the server and the version number. The name must consist of only letters, numbers, and underscore characters, and may contain no punctuation nor spaces. If no name is specified, PowerBASIC substitutes the module name. If no version is specified, PowerBASIC uses version number 0.0.

#COM GUID specifies the GUID which identifies the entire application or library (APPID or LIBID). If no GUID is specified, PowerBASIC substitutes a random GUID for this purpose.

#COM TLIB OFF (the default) is accepted and records that no type library should be emitted.

#COM TLIB ON requests historical emit-side type-library generation. PBXB64 V15 does not implement that output and therefore issues an explicit unsupported diagnostic instead of silently accepting the request or claiming that a .TLB was created.

See also

  • CLASS/END CLASS
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • Just what is COM?
  • PBXB64 Compiler Help


COMBOBOX ADD - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMBOBOX ADD

Manipulate a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

COMBOBOX ADD hDlg , id& , StrExpr [TO datav& ]
COMBOBOX DELETE hDlg , id& , item&
COMBOBOX FIND hDlg , id& , item& , StrExpr TO datav&
COMBOBOX FIND EXACT hDlg , id& , item& , StrExpr TO datav&
COMBOBOX GET COUNT hDlg , id& TO datav&
COMBOBOX GET SELCOUNT hDlg , id& TO datav&
COMBOBOX GET SELECT hDlg , id& TO datav&
COMBOBOX GET STATE hDlg , id& , item& TO datav&
COMBOBOX GET TEXT hDlg , id& [, item& ] TO txtv$
COMBOBOX GET USER hDlg , id& , item& TO datav&
COMBOBOX INSERT hDlg , id& , item& , StrExpr [TO datav& ]
COMBOBOX RESET hDlg , id&
COMBOBOX SELECT hDlg , id& , item&
COMBOBOX SET TEXT hDlg , id& , item& , StrExpr
COMBOBOX SET USER hDlg , id& , item& , NumExpr
COMBOBOX UNSELECT hDlg , id&

Description

Manipulate a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

In each of the following samples and descriptions, the COMBOBOX control which is the subject of the statement is identified by the handle of the dialog that owns the COMBOBOX ( hDlg ), and the unique control identifier you gave it upon creation in CONTROL ADD COMBOBOX.

COMBOBOX ADD hDlg , id& , StrExpr [TO datav& ]

The string value specified by StrExpr is added to the COMBOBOX control. If the COMBOBOX has the %CBS_SORT style, the new string is inserted in alphanumeric order; otherwise it is added to the end of the existing list. If the optional TO clause is included, the index position of the added string is assigned to the variable represented by datav& . The index is one for the first string, two for the second, etc. If the index is less than one, an error occurred and no string was added.

COMBOBOX DELETE hDlg , id& , item&

The string at the position specified by item& is deleted from the COMBOBOX. The item number ( item& ) is indexed to one (1=first, 2=second, and so on).

COMBOBOX FIND hDlg , id& , item& , StrExpr TO datav&

Strings in the COMBOBOX are searched to find the first string which begins with the data in StrExpr , regardless of any characters which follow. Comparisons are not case-sensitive. Strings are searched beginning with the string specified by item& , and ending with the last string in the COMBOBOX. Searching does not wrap to the beginning of the list. The item number (item& ) is indexed to 1 (1=first, 2=second, etc.). To search the entire COMBOBOX starting with the first string, item& should be set to one (1). If a matching string is found, the index value of the match is assigned to the variable specified by datav& . If no match is found, the value zero (0) is assigned to it.

COMBOBOX FIND EXACT hDlg , id& , item& , StrExpr TO datav&

Strings in the COMBOBOX are searched to find the first string which exactly matches the data in StrExpr . Comparisons are not case-sensitive. Strings are searched beginning with the string specified by item&, and ending with the last string in the COMBOBOX. Searching does not wrap to the beginning of the list. The item number ( item& ) is indexed to 1 (1=first, 2=second, etc.). To search the entire COMBOBOX starting with the first string, item& should be set to one (1). If a matching string is found, the index value of the match is assigned to the variable specified by datav& . If no match is found, the value zero (0) is assigned to it.

COMBOBOX GET COUNT hDlg , id& TO datav&

The number of items in the list box of the COMBOBOX is retrieved, and assigned to the long integer variable specified by datav& .

COMBOBOX GET SELCOUNT hDlg , id& TO datav&

The number of selected items in the list box of the COMBOBOX is retrieved, and assigned to the long integer variable specified by datav& . Since this is a single-selection list box, the retrieved value will always be either zero or one.

COMBOBOX GET SELECT hDlg , id& TO datav&

The index of the currently selected item in the list box of the COMBOBOX is retrieved, and assigned to the variable specified by datav& . The index is 1 for the first item, 2 for the second item, etc. If there is no current selection, the value zero (0) is assigned.

COMBOBOX GET STATE hDlg , id& , item& TO datav&

A data item is checked to see if it is currently selected. The numeric value item& specifies which user value is to be checked, 1 for the first item, 2 for the second item, etc. If the item is selected, -1 (true) is assigned to the variable specified by datav& . Otherwise, 0 (false) is assigned to it.

COMBOBOX GET TEXT hDlg , id& [, item& ] TO txtv$

Text is retrieved from the COMBOBOX and assigned to the string variable specified by txtv$ . If the numeric expression item& is included, it determines which text string is returned, 1 for the first item, 2 for the second item, etc. If item& is missing, or contains the value zero, the selected text is returned (or an empty string if none is selected). If you wish to retrieve the text found in the edit box portion of the COMBOBOX (regardless of whether it was typed or selected), you should use the CONTROL GET TEXT statement instead.

COMBOBOX GET USER hDlg , id& , item& TO datav&

Each item in a COMBOBOX may have a long integer user value associated with it at the discretion of the programmer. This user value is retrieved with COMBOBOX GET USER. The numeric value item& specifies which user value is requested, 1 for the first item, 2 for the second item, etc. The returned user value is assigned to the long integer variable specified by datav& . COMBOBOX user values are assigned with the COMBOBOX SET USER statement. In addition to these COMBOBOX user values, every DDT control offers an additional eight user values which can be accessed with CONTROL GET USER and CONTROL SET USER .

COMBOBOX INSERT hDlg , id& , item& , StrExpr [TO datav& ]

The text for a new data item, specified by StrExpr , is inserted at the location given by item& . The value of item& = 1 for the first item, 2 for the second item, etc. The list of data items is not re-sorted, even if the COMBOBOX was created with the style %CBS_SORT. If you wish to sort all of the items, use COMBOBOX ADD instead. If the optional TO clause is included, the index position of the inserted string is assigned to the variable represented by datav& . The index is one for the first string, two for the second, etc. If the index is less than one, an error occurred and no string was inserted.

COMBOBOX RESET hDlg , id&

Delete all contents of the specified COMBOBOX.

COMBOBOX SELECT hDlg , id& , item&

The string value specified by item& is chosen as selected text for the COMBOBOX control, and the selected text is scrolled into a visible position. The value of item& = 1 for the first item, 2 for the second item, etc.

COMBOBOX SET TEXT hDlg, id&, item&, StrExpr

The text for the data item specified by item& is replaced with the new text in StrExpr . The value of item& = 1 for the first item, 2 for the second item, etc. The list of data items is not re-sorted, even if the COMBOBOX was created with the style %CBS_SORT. If you wish to sort all of the items, use COMBOBOX DELETE followed by COMBOBOX ADD instead.

COMBOBOX SET USER hDlg , id& , item& , NumExpr

Each item in a COMBOBOX may have a long integer user value associated with it at the discretion of the programmer. This user value is assigned with COMBOBOX SET USER, and retrieved with COMBOBOX GET USER. The numeric value item& specifies which user value is to be accessed, 1 for the first item, 2 for the second item, etc. The value specified by NumExpr is saved for later retrieval. In addition to these COMBOBOX user values, every DDT control offers an additional eight user values which can be accessed with CONTROL GET USER and CONTROL SET USER.

COMBOBOX UNSELECT hDlg , id&

All items in a COMBOBOX control are set to an unselected state.

Restrictions

Under Windows 95/98/ME, a list box is limited to 32,767 items. In all versions of Windows, the actual string data contained by the list box is limited only by available memory.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD COMBOBOX
  • CONTROL GET TEXT
  • PBXB64 Compiler Help


COMM - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMM

Retrieve the value or status of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

lResult& = COMM([#] hComm , Comfunc )

Description

Retrieve the value or status of a

Kind: Function | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hComm is the PowerBASIC file number as was used by the COMM OPEN statement to open the communications port. Select a Comfunc keyword from the following table to retrieve the associated setting.

Comfunc

value (TRUE <> 0, FALSE = 0)

Port Baud Rate (9600, 14400, 19200, etc).

TRUE/FALSE Break is asserted. Break is generally used to "get the attention" of the connected modem, terminal or system.

Number of bits per byte (4, 5, 6, 7, or 8).

TRUE/FALSE Carrier Detect state; synonym for RLSD (READ-ONLY) . When CD is TRUE, the DCE (modem) has a suitable connection on the communications channel present. When CD is FALSE, there is no suitable connection.

TRUE/FALSE Clear-To-Send state is returned (READ-ONLY).

CTSFLOW

TRUE/FALSE Enable CTS output flow control (Input signal). When CTSFLOW is enabled, it causes the DTE (computer) to stop sending data whenever the CTS signal is set to logic low by the DCE (modem). Transmission continues when the DCE (modem) sets the CTS signal back to logic high. The CTS signal is usually used in response to an RTS signal.

TRUE/FALSE Data-Set-Ready state is returned (READ-ONLY).

DSRFLOW

TRUE/FALSE Enable DSR output flow control (Input signal). When DSRFLOW is enabled, it causes the DTE (computer) to stop sending data whenever the DSR signal is set to logic low by the DCE (modem). Transmission is enabled when the DSR signal returns to logic high. The DSR signal is often used in conjunction with CTS in response to a RTS signal.

DSRSENS

TRUE/FALSE Enable DSR sensitivity. When DSRSENS is enabled, data received by the DTE (computer) is placed into the receive buffer only if DSR is set to logic high. If DSR is set low, received data is discarded. Enabling DSRSENS allows DSR to enable or disable the DTE (the computer) to receive data from the DTE (the modem). DSRSENS is rarely used in practical communications situations.

DTRFLOW

TRUE/FALSE Enable DTR handshaking flow control (Output signal). When DTRFLOW is enabled, it signals that the DCE (modem) should prepare to connect to the communications channel. DTR is usually used for modem on-hook/off-hook control, but can also be used in conjunction with DSR for handshaking.

DTRLINE

TRUE/FALSE Enable DTR line. When enabled, DTRLINE leaves the DTR line active when the port is closed by the DTE (computer). This ensures that the DCE (modem) does not close the communications channel when the port is closed.

TRUE/FALSE Null ($NUL) bytes are discarded when read.

PARITY

TRUE/FALSE Enable parity checking. This mode must be enabled for the other Parity options to be selected.

PARITYCHAR

Character to use for parity error replacement. PARITY must be enabled.

PARITYREPL

TRUE/FALSE Enable character replacement on parity error. PARITY must be enabled.

PARITYTYPE

0 = None, 1 = Odd, 2 = Even, 3 = Mark, 4 = Space. PARITY must be enabled. Default = 0.

TRUE/FALSE Ring indicator is on (READ-ONLY) . When RING returns TRUE, a ringing signal is being received on the communications channel (by the modem). RING approximates the state of the ringing signal; however, it may not be reported accurately on all Windows platforms.

Receive-line-signal-detect (READ-ONLY). See CD/Carrier Detect above.

RTSFLOW

Ready To Send (Output signal). 0 = Disable, 1 = Enable, 2 = Handshake, 3 = Toggle. Toggle is used for half-duplex (2-wire) operations to "reverse" the line. While the DTE (computer) is busy sending data, it raises the RTS signal and the DCE (modem) blocks its data receive channel. When RTS signal reverts to logic low, the DCE (modem) reverts to transmit mode and the DTE (computer) switches to receive mode.

Handshake mode causes the DTE (computer) to check the receive buffer (RXQUE) after each character is placed into the buffer. When the buffer is 5/6th full, the RTS signal is dropped. When the receive buffer drops to below 1/6th full, RTS is raised again

RXBUFFER

Size of the receive buffer in bytes.

Characters currently in the receive buffer (READ-ONLY) .

0 = 1 stop bits, 1 = 1.5 stop bits, 2 = 2 stop bits.

TXBUFFER

Size of the transmit buffer in bytes. In some cases, Windows may not be able to report the transmit size.

Characters currently in the transmit buffer (READ-ONLY) .

XINPFLOW

TRUE/FALSE Enable XON/XOFF input flow control. When the DTE (computer) receive buffer is full, an XOFF character is sent to the DCE (modem) to instruct it to halt transmission. When the DCE is ready to resume transmission, an XON character is sent to the DCE. Typically, XOFF is sent when the receive buffer has less than 1/16th remaining, and XON is sent when the receive buffer drops to less than 1/16th of its maximum size. Default = FALSE.

XOUTFLOW

TRUE/FALSE Enable XON/XOFF out flow control. When enabled, the DCE (modem) sends an XOFF to the DTE (computer) to halt data transmission to the DCE. When the DCE is ready to receive more data, an XON character is sent. XOUTFLOW typically uses the same 1/16th rules as XINPFLOW. Default = FALSE.

Common baud rates range from 110 to 256000. There are equates defined in the WIN32API.INC file, prefixed with %CBR_ to assist you with specifying a common baud rate, but you are not restricted to a limited set of rates.

PowerBASIC sets the ERR system variable if an error occurs when using the COMM function.

The Number symbol (#) prefix is optional, but recommended for the purposes of clarity.

Restrictions

Due to differences between Win32 operating systems, parameters (such as the TXBUFFER and TXQUE) may not be queried successfully in all circumstances.

See also

  • Serial Communications
  • COMM CLOSE
  • COMM LINE
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • COMM SET
  • COMM TIMEOUT
  • PBXB64 Compiler Help


COMM CLOSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMM CLOSE

Close an open

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

COMM CLOSE [#] hComm [, [#] hComm ...]

Description

Close an open

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Closes one or more communication ports, as specified by the PowerBASIC file number held in each hComm parameter. COMM CLOSE ends the relationship between a PowerBASIC file number, and the serial port device that was previously associated with it by the COMM OPEN statement.

The Number symbol (#) prefix is optional, but recommended for the purposes of clarity.

It is also recommended that you explicitly close any serial port that you have opened before your application terminates. Note that COMM CLOSE is a synonym for CLOSE .

See also

  • Serial Communications
  • CLOSE
  • COMM
  • COMM LINE
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • COMM SET
  • COMM TIMEOUT
  • PBXB64 Compiler Help


COMM LINE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMM LINE

Receive a CR/LF (

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

COMM LINE [INPUT] [#] hComm , string_var

Description

Receive a CR/LF (

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Read a delimited line of data from the receive buffer, where a "line" is defined as a stream of data that is terminated by a CR/LF (carriage return and linefeed, $CRLF , or CHR$ (13,10)). COMM LINE INPUT is ideal for retrieving modem response strings in reply to "AT" commands sent to a modem.

hComm is the file number you used with COMM OPEN, an integer in the range of 1 to 32767. The Number symbol (#) prefix is optional, but recommended for clarity.

COMM LINE reads the receive buffer up to the next $CRLF character pair. The $CRLF bytes are removed from the buffer but do not form part of the string data returned by COMM LINE. Note that if there is no $CRLF pair in the receive buffer, the statement will wait indefinitely for a complete $CRLF terminated line of data. In this sense, COMM LINE is a blocking statement. The COMM TIMEOUT statement can be used to specify COMM timeouts limits.

The data received is assigned to the string_var . The character mode of the string_var must match the CHR option in COMM OPEN (ANSI/WIDE). If not, an error 5 (Illegal function call) will be generated, and no data will be received.

The EOF function may also be used with COMM LINE (and TCP LINE ) to detect that an incomplete line was received. Normally, the COMM LINE statement reads data until a $CRLF character pair is found, and in that case, EOF will return false (zero). However, if a timeout does occur, COMM LINE will return whatever data has been accumulated, and set EOF to logical TRUE (non-zero).

In many cases, it would be prudent to test EOF after every COMM LINE statement to verify that a full line has been received. In some cases, you may wish to execute the statement one or more additional times, combining the data, in order to obtain a full line of text.

See also

  • Serial Communications
  • COMM CLOSE
  • COMM
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • COMM SET
  • COMM TIMEOUT
  • EOF
  • PBXB64 Compiler Help


COMM OPEN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMM OPEN

Open a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

COMM OPEN "COM n " AS [#] hComm [CHR = ANSI|WIDE]

Description

Open a

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Opens a serial port to begin communications, creating a relationship between a file number and a specific serial port device.

Identifies the serial port number, for example, COM1, COM4, etc. A colon must not follow the port specification. See Restrictions below.

A numeric expression specifying an unused PowerBASIC file number, in the range of 1 to 32767. This is typically provided by the FREEFILE function. The Number symbol (#) prefix is optional, but recommended for clarity.

If the port was not opened successfully, the ERR system variable will contain the error code. Before actual communications through the port can commence, you must configure the communication parameters by using a COMM SET statement for each parameter.

Restrictions

A colon may not be used in the port name, as was common in DOS code. COMM OPEN cannot use an operating system file handle, nor open a port that is already in use. When opening ports above COM9, Windows requires the port name to be specified using the following syntax:

COMM OPEN "\\.\COM15" AS #hComm

See also

  • Serial Communications
  • COMM CLOSE
  • COMM
  • COMM LINE
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • COMM SET
  • COMM TIMEOUT
  • FREEFILE
  • OPEN
  • PBXB64 Compiler Help


COMM PRINT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMM PRINT

Send a string of text through a serial port with optional CR/LF.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

COMM PRINT [#] hComm , string_expression [;] [TO CharCountVar ]

Description

Send a string of text through a serial port with optional CR/LF.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

T he text data contained in string_ expression is sent to the serial port associated with the file number hComm . The number symbol (#) is optional.

T he data is sent in the character form specified in the COMM OPEN statement. If CHR=WIDE was given, the data is sent in wide Unicode characters. Otherwise, it is sent in ANSI bytes. The data will be converted to the appropriate form automatically.

This statement is a variation of COMM SEND , but is usually used with text only. Each string_ expression sent is automatically followed by a Carriage-Return and Line-Feed pair to delimit the line. However, if a trailing semi-colon (;) is added, the CR/LF is suppressed.

I f the optional "TO CharCountVar " clause is included, a count of the number of characters written is assigned to it. This count includes the CR/LF, if utilized. This will allow you to gauge the success of the operation. If a TimeOut occurred, this value will be less than expected, and a run-time error 24 (Device Timeout) will be generated.

C OMM PRINT is ideal for sending "AT" commands to a modem. Omit the trailing semicolon for this purpose, since you would want the CR/LF to be sent along with the data.

See also

  • Serial Communications
  • COMM CLOSE
  • COMM
  • COMM LINE
  • COMM OPEN
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • COMM SET
  • COMM TIMEOUT
  • PBXB64 Compiler Help


COMM RECV - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMM RECV

Receive binary data from a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

COMM RECV [#] hComm , count& , string_var

Description

Receive binary data from a

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Retrieve the count& number of bytes from the receive buffer , placing the results in string_var . Program execution will halt until count& bytes are available, so it is wise to check how many bytes are available before making a COMM RECV request. You can do this by checking the RXQUE value with the COMM function , as shown in the example below.

hComm is the file number you used with COMM OPEN , an integer in the range of 1 to 32767. The Number symbol (#) prefix is optional, but recommended for clarity.

The data received is assigned to the string_var . The character mode of the string_var must match the CHR option in COMM OPEN (ANSI/WIDE). If not, an error 5 (Illegal function call) will be generated, and no data will be received.

See also

  • Serial Communications
  • COMM CLOSE
  • COMM
  • COMM LINE
  • COMM OPEN
  • COMM PRINT
  • COMM RESET
  • COMM SEND
  • COMM SET
  • COMM TIMEOUT
  • PBXB64 Compiler Help


COMM RESET - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMM RESET

Disable flow control for a given

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

COMM RESET [#] hComm , FLOW

Description

Disable flow control for a given

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Switches off all flow control to the serial port as specified by the file number stored in hComm .

The Number symbol (#) prefix is optional, but recommended for the purposes of clarity.

See also

  • Serial Communications
  • COMM CLOSE
  • COMM
  • COMM LINE
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM SEND
  • COMM SET
  • COMM TIMEOUT
  • PBXB64 Compiler Help


COMM SEND - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMM SEND

Send a string of data through a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

COMM SEND [#] hComm , string_expression TO [ CharCountVar ]

Description

Send a string of data through a

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The data contained in string_expression is sent to the serial port associated with the file number hComm. The number symbol (#) is optional.

The data is sent in the character form specified in the COMM OPEN statement. If CHR=WIDE was given, the data is sent in wide Unicode characters. Otherwise, it is sent in ANSI bytes. The data will be converted to the appropriate form automatically.

With COMM SEND, no delimiters are added to the data. If a trailing CR/LF is needed, it's usually best to use COMM PRINT instead.

If the optional "TO CharCountVar " clause is included, a count of the number of characters written is assigned to it. This will allow you to gauge the success of the operation. If a TimeOut occurred, this value will be less than expected, and a run-time error 24 (Device Timeout) will be generated.

See also

  • Serial Communications
  • COMM CLOSE
  • COMM
  • COMM LINE
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SET
  • COMM TIMEOUT
  • PBXB64 Compiler Help


COMM SET - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMM SET

Set communication options for a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

COMM SET [#] hComm , Comfunc = value

Description

Set communication options for a

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Set the parameters needed to communicate with a serial port. This must always be done before you can send and receive data through the port.

To configure the communication parameters, use keywords from the following table to specify the Comfunc as well as a suitable value chosen from the range applicable to the Comfunc parameter you want to set. If an error occurs when attempting to set a parameter, PowerBASIC sets the ERR system variable to indicate the error number. While each parameter must be set individually, it is also possible to change certain parameters without the need to close and re-establish communications.

COMM SET keywords table

Comfunc

value (TRUE <> 0, FALSE = 0)

Port Baud Rate (9600, 14400, 19200, etc). See notes below.

TRUE/FALSE Break is asserted. Break is generally used to "get the attention" of the connected modem, terminal or system.

Number of bits per byte (4, 5, 6, 7, or 8).

TRUE/FALSE Carrier Detect state; synonym for RLSD (READ-ONLY) . When CD is TRUE, the DCE (modem) has a suitable connection on the communications channel present. When CD is FALSE, there is no suitable connection.

CTSFLOW

TRUE/FALSE Enable CTS output flow control (Input signal). When CTSFLOW is enabled, it causes the DTE (computer) to stop sending data whenever the CTS signal is set to logic low by the DCE (modem). Transmission continues when the DCE (modem) sets the CTS signal back to logic high. The CTS signal is usually used in response to an RTS signal.

DSRFLOW

TRUE/FALSE Enable DSR output flow control (Input signal). When DSRFLOW is enabled, it causes the DTE (computer) to stop sending data whenever the DSR signal is set to logic low by the DCE (modem). Transmission is enabled when the DSR signal returns to logic high. The DSR signal is often used in conjunction with CTS in response to a RTS signal.

DSRSENS

TRUE/FALSE Enable DSR sensitivity. When DSRSENS is enabled, data received by the DTE (computer) is placed into the receive buffer only if DSR is set to logic high. If DSR is set low, received data is discarded. Enabling DSRSENS allows DSR to enable or disable the DTE (the computer) to receive data from the DTE (the modem). DSRSENS is rarely used in practical communications situations.

DTRFLOW

TRUE/FALSE Enable DTR handshaking flow control (Output signal). When DTRFLOW is enabled, it signals that the DCE (modem) should prepare to connect to the communications channel. DTR is usually used for modem on-hook/off-hook control, but can also be used in conjunction with DSR for handshaking.

DTRLINE

TRUE/FALSE Enable DTR line. When enabled, DTRLINE leaves the DTR line active when the port is closed by the DTE (computer). This ensures that the DCE (modem) does not close the communications channel when the port is closed.

TRUE/FALSE Null ($NUL) bytes are discarded when read.

PARITY

TRUE/FALSE Enable parity checking. This mode must be enabled for the other Parity options to be selected.

PARITYCHAR

Character to use for parity error replacement. PARITY must be enabled.

PARITYREPL

TRUE/FALSE Enable character replacement on parity error. PARITY must be enabled.

PARITYTYPE

0 = None, 1 = Odd, 2 = Even, 3 = Mark, 4 = Space. PARITY must be enabled. Default = 0.

TRUE/FALSE Ring indicator is on (READ-ONLY) . When RING returns TRUE, a ringing signal is being received on the communications channel (by the modem). RING approximates the state of the ringing signal; however, it may not be reported accurately on all Windows platforms.

Receive-line-signal-detect (READ-ONLY). See CD/Carrier Detect above.

RTSFLOW

Ready To Send (Output signal). 0 = Disable, 1 = Enable, 2 = Handshake, 3 = Toggle. Toggle is used for half-duplex (2-wire) operations to "reverse" the line. While the DTE (computer) is busy sending data, it raises the RTS signal and the DCE (modem) blocks its data receive channel. When RTS signal reverts to logic low, the DCE (modem) reverts to transmit mode and the DTE (computer) switches to receive mode.

Handshake mode causes the DTE (computer) to check the receive buffer (RXQUE) after each character is placed into the buffer. When the buffer is 5/6th full, the RTS signal is dropped. When the receive buffer drops to below 1/6th full, RTS is raised again.

RXBUFFER

Size of the receive buffer in bytes.

Characters currently in the receive buffer (READ-ONLY) .

0 = 1 stop bits, 1 = 1.5 stop bits, 2 = 2 stop bits.

TXBUFFER

Size of the transmit buffer in bytes. In some cases, Windows may not be able to report the transmit size.

Characters currently in the transmit buffer (READ-ONLY) .

XINPFLOW

TRUE/FALSE Enable XON/XOFF input flow control. When the DTE (computer) receive buffer is full, an XOFF character is sent to the DCE (modem) to instruct it to halt transmission. When the DCE is ready to resume transmission, an XON character is sent to the DCE. Typically, XOFF is sent when the receive buffer has less than 1/16th remaining, and XON is sent when the receive buffer drops to less than 1/16th of its maximum size. Default = FALSE.

XOUTFLOW

TRUE/FALSE Enable XON/XOFF out flow control. When enabled, the DCE (modem) sends an XOFF to the DTE (computer) to halt data transmission to the DCE. When the DCE is ready to receive more data, an XON character is sent. XOUTFLOW typically uses the same 1/16th rules as XINPFLOW. Default = FALSE.

Common baud rates range from 110 to 256000. There are equates defined in the WIN32API.INC file, prefixed with %CBR_ to assist you with specifying a common baud rate, but you are not restricted to a limited set of rates.

Attempting to set a READ-ONLY attribute will result in a compile-time Error 542 ("May not be altered").

The Number symbol (#) prefix is optional, but recommended for the purposes of clarity.

See also

  • Serial Communications
  • COMM CLOSE
  • COMM
  • COMM LINE
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • COMM TIMEOUT
  • PBXB64 Compiler Help


COMM TIMEOUT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMM TIMEOUT

Place a limit on the time to complete a COMM

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

COMM TIMEOUT [#] hComm , TimeOutMS&

Description

Place a limit on the time to complete a COMM

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

COMM TIMEOUT allows you to specify how long a COMM operation should wait to send or receive a byte of data. This value is measured in milliseconds. If the specified number of milliseconds elapses without a response, the COMM operation will fail and a run-time error 24 (Device Timeout) will be generated.

See also

  • Serial Communications
  • COMM CLOSE
  • COMM
  • COMM LINE
  • COMM OPEN
  • COMM PRINT
  • COMM RECV
  • COMM RESET
  • COMM SEND
  • COMM SET
  • FREEFILE
  • OPEN
  • PBXB64 Compiler Help


COMMAND$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMMAND$

Return the command-line arguments used to start the program.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = COMMAND$
s$ = COMMAND$( ArgNum )

Description

Return the command-line arguments used to start the program.

Kind: Function | Category: Utilities

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

COMMAND$ returns everything that was typed following the program name. Some operating system manuals refer to this text as the trailer or command tail. You can use COMMAND$ to collect run-time arguments, like filenames, and program options.

Depending upon the optional argument number, COMMAND$ will return either the complete trailer, or just one of the arguments. If the ArgNum is zero (0), or not present, the complete trailer is returned. If the ArgNum is greater than zero, the trailer is parsed to return an individual argument (1 = first argument. 2 = second argument, etc.). If the ArgNum is greater than the number of arguments, a null string (zero-length) is returned.

Arguments are delimited by one or more blank spaces. If blank spaces are significant, you should enclose the argument in double quotes ("). Any such double-quotes are stripped from the return value by COMMAND$. If a zero-length quoted string ("") is found, it is ignored entirely.

For example, consider a program named FASTSORT.EXE that reads data from one file, sorts it, and puts the result in a new file. Using COMMAND$ lets you specify the input and output file names when the program is invoked:

FASTSORT.EXE cust.dta cust.new

When FASTSORT begins execution, COMMAND$ or COMMAND$(0) would return:

cust.dta cust.new

COMMAND$(1) would return:

cust.dta

COMMAND$(2) would return:

cust.new

Restrictions

In some recent versions of Windows, file association and drag-drop file operations cause filenames to be enclosed with double-quote marks when they are passed in COMMAND$. It would be wise to ensure that your applications are prepared for this possibility. Some operating systems automatically enclose the command-line in double-quote marks.

PowerBASIC imposes no arbitrary limits on the length of the string returned by COMMAND$ but, the operating system may impose limits. Such limits may become evident, for example, when attempting to Drag and Drop a large number of files onto an EXE within Windows Explorer. Usually, attempting to drop more files than the operating system permits will result in an operating system warning message.

Within the IDE , a COMMAND$ command-line parameter can be specified for the purposes of testing in both Compile and Execute and Compile and Debug modes.

See also

  • JOIN$
  • PARSE$
  • PARSECOUNT
  • PATHNAME$
  • PATHSCAN$
  • WINMAIN
  • PBXB64 Compiler Help


Command Summary - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Command Summary

The following is a list of the commands built into the compiler and separated into 18 groups of related commands, which can assist with identifying the best command for the task at hand. Some commands

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following is a list of the commands built into the compiler and separated into 18 groups of related commands, which can assist with identifying the best command for the task at hand. Some commands

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Back to command index


Commenting Assembly code - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Commenting Assembly code

On assembly code lines, a semi-colon ( ; ) is typically used for comments, although an apostrophe ( ' ) is still valid. For example:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

On assembly code lines, a semi-colon ( ; ) is typically used for comments, although an apostrophe ( ' ) is still valid. For example:

Kind: Keyword | Category: Inline Assembler

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

ASM PUSH EBX ; Save EBX

ASM MOV EAX, 5 ; Put 5 into EAX

! MOV EBX, &HFF ; Put FFh into EBX

Back to command index


Communication Control - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Communication Control

The following functions can be used for external communications:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following functions can be used for external communications:

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Retrieve the value or status of a communications parameter

Close an open serial port

Back to command index


COMPILE Metastatement - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMPILE Metastatement

Controls compiler options from source code.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Controls compiler options from source code.

Kind: Conceptual | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


#COMPILE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#COMPILE

Determine what type of file will be created by the compiler.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#COMPILE {EXE | DLL | SLL} [" filename { .exe | .dll|.sll }"]

Description

Determine what type of file will be created by the compiler.

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This metastatement is used to specify whether a module is to be compiled as an EXE, DLL , or SLL file. The #COMPILE metastatement can only be used once per program, and must be placed before any executable code.

You may, optionally, specify the target name and path of the file. If the optional equal sign (=) is included, the name given is considered to be an exact name, and nothing is appended or changed. Otherwise, the file type is forced to be EXE, DLL, or SLL by the compiler.

If the filename clause is omitted, the compiled file is given the name of the main source code file with an appropriate extension.

If a path is included, the compiled file is placed in the named directory; otherwise, it is placed in the current directory.

If the named directory does not exist, the filename is invalid or locked, if the EXE is still running, or if the file cannot be successfully stored in that location for some other reason, a compile-time Error 496 ("Destination file write error") occurs.

A related item is the built-in numeric equate %PB_COMPILETIME . Each time you compile your program, this equate is filled with the current date and time of the compilation in PowerTime binary format. You can use the PowerTIME Class to convert it to a text equivalent for use in your application.

Restrictions

If #COMPILE is not specified, the default is #COMPILE EXE.

Examples

#COMPILE EXE ' Same name as source, i.e., ABC.EXE

#COMPILE DLL ' Same name as source, i.e., ABC.DLL

#COMPILE SLL "ABC" ' Compiles to ABC.SLL

#COMPILE EXE "ABC.BAS" ' Compiles to ABC.BAS.EXE

See also

  • %PB_COMPILETIME numeric equate
  • COMPILER Metastatement
  • DLLMAIN
  • PBLIBMAIN
  • PBMAIN
  • WINMAIN
  • PBXB64 Compiler Help


COMPILER Metastatement - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COMPILER Metastatement

Embeds compiler directives and options directly in source code.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#COMPILER option

Description

Embeds compiler directives and options directly in source code.

Kind: Metastatement | Category: Preprocessor and Metastatements

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

See also

  • COMPILE Metastatement
  • #OPTION
  • PBXB64 Compiler Help


CONST - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONST

Declare a compile-time constant

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONST name [= value] [, name [= value] ...] AS type
CONST name = expression

Description

Declare a compile-time constant

Kind: Statement | Category: Data Types & Variables

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The CONST statement defines a named constant whose value is fixed at compile time. Constants may be numeric or string and can be declared at module or procedure scope.

Generated Assembly

Compile with:

PBXB64 example.pb --asmout example.asm
    mov r10, 0x400921fb54442d18
    movq xmm0, r10
    movsd [rbp-24], xmm0
    mov r10, 0x4000000000000000
    movq xmm0, r10
    movsd [rbp-32], xmm0

Notes

Constants are folded into immediates or loaded as literal values; they do not consume mutable storage.

Example

FUNCTION PBMAIN () AS LONG
    CONST Pi = 3.141592653589793##
    CONST MaxCount = 100&
    LOCAL r AS DOUBLE
    r = 2.0##
    FUNCTION = FIX(Pi * r * r)
END FUNCTION

See also

  • LOCAL
  • GLOBAL
  • STATIC
  • ENUM/END ENUM statements
  • BASIC Variables & Scope
  • PBXB64 Compiler Help


Constants and Literals - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Constants and Literals

A string literal is simply a group of characters surrounded by quotation marks. It may optionally be followed by a TypeID of a single $ to specify ANSI characters, or a double $$ for wide , Unicode ch

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A string literal is simply a group of characters surrounded by quotation marks. It may optionally be followed by a TypeID of a single $ to specify ANSI characters, or a double $$ for wide , Unicode ch

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

MyAnsi$ = "This is a string"$

MyWide$$ = "This is a UniCode string"$$

A string literal can include the double-quote character, simply by doubling the character within the string. For example:

A$ = "This is a ""string"""

Back to command index


CONTINUE - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Control Flow PBXB64 Compiler Help

CONTINUE

Category: PowerBASIC compatibility reference

Chapter: Control Flow

Syntax

ITERATE FOR
ITERATE DO
ITERATE LOOP

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CONTROL ADD - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD

Add a custom control to a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD classname$, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]

Description

Add a custom control to a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

When the user interacts with the control, a message is sent to the designated Callback Function. If there is no Callback Function designated, the message is sent to the callback for the dialog.

The style& and exstyle& values are dependent on the type of custom control or common control being used. The notification messages sent to your callback are also dependent on the type of custom control or common control being used.

When the Callback Function receives a %WM_COMMAND message, the identity of the control sending the message can be found with the CB.CTL function. Use the CB.CTLMSG function to retrieve the notification message value in your callback. Many Windows common controls send %WM_NOTIFY messages rather than the more conventional %WM_COMMAND messages. PBXB64 routes a %WM_NOTIFY message to the callback registered for the control through NMHDR.idFrom, or to the dialog callback when no control callback is registered. Use CB.NMCODE, CB.NMHDR, CB.NMHWND, and CB.NMID to inspect the notification payload; the meaning of CB.WPARAM and CB.LPARAM varies according to the notification type.

Restrictions

Custom controls may require special handling other than the DDT generic functions ( CONTROL SET COLOR , CONTROL SET FONT , etc.). Consult the controls documentation for information.

PBXB64 implementation: The documented common-control aliases for HEADER, LISTVIEW, PROGRESSBAR, STATUSBAR, TOOLBAR, TREEVIEW, and GRAPHIC are mapped to their native Win32 classes and initialized through the common-control library. Generic creation and style forwarding remain available.

Validation: tests/pb/test_control_common_classes.pb creates each mapped alias and verifies nonzero native handles in the headless link/run lane.

PBXB64 implementation: COMBOBOX and LISTBOX accept a one-dimensional dynamic STRING array in the initial-items position. Items are sent to the returned native control handle in array order and population stops at the first empty string, matching the PB Original help rule. Omitted style and exstyle values use the documented native defaults for these two controls.

Validation: tests/pb/test_control_add_items.pb verifies combo selection/text after array population and creates the list-box route in the Make/CMake link/run lanes.

PBXB64 implementation: Common-control WM_NOTIFY messages are dispatched to the control callback by NMHDR.idFrom. The callback context preserves the native notification pointer for the documented CB.NM* accessors.

Validation: tests/pb/test_control_notify_callback.pb sends a synthetic NMHDR through the native dialog window and verifies the callback message, control ID, notification code, source handle, and header pointer.

See also

  • #MESSAGES
  • Dynamic Dialog Tools (DDT)
  • CONTROL HANDLE
  • CONTROL SEND
  • PBXB64 Compiler Help


CONTROL ADD BUTTON - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD BUTTON

Add a command button to a dialog. A command button is a button that causes an action to occur when the button is clicked. A common example of a command button is the "OK" button on a message box dialog.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD BUTTON, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD BUTTON, hDlg, id&, txt$, 100, 100, 150, 200, , , _
CALL ButtonCallback() ' Use default styles

Description

Add a command button to a dialog. A command button is a button that causes an action to occur when the button is clicked. A common example of a command button is the "OK" button on a message box dialog.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If the ampersand (&) character appears in the txt$ parameter, the letter that follows will be displayed underscored. This adds a control accelerator (hot-key) to enable the user to directly "click" a control, simply by pressing and holding the ALT key while pressing the specified hot-key. For example, "E&xit" makes ALT+x the hot-key.

On Windows XP and Windows 2000 you may need to press the ALT key before Control Accelerators are made visible. You can set if Command Accelerators are visible when using the ALT key or all the time in the Windows Display Settings.

Unless the %BS_FLAT style is used, the button is drawn on the dialog using a 3-dimensional look. When the user clicks a button, a message is sent to the Callback Function designated for the button. If there is no Callback Function designated, the message is sent to the callback for the dialog.

In general, if the control Callback Function processes a message, it should return TRUE (non-zero) to prevent the message being passed unnecessarily to the dialog callback (if one exists). The dialog callback should also return TRUE, if the notification message is processed by that Callback Function. Otherwise, the DDT engine processes unhandled messages.

PBXB64 qualification: style& and exstyle& accept PB bitmask expressions such as %BS_DEFPUSHBUTTON OR %WS_TABSTOP and %WS_EX_CLIENTEDGE. The resulting native style bits are covered by tests/pb/test_control_add_style_equates.pb.

Notification messages are sent to the Callback Function, with CB.MSG = %WM_COMMAND, CB.CTL holding the ID (id&) of the control, and CB.CTLMSG holding the following values:

%BN_CLICKED

Sent when the user clicks a mouse button, or activates the button with the hot-key (unless the button has been disabled).

%BN_DISABLE

Sent when a button is disabled.

%BN_KILLFOCUS

Sent when a button loses the keyboard focus. The button must include the %BS_NOTIFY style.

%BN_SETFOCUS

Sent when a button receives the keyboard focus. The button must include the %BS_NOTIFY style.

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET TEXT
  • CONTROL SET FONT
  • CONTROL SET TEXT
  • PBXB64 Compiler Help


CONTROL ADD CHECK3STATE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD CHECK3STATE

Add an auto 3-state checkbox to a dialog. This is commonly used to indicate a selection that may be True (set or checked), False (unset or cleared) or Indeterminate (grayed), and is often found in dialogs that provide "multiple choice" options.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD CHECK3STATE, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD CHECK3STATE, hDlg, id&, txt$, 100, 100, 40, 14, , , _
CALL Check3Callback() ' Use default styles

Description

Add an auto 3-state checkbox to a dialog. This is commonly used to indicate a selection that may be True (set or checked), False (unset or cleared) or Indeterminate (grayed), and is often found in dialogs that provide "multiple choice" options.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If the ampersand (&) character appears in the txt$ parameter, the letter that follows will be displayed underscored. This adds a control accelerator (hot-key) to enable the user to directly "click" a control, simply by pressing and holding the ALT key while pressing the specified hot-key. For example, "Set s&tate" makes ALT+t the hot-key.

When the user clicks a 3-state checkbox, a message is sent to the Callback Function designated for the control. If there is no Callback Function designated, the message is sent to the callback for the dialog.

If the control callback processes the notification message, it should return TRUE (non-zero) to prevent the message being passed needlessly to the dialog callback, and eventually to the DDT engine itself.

Notification messages are sent to the Callback Function, with CB.MSG = %WM_COMMAND, CB.CTL holding the ID (id&) of the control, and CB.CTLMSG holding the following values:

%BN_CLICKED

Sent when the user clicks a mouse button, or activates the control with the hot-key (unless the control has been disabled).

%BN_DISABLE

Sent when a control is disabled.

%BN_KILLFOCUS

Sent when a control loses the keyboard focus. The control must include the %BS_NOTIFY style.

%BN_SETFOCUS

Sent when a control receives the keyboard focus. The control must include the %BS_NOTIFY style.

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD CHECKBOX
  • CONTROL ADD OPTION
  • CONTROL GET CHECK
  • CONTROL SET CHECK
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • PBXB64 Compiler Help


CONTROL ADD CHECKBOX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD CHECKBOX

Add an auto-checkbox to a dialog. This is typically used to indicate a True/False or on/off selection, and is common in dialogs that offer choices of options to a user.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD CHECKBOX, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD CHECKBOX, hDlg, id&, txt$, 100, 100, 40, 14, , , _
CALL CheckboxCallback() ' Use default styles

Description

Add an auto-checkbox to a dialog. This is typically used to indicate a True/False or on/off selection, and is common in dialogs that offer choices of options to a user.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If the ampersand (&) character appears in the txt$ parameter, the letter that follows will be displayed underscored. This adds a control accelerator (hot-key) to enable the user to directly "click" a control, simply by pressing and holding the ALT key while pressing the specified hot-key. For example, "O&ption " makes ALT+p the hot-key.

When the user clicks a control, a message is sent to the Callback Function designated for the control. If there is no Callback Function designated, the message is sent to the callback for the dialog.

If the control callback processes the notification message, it should return TRUE (non-zero) to prevent the message being passed needlessly to the dialog callback, and eventually to the DDT engine itself.

Notification messages are sent to the Callback Function, with CB.MSG = %WM_COMMAND, CB.CTL holding the ID (id&) of the control, and CB.CTLMSG holding the following values:

%BN_CLICKED

Sent when the user clicks a mouse button or activates the control with the hot-key (unless the control has been disabled).

%BN_DISABLE

Sent when a control is disabled.

%BN_KILLFOCUS

Sent when a control loses the keyboard focus. The control must include the %BS_NOTIFY style.

%BN_SETFOCUS

Sent when a control receives the keyboard focus. The control must include the %BS_NOTIFY style.

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD CHECK3STATE
  • CONTROL ADD OPTION
  • CONTROL GET CHECK
  • CONTROL SET CHECK
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • PBXB64 Compiler Help


CONTROL ADD COMBOBOX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD COMBOBOX

Add a combo box to a dialog. A combo box is often used to allow a user to select an item from a predefined list, or enter a fresh (unlisted) item. A combo box may contain only text strings. To put numbers in a combo box, convert them to strings

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD COMBOBOX, hDlg , id& , [ items$() ], x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD COMBOBOX, hDlg, id&, txt$(), 100, 100, 100, 40, , , CALL ComboCallback() ' Use default styles

Description

Add a combo box to a dialog. A combo box is often used to allow a user to select an item from a predefined list, or enter a fresh (unlisted) item. A combo box may contain only text strings. To put numbers in a combo box, convert them to strings

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

When the user selects an item or edits the text of a combo box, a message is sent to the Callback Function designated for the combo box. If there is no Callback Function designated then the message is sent to the callback for the dialog.

If the control callback processes the notification message, it should return TRUE (non-zero) to prevent the message being passed needlessly to the dialog callback, and eventually to the DDT engine itself.

Notification messages are sent to the Callback Function, with CB.MSG = %WM_COMMAND, CB.CTL holding the ID (id&) of the control, and CB.CTLMSG holding the following values:

%CBN_CLOSEUP

Sent when the list box of a combo box has been closed.

%CBN_DBLCLK

Sent when the user double-clicks a string in the list box of a combo box.

%CBN_DROPDOWN

Sent when the list box of a combo box is about to be made visible.

%CBN_EDITCHANGE

Sent after the user has taken an action that may have altered the text in the text box portion of a combo box. Unlike the %CBN_EDITUPDATE notification message, this notification message is sent after Windows updates the screen.

%CBN_EDITUPDATE

Sent when the text box portion of a combo box is about to display altered text. This notification message is sent after the control has formatted the text, but before it displays the text.

%CBN_ERRSPACE

Sent when a combo box cannot allocate enough memory to meet a specific request.

%CBN_KILLFOCUS

Sent when a combo box loses the keyboard focus.

%CBN_SELCHANGE

Sent when the selection in the list box of a combo box is about to be changed, as a result of the user either clicking in the list box or changing the selection by using the arrow keys.

%CBN_SELCANCEL

Sent when the user selects an item, but then selects another control or closes the dialog box. It indicates the user's initial selection is to be ignored.

%CBN_SELENDOK

Sent when the user selects a list item, or selects an item and then closes the list. It indicates that the user's selection is to be processed.

%CBN_SETFOCUS

Sent when a combo box receives the keyboard focus.

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

See also

  • Dynamic Dialog Tools (DDT)
  • COMBOBOX ADD
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • PBXB64 Compiler Help


CONTROL ADD FRAME - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD FRAME

Add a frame to a dialog. This is also known as a "group" control, and is typically drawn around controls to indicate a visual association between such controls. A frame control is often used around related Option controls.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD FRAME, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]]
CONTROL ADD FRAME, hDlg, id&, txt$, 100, 100, 40, 14, , ' Use default styles

Description

Add a frame to a dialog. This is also known as a "group" control, and is typically drawn around controls to indicate a visual association between such controls. A frame control is often used around related Option controls.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A frame control does not send messages to its parent dialog and does not require or support a Callback .

PBXB64 implements FRAME as a native Win32 BUTTON group box. When both optional style operands are omitted, the native style defaults to %BS_GROUPBOX | %BS_LEFT | %BS_TOP; explicit style and exstyle operands are passed through to the native control. This behavior is verified by tests/pb/test_control_add_defaults.pb.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET TEXT
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • CONTROL SET TEXT
  • PBXB64 Compiler Help


CONTROL ADD GRAPHIC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD GRAPHIC

Add a static graphic control to a dialog for drawing, pictures, text, etc.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD GRAPHIC, hDlg , ID , Txt$ , x , y , nWide , nHigh [, style ] [, exstyle ] [,CALL CallBack ]

Description

Add a static graphic control to a dialog for drawing, pictures, text, etc.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A graphic control is typically used with graphic statements to draw graphs, pictures, text, etc. After you create a graphic control, you would normally use GRAPHIC ATTACH to select it as the target of subsequent GRAPHIC statements. However, if there is no selected graphic target at the time of creation, the new Graphic Control is automatically attached and selected.

A graphic control will only send notification messages to a callback if the %SS_NOTIFY style is used. Notification messages are sent to the callback function with CB.MSG = %WM_COMMAND, CB.CTL holding the ID ( id& ) of the control, and CB.CTLMSG holding one of the following values:

%STN_CLICKED

Sent when the user clicks a mouse button on the graphic control (unless the image control has been disabled).

%STN_DBLCLK

Sent when the user double-clicks on a graphic control (unless the control has been disabled).

%STN_DISABLE

Sent when a graphic control has been disabled.

%STN_ENABLE

Sent when a graphic control has been enabled.

When a callback function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

All PowerBASIC graphical displays are persistent -- they will be automatically redrawn when altered or temporarily covered by another window.

See also

  • Dynamic Dialog Tools (DDT)
  • GRAPHIC ATTACH
  • GRAPHIC COLOR
  • GRAPHIC SCALE
  • GRAPHIC SET FONT
  • GRAPHIC STYLE
  • GRAPHIC WIDTH
  • GRAPHIC WINDOW
  • PBXB64 Compiler Help


CONTROL ADD HEADER - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD HEADER

Add a header control to a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD HEADER, hDlg , ID , Txt$ , x , y , wide , high [, style ] [, exstyle ] [,CALL CallBack ]

Description

Add a header control to a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Handle of the dialog on which the header control will be placed. The dialog will become the parent of the control.

A unique numeric identifier for this control which is specified by the programmer. It must be an integral value in the range of 1 to 65535. This ID is usually specified with a numeric equate for clarity of the code. For example, the equate %IDC_HEADER1 is more informative than a literal value such as 497. PowerBASIC recommends that identifier values should start at 100 to avoid conflict with any of the standard predefined identifiers.

Text to associate with the Header control. A Header control does not display this text, so it is common to set this value to a null, empty string literal ("" or $NUL).

Integral expressions which specify the location of the control within the dialog client area. X is the horizontal position, and Y is the vertical position. 0,0 refers to the upper left corner of the Dialog. Coordinates are specified in the same terms ( pixels or dialog units ) as the parent dialog.

wide, high

Integral expressions which specify the overall width and height of the header area.

Optional primary style of the header control. This value can be a combination of the values below, combined together with the OR operator to form a bitmask. If style is omitted, the default combination is %WS_CHILD OR %WS_VISIBLE.

%WS_CHILD

The control is a child window.

%WS_VISIBLE

The control is visible.

%WS_BORDER

Add a thin line border around the header control.

exstyle

Optional extended style of the header control.

callback

Optional name of a Callback Function that receives all %WM_COMMAND and %WM_NOTIFY messages for the control. See the #MESSAGES metastatement to choose which messages will be received. If a callback for the control is not designated, you must create a dialog Callback Function to process messages from your control.

If the Callback Function processes a message, it should return TRUE (non-zero) to prevent the message being passed unnecessarily to the dialog callback (if one exists). The dialog callback should also return TRUE if the notification message is processed by that Callback Function. Otherwise, the DDT engine processes unhandled messages.

See also

  • HEADER GET COUNT
  • PBXB64 Compiler Help


CONTROL ADD IMAGE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD IMAGE

Add a (non-resizing) image control to a dialog. This is typically used to display a bitmap or icon stored in a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD IMAGE, hDlg , id& , image$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]

Description

Add a (non-resizing) image control to a dialog. This is typically used to display a bitmap or icon stored in a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The bitmap or icon used in the image is not resized to fit the control. If your control is 64 dialog units wide and your icon or bitmap is only 32, half of the image will be blank. For best results, icons should be 32x32 pixels.

Once an image control has been created, the images it displays can be changed with the CONTROL SET IMAGE statement, but only if the images are of the same format as the original. For example, if an image control was initially created showing a bitmap file, all subsequent image changes must also be bitmap images. However, if the image format must be changed at run-time, for example, because icons are to be displayed instead of bitmaps, there are a couple of options. For example, the application could use separate controls for each image format, or the existing control could be destroyed, and a new control created with an image of the opposite format.

An image control will only send notification messages to a callback if the %SS_NOTIFY style is used. Notification messages are sent to the Callback Function with CB.MSG = %WM_COMMAND, CB.CTL holding the ID ( id& ) of the control, and CB.CTLMSG holding the following values:

%STN_CLICKED

Sent when the user clicks a mouse button on the image control (unless the image control has been disabled).

%STN_DBLCLK

Sent when the user double-clicks on an image control (unless the control has been disabled).

%STN_DISABLE

Sent when an image control has been disabled.

%STN_ENABLE

Sent when an image control has been enabled.

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD GRAPHIC
  • CONTROL ADD IMAGEX
  • CONTROL ADD IMGBUTTON
  • CONTROL ADD IMGBUTTONX
  • CONTROL SET IMAGE
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • PBXB64 Compiler Help


CONTROL ADD IMAGEX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD IMAGEX

Add a stretched image control to a dialog. This is typically used to display bitmaps and icons, which are automatically stretched or condensed to fill the controls client area.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD IMAGEX, hDlg , id& , image$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]

Description

Add a stretched image control to a dialog. This is typically used to display bitmaps and icons, which are automatically stretched or condensed to fill the controls client area.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The bitmap or icon used in the image is resized to fit the control. If your control is 64 dialog units wide and your icon or bitmap is only 32, it will be stretched to cover the entire control. For best results, icons should be 32x32 pixels.

An image control will only send notification messages to a callback if the %SS_NOTIFY style is used. Notification messages are sent to the Callback Function with CB.MSG = %WM_COMMAND, CB.CTL holding the ID ( id& ) of the control, and CB.CTLMSG holding the following values:

%STN_CLICKED

Sent when the user clicks a mouse button on the image control (unless the image control has been disabled).

%STN_DBLCLK

Sent when the user double-clicks on an image control (unless the control has been disabled).

%STN_DISABLE

Sent when an image control has been disabled.

%STN_ENABLE

Sent when an image control has been enabled.

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

Restrictions

Under Windows 95/98/ME, an attempt to stretch an icon significantly above 64x64 may fail due to internal limits that vary between those particular versions of Windows. Bitmaps are not affected in this manner. Windows NT/2000/XP systems do not impose any comparable limitations on either icons or bitmaps.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD GRAPHIC
  • CONTROL ADD IMAGE
  • CONTROL ADD IMGBUTTON
  • CONTROL ADD IMGBUTTONX
  • CONTROL SET IMAGE
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • PBXB64 Compiler Help


CONTROL ADD IMGBUTTON - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD IMGBUTTON

Add an image button to a dialog. Image buttons are often used to enhance the appearance of a dialog.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD IMGBUTTON, hDlg , id& , image$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD IMGBUTTON, hDlg, id&, txt$, 100, 100, 150, 200, , , _
CALL ImgButtonCallback() ' Use default styles

Description

Add an image button to a dialog. Image buttons are often used to enhance the appearance of a dialog.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The bitmap or icon used in the button is not resized to fit the button. If your button is 64 dialog units wide and your icon or bitmap is only 32, half of the button will be blank. For best results, icons should be 32x32 pixels.

An image button is drawn on the dialog using a 3-dimensional look, unless the %BS_FLAT style is specified. When the user clicks on the image button, a message is sent to the button's Callback Function. If there is no Callback Function designated, the message is sent to the callback for the dialog.

Notification messages are sent to the Callback Function with CB.MSG = %WM_COMMAND, CB.CTL holding the ID ( id& ) of the control, and CB.CTLMSG holding the following values:

%BN_CLICKED

Sent when the user clicks a mouse button, or activates the button with the hot-key (unless the button has been disabled).

%BN_DISABLE

Sent when a button is disabled.

%BN_KILLFOCUS

Sent when a button loses the keyboard focus. The button must include the %BS_NOTIFY style.

%BN_SETFOCUS

Sent when a button receives the keyboard focus. The button must include the %BS_NOTIFY style.

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD GRAPHIC
  • CONTROL ADD IMAGE
  • CONTROL ADD IMAGEX
  • CONTROL ADD IMGBUTTONX
  • CONTROL SET IMAGE
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • PBXB64 Compiler Help


CONTROL ADD IMGBUTTONX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD IMGBUTTONX

Add a stretched image button to a dialog. Stretched image buttons are often used to enhance the appearance of a dialog, with the image being automatically stretched or condensed to fill the control.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD IMGBUTTONX, hDlg , id& , image$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD IMGBUTTONX, hDlg, id&, txt$, 100, 100, 150, 200, , , _
CALL ImgButtonxCallback() ' Use default styles

Description

Add a stretched image button to a dialog. Stretched image buttons are often used to enhance the appearance of a dialog, with the image being automatically stretched or condensed to fill the control.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The bitmap or icon used in the button is resized to fit the button. If your button is 64 dialog units wide and your icon or bitmap is only 32, it will be stretched to cover the entire button. For best results, icons should be 32x32 pixels.

The image button is drawn on the dialog using a 3-dimensional look, unless the %BS_FLAT style is specified. When the user clicks a button, a message is sent to the Callback Function designated for the button. If there is no Callback Function designated, the message is sent to the callback for the dialog.

Notification messages are sent to the Callback Function with CB.MSG = %WM_COMMAND, CB.CTL holding the ID ( id& ) of the control, and CB.CTLMSG holding the following values:

%BN_CLICKED

Sent when the user clicks a mouse button, or activates the button with the hot-key (unless the button has been disabled).

%BN_DISABLE

Sent when a button is disabled.

%BN_KILLFOCUS

Sent when a button loses the keyboard focus. The button must include the %BS_NOTIFY style.

%BN_SETFOCUS

Sent when a button receives the keyboard focus. The button must include the %BS_NOTIFY style.

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD GRAPHIC
  • CONTROL ADD IMAGE
  • CONTROL ADD IMAGEX
  • CONTROL ADD IMGBUTTON
  • CONTROL SET IMAGE
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • PBXB64 Compiler Help


CONTROL ADD LABEL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD LABEL

Add a text label to a dialog. A text label is similar to a conventional static control.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD LABEL, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD LABEL, hDlg, id&, txt$, 100, 100, 150, 200, , , _
CALL LabelCallback() ' Use default styles

Description

Add a text label to a dialog. A text label is similar to a conventional static control.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If the ampersand (&) character appears in the txt$ parameter, the letter that follows will be displayed underscored. This adds a control accelerator (hot-key) to enable the user to directly "click" the control that immediately follows in the Tab-Order after the Label control, simply by pressing and holding the ALT key while pressing the specified hot-key. For example, "Choose &Security Level" makes ALT+S the hot-key.

A label control will only send messages to a callback if the %SS_NOTIFY style is used. The following notifications are sent to the Callback Function:

%STN_CLICKED

Sent when the user clicks a mouse button, or activates the button with the hot-key (unless the button has been disabled).

%STN_DBLCLK

Sent when the user double-clicks on a label control (unless the control has been disabled).

%STN_DISABLE

Sent when a button is disabled.

%STN_ENABLE

Sent when a label control has been enabled.

Use the CONTROL SET TEXT statement to change the text in a label control and CONTROL SET FONT to change the font used in a label control. This is only possible if the label has a unique ID value (i.e., id& should not be -1).

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET TEXT
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • CONTROL SET TEXT
  • PBXB64 Compiler Help


CONTROL ADD LINE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD LINE

Add a line control to a dialog. A line control may also be a rectangle (empty or filled).

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD LINE, hDlg, id&, txt$, x, y, xx, yy [, [style&] [, [exstyle&]]] [[,] CALL callback]
CONTROL ADD LINE, hDlg, id&, "", 100, 100, 150, 1, , , CALL LineCallback() ' Use default styles

Description

Add a line control to a dialog. A line control may also be a rectangle (empty or filled).

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If the ampersand (&) character appears in the txt$ parameter, the letter that follows will be displayed underscored. This adds a control accelerator (hot-key) to enable the user to directly "click" the control that immediately follows in the Tab-Order after the Line control, simply by pressing and holding the ALT key while pressing the specified hot-key. For example, "&Test Suite " makes ALT+T the hot-key.

A line control will only send messages to a callback if the %SS_NOTIFY style is used. The following notifications are sent to the Callback Function:

%STN_CLICKED

Sent when the user clicks a line control (unless the control has been disabled).

%STN_DBLCLK

Sent when the user double-clicks a line control (unless the control has been disabled).

%STN_DISABLE

Sent when a line control has been disabled.

%STN_ENABLE

Sent when a line control has been enabled.

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

PBXB64 creates LINE as the native STATIC control class. If both style& and exstyle& are omitted, the default style is %SS_ETCHEDFRAME and the default extended style is %WS_EX_LEFT. The tested callback path reports the LINE control identifier in CB.CTL and the notification code in CB.CTLMSG.

Validation evidence: tests/pb/test_control_add_line_scrollbar.pb verifies native handle creation, the omitted style default, %SS_NOTIFY callback routing, and CB.CTL/CB.CTLMSG values.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL HANDLE
  • CONTROL SEND
  • PBXB64 Compiler Help


CONTROL ADD LISTBOX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD LISTBOX

Add a list box control to a dialog. A list box contains a set of predefined entries that permit a user to select one or more items. A list box may contain strings

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD LISTBOX, hDlg , id& , [ items$() ], x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD LISTBOX, hDlg, id&, items$(), 100, 100, 150, 200, , , _
CALL ListboxCallback() ' Use default styles

Description

Add a list box control to a dialog. A list box contains a set of predefined entries that permit a user to select one or more items. A list box may contain strings

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The following notifications are sent to the Callback Function:

%LBN_DBLCLK

Sent when the user double-clicks a string in the list portion of a list box.

%LBN_ERRSPACE

Sent when a list box cannot allocate enough memory to meet a specific request.

%LBN_KILLFOCUS

Sent when a list box loses the keyboard focus.

%LBN_SELCANCEL

Sent when the user selects an item, but then selects another control or closes the dialog box. It indicates the user's initial selection is to be ignored.

%LBN_SELCHANGE

Sent when the selection in the list box is about to be changed as a result of the user either clicking in the list box or changing the selection by using the arrow keys.

%LBN_SETFOCUS

Sent when a list box receives the keyboard focus.

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

Restrictions

Under Windows 95/98/ME, a list box is limited to 32,736 items. In all versions of Windows, the actual string data contained by the list box is limited only by available memory.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • LISTBOX ADD
  • PBXB64 Compiler Help


CONTROL ADD LISTVIEW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD LISTVIEW

Add a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD LISTVIEW, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD LISTVIEW, hDlg, id&, "", 100, 100, 150, 200, , , CALL LVCallback()

Description

Add a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification messages.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • HEADER GET COUNT
  • LISTVIEW DELETE COLUMN
  • PBXB64 Compiler Help


CONTROL ADD OPTION - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD OPTION

Add an option button to a dialog. An option button is just like a conventional "radio button" control.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD OPTION, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD OPTION, hDlg, id&, txt$, 100, 100, 150, 200, , , _
CALL OptionButtonCallback() ' Use default styles

Description

Add an option button to a dialog. An option button is just like a conventional "radio button" control.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Option buttons are used for presenting a list of choices, only one of which may be selected. So, there is no point in having just a single option button. If what you want is to allow turning a single item on or off, use a Checkbox instead.

When a group of option buttons are created, you should explicitly set the "selected" and "unselected" state of all option buttons, using the CONTROL SET OPTION statement to set the Check State of all the buttons in the group.

In addition, the first OPTION control in a group should have the style %WS_GROUP (to mark the beginning of a group of buttons) and %WS_TABSTOP. The remainder of the OPTION controls in the group should not have %WS_GROUP or %WS_TABSTOP styles. However, the very next non-OPTION control to appear in the tab order after the group should be given the %WS_GROUP and %WS_TABSTOP styles (the latter may depend on the type of control it is). If there are no other controls after the group, add %WS_GROUP to the first control in the dialog. This ensures that keyboard navigation with the arrow keys will operate within the group of OPTION controls, and that the TAB and SHIFT+TAB keys will switch focus between whole groups of controls (instead of individual controls as is common when each group member has the %WS_TABSTOP style).

If the ampersand (&) character appears in the txt$ parameter, the letter that follows will be displayed underscored. This adds a control accelerator (hot-key) to enable the user to directly select the Option control, simply by pressing and holding the ALT key while pressing the specified hot-key. For example, "Level &3" makes ALT+3 the hot-key.

When the user clicks an option button, a message is sent to the Callback Function designated for the control. If there is no Callback Function designated then the message is sent to the callback for the dialog.

The following notifications are sent to the Callback Function:

%BN_CLICKED

Sent when the user clicks a mouse button, or activates the button with the hot-key (unless the button has been disabled).

%BN_KILLFOCUS

Sent then the option button loses keyboard focus, provided the button has the %BS_NOTIFY style.

%BN_SETFOCUS

Sent when the option button receives keyboard focus, provided the option button has the %BS_NOTIFY style.

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD CHECK3STATE
  • CONTROL ADD CHECKBOX
  • CONTROL GET CHECK
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • CONTROL SET OPTION
  • PBXB64 Compiler Help


CONTROL ADD PROGRESSBAR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD PROGRESSBAR

Add a ProgressBar control to a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD PROGRESSBAR, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD PROGRESSBAR, hDlg, id&, "",90,90,90,20, , , CALL PBCallback()

Description

Add a ProgressBar control to a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification messages.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET COLOR
  • PROGRESSBAR GET POS
  • PBXB64 Compiler Help


CONTROL ADD SCROLLBAR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD SCROLLBAR

Add a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD SCROLLBAR, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD SCROLLBAR, hDlg, id&, txt$, 100, 100, 150, 14, , , _
CALL Scrollbar1Callback() ' Use default styles

Description

Add a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If the ampersand (&) character appears in the txt$ parameter, the letter that follows will become a control accelerator (hot-key) to enable the user to directly select the scroll bar control, simply by pressing and holding the ALT key while pressing the specified hot-key. For example, "&9" makes ALT+9 the hot-key. The actual text in txt$ is not displayed in a scroll bar control.

When the user clicks on a scroll bar, drags the thumb (also called the scroll box), or initiates a scroll event with the keyboard, a message is sent to the Callback Function designated for the control. If there is no Callback Function designated, the message is sent to the callback for the dialog.

The following notifications are sent to the Callback Function:

%WM_HSCROLL

Sent when the user adjusts a horizontal scroll bar.

%WM_VSCROLL

Sent when the user adjusts a vertical scroll bar.

When a Callback Function receives a %WM_HSCROLL or %WM_VSCROLL message, it should retrieve and set the scroll bar control settings through the GetScrollInfo API and SCROLLBAR SET POS function calls. Be sure to use the %SB_CTL flag with these API functions, rather than the %SB_HORZ or %SB_VERT flags.

PBXB64 creates SCROLLBAR as the native SCROLLBAR control class. If both style& and exstyle& are omitted, the default is %SBS_HORZ when the control is at least as wide as it is high, and %SBS_VERT when it is taller; the default extended style is %WS_EX_LEFT. For a control callback, CB.CTL identifies the scrollbar and CB.CTLMSG contains the low-word scroll request code.

Validation evidence: tests/pb/test_control_add_line_scrollbar.pb verifies native handle creation, the dimension-based vertical default, %WM_VSCROLL routing, and CB.CTL/CB.CTLMSG values.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL HANDLE
  • CONTROL SEND
  • CONTROL SET COLOR
  • SCROLLBAR GET PAGESIZE
  • PBXB64 Compiler Help


CONTROL ADD STATUSBAR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD STATUSBAR

Add a StatusBar control to a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD STATUSBAR, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD STATUSBAR, hDlg, id&, "", 5, 5, 5, 5, , , CALL SBCallback()

Description

Add a StatusBar control to a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification messages.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET FONT
  • STATUSBAR SET PARTS
  • PBXB64 Compiler Help


CONTROL ADD TAB - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD TAB

Add a Tab Control to a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD TAB, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD TAB, hDlg, id&, "",90,90,200,90, , , CALL PBCallback()

Description

Add a Tab Control to a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification messages.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET FONT
  • TAB DELETE
  • PBXB64 Compiler Help


CONTROL ADD TEXTBOX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD TEXTBOX

Add a text box control to a dialog. A text box is very similar to a conventional edit control, and it is used to enter text into an application. Text boxes support single-line and multiple-line input.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD TEXTBOX, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD TEXTBOX, hDlg, id&, txt$, 100, 100, 150, 200, , , _
CALL EditControlCallback() ' Use default styles

Description

Add a text box control to a dialog. A text box is very similar to a conventional edit control, and it is used to enter text into an application. Text boxes support single-line and multiple-line input.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

PBXB64 implements TEXTBOX as a native Win32 EDIT control. When both optional style operands are omitted, the documented defaults are applied: %WS_TABSTOP | %WS_BORDER | %ES_LEFT | %ES_AUTOHSCROLL for the window style and %WS_EX_CLIENTEDGE | %WS_EX_LEFT for the extended style. Explicit style and exstyle operands are passed through to the native control. This behavior is verified by tests/pb/test_control_add_defaults.pb.

If you specify the %ES_AUTOHSCROLL style, the control automatically scrolls horizontally when the caret goes past the right edge of the control. To start a new line, the user must press the ENTER key.

If you do not specify %ES_AUTOHSCROLL, the control automatically wraps words to the beginning of the next line when necessary. A new line is also started if the user presses the ENTER key. The control size determines the position of the word wrap.

The following notifications are sent to the Callback Function:

%EN_CHANGE

Sent when the user has taken an action that may have altered text in the text box. Unlike the %EN_UPDATE notification, this message is sent after Windows updates the screen. Programmatically changing the text in a control also triggers this message.

%EN_ERRSPACE

Sent when the text box cannot allocate enough memory to meet a specific request.

%EN_HSCROLL

Sent when the user clicks a multi-line text box's horizontal scroll bar. The callback is notified before the screen is updated.

%EN_KILLFOCUS

Sent when an edit control loses the keyboard focus.

%EN_MAXTEXT

Sent when the current text insertion has exceeded the specified number of characters for the text box. The text insertion is truncated.

%EN_SETFOCUS

Sent when an edit control receives the keyboard focus.

%EN_UPDATE

Sent when a text box is about to display altered text. This notification message is sent after the control has formatted the text, but before it displays the text. Also see %EN_CHANGE.

%EN_VSCROLL

Sent when the user clicks a text box's vertical scroll bar. The callback is notified before the screen is updated.

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification message.

Use CONTROL GET TEXT to retrieve the text from a text box control, and use CONTROL SET TEXT to change the text in a text box control. Changing the text in a text box control (in response to a %EN_CHANGE or %EN_UPDATE message) will trigger a second set of %EN_CHANGE and %EN_UPDATE messages. Unless this is compensated for, these notifications can unwittingly cause an endless loop.

For example, the following is potentially fatal:

CALLBACK FUNCTION EditControlCallback()

IF CB.CTL = %ID_EDITBOX1 AND CB.CTLMSG = %EN_CHANGE THEN

CONTROL SET TEXT CB.HNDL, CB.CTL, "New Text"

EXIT FUNCTION

END IF

[ statements ]

As CONTROL SET TEXT is a "blocking" statement (that is, the statement does not complete until the text has been changed), it is a simple matter to block the endless loop effect:

CALLBACK FUNCTION EditControlCallback()

STATIC EditBusy&

IF CB.CTL = %ID_EDITBOX1 AND CB.CTLMSG = %EN_CHANGE THEN

IF EditBusy& THEN EXIT FUNCTION

EditBusy& = -1

CONTROL SET TEXT CB.HNDL, CB.CTL, "New Text"

RESET EditBusy&

EXIT FUNCTION

END IF

[ statements ]

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET TEXT
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • CONTROL SET TEXT
  • PBXB64 Compiler Help


CONTROL ADD TOOLBAR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD TOOLBAR

Add a ToolBar control to a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD TOOLBAR, hDlg , ID , Txt$ , x , y , nWide , nHigh [, style ] [, exstyle& ] [,CALL callback ]
CONTROL ADD TOOLBAR, hDlg, id&, "", 1, 1, 1, 1, , , CALL TBCallback()

Description

Add a ToolBar control to a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

When a Callback Function receives a message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the notification messages.

See also

  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • Dynamic Dialog Tools (DDT)
  • CONTROL SET FONT
  • TOOLBAR ADD BUTTON
  • PBXB64 Compiler Help


CONTROL ADD TREEVIEW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ADD TREEVIEW

Add a TreeView control to a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ADD TREEVIEW, hDlg , id& , txt$ , x , y , xx , yy [, [ style& ] [, [ exstyle& ]]] [[,] CALL callback ]
CONTROL ADD TREEVIEW, hDlg, id&, "", 100, 100, 150, 200, , , CALL TVCallback()

Description

Add a TreeView control to a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

When a Callback Function receives a %WM_COMMAND message, it should explicitly test the value of CB.CTL and CB.CTLMSG to guarantee it is responding appropriately to the messages.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • TREEVIEW DELETE
  • PBXB64 Compiler Help


CONTROL DISABLE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL DISABLE

Disable a control so that it no longer receives any

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL DISABLE hDlg , id&

Description

Disable a control so that it no longer receives any

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control. id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

A disabled control will not receive any messages when clicked with the mouse or selected with the keyboard. Most, but not all, controls will redraw themselves as "gray" when disabled.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ENABLE
  • CONTROL KILL
  • PBXB64 Compiler Help


CONTROL ENABLE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL ENABLE

Enable a control so that it can receive messages when the user interacts with it via the mouse or keyboard.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL ENABLE hDlg , id&

Description

Enable a control so that it can receive messages when the user interacts with it via the mouse or keyboard.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control. id& is the unique control identifier as assigned to the control with a CONT ROL ADD statement.

An enabled control will receive messages when clicked with the mouse or selected with the keyboard.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL DISABLE
  • CONTROL KILL
  • PBXB64 Compiler Help


CONTROL GET CHECK - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL GET CHECK

Get the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL GET CHECK hDlg , id& TO lResult&

Description

Get the

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with a CONTRO L ADD statement.

lResult& receives the Check State of the control as follows:

lResult&

Check State of control

0 (Zero)

Button is unchecked (unset, or cleared)

1 (One)

Button is checked (set)

2 (Two)

Button is indeterminate (grayed) (CHECK3STATE only)

Note that a grayed (indeterminate) CHECK3STATE control does not mean the control is disabled. Rather, the Check State of the control is both checked and unchecked.

PBXB64 reads the native button state and returns 0, 1, or 2. The focused fixture tests/pb/test_control_check_state.pb covers CHECKBOX and CHECK3STATE controls.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD CHECK3STATE
  • CONTROL ADD CHECKBOX
  • CONTROL ADD OPTION
  • CONTROL SET CHECK
  • CONTROL SET OPTION
  • TREEVIEW DELETE
  • PBXB64 Compiler Help


CONTROL GET CLIENT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL GET CLIENT

Return the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL GET CLIENT hDlg , id& TO w& , h&

Description

Return the

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with a CONT ROL ADD statement.

The size of the control client area is placed in the w& (width) and h& (height) variables . The size is specified in the same terms (pixels or dialog units ) as the parent dialog.

PBXB64 obtains the native client rectangle without the control's non-client frame. The focused fixture tests/pb/test_control_geometry.pb verifies the client dimensions before and after total-size changes.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET LOC
  • CONTROL GET SIZE
  • CONTROL SET CLIENT
  • CONTROL SET LOC
  • CONTROL SET SIZE
  • DIALOG UNITS
  • DIALOG PIXELS
  • GRAPHIC(Client.X)
  • PBXB64 Compiler Help


CONTROL GET LOC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL GET LOC

Get the location of the specified control in a dialog.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL GET LOC hDlg , id& TO x& , y&

Description

Get the location of the specified control in a dialog.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

The location of the top left corner of the control is placed in the x& (horizontal location) and y& (vertical location) variables . The location is relative to the upper-left corner of the client area in the parent dialog. The coordinates are specified in the same terms (pixels or dialog units) as the parent dialog.

PBXB64 obtains the child window rectangle and converts its screen position to the client coordinates of hDlg. The focused fixture tests/pb/test_control_geometry.pb covers the documented parent-relative result.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • CONTROL GET SIZE
  • CONTROL SET LOC
  • CONTROL SET SIZE
  • PBXB64 Compiler Help


CONTROL GET SIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL GET SIZE

Get the size of a control in the specified

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL GET SIZE hDlg , id& TO nWide& , nHigh&

Description

Get the size of a control in the specified

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

The width is placed in the nWide& and the height is placed in nHigh& variables . The coordinates are specified in the same terms ( pixels or dialog units ) as the parent dialog.

PBXB64 reports the complete child window rectangle, including any non-client frame. The focused fixture tests/pb/test_control_geometry.pb verifies the total width and height after creation and resizing.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • CONTROL GET LOC
  • CONTROL SET LOC
  • CONTROL SET SIZE
  • PBXB64 Compiler Help


CONTROL GET TEXT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL GET TEXT

Get the text from a control.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL GET TEXT hDlg , id& TO txt$

Description

Get the text from a control.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with a CONTROL ADD statement. Any text in the control is placed into the txt$ variable.

With combo boxes , CONTROL GET TEXT returns the text entered in the edit portion of the control. To retrieve the selected text from the list portion of a combo box or a list box control, use the COMBOBOX GET TEXT statement or LISTBOX GET TEXT statement respectively.

See also

  • Dynamic Dialog Tools (DDT)
  • COMBOBOX ADD
  • CONTROL SET TEXT
  • LISTBOX ADD
  • LISTVIEW DELETE COLUMN
  • TREEVIEW DELETE
  • PBXB64 Compiler Help


CONTROL GET USER - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL GET USER

Retrieve a value from the user data area of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL GET USER hDlg , id& , index& TO retvar&

Description

Retrieve a value from the user data area of a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Each DDT control has a user data area consisting of eight Long-integer values which may be used at the programmer's discretion to save relevant data. CONTROL GET USER allows one of the values to be retrieved, based upon the index parameter value (1 through 8).

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

index& is the index number of the user data value to retrieve, in the range 1 to 8 inclusive.

retvar& receives the Long-integer data value store in the nominated user data index.

Restrictions

Data in the user data area is lost when the control is destroyed. The data area is completely separate from the %GWL_USERDATA area maintained by Windows.

PBXB64 stores the eight values per live control and resets them when a control ID is reused for a newly created control. The focused fixture tests/pb/test_control_user_data.pb covers both round-trip access and reset behavior.

See also

  • Dynamic Dialog Tools (DDT)
  • COMBOBOX ADD
  • CONTROL SET USER
  • DIALOG GET USER
  • DIALOG SET USER
  • LISTBOX ADD
  • LISTVIEW DELETE COLUMN
  • TREEVIEW DELETE
  • PBXB64 Compiler Help


CONTROL HANDLE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL HANDLE

Return a window

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL HANDLE hDlg , id& TO hCtl&

Description

Return a window

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control. id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

The returned value is a window handle for the control, assigned by Windows when the control was initially created, uniquely identifying the control from all other controls. Some API functions require a window handle value rather than a control ID value.

PBXB64 resolves the child with GetDlgItem and stores the live HWND in hCtl&. The focused fixture tests/pb/test_control_handle.pb verifies that the returned handle is identical to the handle from CONTROL ADD.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL SEND
  • WINDOW GET HANDLE
  • PBXB64 Compiler Help


CONTROL HIDE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL HIDE

Make a control

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL HIDE HDlg , ID&

Description

Make a control

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Control identified by the HDlg / ID& combination is made invisible.

HDlg is the handle of the dialog which owns the control. ID& is the unique control identifier assigned to the control with CONTROL ADD.

See also

  • CONTROL NORMALIZE
  • CONTROL SET SIZE
  • DIALOG HIDE
  • DIALOG NORMALIZE
  • PBXB64 Compiler Help


CONTROL KILL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL KILL

Remove a control from a dialog.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL KILL hDlg , id&

Description

Remove a control from a dialog.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control. id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

The control is destroyed and removed from the dialog. The Callback Function for the control or dialog will no longer receive messages for the control.

Restrictions

A control should not be destroyed while processing a notification message from the same control, but it is permissible to kill a different control in the notification handler. If is absolutely necessary to kill a control while processing one of its notification messages, use the PostMessage API function (or the DIALOG POST or CONTROL POST statements) to post a user-defined message to the dialog callback, and kill the control when processing the user-defined message.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL DISABLE
  • CONTROL ENABLE
  • PBXB64 Compiler Help


CONTROL NORMALIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL NORMALIZE

Make a control

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL NORMALIZE HDlg , ID&

Description

Make a control

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Control identified by the HDlg/ID& combination is made visible.

HDlg is the handle of the dialog which owns the control. ID& is the unique control identifier assigned to the control with CONTROL ADD.

See also

  • CONTROL HIDE
  • CONTROL SET SIZE
  • DIALOG HIDE
  • DIALOG NORMALIZE
  • PBXB64 Compiler Help


CONTROL POST - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL POST

Place a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL POST hDlg , id& , Msg& , wParam& , lParam&

Description

Place a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

CONTROL POST places the message in the message queue and returns immediately. The message is processed by the control at a later time, when it reads the message from the queue.

This behavior is quite different to the CONTROL SEND statement, which forces the control to process the message immediately before returning. Since CONTROL POST is an asynchronous operation, it is not possible to retrieve a return code from the message.

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

Msg& is the message you want to post to the control.

wParam& is the first message parameter. lParam& is the second message parameter. The values of wParam& and lParam& are message-dependent. By Default, PowerBASIC passes these parameters BYVAL. If the target control is expected to alter the values held by variables passed in the wParam& and lParam& parameters, pass them using VARPTR() or the changes will likely be discarded.

Note that the address of the data must remain valid until after the control has processed the message and accessed the data. In this case, using STATIC or GLOBAL variables can be very important or a General Protection Fault (GPF) may occur (that is, if the variables have gone out of scope by the time the message is processed).

An example of posting the addresses of variables to a control:

' Retrieve an Edit controls Current Selection

' Sel1& and Sel2& must be STATIC or GLOBAL

CONTROL POST CB.HNDL, %ID_EDIT6, %EM_GETSEL, VARPTR(Sel1&), VARPTR(Sel2&)

CONTROL POST returns immediately after the placing the message in the queue.

PBXB64 resolves the child control from hDlg and id& and queues the message with PostMessageA. The message is delivered when the dialog message loop dispatches it; the focused fixture tests/pb/test_control_send_post.pb proves the queued state change with DIALOG DOEVENTS. CONTROL POST has no result target.

Restrictions

To post a custom message to a control, use a message value in the range of (%WM_USER + 500) to (%WM_USER + &H07FFF), or use the RegisterWindowMessage API to obtain a unique message value from the operating system. Using messages with a numeric value of less then %WM_USER + 500 may conflict with Windows Common Control messages.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL HANDLE
  • CONTROL SEND
  • DIALOG POST
  • DIALOG SEND
  • PBXB64 Compiler Help


CONTROL REDRAW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL REDRAW

Schedule a designated control to be redrawn.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL REDRAW hDlg , id&

Description

Schedule a designated control to be redrawn.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

CONTROL REDRAW invalidates the target control and schedules a redraw event to occur.

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

Restrictions

Redrawing of individual controls is considered a low priority event, and a control redraw may not happen instantly if there are pending messages in the message queue. That is, pending messages in the message queue may need to be processed before the scheduled redraw event occurs.

It is not advisable to use CONTROL REDRAW or DIALOG REDRAW within the %WM_PAINT and associated message handling code, or an infinite redraw loop could occur.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL SET COLOR
  • DIALOG SET COLOR
  • DIALOG REDRAW
  • PBXB64 Compiler Help


CONTROL SEND - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SEND

Send a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SEND hDlg , id& , Msg& , wParam& , lParam& [TO lResult& ]

Description

Send a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

Msg& is the message you want to send the control.

wParam& is the first message parameter. lParam& is the second message parameter. The values of wParam& and lParam& are message-dependent. By default, PowerBASIC passes these parameters BYVAL. If the target control is expected to return or alter the values passed in the wParam& and lParam& parameters, pass them using VARPTR or the return values will be discarded. For example:

' Retrieve an Edit control's Current Selection

CONTROL SEND CB.HNDL, %ID_EDIT1, %EM_GETSEL, VARPTR(Sel1&), VARPTR(Sel2&)

CONTROL SEND does not return from execution until the control's callback has processed the message. This synchronous behavior is quite different to the behavior of CONTROL POST , which simply places the message in the control's message queue (for processing at a later time) and immediately returns. On this basis, CONTROL SEND can receive a return value from the message, but CONTROL POST cannot.

The return value from the message can optionally be assigned to lResult &.

PBXB64 resolves the child control from hDlg and id&, sends the message synchronously with SendMessageA, and assigns the native result when the optional TO lResult& form is used. The focused fixture tests/pb/test_control_send_post.pb covers a synchronous BM_GETCHECK result and the paired queued message path.

If CONTROL SEND sends a message that arrives back in the same callback as the message originated, care should be exercised to ensure that critical STATIC and GLOBAL variables are not unexpectedly altered by the second message processing code in the callback. This is known as re-entrant code design.

Restrictions

To send a custom message to a dialog, use a message value in the range of (%WM_USER + 500) to (%WM_USER + &H07FFF), or use the RegisterWindowMessage API to obtain a unique message value from the operating system. Using messages with a numeric value of less then %WM_USER + 500 may conflict with Windows Common Control messages.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL HANDLE
  • CONTROL POST
  • DIALOG POST
  • DIALOG SEND
  • PBXB64 Compiler Help


CONTROL SET CHECK - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET CHECK

Set the Check State for a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET CHECK hDlg , id& , checkstate&

Description

Set the Check State for a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

With a checkbox control, the Check State is set (checked) when an 'X' symbol is shown in the check box. The Check State is deemed unset (unchecked or cleared) when the check box is empty.

A CHECK3STATE control supports a third state, known as indeterminate. In this state, the check box is grayed.

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the button control with a CONTROL ADD statement.

For CHECKBOX controls, set checkstate& to zero (0) to uncheck (unset or clear) the Check State of the control, or one (1) to check (set) the Check State of the control.

For CHECK3STATE controls, set checkstate& to zero (0) to uncheck (unset or clear) the Check State of the control, one (1) to check (set) the Check State (display an 'X' symbol in the box), or two (2) to set the indeterminate state (display a grayed check box).

To set the Check State of OPTION controls, use the CONTROL SET OPTION statement.

PBXB64 sends the requested state through the native button control and uses PB's documented default auto-check styles when CONTROL ADD CHECKBOX or CONTROL ADD CHECK3STATE omits style operands. The focused fixture tests/pb/test_control_check_state.pb covers states 0, 1, and 2.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD CHECK3STATE
  • CONTROL ADD CHECKBOX
  • CONTROL ADD OPTION
  • CONTROL GET CHECK
  • CONTROL SET OPTION
  • TREEVIEW DELETE
  • PBXB64 Compiler Help


CONTROL SET CLIENT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET CLIENT

Change the size of a control to a specific

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET CLIENT hDlg , id& , nWide& , nHigh&

Description

Change the size of a control to a specific

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Client size may be smaller than total size, depending on the type of borders used. The client area is the part inside the borders of a control, which varies depending upon the style and exstyle at creation. In a control without borders, the client size and total size is the same. As an alternate example, a control with the %WS_BORDER style will typically have a client area a few pixels smaller than the total size.

Handle of the dialog that owns the control.

The unique control identifier , assigned to the control with the CONTROL ADD statement.

nWide& , nHigh&

Integral expressions, variables , or numeric literal values, specifying the desired size of the client area. Width and height are specified in pixels or dialog units , depending upon the system used when the parent dialog was created.

PBXB64 preserves the current non-client frame, adds it to the requested client dimensions, and applies the resulting total size with SetWindowPos. The focused fixture tests/pb/test_control_geometry.pb verifies the requested client width and height.

Graphic Controls

Beginning with this version of PowerBASIC, GRAPHIC CONTROLS may be resized with CONTROL SET CLIENT, GRAPHIC SET CLIENT, CONTROL SET SIZE , and GRAPHIC SET SIZE.

When you change the size of a graphic control, the original bitmap is copied, pixel for pixel, to the newly resized control. Any expanded area is filled with the current background color. Your program draws to it in the normal fashion for a bitmap of the new size.

If a clip area had been established to create margins, it is reset. If scaled coordinates had been established, they are also reset, as neither would be appropriate for the altered size. You can enable these attributes again with GRAPHIC SCALE or GRAPHIC SET CLIP, based upon the new size of the drawing area.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • CONTROL GET LOC
  • CONTROL GET SIZE
  • CONTROL SET LOC
  • CONTROL SET SIZE
  • GRAPHIC SET CLIENT
  • GRAPHIC SET SIZE
  • PBXB64 Compiler Help


CONTROL SET COLOR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET COLOR

Set the foreground and background colors of a dialog control using the documented RGB values and the default-color sentinels.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET COLOR hDlg , id& , foreclr& , backclr&

Description

Set the foreground and background colors of a dialog control using the documented RGB values and the default-color sentinels.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg identifies the control?s parent dialog, and id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

Color values of foreclr& and backclr& must be in the range of &H0 to &H00FFFFFF. RGB can be a useful function to derive a 32-bit color value from discrete Red, Green and Blue values:

foreclr&

The foreground color parameter foreclr& is used to set the color of the text displayed in the control. If foreclr& = -1&, the default foreground text color is used.

backclr&

The backclr& parameter specifies the color of the background behind the text in the control. If backclr& = -1&, the default background text color is used. If backclr& = -2&, the text background is not painted, allowing the background to show "through" the text. The non-visible background style may produce undesirable side effects with some controls. For example, on a FRAME control, the caption text will appear superimposed over an unbroken frame.

In 16-bit or greater color-depth mode, the specified RGB color is used when the background of the control is drawn. However, in 8-bit (256-color) mode, the color system works quite differently. Behind the scenes in Windows, the base system palette usually contains 20 solid colors that are not dithered when drawn on the controls background. These solid-colors are ideal for control background colors with DDT dialogs in 256-color mode.

Conversely, when using a non-solid RGB color value, Windows will dither (approximate) the color to draw the control, using combinations of two or more colors. This usually produces an undesirable pattern effect.

To avoid these problems when in 256-color mode, controls should be colored with one of the 20 standard (solid) system colors, or the default color should be used instead. PowerBASIC includes the following 10 built-in equates for help with the selection of a standard solid color:

%RGB_BLACK %RGB_BLUE %RGB_GREEN %RGB_CYAN %RGB_RED

%RGB_MAGENTA %RGB_YELLOW %RGB_WHITE %RGB_GRAY %RGB_LIGHTGRAY

Many non standard colors are also built into the compiler, see the Built In RGB Color Equates topic for a complete list.

If you prefer to disable color in 256-color mode, the number of colors can be easily tested with the following code:

' Determine number of colors

LOCAL hDC AS DWORD, iColors AS LONG

hDC = GetWindowDC(GetDeskTopWindow())

iColors = 2& ^ (GetDeviceCaps(hDC, %BITSPIXEL) * GetDeviceCaps(hDC, %PLANES))

ReleaseDC GetDeskTopWindow(), hDC

IF iColors > 256 THEN _

CONTROL SET COLOR hDlg, idctl&, -1, RGB(0,255,100)

In 256-color mode on most computers, the values of the standard 20 system colors can be found by requesting the first and last 10 (0 to 9, and 246 to 255 inclusive) entries from the GetSystemPaletteEntries API function, as follows:

' Fill array with solid colors

DIM hDC AS DWORD, Cols AS LONG, x AS LONG

hDC = GetWindowDC(GetDesktopWindow)

Cols = GetDeviceCaps(hDC, %NUMRESERVED)

REDIM lp(1 TO Cols) AS LONG

x& = GetSystemPaletteEntries(hDC, 0, Cols \ 2, BYVAL VARPTR(lp(1)))

x& = GetSystemPaletteEntries(hDC, 256 - x&, Cols - x&, BYVAL VARPTR(lp(x& + 1)))

ReleaseDC GetDesktopWindow, hDC

' Array lp() now contains the solid color table

For more information on working with palettes in 256-color mode, please consult WIN32.HLP or visit http://msdn.microsoft.com .

Restrictions

Windows does not permit the color of standard push button controls, line controls, image controls, image buttons, and most common controls to be altered by the standard CONTROL SET COLOR techniques.

To create a colored push button or colored region on a dialog, the preferred solution is to use an IMGBUTTON / IMAGEBUTTONX or IMAGE / IMAGEX control, with a suitably colored bitmap. Some common controls offer specific ways to set their color. For example, the background color of a List View control can be set with the %LVM_SETBKCOLOR message.

When dynamically changing colors of a control from within a callback (i.e., after the DIALOG SHOW statement), a CONTROL SET COLOR statement should be immediately followed by an explicit CONTROL REDRAW statement.

Without this forced control redraw, the control background color change may not become evident to the user until the control is eventually repainted in the normal course of user interaction. For example, a normal repaint may only occur if the control becomes obscured and then uncovered by another window. Ensuring a timely repaint of the control will guarantee the control maintains an up-to-date appearance at all times.

When updating the colors of multiple controls at the same time, a DIALOG REDRAW is usually more efficient than multiple CONTROL REDRAW statements.

See also

  • Built In RGB Color Equates
  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • CONTROL GET SIZE
  • CONTROL REDRAW
  • CONTROL SET FONT
  • DIALOG REDRAW
  • DIALOG SET COLOR
  • PBXB64 Compiler Help


CONTROL SET FOCUS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET FOCUS

Set the keyboard focus to the specified control.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET FOCUS hDlg , id&

Description

Set the keyboard focus to the specified control.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

The control that owns the focus will receive all keyboard messages. Many controls change their appearance when they receive (and lose) keyboard focus, usually by the display of a "focus rectangle" around or on the control that has keyboard focus. Only one control can have keyboard focus at any moment, and situations can arise where no controls have focus.

Controls that include a "notify" style (i.e., %BS_NOTIFY) will receive a notification message when focus is gained or lost. That is, when one such control loses focus, it receives a message to that effect and the control gaining focus may also receive an appropriate focus notification message.

When a control gains focus the parent dialog will also be set as the foreground window.

Windows does not guarantee the order in which focus notification messages are dispatched to the control losing focus and the control gaining focus. Applications should not rely on the order in which these types of messages are received.

Restrictions

CONTROL SET FOCUS cannot be used to set the focus of a control in a separate thread.

See also

  • Dynamic Dialog Tools (DDT)
  • PBXB64 Compiler Help


CONTROL SET FONT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET FONT

Select a font to be used for a particular Windows Control.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET FONT hDlg , id& , FontHndl&

Description

Select a font to be used for a particular Windows Control.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The font specified by FontHndl& is selected to be used by this particular control, until or unless it is changed with another CONTROL SET FONT statement. If you specify a FontHndl& of zero, the font is changed back to the original default font chosen by PowerBASIC.

You can predefine virtually any number of fonts and attributes by executing FONT NEW statements for each of them. That makes them ready for immediate use when selected by CONTROL SET FONT, GRAPHIC SET FONT , and XPRINT SET FONT .

PBXB64 applies a nonzero FONT NEW handle with the control's WM_SETFONT message. A zero handle restores the font inherited from the owning dialog. The focused test fixture tests/pb/test_control_set_font.pb covers both transitions.

See also

  • DIALOG DEFAULT FONT
  • FONT END
  • FONT NEW
  • GRAPHIC SET FONT
  • XPRINT SET FONT
  • PBXB64 Compiler Help


CONTROL SET IMAGE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET IMAGE

Change the icon or bitmap displayed in an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET IMAGE hDlg , id& , newimage$

Description

Change the icon or bitmap displayed in an

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with the CONTROL ADD IMAGE statement.

newimage$ specifies the name of the bitmap or icon in the resource file . If the image resource uses an integral identifier, newimage$ should begin with a Number symbol (#), followed by the integer identifier in ASCII format. For example, "#998". Otherwise, the text identifier name should be used.

Restrictions

Images can only be exchanged with images of the same type. That is, if the control is displaying a bitmap then the replacement image must also be a bitmap. If the control is displaying an icon, the replacement image must also be an icon. For best results, icons should be 32x32 pixels.

When an image is changed, CONTROL SET IMAGE automatically releases the old image from memory. Previous versions of PowerBASIC placed the onus on the programmer to release the old image handle.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD GRAPHIC
  • CONTROL ADD IMAGE
  • CONTROL ADD IMAGEX
  • CONTROL ADD IMGBUTTON
  • CONTROL ADD IMGBUTTONX
  • CONTROL GET CLIENT
  • CONTROL GET SIZE
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • PBXB64 Compiler Help


CONTROL SET IMAGEX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET IMAGEX

Change the icon or bitmap displayed in an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET IMAGEX hDlg , id& , newimage$

Description

Change the icon or bitmap displayed in an

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with the CONTROL ADD IMAGEX statement.

newimage$ specifies the name of the bitmap or icon in the resource file . If the image resource uses an integral identifier, newimage$ should begin with a Number symbol (#), followed by the integer identifier in ASCII format. For example, "#998". Otherwise, the text identifier name should be used.

Restrictions

Images can only be exchanged with images of the same type. That is, if the control is displaying a bitmap then the replacement image must also be a bitmap. If the control is displaying an icon, the replacement image must also be an icon. For best results, icons should be 32x32 pixels.

When an image is changed, CONTROL SET IMAGEX automatically releases the old image from memory. Previous versions of PowerBASIC placed the onus on the programmer to release the old image handle.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD GRAPHIC
  • CONTROL ADD IMAGE
  • CONTROL ADD IMAGEX
  • CONTROL ADD IMGBUTTON
  • CONTROL ADD IMGBUTTONX
  • CONTROL SET IMAGE
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • PBXB64 Compiler Help


CONTROL SET IMGBUTTON - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET IMGBUTTON

Change the icon or bitmap displayed in an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET IMGBUTTON hDlg , id& , newimage$

Description

Change the icon or bitmap displayed in an

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with the CONTROL ADD IMGBUTTON statement.

newimage$ specifies the name of the bitmap or icon in the resource file . If the image resource uses an integral identifier, newimage$ should begin with a Number symbol (#), followed by the integer identifier in ASCII format. For example, "#998". Otherwise, the text identifier name should be used.

Restrictions

Images can only be exchanged with images of the same type. That is, if the control is displaying a bitmap then the replacement image must also be a bitmap. If the control is displaying an icon, the replacement image must also be an icon. For best results, icons should be 32x32 pixels.

When an image is changed, CONTROL SET IMGBUTTON automatically releases the old image from memory. Previous versions of PowerBASIC placed the onus on the programmer to release the old image handle.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD GRAPHIC
  • CONTROL ADD IMAGE
  • CONTROL ADD IMAGEX
  • CONTROL ADD IMGBUTTON
  • CONTROL ADD IMGBUTTONX
  • CONTROL SET IMAGE
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTONX
  • PBXB64 Compiler Help


CONTROL SET IMGBUTTONX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET IMGBUTTONX

Change the icon or bitmap displayed in an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET IMGBUTTONX hDlg , id& , newimage$

Description

Change the icon or bitmap displayed in an

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with the CONTROL ADD IMGBUTTONX statements.

newimage$ specifies the name of the bitmap or icon in the resource file . If the image resource uses an integeral identifier, newimage$ should begin with a Number symbol (#), followed by the integer identifier in ASCII format. For example, "#998". Otherwise, the text identifier name should be used.

Restrictions

Images can only be exchanged with images of the same type. That is, if the control is displaying a bitmap then the replacement image must also be a bitmap. If the control is displaying an icon, the replacement image must also be an icon. For best results, icons should be 32x32 pixels.

When an image is changed, CONTROL SET IMGBUTTONX automatically releases the old image from memory. Previous versions of PowerBASIC placed the onus on the programmer to release the old image handle.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD GRAPHIC
  • CONTROL ADD IMAGE
  • CONTROL ADD IMAGEX
  • CONTROL ADD IMGBUTTON
  • CONTROL ADD IMGBUTTONX
  • CONTROL SET IMAGE
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • PBXB64 Compiler Help


CONTROL SET LOC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET LOC

Move the control to a new location in the dialog.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET LOC hDlg , id& , x& , y&

Description

Move the control to a new location in the dialog.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

x& and y& specify the new location for the upper left corner of the control. These coordinates are relative to the upper left corner of the client area of the parent dialog (0,0), and are specified in the same terms (pixels or dialog units) as the parent dialog.

The location coordinates may be negative or larger than the width of the parent dialog's client area, causing the control to be clipped (partially displayed) or completely hidden.

This technique is often employed to capture the ENTER key, by creating a default button (%BS_DEFAULT) and positioning the control outside of the client area of the dialog - even though the control is not visible, it is still active and can respond to control accelerator keystrokes, etc.

PBXB64 applies the new location with SetWindowPos while preserving the control size and z-order. The focused fixture tests/pb/test_control_geometry.pb moves a live control and reads the parent-relative location back.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • CONTROL GET LOC
  • CONTROL GET SIZE
  • CONTROL SET SIZE
  • PBXB64 Compiler Help


CONTROL SET OPTION - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET OPTION

Set the Check State for an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET OPTION hDlg , id& , minid& , maxid&

Description

Set the Check State for an

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Check State is deemed set (checked) when the check box is selected, and unset (unchecked or clear) if the check box is empty. Only one OPTION control in a group of OPTION controls should ever have its Check State set at any given time. OPTION controls in a group should be assigned unique sequential identifier numbers.

hDlg refers to the dialog that owns the OPTION controls.

id& is the unique control identifier as assigned to the button control with a CONTROL ADD OPTION statement. CONTROL SET OPTION sets the Check State for this control, and unsets the Check State for all of the remaining OPTION controls whose identifiers are included in the range minid& through maxid& , inclusive.

The first OPTION control in a group should have the style %WS_GROUP to mark the beginning of a group of buttons, and the first non-OPTION control after the group should also have this style set. If there are no other controls after the group, add %WS_GROUP to the first control in the dialog. This ensures keyboard navigation with the arrow buttons will operate within the group of OPTION controls.

PBXB64 validates the inclusive ID range, clears each live control in that range, and sets the selected id& with the native BM_SETCHECK message. The focused fixture tests/pb/test_control_set_option.pb verifies both directions of two-option exclusivity.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD OPTION
  • CONTROL GET CHECK
  • PBXB64 Compiler Help


CONTROL SET SIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET SIZE

Change the size of a control

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET SIZE hDlg , id& , nWide& , nHigh&

Description

Change the size of a control

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

O verall size may be larger than client size, depending on the type of borders used. The client area is the part inside the borders of a control, which varies depending upon the style and exstyle at creation. Overall size includes the borders. In a control without borders, the client size and total size is the same. However, a control with the %WS_BORDER style will typically have a client area a few pixels smaller than the total size.

Handle of the dialog that owns the control.

nWide&, nHigh&

Integral numeric expressions which specify the desired size of the overall area. Width and height are specified in pixels or dialog units , depending upon the system used when the parent dialog was created.

PBXB64 changes the complete child window size with SetWindowPos while preserving its location and z-order. The focused fixture tests/pb/test_control_geometry.pb verifies the requested total dimensions.

Graphic Controls

Beginning with this version of PowerBASIC, GRAPHIC CONTROLS may be resized with CONTROL SET CLIENT , GRAPHIC SET CLIENT , CONTROL SET SIZE, and GRAPHIC SET SIZE .

When you change the size of a graphic control, the original bitmap is copied, pixel for pixel, to the newly resized control. Any expanded area is filled with the current background color. Your program draws to it in the normal fashion for a bitmap of the new size.

If a clip area had been established to create margins, it is reset. If scaled coordinates had been established, they are also reset, as neither would be appropriate for the altered size. You can enable these attributes again with GRAPHIC SCALE or GRAPHIC SET CLIP , based upon the new size of the drawing area.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • CONTROL GET LOC
  • CONTROL GET SIZE
  • CONTROL SET LOC
  • GRAPHIC SET CLIENT
  • GRAPHIC SET SIZE
  • PBXB64 Compiler Help


CONTROL SET TEXT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET TEXT

Change the text in a control.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET TEXT hDlg , id& , txt$

Description

Change the text in a control.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

txt$ is the new text for the control. Any existing text in the control is replaced with the new text.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET TEXT
  • PBXB64 Compiler Help


CONTROL SET USER - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SET USER

Set a value in the user data area of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SET USER hDlg , id& , index& , usrval&

Description

Set a value in the user data area of a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Each DDT control has a user data area consisting of eight Long-integer values which may be used at the programmer's discretion to save relevant data. CONTROL SET USER allows one of the values to be set, based upon the index parameter value (1 through 8).

hDlg refers to the dialog that owns the control.

id& is the unique control identifier as assigned to the control with a CONTROL ADD statement.

index& is the index number of the user data value to set, in the range 1 to 8 inclusive.

usrval& is the Long-integer data value to store in the user data area.

Restrictions

Data in the user data area is lost when the control is destroyed. The data area is completely separate from the %GWL_USERDATA area maintained by Windows.

PBXB64 stores the eight values per live control and resets them when a control ID is reused for a newly created control. The focused fixture tests/pb/test_control_user_data.pb covers both round-trip access and reset behavior.

See also

  • Dynamic Dialog Tools (DDT)
  • COMBOBOX ADD
  • CONTROL GET USER
  • DIALOG GET USER
  • DIALOG SET USER
  • LISTBOX ADD
  • LISTVIEW DELETE COLUMN
  • TREEVIEW DELETE
  • PBXB64 Compiler Help


CONTROL SHOW STATE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL SHOW STATE

Change the visible state of a control.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

CONTROL SHOW STATE hDlg , id& , showstate& [TO lResult& ]

Description

Change the visible state of a control.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

CONTROL SHOW STATE is used to alter the state and/or appearance of the specified control, identified by the parent dialog handle hDlg , and control id& unique identifier combination.

showstate& can be one of the following (with a value in the range from 0 to 10) as defined in the WIN32API.INC file):

%SW_HIDE

Hide the control.

%SW_MAXIMIZE

Maximize the specified control.

%SW_MINIMIZE

Minimize the specified control.

%SW_RESTORE

Activate and display the control. If the control is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized control.

%SW_SHOW

Activate the control and display it in its current size and position.

%SW_SHOWMAXIMIZED

Synonym of %SW_MAXIMIZE.

%SW_SHOWMINIMIZED

Activate the control and minimize it.

%SW_SHOWNA

Display the control in its current state without activating it. The currently active window/control remains active.

%SW_SHOWNOACTIVATE

Display the control in its most recent size and position without activating it. The currently active window/control remains active.

%SW_SHOWNORMAL

Activate and display the control. If the control is minimized or maximized, it is restored it to its original size and position.

If the optional TO clause is included, the lResult& variable is assigned the value zero if the control was previously not visible, or non-zero if it was previously visible.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL DISABLE
  • CONTROL ENABLE
  • DIALOG SHOW STATE
  • PBXB64 Compiler Help


CONTROL TRAXOMATIC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CONTROL TRAXOMATIC

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

CONTROL TRAXOMATIC hDlg, ID, TraxBits

Description

Category: PowerBASIC compatibility reference

PBXB64 status: PARTIAL: the statement, all documented Trax equates, and proportional position/size tracking for a registered DDT child control are implemented and executable-tested. PowerTrax percentage coordinate mode and automatic scaling inheritance remain open.

TraxBits

%Trax.Full    Both size and position
%Trax.High    Height
%Trax.Wide    Width
%Trax.Size    Height and width
%Trax.Vert    Vertical position
%Trax.Horz    Horizontal position
%Trax.Posn    Horizontal and vertical position
%Trax.None    Disable TRAXOMATIC tracking

The parent dialog must be created by DDT. The focused executable proof is tests/pb/test_traxomatic.pb, which checks all eight equate values and the full position/size update for a child dialog and a button control.

Known boundary: the PB Original wording also enables PowerTrax scaling mode. PBXB64 does not yet implement percentage-valued control creation or automatic scaling inheritance.

See also

  • DIALOG TRAXOMATIC
  • DIALOG XLAT
  • CONTROL ADD
  • PBXB64 Compiler Help


Converting a .RC to a .RES - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Converting a .RC to a .RES

Using the IDE

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Using the IDE

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Firstly, ensure that the PowerBASIC IDE's OPTIONS dialog is configured to correctly point to the RC.EXE and PBRES.EXE files. Once configured, the IDE can automatically compile a .RC into a .RES file. When the "Create a .PBR when compiling .RC files" option on the compiler options tab is selected the IDE will also produce a .PBR file from the .RES file. This is achieved in one simple step: simply load the .RC file into the IDE and select Compile.

Using the command-line Resource Compiler

To compile the .RC file, we need to run the Resource Compiler from a DOS box (command-line) to create the binary (.RES) resource file.

The resource compiler takes the filename of your modified (.RC) resource script file as a parameter, and produces a new 32-bit .RES file. For example:

Back to command index


COS - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

COS

Return the cosine of an angle.

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

y = COS( numeric_expression )

Description

Return the cosine of an angle.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

numeric_expression is an angle specified in radians. To convert radians to degrees, multiply by 57.29577951308232##. To convert degrees to radians, multiply by 0.0174532925199433##. For more information on radians, see the ATN function.

COS returns an Extended-precision value that always ranges between -1 and +1 inclusive.

In PBXB64, COS also accepts INT128, UINT128, INT256, UINT256, INT512, UINT512, and UNL values through the existing COS command. The typed path returns a floating result; UNL values are dispatched internally without a new command name.

The Inverse Cosine (ARCCOS) of a value can be calculated as follows:

pi## = 3.141592653589793##

ArcCos = pi## / 2 - ATN( Value / SQR(1 - Value * Value ))

The Hyperbolic Cosine (COSH) of a value can also be calculated:

CosH = (EXP(Value) + EXP(-Value)) / 2

The Inverse Hyperbolic Cosine (ARCCOSH) of a value can also be calculated:

ArcCosH = LOG(Value + SQR(Value * Value - 1))

' Useful Macro functions

MACRO Pi = 3.141592653589793##

MACRO DegreesToRadians(dpDegrees) = (dpDegrees*0.0174532925199433##)

MACRO RadiansToDegrees(dpRadians) = (dpRadians*57.29577951308232##)

Example

#COMPILE EXE
#DIM ALL
' math_cos_basic
FUNCTION PBMAIN() AS LONG
  IF ((COS(0.0)) < (1.0000000000) - 0.0001) OR ((COS(0.0)) > (1.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((COS(1.0)) < (0.5403023059) - 0.0001) OR ((COS(1.0)) > (0.5403023059) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((COS(-1.0)) < (0.5403023059) - 0.0001) OR ((COS(-1.0)) > (0.5403023059) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • ATN
  • SIN
  • TAN


COSH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

COSH

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

y = COSH( numeric_expression )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CPHASE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CPHASE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

phase = CPHASE( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CPOW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CPOW

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CPOW$( base, exponent )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CREAL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CREAL

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CREAL$( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Creating a Dialog - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Creating a Dialog

In this example, we will create a simple dialog that asks the user to enter his/her name, providing a text box for input, plus both "OK" and "Cancel" buttons. To create the dialog, first we use the DI

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

In this example, we will create a simple dialog that asks the user to enter his/her name, providing a text box for input, plus both "OK" and "Cancel" buttons. To create the dialog, first we use the DI

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

LOCAL hParent AS DWORD

DIALOG NEW hParent, Caption$,,, 160, 50, Style&, exStyle& TO hDlg

Back to command index


Creating a DISPATCH Object - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Creating a DISPATCH Object

DISPATCH objects are easy to create. The technique is virtually identical to that for direct interfaces . You must first declare the object variable -- if you wish to use " Late Binding ", you'll use

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

DISPATCH objects are easy to create. The technique is virtually identical to that for direct interfaces . You must first declare the object variable -- if you wish to use " Late Binding ", you'll use

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

LOCAL DispVar AS IDISPATCH

LET DispVar = NEWCOM "DispProgID"

If you wish to use " ID Binding ", you'll use the interface name from your Interface IDBIND structure.

LOCAL DispVar AS MyDispIfaceName

Back to command index


Creating a Dynamic Link Library - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Creating a Dynamic Link Library

A DLL contains one or more exported Classes , Subs , or Functions that may be called by applications or other DLLs. A DLL may also contain any number of private Subs or Functions that can only be call

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A DLL contains one or more exported Classes , Subs , or Functions that may be called by applications or other DLLs. A DLL may also contain any number of private Subs or Functions that can only be call

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The first step is to identify the sections of your application that are used in multiple programs, or in the case of Visual Basic, Subs and Functions that you need to execute faster.

Save those Subs and Functions as text, and change the file extension to .BAS. This will become the source module that will be compiled into a DLL with PowerBASIC. You could also create the source file from scratch, if you so wish.

Back to command index


Creating a Static Link Library - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Creating a Static Link Library

Creation of an SLL couldn't be easier. All it takes is a single metastatement at the top of your module source code:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Creation of an SLL couldn't be easier. All it takes is a single metastatement at the top of your module source code:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

If your source code file is named "ABC.BAS", then your Static Link Library will automatically be named "ABC.SLL". (You can check the #COMPILE section for additional naming options.) When you wish to use the SLL code in a host program, you use:

and the contents are automatically embedded in the new .EXE or .DLL. It's just that simple.

Back to command index


CSET$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CSET$

Return a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

result_var = CSET$( string_expression , strlen& [USING ustring_expression ])

Description

Return a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

CSET$ centers the string string_expression into a string of strlen& characters.

If ustring_expression is null (empty) or is not specified, CSET$ pads string_expression with space characters. Otherwise, CSET$ pads the string with the first character of ustring_expression .

If string_expression is shorter then strlen& , CSET$ centers string_expression within result_var, padding both sides as described above; otherwise, CSET$ returns the left-most strlen& bytes of string_expression .

See also

  • GET
  • LET
  • LSET$
  • PUT
  • RESET
  • RSET$
  • STRINSERT$
  • TYPE SET
  • PBXB64 Compiler Help


CSIN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CSIN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CSIN$( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CSQRT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CSQRT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CSQRT$( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CSRLIN - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › File I/O PBXB64 Compiler Help

CSRLIN

Category: PowerBASIC compatibility reference

Chapter: File I/O

Syntax

Zeile& = CSRLIN

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CSUB - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CSUB

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CSUB$( left, right )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CTAN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CTAN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = CTAN$( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CURDIR$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CURDIR$

Return the current directory path for the specified drive.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = CURDIR$[( drive$ )]

Description

Return the current directory path for the specified drive.

Kind: Function | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

drive$ is an optional string expression , containing the drive letter of the target disk drive. If drive$ is not specified or is an empty string , the current directory path is returned for the default drive.

See also

  • CHDRIVE
  • CHDIR
  • PBXB64 Compiler Help


Currency and Extended-currency - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Currency and Extended-currency

Currency variables are 8 byte binary representations of floating point numbers, which are considered to always have a fixed number of digits to the right of the decimal point. Currency numbers have a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Currency variables are 8 byte binary representations of floating point numbers, which are considered to always have a fixed number of digits to the right of the decimal point. Currency numbers have a

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The type-specifier character for Currency and Extended-currency floating-point is: @ and @@ respectively.

You can also use the DEFCUR or DEFCUX statement as described under Integers . They can also be declared using the CUR/CURRENCY or CUX/CURRENCYX keywords with the DIM statement. For example:

Example

#COMPILE EXE
#DIM ALL
' numeric_currency_basic
FUNCTION PBMAIN() AS LONG
  LOCAL a AS CURRENCY
  a = 1.23
  IF (a) <> (12300) THEN FUNCTION = 1: EXIT FUNCTION
  a = a + 0.01
  IF (a) <> (12400) THEN FUNCTION = 2: EXIT FUNCTION
  a = a * 2
  IF (a) <> (24800) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


CVBYT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CVBYT

Extracts numeric

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

bytevar? = CVBYT( stringexpr [, offset ])
curvar@ = CVCUR( stringexpr [, offset ])
cuxvar@@ = CVCUX( stringexpr [, offset ])
doublevar# = CVD ( stringexpr [, offset ])
doublewordvar??? = CVDWD( stringexpr [, offset ])
extendedvar## = CVE ( stringexpr [, offset ])
integervar% = CVI ( stringexpr [, offset ])
longintvar& = CVL ( stringexpr [, offset ])
quadintvar&& = CVQ ( stringexpr [, offset ])
singlevar! = CVS ( stringexpr [, offset ])
wordvar?? = CVWRD( stringexpr [, offset ])

Description

Extracts numeric

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The CVx functions return a number corresponding to a binary pattern stored in a ANSI string value. The binary pattern is the internal format used by PowerBASIC to store these values in memory. This format follows the IEEE standard wherever it applies. The MKx$ functions are complementary to the CVx functions. Do not confuse these functions with the VAL function, which converts a number stored as a printable text string (such as "123.45") into a numeric expression.

In all but the most extreme cases, StringExpr must be an ANSI string or UDT which consists of single bytes . WIDE (Unicode) strings consist of a series of 2-byte words which will generally yield undefined results.

The CVx functions allow you to retrieve values beyond the first byte of the StringExpr . In this case, the optional offset parameter tells the byte position where the conversion should begin. This is the byte position, not the character position, even with a WIDE StringExpr . If Offset is not given, it is presumed to be one (1).

For example: "Value& = CVL(x$, 3)" would extract the 3rd through 6th bytes of x$ and convert these 4 bytes to the corresponding Long-integer value. In this example, x$ must be at least 6 bytes long.

Function

Variable

Converts to

1-byte string

8-byte string

Currency

8-byte string

Extended-currency

8-byte string

Double-precision float

4-byte string

Double-word

10-byte string

Extended-precision float

2-byte string

Integer

4-byte string

Long-integer

8-byte string

Quad-integer

4-byte string

Single-precision float

2-byte string

Restrictions

Expressions involving Numeric Equates and conditional compilation ( #IF ) may also include the CVQ function. This allows you to easily assign numeric values to an equate, based upon a meaningful mnemonic. In this context, the CVQ expression is limited to a length of eight bytes. For example:

%Mode = CVQ("DEBUG")

%Style = CVQ("Cool")

CVS limits string display to seven significant digits.

See also

  • MKBYT$
  • PBXB64 Compiler Help


CVWRD - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

CVWRD

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

w& = CVWRD(bytes$)
c&& = CVCUX(bytes$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


DATA - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DATA

Declare

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DATA ["] item ["] [[, ["] item ["]] ...]

Description

Declare

Kind: Statement | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

DATA statements may only appear inside of Subs , Functions , Method , or Properties , and are visible only to the code in the procedure in which they appear. Each procedure may therefore have its own private data.

Data may consist of virtually any text characters. Data items may be enclosed in quotes to preserve leading/trailing spaces, which are otherwise stripped during compilation.

Restrictions

There is a limit of 64 Kilobytes and 16384 separate data items per procedure. Previous versions of PowerBASIC ignored plain text located immediately after a quoted literal up to the next comma or end-of-line; however, this is no longer acceptable and generates an Error 477 ("Syntax error").

DATA statements cannot extend across more than one physical source code line using line continuation characters. Special care should be used when formatting DATA statements, especially if the data is to contain underscore and/or colon characters. The following examples highlight data items in blue:

If an underscore appears after a comma, it is treated as the start of a quoted data string, rather than a line continuation character:

' Three data items exist in this line:

DATA "Tom", "Dick", _Harry

The colon (statement separator) character, when used within unquoted string data, performs as a regular statement separator:

' Two data items and a separate statement

DATA "Tom","Dick" : Harry& = 1

However, if a colon character appears within a quoted data string, it is treated as part of the data string:

' 3 data items

DATA "Tom",Dick,":Harry& = 1"

See also

  • DATACOUNT
  • READ$
  • VAL
  • PBXB64 Compiler Help


Data types in Registers - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Data types in Registers

There are three basic types of operands that can be placed in a register : immediate, memory or another register.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

There are three basic types of operands that can be placed in a register : immediate, memory or another register.

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

An immediate operand is usually a numeric literal (number) but it can also be a string literal in the form "a" which is converted by PowerBASIC to its ASCII equivalent code.

! MOV AL, "a" ; String literal

! MOV EDX, 0 ; Numeric immediate/literal

A memory operand is an address in memory of some form of data:

Back to command index


DATACOUNT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DATACOUNT

Return the total count of the number of local

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

Count% = DATACOUNT

Description

Return the total count of the number of local

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

DATACOUNT only returns the number of DATA items in the Sub , Function , Method , or Property in which it appears (i.e., local DATA statements). While it is not possible to directly read data from outside of the scope of current procedure, global data can be emulated easily by placing it inside a procedure returns data to the calling code. There is a limit of 64 Kilobytes and 16384 separate data items per procedure.

See also

  • DATA
  • READ$
  • PBXB64 Compiler Help


DATE$ system variable - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DATE$ system variable

Set or retrieve the system date.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DATE$ = s$ ' sets system date according to s$
s$ = DATE$ ' s$ now contains system date

Description

Set or retrieve the system date.

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Assigning a properly formatted string value to DATE$ sets the system date. You can also assign DATE$ to a string variable, which stores 10 characters in the form "mm-dd-yyyy", where mm represents the month, dd the day, and yyyy the year.

To change the date, your date string must be formatted in one of the following ways:

mm-dd-yy

mm/dd/yy

mm-dd-yyyy

mm/dd/yyyy

For example, DATE$ = "11-09-84" sets the system date to November 9, 1984.

Restrictions

The year assigned to the DATE$ system variable must be within the range 1980 to 2099. DATE$ never returns locale-specific date formats. When assigning a two digit year, any value less than 81 will be assumed to be in the 2000's and any value greater than 80 will be assumed to be in the 1900's.

See also

  • DAYNAME$
  • MONTHNAME$
  • IPowerTime.AddDays method
  • TIME$ system variable
  • PBXB64 Compiler Help


DAYNAME$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DAYNAME$

Converts a Day-of-Week number to the associated name.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = DAYNAME$( DayNumber& )

Description

Converts a Day-of-Week number to the associated name.

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The DAYNAME$ function converts a Day-of-Weeek number into a string representing its associated name. The argument must be in the range of 0 through 6, representing the names Sunday, Monday, etc.

See also

  • DATE$ system variable
  • MONTHNAME$
  • IPowerTime.AddDays method
  • PBXB64 Compiler Help


Controls - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Controls

A Control is a special Window that provides a method for interacting with the user. Buttons , Combo boxes , List boxes , and Text boxes are all examples of controls. Whenever the user interacts with a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A Control is a special Window that provides a method for interacting with the user. Buttons , Combo boxes , List boxes , and Text boxes are all examples of controls. Whenever the user interacts with a

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

When you add a control to a dialog , it is important that each control has a unique numeric identifier. This identifier helps your application to know which control is sending an event. For example, if your program has two buttons in it, the control ID allows you distinguish between them.

As each control is created, Windows assigns a unique window handle to identify the control. Because your program does not assign these handle values, your code cannot directly use them to identify individual controls. Further, each time a control is destroyed and recreated, a new unique handle value is assigned, further complicating the task. The control ID overcomes these problems, as the programmer determines the ID for each control.

Controls are added to your dialog with the CONTROL ADD statement. Make sure that each control you create has a unique numeric identifier, so that you (and Windows) can tell it apart from other controls on the dialog.

Given the ID of a control, DDT provides the CONTROL HANDLE statement to retrieve the window handle value of the control. If a given ID is duplicated in a dialog, CONTROL HANDLE is only able to identify the first control that matches the ID, and the remaining controls will essentially be ignored. Control ID's can often be duplicated for Label (static) text controls, provided these controls (and their contents, color , or styles ) are not going to be modified at run-time. If such a Label control is to be modified, its control ID must be unique.

Back to command index


Control Styles - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Control Styles

When creating child controls for your dialogs, you are free to use almost any control style permitted by Windows. These styles mostly start with the %WS_ prefix (Window Style), and are included in the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

When creating child controls for your dialogs, you are free to use almost any control style permitted by Windows. These styles mostly start with the %WS_ prefix (Window Style), and are included in the

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

If the style parameter in your CONTROL ADD statements is set to 0, DDT will set default styles automatically for you. The default styles will depend on the type of control you are adding to your dialog. For example, a button will be given the %WS_TABSTOP style.

Note that DDT always gives your controls certain styles, such as %WS_CHILD and %WS_VISIBLE, regardless of the styles you specify. When setting your style parameter, you can safely ignore these two styles and concentrate on the more important styles that are required. This has the advantage of reducing the clutter of your code. The exception is custom controls - in this case you must explicitly specify all required styles.

The "tab-order" of controls (also known as the "z-order") is determined by the order that DDT controls are created at run-time. That is, the first control added to a dialog is the first control in the z-order, the second control added is second, and so forth. When a dialog is initially displayed, keyboard focus is automatically given to the first control in the z-order that has the %WS_TABSTOP style. Each time the TAB key is subsequently pressed, the keyboard focus moves to the next control in the tab-order. To ensure all controls in a dialog can be selected using the TAB key, each control in the dialog should include the %WS_TABSTOP style. The z-order also determines the order that controls are drawn on a dialog, to help ensure that control that overlap one another can be drawn in a predictable manner.

Controls that are disabled (because either they have the %WS_DISABLED style or they have been dynamically disabled with CONTROL DISABLE ) are skipped over.

Back to command index


DEBUG - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DEBUG

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

#DEBUG ON

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


#DEBUG CODE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#DEBUG CODE

Compiler directive to suppress generation of debugging code.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#DEBUG CODE {ON|+ | OFF|-}

Description

Compiler directive to suppress generation of debugging code.

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

When a program is compiled for debugging in the PowerBASIC IDE, the compiler must generate some additional code to facilitate setting of breakpoints and some other debug operations. In most cases, this does not affect the execution of your program. However, in the case of code repetition in a tight loop , or for certain assembler code or data which must not be altered, it may be very important that some debugging code be suppressed so that code will execute correctly, and at full speed.

#DEBUG CODE OFF suppresses generation of debug code, from that line, until a subsequent #DEBUG CODE ON (or the end of the Sub / Function / Method / Property ) is reached. Of course, when debug code is suppressed, it is not possible to set breakpoints on those lines.

#DEBUG CODE metastatements are ignored if not compiling for debug.

See also

  • Error Trapping
  • Error Overview
  • Debugging PBXB64 Programs
  • #DEBUG DISPLAY
  • #DEBUG ERROR
  • #DEBUG PRINT
  • PBXB64 Compiler Help


#DEBUG DISPLAY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#DEBUG DISPLAY

Display a message when an untrapped run-time error occurs.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#DEBUG DISPLAY {ON|+ | OFF|-}

Description

Display a message when an untrapped run-time error occurs.

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

#DEBUG DISPLAY ON enables error display mode within a compiled PowerBASIC program. In this mode, whenever an untrapped error occurs (without the benefit of ON ERROR GOTO , TRY/CATCH , etc.), program execution is suspended, and a descriptive message is displayed. This message includes the error number, a brief description of the error, and a position descriptor word to help you find the location of the error. The position descriptor word is the first 8 characters of the name of the last (most recent) label, line number, or procedure that was executed. This mode should only be used during program development and debugging. It should never be used in a production program.

When the descriptive message is displayed, it is accompanied by two buttons marked "OK" and "Cancel". If "OK" is selected, program execution continues despite the error condition. If "Cancel" is selected, program execution is stopped. However, if any child processes were started, it is possible they will continue running until ended normally.

#DEBUG DISPLAY OFF suppresses display mode, and is the default condition.

Restrictions

#DEBUG DISPLAY ON|OFF can only be executed once and must precede all executable code. If #DEBUG DISPLAY is omitted, the default condition is #DEBUG DISPLAY OFF.

See also

  • Error Trapping
  • Error Overview
  • Debugging PBXB64 Programs
  • #DEBUG CODE
  • #DEBUG ERROR
  • #DEBUG PRINT
  • PBXB64 Compiler Help


#DEBUG ERROR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#DEBUG ERROR

Control generation of

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#DEBUG ERROR {ON|+ | OFF|-}

Description

Control generation of

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

#DEBUG ERROR option specifies whether the compiler should generate code that checks for array boundary and null- pointer errors wherever they may occur. The default setting is OFF.

When #DEBUG ERROR mode is ON, any attempt to access an array outside of its boundaries, or attempting to use a null-pointer will generate a run-time Error 9 ("Subscript/Pointer out of range"), and the statement itself is not executed.

When OFF, all statements are executed "as-is" and no errors are generated. However, accessing an array outside its boundaries or using a null-pointer can cause a General Protection Fault (GPF) or Exception error.

It is best to enable #DEBUG ERROR error checking when developing a program. Once all of the more obvious bugs have been eradicated, you will want to return to the default setting (OFF), as this will make your code smaller and faster. Depending on the type of application being developed, the final (production) version of a program may not need to contain any error-checking code.

Restrictions

#DEBUG ERROR is always enabled when code is running within the Debugger, regardless of any explicit #DEBUG ERROR metastatement.

Disk I/O errors are always caught, regardless of the state of #DEBUG ERROR.

#DEBUG ERROR ON does not trap array boundary errors of arrays within User-Defined Types and Unions . Pointers are only tested for null (zero) values. Non-zero pointer target addresses are not tested for readability or writeability.

See also

  • Error Trapping
  • Error Overview
  • Debugging PBXB64 Programs
  • #DEBUG CODE
  • #DEBUG DISPLAY
  • #DEBUG PRINT
  • PBXB64 Compiler Help


#DEBUG PRINT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#DEBUG PRINT

Display information in the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#DEBUG PRINT string_expression

Description

Display information in the

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The PRINT option allows the programmer to display arbitrary information in the IDE's Debug Output Window during a debugging session. The output window is provided by debugger to display status information about the state of the debugging session; however, #DEBUG PRINT provides a convenient way of creating a "process log" of a Sub / Function / Method / Property / Variable as the program runs. Combined with FUNCNAME$ , #DEBUG PRINT can be a useful tool for debugging application code. See the Example below.

This is possible because the Debugger Output Window has a scrollable range somewhat like a console window, whereas the Watch Window shows only the instantaneous value of a variable .

#DEBUG PRINT statements are ignored when code is compiled into a standalone (EXE/ DLL ) file; they are only included when using the Debugger. Control codes in the string are translated into hex format in the output window. For example, embedded CHR$ (0) or $NUL bytes are displayed as "<00>".

Restrictions

You may use Unicode strings with #DEBUG PRINT, but the results will always be converted to ANSI by Windows. This is a Windows design limitation, not a limitation of PowerBASIC.

See also

  • Debugging PBXB64 Programs
  • #DEBUG ERROR
  • FUNCNAME$
  • PBXB64 Compiler Help


Debugging PBXB64 Programs - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Debugging PBXB64 Programs

Tips and techniques for debugging PBXB64 programs.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Tips and techniques for debugging PBXB64 programs.

Kind: Conceptual | Category: Development

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


DEC128 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DEC128

16-byte fixed-point decimal type with 18 decimal places of precision.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

LOCAL  var AS DEC128
STATIC var AS DEC128
GLOBAL var AS DEC128

Description

16-byte fixed-point decimal type with 18 decimal places of precision.

Kind: Data Type | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

DEC128 is a 16-byte fixed-point decimal type that stores values with 18 decimal places of precision. It is implemented as a signed 64-bit mantissa paired with a 32-bit exponent, providing exact decimal arithmetic for financial and scientific calculations where binary floating-point rounding errors are unacceptable.

The type is passed by reference (pointer) to runtime functions. Use VARPTR(var) to obtain the address when calling the built-in conversion functions.

Built-in Functions

Function | Signature | Description
DEC128_FROM_DOUBLE | DEC128_FROM_DOUBLE(d, VARPTR(v)) | Convert a DOUBLE value into a DEC128 variable.
DEC128_TO_DOUBLE | d = DEC128_TO_DOUBLE(VARPTR(v)) | Convert a DEC128 variable back to DOUBLE.
DEC128_ADD | DEC128_ADD(VARPTR(a), VARPTR(b), VARPTR(out)) | Add two DEC128 values, storing result in out.

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL d AS DEC128
  LOCAL e AS DEC128
  LOCAL r AS DOUBLE

  ' Convert 1.5 into DEC128
  DEC128_FROM_DOUBLE(1.5, VARPTR(d))

  ' Convert back to DOUBLE and print
  r = DEC128_TO_DOUBLE(VARPTR(d))
  PRINT "DEC128(1.5)="; r

  ' Add two DEC128 values
  DEC128_FROM_DOUBLE(2.5, VARPTR(e))
  DEC128_ADD(VARPTR(d), VARPTR(e), VARPTR(d))
  r = DEC128_TO_DOUBLE(VARPTR(d))
  PRINT "DEC128(1.5+2.5)="; r

  FUNCTION = 0
END FUNCTION

See also

  • RATIONAL
  • CBYT
  • BASIC Math Functions
  • PBXB64 Compiler Help


DEC$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DEC$

Convert an integral value to a decimal string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = DEC$( IntVal [, Digits , LeadSpaces , TrailSpaces ])

Description

Convert an integral value to a decimal string

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

IntVal is a numeric expression in the range of a 64-bit Quad Integer (-9223372036854775808 to +9223372036854775807). Any fractional part of the value is rounded. If the value is negative, the leading minus sign occupies one digit position. The result string is always formatted as an integral number using all the significant digits in IntVal. It is never expressed in scientific notation.

If Digits is 0 (or not given), no leading characters will be added to the numeric field. If Digits is a positive number greater than 0, the result string will be prepended with leading zeros to achieve the desired length. If Digits is a negative number, leading spaces are added to reach the absolute length. Digits may be in the range of -20 to +20.

LeadSpaces specifies additional leading spaces to be prepended, regardless of the length of the numeric portion of the string.

TrailSpaces specifies additional trailing spaces to be appended to the end of the string.

See also

  • BIN$
  • FORMAT$
  • HEX$
  • OCT$
  • STR$
  • TRIM$
  • USING$
  • VAL
  • PBXB64 Compiler Help


DECLARE - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Declarations PBXB64 Compiler Help

DECLARE

Explicitly declare a

Chapter: Declarations | Certification: [CERTIFIED TESTED]

Syntax

DECLARE SUB ProcName [ALIAS " AliasName "] [( arguments )] < Descriptors >
DECLARE FUNCTION ProcName [ALIAS " AliasName "] [( arguments )] < Descriptors > AS RetType
DECLARE CALLBACK FUNCTION ProcName [[()] AS LONG]
DECLARE THREAD FUNCTION ProcName (BYVAL var AS (LONG | DWORD}) AS {LONG | DWORD}

Description

Explicitly declare a

Kind: Statement | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The DECLARE statement has the following parts:

ProcName

The name of the Sub or Function to be declared. For Functions, a type-specifier may be appended (just like an ordinary variable name) to specify the data type of the Function's return value, in place of the [AS RetType] clause.

Future versions of PowerBASIC will not support type-specifier symbols for the Function return type. Specify the return data type with an explicit AS RetType clause in all DECLARE and FUNCTION definitions to ensure future compatibility.

An alias clause may be used to specify an alternate name to be used for imported or exported procedures. This allows you to interact with outside modules ( DLL or EXE) using a different procedure name. The alias name must be specified by a string literal which provides the name and capitalization of the procedure in the external DLL.

This option is particularly useful if you want to abbreviate a long name, or if the original name of a function contains characters that are illegal in PowerBASIC. The alias name is the actual name used in the other module, while the ProcName is the word you use in your PowerBASIC program. For example:

DECLARE SUB ShortName ALIAS "VeryLongProcName"()

DECLARE FUNCTION LegalName ALIAS "Illegal$Name"()

Although a Proc Name must be unique, you may use the same AliasName in multiple declarations. This is particularly useful for avoiding AS ANY in cases where a procedure is designed to receive several different types of parameters.

DECLARE FUNCTION AddAtom LIB "KERNEL32.DLL" ALIAS "AddAtomA" (lpString AS STRINGZ) AS WORD

DECLARE FUNCTION AddIntAtom LIB "KERNEL32.DLL" ALIAS "AddAtomA" (BYVAL lpString AS DWORD) AS WORD

The ALIAS clause is very important when importing or exporting Subs and Functions from DLLs. Omitting the ALIAS clause or incorrectly capitalizing the alias name are common causes of DLL load failure problems. Please refer to the SUB and FUNCTION sections for more information.

Descriptors

You may optionally add one or more descriptor words (Import, Export, Common, Private, ThreadSafe, BDecl, CDecl, SDecl) to provide specific functionality. They may be added to the DECLARE as a comma delimited list. You should note that some of them are mutually exclusive.

IMPORT

A string literal or equate that specifies the name of the module in which an imported procedure is located. This allows you to call Subs or Functions that reside in DLLs. The legacy word LIB may be substituted for IMPORT.

EXPORT

This descriptor identifies a Sub or Function which may be accessed between Dynamic Link Libraries (DLLs), and/or the main executable which links them. If a procedure is not marked EXPORT, it is hidden from these other modules. The EXPORT attribute may be added to a Sub/Function defined elsewhere, by specifying EXPORT in a DECLARE statement. EXPORT can even be added to a Sub/Function in an SLL with a DECLARE in the host module.

COMMON

A COMMON Sub/Function is one which may be called between linked unit modules (Host or SLL ). If the Common Sub/Function is not present in this module, it is presumed to be found in a separate linked module (Host or SLL). It is not necessary to DECLARE a COMMON Sub or Function in the Host Module. If you choose to do so, it is generally advisable to omit the COMMON descriptor, as its presence will force the SLL to be linked, whether needed or not.

PRIVATE

A PRIVATE Sub/Function is one which may only be accessed from within the current PowerBASIC program or library. Even if not specified, this is the default mode of operation.

THREADSAFE

With the THREADSAFE option, PowerBASIC automatically establishes a semaphore which allows only one thread to execute the Sub/Function at a time. Other callers must wait until the first thread exits the THREADSAFE procedure before they are allowed to begin.

Specifies that the declared procedure uses the legacy BASIC/Pascal calling convention. Parameters are pushed on the stack from left to right, and the called procedure is responsible for removing them. BDECL should only be used when necessary to match outside modules.

Specifies that the declared procedure uses the C calling convention. Parameters are pushed on the stack from right to left, and the calling code is responsible for removing them. CDECL should only be used when necessary to match outside modules.

When a procedure is imported or exported, PowerBASIC automatically creates a lowercase ALIAS, prefixed with an underscore. The following two declarations are equivalent, indicating how the default ALIAS name would be created by PowerBASIC:

DECLARE SUB C_Function CDECL ()

DECLARE SUB C_Function CDECL ALIAS "_c_function" ()

This is the default convention, and should be used whenever possible. SDECL (and its synonym STDCALL), specifies the "Standard Calling Convention" for Windows. Parameters are pushed on the stack from right to left, and the called procedure is responsible for removing them.

CALLBACK

Callback Functions are reserved for use with Dynamic Dialog Tools (DDT) functions. No parameters should be specified, as data is retrieved with the CALLBACK ( CB ) functions. Parentheses and the AS LONG return type may be added for clarity.

THREAD

Thread functions are reserved for use with the THREAD CREATE statement. It must take exactly one Long Integer parameter by value (BYVAL LONG), and must return a Long Integer value (AS LONG). It is permissible to substitute DWORD for both of these items.

Passing parameters

Arguments

Contains the name(s) or the type of each parameter, in the order they are passed, for up to 32 parameters. If you wish to call a SUB or FUNCTION in a DLL, you must describe the target SUB or FUNCTION with an explicit DECLARE statement. The DECLARE must physically precede any reference to the target procedure.

Previous versions of PowerBASIC required that you create an explicit DECLARE statement if you wished to execute a SUB or function which did not physically precede the reference to it. This extra work is no longer required, as PowerBASIC resolves all forward references to internal procedures automatically.

The complete arguments list must be specified for each routine. Each parameter may be defined in one of three ways:

Legal type names for arguments include ANY, ASCIIZ , BYTE , CUR , CUX , DOUBLE , DWORD , EXT , INTEGER , LONG , PTR , QUAD , SINGLE , STRING , STRINGZ , WORD , WSTRING , WSTRINGZ and ARRAY . The ARRAY keyword is used in conjunction with one of the other types to specify an entire array of that type. For example:

DECLARE SUB KerPlunk(INTEGER ARRAY, DOUBLE)

declares a procedure called KerPlunk , which takes an entire Integer array and a Double-precision variable as parameters. You can also name the parameters using the AS keyword:

DECLARE SUB KerPlunk(iArray() AS INTEGER, dVar AS DOUBLE)

The following four declare statements are equivalent:

DECLARE SUB KerPlunk(x) ' if DEFINT A-Z is in effect

DECLARE SUB KerPlunk(x%)

DECLARE SUB Plunk(x AS INTEGER)

DECLARE SUB KerPlunk(INTEGER)

When parameters are passed by reference (BYREF), the address of the variable passed to the routine is placed on the stack. When they are passed by value (BYVAL), the actual data is placed on the stack. You can use the BYVAL or BYREF keywords to specify that a parameter should always be passed in a known format.

Using ANY disables type checking for a particular parameter, and passes the address of the variable on the stack. Since the internal format of variables differ greatly by type, you must use caution to be certain your code knows the data type in each invocation. Normally, a second parameter is used to specify the actual type of the ANY parameter.

When a Sub/Function definition specifies either a BYREF parameter or a pointer variable parameter, the calling code may freely pass a BYVAL DWORD or a pointer instead. While the use of the explicit BYVAL override in the calling code is optional, it is recommended for clarity. It is necessary to explicitly declare all pointer parameters as BYVAL (BYVAL x AS BYTE PTR). Failure to do so will generate compile-time Error 549 ("BYVAL required with pointers").

Additional information on BYVAL/BYREF/BYCOPY parameter passing can be found in the CALL statement topic.

Using OPTIONAL/OPT

DECLARE statements may specify one or more parameters as optional by preceding the parameter with either the keyword OPTIONAL (or the abbreviation OPT). Optional parameters are only allowed with CDECL or SDECL calling conventions, not BDECL.

When a parameter is declared optional, all subsequent parameters in the declaration are optional as well, whether or not they specify an explicit OPTIONAL or OPT directive. The following two lines are equivalent, with both second and third parameters being optional:

DECLARE SUB sABC(a&, OPTIONAL BYVAL b&, OPTIONAL BYVAL c&) AS LONG

DECLARE SUB sABC(a&, OPT BYVAL b&, BYVAL c&) AS LONG

VARIANT variables are particularly well suited for use as an optional parameter. If the calling code omits an optional VARIANT parameter, (BYVAL or BYREF), PowerBASIC (and most other compilers) substitute a variant of type %VT_ERROR which contains an error value of %DISP_E_PARAMNOTFOUND (&H80020004). In this case, you can check for this value directly, or use the ISMISSING() function to determine whether the parameter was physically passed or not.

When optional parameters (other than VARIANT) are omitted in the calling code, the stack area normally reserved for those parameters is zero-filled.

If the parameter is defined as a BYVAL parameter, it will have the value zero. For TYPE or UNION variables passed BYVAL, the compiler will pass a string of binary zeroes of length SIZEOF ( Type _or_ union _var).

If the parameter is defined as a BYREF parameter , VARPTR ( Varname ) will equal zero; when this is true, any attempt to use Varname in your code will result in a General Protection Fault or memory corruption. You should use the ISMISSING() function first to determine whether it is safe to access the parameter.

AS type

You may specify the type of data returned by a Function to the calling code. If you do not specify a type, PowerBASIC assumes that the Function returns the data type specified by a DEF type statement. However, if no DEF type or AS type has been specified, a compile-time error is generated.

Therefore, there are two ways to specify the return type of a Function:

For example, the following statements are equivalent:

DECLARE FUNCTION aFunction?()

DECLARE FUNCTION aFunction() AS BYTE

While most FUNCTION calling conventions are fairly well defined throughout the industry, there are a few exceptions. In the case of functions which return a Quad Integer value, some programming languages (including PowerBASIC) return the quad value in the FPU, while others return it in EDX:EAX. PowerBASIC automatically detects the method used by imported functions and adjusts accordingly for you, but that's not a feature found in other compilers. Therefore, we recommend that you do not EXPORT QUAD FUNCTIONS unless they will only be accessed by PowerBASIC programs. A simple equivalent functionality would be to return the quad-integer value to the caller in a BYREF QUAD parameter.

Restrictions

A Sub/Function may be imported and exported within the same module. That is, a function in the module may be stated as EXPORT, while a DECLARE in the same module specifies it as an imported function by the option LIB "filename.dll", as long as FILENAME.DLL is the name of the module. This may be particularly valuable when you wish to build an #INCLUDE file with all of the DECLARE statements for a project.

See also

  • #EXPORT
  • #LINK
  • CALL
  • CALL DWORD
  • FASTPROC/END FASTPROC statements
  • FUNCTION/END FUNCTION statements
  • IMPORT ADDR
  • ISMISSING
  • SUB/END SUB statements
  • THREAD CREATE
  • PBXB64 Compiler Help


DECR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DECR

Decrement a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DECR variable

Description

Decrement a

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

variable can be a numeric variable or a pointer variable. When DECR is used with a numeric variable, 1 is subtracted from the numeric variable.

If DECR is used on the target of a numeric pointer variable (i.e., DECR @IntPtr), the target numeric variable is decremented by one. However, when using DECR on a pointer variable, the value of the pointer variable is decremented by the size of its target.

For example, given a pointer to element 1000 of an Integer array, DECR of the pointer variable itself would result in a decrement of 2, which should point to the previous element in the array (element 999). This is because an Integer is two bytes wide, so the pointer value is reduced by 2 bytes.

See also

  • INCR
  • LET
  • PBXB64 Compiler Help


%DEF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

%DEF

Determine if an equate

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

%DEF({ %numeric_equate | $string_equate })

Description

Determine if an equate

Kind: Operator | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The %DEF operator tests whether or not an equate has been defined. If the equate has been defined, %DEF returns TRUE (non-zero); or FALSE (zero) if it has not be defined.

PowerBASIC automatically defines the equates in the following table according to the PowerBASIC compiler being used. Please note the references to other PowerBASIC compilers are included for those writing programs that may be compilable by more than one PowerBASIC compiler.

Equate

Definition

%PB_CC32

Pre-defined as TRUE (non-zero) in PB/CC for Windows, but is not defined in other compilers.

%PB_DLL16

Pre-defined as TRUE (non-zero) in PB/DLL 16-bit, but is not defined in other compilers.

%PB_DLL32

Synonym of %PB_WIN32

%PB_WIN32

Pre-defined as TRUE (non-zero) in PB/Win 32-bit, but is not defined in other compilers.

%PB_REVISION

Pre-defined as the hex revision (10.00 = &H1000).

%PB_REVLETTER

Pre-defined as the ASCII code of the revision letter (a = &H61), or &H20 if there is no revision letter.

%PB_EXE

Pre-defined as TRUE (non-zero) if compiling to EXE or as FALSE (zero) if compiling to DLL (PB/Win only) or SLL format.

The equate %PB_EXE is always defined in PowerBASIC, so %DEF(%PB_EXE) will always be evaluated as TRUE. The difference being the value assigned to the equate by the compiler. See the examples below.

These can be used in conjunction with #IF as a compiler directive to selectively include or exclude code from the compiled file.

See also

  • #IF
  • Numeric Equates
  • Built-in numeric equates
  • String Equates
  • Built-in string equates
  • PBXB64 Compiler Help


Default Variable Typing - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Default Variable Typing

In most older versions of BASIC (including PowerBASIC for DOS ), all variables without a TypeID (%, !, &, etc.) are automatically considered to be single precision floating point . Other compilers hav

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

In most older versions of BASIC (including PowerBASIC for DOS ), all variables without a TypeID (%, !, &, etc.) are automatically considered to be single precision floating point . Other compilers hav

Kind: Keyword | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

To avoid this ambiguity, PowerBASIC asks you to make this determination instead. You can use the DEF statement to specify your preferred default variable type to be applied to untyped variable names. For example, to mimic the single precision default of PB/DOS, simply add a DEFSNG statement to the top of your program:

Back to command index


DEFBYT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DEFBYT

Declare the default type for

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DEFtype letter_range [, letter_range ] [, ...]

Description

Declare the default type for

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

type represents one of PowerBASIC's variable types: INT ( Integer ), LNG ( Long-integer ), QUD ( Quad-integer ), SNG ( Single-precision floating-point ), DBL ( Double-precision floating-point ), EXT ( Extended-precision floating-point ), CUR ( Currency ), CUX ( Extended-currency ), STR ( String ), BYT ( Byte ), WRD ( Word ), and DWD ( Double-word ).

letter_range

is either a single alphabetic character (A through Z, case insignificant), or a range of letters (two letters separated by a hyphen, for example, A-M).

DEFtype

Tells the compiler that variables and user-defined functions , whose names begin with the specified letter or range of letters, are of the specified type.

Normally, when the compiler finds a variable name without a type specifier, a compile-time error is generated. If however, there was a preceding DEF type statement such as DEFINT A-Z, the variable would default to that type (in this case, an Integer variable).

You may use multiple DEF type statements. If there is overlap between two DEF type statements, no error is generated; but the definition of the latter DEF type statement overrides the former where the two overlap.

The DEF type statement may not be supported in future editions of PowerBASIC, so we recommend explicit variable declarations, using DIM , INSTANCE , LOCAL , STATIC , THREADED , or GLOBAL .

Restrictions

Def type only applies to implicitly-defined variables. It has no effect on variables that are defined explicitly. If a #DIM ALL statement exists in the application then Deftype statements will have no effect, #DIM ALL requires all variables to be defined explicitly

Example

DEFINT A-E, G, Q, Y-Z

See also

  • DIM
  • INSTANCE
  • LOCAL
  • STATIC
  • THREADED
  • GLOBAL
  • PBXB64 Compiler Help


Defining Constants - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Defining Constants

PB/Win constants (also known as equates) are defined by prefixing the name of the constant with a "%" character. MSBASIC and VB define constants with the CONST keyword. The MSBASIC/VB compiler then do

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

PB/Win constants (also known as equates) are defined by prefixing the name of the constant with a "%" character. MSBASIC and VB define constants with the CONST keyword. The MSBASIC/VB compiler then do

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

However, the MACRO facilities in PB/Win offer a way to retain the CONST syntax in your code, while maintaining the low overhead advantage of PowerBASIC. For example:

Back to command index


Defining User-Defined Types - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Defining User-Defined Types

The definition of a User-Defined Type begins with the reserved word TYPE and ends with the keywords END TYPE. In between, you define the names and data types of the member elements (fields) that are t

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The definition of a User-Defined Type begins with the reserved word TYPE and ends with the keywords END TYPE. In between, you define the names and data types of the member elements (fields) that are t

Kind: Keyword | Category: Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

LastName AS STRING * 20 ' A 20-character string

FirstName AS STRING * 15 ' A 15-character string

IDnum AS LONG ' Student ID, a Long-integer

Back to command index


DEGREES - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DEGREES

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(DEGREES(3.141592653589793) - 180.0) > 0.0001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


DELAY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DELAY

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result& = DELAY(milliseconds&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


DESKTOP GET CLIENT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DESKTOP GET CLIENT

Retrieve the usable desktop client-area size in pixels.

Chapter: General Reference

Syntax

DESKTOP GET CLIENT TO width&, height&

Description

Retrieve the usable desktop client-area size in pixels.

Kind: Statement | Category: Desktop

PBXB64 Status: AVAILABLE

PBXB64 Certification: [COMPILE/LINK/RUN TESTED]

Description

The runtime returns the Windows work-area dimensions, excluding space reserved for the taskbar or other system UI.

Validation

tests/e2e/pb/test_desktop_get.pb covers this form and the other desktop metrics in the Make and CMake E2E lanes.

See also

  • DESKTOP GET LOC
  • DESKTOP GET SIZE
  • DESKTOP GET PPI
  • PBXB64 Compiler Help


DESKTOP GET LOC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DESKTOP GET LOC

Retrieve the top-left location of the desktop client area in pixels.

Chapter: General Reference

Syntax

DESKTOP GET LOC TO x&, y&

Description

Retrieve the top-left location of the desktop client area in pixels.

Kind: Statement | Category: Desktop

PBXB64 Status: AVAILABLE

PBXB64 Certification: [COMPILE/LINK/RUN TESTED]

Description

The runtime returns the Windows work-area origin. The values account for the taskbar or other system-reserved desktop space.

Validation

tests/e2e/pb/test_desktop_get.pb covers this form and the other desktop metrics in the Make and CMake E2E lanes.

See also

  • DESKTOP GET SIZE
  • DESKTOP GET CLIENT
  • DESKTOP GET PPI
  • PBXB64 Compiler Help


DESKTOP GET PPI - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DESKTOP GET PPI

Retrieve the display resolution in pixels per inch.

Chapter: General Reference

Syntax

DESKTOP GET PPI TO x&, y&

Description

Retrieve the display resolution in pixels per inch.

Kind: Statement | Category: Desktop

PBXB64 Status: AVAILABLE

PBXB64 Certification: [COMPILE/LINK/RUN TESTED]

Description

The runtime returns the horizontal and vertical display resolution from the primary desktop device context. The values can be divided by 25.4 to estimate pixels per millimeter.

Validation

tests/e2e/pb/test_desktop_get.pb covers this form and the other desktop metrics in the Make and CMake E2E lanes.

See also

  • GRAPHIC(PPI.X)
  • DESKTOP GET LOC
  • DESKTOP GET SIZE
  • PBXB64 Compiler Help


DESKTOP GET SIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DESKTOP GET SIZE

Retrieve the size of the primary desktop in pixels.

Chapter: General Reference

Syntax

DESKTOP GET SIZE TO width&, height&

Description

Retrieve the size of the primary desktop in pixels.

Kind: Statement | Category: Desktop

PBXB64 Status: AVAILABLE

PBXB64 Certification: [COMPILE/LINK/RUN TESTED]

Description

The runtime returns the primary screen dimensions, including the space occupied by the taskbar.

Validation

tests/e2e/pb/test_desktop_get.pb covers this form and the other desktop metrics in the Make and CMake E2E lanes.

See also

  • DESKTOP GET LOC
  • DESKTOP GET CLIENT
  • DESKTOP GET PPI
  • PBXB64 Compiler Help


DIALOG DISABLE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG DISABLE

Disable a dialog so that it no longer receives any mouse or keyboard

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG DISABLE hDlg

Description

Disable a dialog so that it no longer receives any mouse or keyboard

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog you want to disable. A disabled dialog will not receive any messages when it is clicked with the mouse or selected with the keyboard. Disabling a dialog that is already disabled has no effect.

If the dialog has a Callback Function, a %WM_ENABLE message is sent to the Callback Function before DIALOG DISABLE finishes.

See also

  • Dynamic Dialog Tools (DDT)
  • DIALOG ENABLE
  • DIALOG HIDE
  • DIALOG NORMALIZE
  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • DIALOG SHOW STATE
  • PBXB64 Compiler Help


DIALOG DOEVENTS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG DOEVENTS

Process pending window or dialog

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG DOEVENTS [ sleep& ] [TO count& ]

Description

Process pending window or dialog

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

DIALOG DOEVENTS is usually used to create a " message pump " for modeless dialog boxes.

If a window message is pending, it is processed appropriately. If no messages are pending, execution of the current thread is paused for the time specified by the sleep& parameter. If sleep& is zero (0), the remainder of the current time slice is relinquished to other threads or processes. If sleep& is greater than zero, the current thread is paused for that number of milliseconds to allow other threads or processes to continue. If sleep& is not specified, it defaults to a value of one (1). During the sleep period, all time-slices for the current thread are given to other threads and processes. If there are no other threads of equal priority, execution continues immediately. The time-slice duration (also known as the Quantum) can vary from version to version of Windows, ranging from 20 mSec to 120 mSec. If the optional TO clause is included, the number of active dialogs is returned in the count& variable, once all of the pending messages have been processed.

Restrictions

The DIALOG DOEVENTS loop must run for the duration of the modeless dialog(s), or they will not respond or be redrawn correctly.

See also

  • Dynamic Dialog Tools (DDT)
  • DIALOG NEW
  • DIALOG SHOW MODELESS
  • SLEEP
  • PBXB64 Compiler Help


DIALOG ENABLE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG ENABLE

Enable a dialog so that it can receive

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG ENABLE hDlg

Description

Enable a dialog so that it can receive

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog you want to enable. An enabled dialog will receive messages when it is clicked with the mouse or selected with the keyboard. Enabling a dialog has no effect if the dialog is already enabled.

If the dialog has a Callback Function, a %WM_ENABLE message is sent to the Callback Function before DIALOG ENABLE finishes.

See also

  • Dynamic Dialog Tools (DDT)
  • DIALOG DISABLE
  • DIALOG HIDE
  • DIALOG NORMALIZE
  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • DIALOG SHOW STATE
  • PBXB64 Compiler Help


DIALOG END - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG END

Close and destroy the specified dialog.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG END hDlg [, lResult& ]

Description

Close and destroy the specified dialog.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The dialog specified by the hDlg variable is destroyed.

lResult& optionally specifies a value to return to the DIALOG SHOW MODAL or DIALOG SHOW MODELESS statement that activated the dialog initially.

Restrictions

DIALOG END cannot close or destroy a dialog in a separate thread. In this case, send or post a message to the dialog to signal it to close, and respond to the message in the callback for the specified dialog. For example:

' Trigger a DIALOG END in a separate thread

DIALOG SEND hDlg, %WM_SYSCOMMAND, %SC_CLOSE, 0

DIALOG END cannot be used during processing of the %WM_INITDIALOG message. If this effect is necessary, the solution is to post a user-defined message to the dialog and use DIALOG END at that point. For example:

CALLBACK FUNCTION MyDialogCallback

SELECT CASE CB.MSG

CASE %WM_INITDIALOG

IF gMustEnd& THEN _ ' We have to stop!

DIALOG POST CB.HNDL, %WM_USER+999&, 0, 0

CASE %WM_USER + 999&

DIALOG END CB.HNDL

FUNCTION = 1

END SELECT

END FUNCTION

See also

  • Dynamic Dialog Tools (DDT)
  • DIALOG NEW
  • DIALOG SHOW MODELESS
  • THREAD CREATE
  • PBXB64 Compiler Help


DIALOG DEFAULT FONT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG DEFAULT FONT

Specify the default

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG DEFAULT FONT fontname$ [, points& , style& , charset& ]
DIALOG FONT [DEFAULT] fontname$ [, points& , style& , charset& ]

Description

Specify the default

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The DIALOG DEFAULT FONT statement specifies the font which will be used for all subsequent dialogs created with DIALOG NEW , until another DIALOG DEFAULT FONT statement is executed. When a DIALOG NEW statement is executed, the selected default font is associated with it, and its vhild controls , for the lifetime of the dialog.

The default font is particularly important when creating new dialogs which use dialog units (rather than pixels) as the unit of measurement. When sizing in dialog units, Windows calculates the physical size of the window based upon the font size, among other factors. Changing the font size later will not update the window size.

You may use the value zero (0) for any of the numeric parameters to designate that the compiler should use the default for that item. If parameter(s) are missing, the compiler substitutes the default value for all remaining parameters. If no DIALOG DEFAULT FONT statement is executed, PowerBASIC will select MS Sans Serif, 8 point, with no style attributes.

When specifying a font, care should be exercised to use a standard font that is available in all versions of Windows, such as "Times New Roman", "Arial", "Courier", "MS Sans Serif", etc. Specifying a font name that is not available forces Windows to substitute a font that may not be visually appealing, and may also alter the relative size of the dialog.

DIALOG DEFAULT FONT is module-specific. That is, it only affects subsequent dialogs created by code in the same EXE or DLL . For example, a DIALOG DEFAULT FONT statement in a DLL, will not affect dialogs created in the calling EXE or other DLLs loaded by the EXE.

See also

  • CONTROL SET FONT
  • Dynamic Dialog Tools (DDT)
  • DIALOG NEW
  • DIALOG SET COLOR
  • FONT END
  • FONT NEW
  • GRAPHIC SET FONT
  • XPRINT SET FONT
  • PBXB64 Compiler Help


DIALOG GET CLIENT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG GET CLIENT

Return the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG GET CLIENT hDlg TO nWide& , nHigh&

Description

Return the

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog to examine. The size of the dialog client area is placed in the nWide& (width) and nHigh& (height) variables . The size is specified in the same terms ( pixels or dialog units) as the parent dialog.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • DIALOG GET LOC
  • DIALOG GET SIZE
  • DIALOG PIXELS
  • DIALOG SET CLIENT
  • DIALOG SET LOC
  • DIALOG SET SIZE
  • DIALOG UNITS
  • PBXB64 Compiler Help


DIALOG GET LOC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG GET LOC

Return the location of the specified

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG GET LOC hDlg TO x& , y&

Description

Return the location of the specified

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog to examine. The location of the dialog is placed in the x& (horizontal position) and y& (vertical position) variables as a relative location. If the dialog was created with the PIXELS option in the DIALOG NEW statement, the values are returned in pixel units. If the UNITS option was used (or no scaling option was specified), the values are returned in dialog units.

[OBJECT]If the [OBJECT]parent[OBJECT] of the dialog is zero (or %HWND_DESKTOP), the location is relative to the upper-left corner of the display. Otherwise, it is relative to the upper-left corner of client area of the parent window.

See also

  • Dynamic Dialog Tools (DDT)
  • DIALOG GET CLIENT
  • DIALOG GET SIZE
  • DIALOG PIXELS
  • DIALOG SET LOC
  • DIALOG SET SIZE
  • DIALOG UNITS
  • PBXB64 Compiler Help


DIALOG GET SIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG GET SIZE

Return the size of the specified

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG GET SIZE hDlg TO x& , y&

Description

Return the size of the specified

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the dialog to examine. The total size of the dialog is placed in the x& (width) and y& (height) variables . If the dialog was created with the PIXELS option in the DIALOG NEW statement, the values are returned in pixel units. If the UNITS option was used (or no scaling option was specified), the values are returned in dialog units .

See also

  • Dynamic Dialog Tools (DDT)
  • DIALOG GET CLIENT
  • DIALOG GET LOC
  • DIALOG PIXELS
  • DIALOG SET LOC
  • DIALOG SET SIZE
  • DIALOG UNITS
  • PBXB64 Compiler Help


DIALOG GET TEXT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG GET TEXT

Retrieve the text in a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG GET TEXT hDlg TO titletext$

Description

Retrieve the text in a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The text of the dialog or window caption specified by hDlg . For DDT dialogs, hDlg is the dialog handle returned by the DIALOG NEW statement. In a dialog Callback Function, the CB.HNDL function will return the parent dialog handle and this can also be used with DIALOG GET TEXT.

titletext$

The text is returned and placed into the string variable titletext$. If the window or dialog is invalid, titletext$ will be set to an empty string.

Restrictions

hDlg is a dialog or window handle, so DIALOG GET TEXT works with both DDT dialogs and conventional windows and dialogs.

See also

  • CB Callback functions
  • CONTROL GET TEXT
  • CONTROL SET TEXT
  • DIALOG NEW
  • DIALOG SET TEXT
  • PBXB64 Compiler Help


DIALOG GET USER - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG GET USER

Retrieve a value from the user data area of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG GET USER hDlg , index& TO retvar&

Description

Retrieve a value from the user data area of a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Each DDT dialog has a user data area consisting of eight Long-integer values which may be used at the programmer's discretion to save relevant data. DIALOG GET USER allows one of the values to be retrieved, based upon the index parameter value (1 through 8).

hDlg refers to the dialog that contains the user data.

index& is the index number of the user data value to retrieve, in the range 1 to 8 inclusive.

retvar& receives the Long-integer data value stored in the nominated user data index.

Restrictions

Data in the user data area is lost when the dialog is destroyed. The data area is completely separate from the %GWL_USERDATA area maintained by Windows.

See also

  • Dynamic Dialog Tools (DDT)
  • COMBOBOX ADD
  • CONTROL GET USER
  • CONTROL SET USER
  • DIALOG SET USER
  • LISTBOX ADD
  • LISTVIEW DELETE COLUMN
  • TREEVIEW DELETE
  • PBXB64 Compiler Help


DIALOG HIDE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG HIDE

Make a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG HIDE hDlg

Description

Make a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Dialog identified by the handle hDlg is made invisible.

See also

  • CONTROL HIDE
  • CONTROL NORMALIZE
  • DIALOG MAXIMIZE
  • DIALOG MINIMIZE
  • DIALOG NORMALIZE
  • PBXB64 Compiler Help


DIALOG MAXIMIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG MAXIMIZE

Maximize a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG MAXIMIZE hDlg

Description

Maximize a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Dialog identified by the handle hDlg is maximized. You can restore the Dialog to its normal state with DIALOG NORMALIZE .

See also

  • CONTROL HIDE
  • CONTROL NORMALIZE
  • CONTROL SET SIZE
  • DIALOG MINIMIZE
  • DIALOG NORMALIZE
  • DIALOG SET SIZE
  • PBXB64 Compiler Help


DIALOG MINIMIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG MINIMIZE

Minimize a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG MINIMIZE hDlg

Description

Minimize a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Dialog identified by the handle hDlg is minimized. You can restore the Dialog to its normal state with DIALOG NORMALIZE .

See also

  • CONTROL HIDE
  • CONTROL NORMALIZE
  • CONTROL SET SIZE
  • DIALOG MAXIMIZE
  • DIALOG NORMALIZE
  • DIALOG SET SIZE
  • PBXB64 Compiler Help


DIALOG NEW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG NEW

Create a new dialog in memory, ready for display.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG NEW [PIXELS, | UNITS,] hParent , title$ , [ x& ], [ y& ], xx& , yy& [, [ style& ] [, [ exstyle& ]]] [,] TO hDlg

Description

Create a new dialog in memory, ready for display.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A new empty dialog is created, but not yet displayed. Once the dialog has been created and all of the desired controls have been added with CONTROL ADD statements, the dialog can be displayed with the DIALOG SHOW MODELESS , or DIALOG SHOW MODAL statements.

If a modeless dialog is created, the application must create a DIALOG DOEVENTS message pump for the duration of the dialog. Failure to provide a message pump can result in disruptions to the display of the dialog, or the inability of the dialog to respond to messages such as button clicks, etc. Modal dialogs do not require a message pump. To change the displayed state of a dialog (i.e., hidden, minimized, etc) after the dialog has been created, use the DIALOG SHOW STATE statement.

If a dialog does not have either %WS_CHILD or %WS_POPUP styles , Windows may enforce a minimum dialog width of some 60-70 dialog units .

PIXELS

If the PIXELS keyword is specified, all size and position parameters are specified in pixels. In this case, related statements such as DIALOG GET LOC will also return values in Pixels.

If UNITS is specified (or no scaling option is specified), all size and position parameters are specified in Dialog Units. (default)

DIALOG NEW takes the following parameters.

hParent

Handle of the parent window or dialog. If there is no parent, use zero (0) or %HWND_DESKTOP. If the dialog is MODAL, the parent window/dialog will be disabled while this "child" dialog is running.

title$

The text displayed in the title or caption bar of the dialog.

x&, y&

Optional location of the top-left corner for the dialog. The location is specified in the same terms (pixels or dialog units) as specified in the DIALOG NEW statement. If neither x& and y& are specified, the dialog is centered in the Windows working area.

If %CW_USEDEFAULT (&H080000000) is specified, the default Windows position is used (cascading from the upper-left corner).

xx&, yy&

The width and height of the dialog. The size is specified in the same terms (pixels or dialog units) as specified in the DIALOG NEW statement.

If the default dialog style (or any other dialog style that includes the %WS_CAPTION style) is used, the width and height parameters specify the client size only, and this does not include any caption and border dimensions.

If the style does not include %WS_CAPTION, the width and height specify the overall dialog size, including the caption and border, if any.

Note that %WS_CAPTION is a combination of the %WS_BORDER and %WS_DLGFRAME styles. The default dialog style includes %WS_BORDER and %WS_DLGFRAME styles, so it implicitly includes the %WS_CAPTION style.

style&

An optional bitmask describing how the dialog should be displayed. default style of &H084C000D4& is made up %DS_3DLOOK, %DS_SETFONT, %DS_MODALFRAME, %DS_NOFAILCREATE, %WS_BORDER, %WS_CLIPSIBLINGS, %WS_DLGFRAME and %WS_POPUP. used if parameter omitted from statement completely. For example:

DIALOG NEW 0, "Dialog Title",,, 100, 200,, TO hDlg

Custom style values replace the default values. That is, they are not additional to the default style values - your code must specify all necessary style parameters (with the exception of %DS_NOFAILCREATE, %DS_SETFONT and %DS_3DLOOK, which are automatically added into the style& parameter by PowerBASIC).

This also applies to the extended styles parameter - if your code specifies a custom primary style, the default extended style will no longer be in effect either. In this case, an explicit extended style may also need to be added to the DIALOG NEW statement if an explicit primary style is specified.

The primary style& value can be a combination of any values below, combined together with the OR operator to form a bitmask:

%DS_3DLOOK Give the dialog box a non-bold font, and draw three-dimensional borders around controls in the dialog box. The %DS_3DLOOK style is not required by applications marked with #OPTION VERSION4 or #OPTION VERSION5 ; as Windows automatically applies the 3D appearance. DDT dialogs are always created with this style. (default)

%DS_3DLOOK

Give the dialog box a non-bold font , and draw three-dimensional borders around controls in the dialog box. The %DS_3DLOOK style is not required by applications marked with #OPTION VERSION4 or #OPTION VERSION5 ; as Windows automatically applies the 3D appearance. DDT dialogs are always created with this style. (default)

%DS_ABSALIGN

Indicate that the coordinates of the dialog box are screen coordinates; otherwise, Windows assumes they are client coordinates.

%DS_CENTER

Center the dialog box in the working area (the area not obscured by the task bar and system tray). This is the default if x& and y& are not specified.

%DS_CENTERMOUSE

Center the mouse cursor in the dialog box when the dialog is initially created.

%DS_CONTEXTHELP

Include a question mark in the title bar of the dialog box. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a control in the dialog box, the dialog callback receives a %WM_HELP message. This style cannot be used with the %WS_MAXIMIZEBOX and %WS_MINIMIZEBOX styles. Also see %WS_EX_CONTEXTHELP.

%DS_CONTROL

Create a dialog that works as a child control of another dialog, smoothing the keyboard focus interface across the two dialogs when the TAB key or control accelerators are used. Typically used for dialogs that form the "pages" for tab controls and property-sheets.

%DS_MODALFRAME

Create a dialog box with a modal dialog-box frame that can be combined with a title bar and System menu by specifying the %WS_CAPTION and %WS_SYSMENU styles. (default)

%DS_NOFAILCREATE

The dialog is created regardless of any errors that may occur during the creation phase. DDT dialogs are always created with this style. (default)

%DS_SETFONT

The font to be used by a DDT dialog and its controls can be predetermined with the DIALOG DEFAULT FONT statement. If the DIALOG DEFAULT FONT statement is not used, the default font (MS Sans Serif, 8 point) is used. The size of the dialog font proportionately affects the conversion of dialog units values into pixels, so an increase in default font size will automatically create a larger dialog, even through the dialog dimensions have remained constant. As child controls are added to a %DS_SETFONT dialog, they will be sent a %WM_SETFONT message to ensure they also make use of the specified dialog font. DDT dialogs are always created with this style. (default)

%DS_SETFOREGROUND

Bring the dialog box to the foreground. Internally, Windows calls the SetForegroundWindow API function for the dialog box.

%DS_SYSMODAL

Create a system-modal dialog box. This style causes the dialog box to have the %WS_EX_TOPMOST style, but otherwise has no effect on the dialog box or the behavior of other applications and windows when the dialog box is displayed.

%WS_BORDER

Create a dialog that has a thin-line border.

%WS_CAPTION

Create a dialog that has a title bar. Includes the %WS_BORDER and %WS_DLGFRAME styles. When this style is used, the xx& and yy& parameters specify the size of the client area of the dialog; otherwise, they specify the outer dimensions of the dialog. (default)

%WS_CHILD

Create a child dialog. Cannot be used with the %WS_POPUP style. Typically used with %DS_CONTROL for tab control and property sheet "pages".

%WS_CLIPCHILDREN

Exclude the area occupied by child controls when drawing occurs on the dialog background. FRAME and LINE controls on a dialog with this style usually use the extended style %WS_EX_TRANSPARENT so the background of those controls is drawn by the dialog before the controls are drawn. %WS_CLIPCHILDREN is commonly used to reduce redraw flicker when a %WS_THICKFRAME style dialog is being resized.

%WS_CLIPSIBLINGS

Child controls are clipped (not overdrawn) by one another when the dialog window is repainted. (default)

%WS_DISABLED

Create a dialog that is initially disabled. A disabled dialog cannot receive input from the user.

%WS_DLGFRAME

Create a window that has a border of the style typically used with dialog boxes. (default)

%WS_HSCROLL

Dialog contains a horizontal scroll bar.

%WS_ICONIC

Create a dialog that is initially minimized, the same as the %WS_MINIMIZE style.

%WS_MAXIMIZE

Create a dialog that is initially maximized.

%WS_MAXIMIZEBOX

Create a dialog that has a Maximize button. Use with the %WS_SYSMENU style.

%WS_MINIMIZE

Create a dialog that is initially minimized, the same as the %WS_ICONIC style.

%WS_MINIMIZEBOX

Create a dialog that has a Minimize button. Use with the %WS_SYSMENU style.

%WS_OVERLAPPED

Create an overlapped window. An overlapped window has a title bar (caption) and a border. Synonym of the obsolete style %WS_TILED.

%WS_OVERLAPPEDWINDOW

Combination style producing an overlapping dialog. Comprises %WS_CAPTION, %WS_SYSMENU, %WS_THICKFRAME, %WS_MINIMIZEBOX, %WS_MAXIMIZEBOX, and %WS_OVERLAPPED styles.

%WS_POPUP

Create a popup dialog. When used by itself, a flat dialog is created with no caption or borders. Combine with %DS_MODALFRAME to create a 3D border. A popup dialog can overlap another window or dialog. (default)

%WS_POPUPWINDOW

Create a popup dialog but with a border and system menu. Comprises %WS_BORDER, %WS_POPUP and %WS_SYSMENU. Combine %WS_POPUPWINDOW with %WS_CAPTION to make the Window menu visible.

%WS_SYSMENU

Create a dialog that has a System-menu box in its title bar. Must be used with the %WS_CAPTION style.

%WS_THICKFRAME

Create a dialog that has a sizing border. That is, the dialog will be resizable.

%WS_VSCROLL

Dialog contains a vertical scroll bar. Also see %WS_EX_LEFTSCROLLBAR.

exstyle&

An optional extended style bitmask describing how the dialog should be displayed. The default extended dialog style comprises %WS_EX_LEFT with %WS_EX_LTRREADING and %WS_EX_RIGHTSCROLLBAR. The default extended style is used only if there are no explicit primary or extended styles parameters in the DIALOG NEW statement.

PBXB64 qualification: omitted x& and y& are centered in the Windows working area. An explicit style&, including zero, replaces the primary defaults; an explicit exstyle&, including zero, replaces the extended defaults. The automatic DS_NOFAILCREATE, DS_SETFONT, and DS_3DLOOK additions for an explicit primary style are covered by tests/pb/test_dialog_new_defaults.pb.

An explicit extended style value can be a combination of any values below, combined together with the OR operator to form a bitmask:

%WS_EX_ACCEPTFILES

The dialog accepts drag+drop files. The dialog Callback Function receives a %WM_DROPFILES message when files have been dropped onto the dialog.

%WS_EX_APPWINDOW

Force a top-level dialog onto the application taskbar when the window is minimized.

%WS_EX_CLIENTEDGE

Dialog has a border with a sunken edge.

%WS_EX_CONTEXTHELP

Include a question mark in the title bar of the dialog. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a child window, the child receives a %WM_HELP message. Also see %DS_CONTEXTHELP.

%WS_EX_CONTROLPARENT

The user may navigate among the child dialogs of the window by using the TAB key. See %DS_CONTROL.

%WS_EX_LEFT

Dialog has generic "left-aligned" properties. (default)

%WS_EX_LEFTSCROLLBAR

If present, the vertical scroll bar is positioned to the left of the client area. Also see %WS_VSCROLL.

%WS_EX_LTRREADING

Display the dialog text using Left to Right reading-order properties. (default)

%WS_EX_NOPARENTNOTIFY

Suppress %WM_PARENTNOTIFY messages when dialog is created or destroyed.

%WS_EX_OVERLAPPEDWINDOW

Comprised of the %WS_EX_CLIENTEDGE and %WS_EX_WINDOWEDGE styles.

%WS_EX_PALETTEWINDOW

Comprised of the %WS_EX_WINDOWEDGE, %WS_EX_TOOLWINDOW and %WS_EX_TOPMOST styles.

%WS_EX_RIGHT

Dialog has generic "right-aligned" properties that depend on the window class. This style has an effect only if the shell language is Hebrew, Arabic, or another language that supports reading order alignment. Otherwise, the style is ignored.

%WS_EX_RIGHTSCROLLBAR

If present, the vertical scroll bar is positioned to the right of the client area. See %WS_VSCROLL. (default)

%WS_EX_RTLREADING

If the shell language is Hebrew, Arabic, or another language that supports reading order alignment, the dialog text is displayed using Right to Left reading-order properties. For other languages, the style is ignored.

%WS_EX_STATICEDGE

Dialog has a 3D border. Primarily used for dialogs that do not require user-input.

%WS_EX_TOOLWINDOW

Create a tool window (a window intended to be used as a floating toolbar). A tool window has a shorter than normal caption area and the dialog caption is drawn using a smaller font. A tool window does not appear in the task bar, or in the window that appears when the user presses ALT+TAB. The hybrid versions of Windows (95/98/ME) may require this extended style to be added after creation, using the SetWindowLong API function.

%WS_EX_TOPMOST

Place dialog above all non-topmost windows and keep it above them, even while the dialog is deactivated.

%WS_EX_TRANSPARENT

Controls/windows beneath the dialog are drawn before the dialog is drawn. The dialog is deemed transparent because elements behind the dialog have already been painted - the dialog itself is not drawn differently. True transparency is achieved by using Regions - see MSDN for more information.

%WS_EX_WINDOWEDGE

Dialog has a border with a raised edge.

Long-integer Variable where the Windows window handle of the dialog is stored after it has been created and assigned by Windows. This handle should be used with subsequent DIALOG and CONTROL statements, and may be directly used with Windows API calls.

If the dialog could not be created (i.e., due to low Windows resources), zero is returned.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD
  • DIALOG DOEVENTS
  • DIALOG END
  • DIALOG HIDE
  • DIALOG MAXIMIZE
  • DIALOG MINIMIZE
  • DIALOG NONSTABLE
  • DIALOG NORMALIZE
  • DIALOG SET COLOR
  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • DIALOG STABILIZE
  • DIALOG SHOW STATE
  • TXT pseudo-object
  • PBXB64 Compiler Help


DIALOG NONSTABLE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG NONSTABLE

Make a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG NONSTABLE hDlg

Description

Make a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Dialog identified by the handle hDlg is made non-stable, meaning that it can be closed by the user. If there is a system menu, the close option and the close box are enabled. The ALT-F4 close key is also enabled. This is the default mode of operation.

See also

  • DIALOG STABILIZE
  • PBXB64 Compiler Help


DIALOG NORMALIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG NORMALIZE

Make a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG NORMALIZE hDlg

Description

Make a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Dialog identified by the handle hDlg is made visible at its normal size and position.

See also

  • DIALOG HIDE
  • DIALOG MAXIMIZE
  • DIALOG MINIMIZE
  • DIALOG SHOW STATE
  • PBXB64 Compiler Help


DIALOG PIXELS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG PIXELS

Convert pixels (device units) into

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG PIXELS hDlg , x& , y& TO UNITS xx& , yy&

Description

Convert pixels (device units) into

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The pixel values specified in the x& and y& variables are converted into dialog units, based on the default font of the dialog specified by hDlg . The resulting value in dialog units is stored in the xx& and yy& variables.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • DIALOG GET CLIENT
  • DIALOG GET LOC
  • DIALOG GET SIZE
  • DIALOG SET LOC
  • DIALOG SET SIZE
  • DIALOG UNITS
  • PBXB64 Compiler Help


DIALOG POST - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG POST

Place a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG POST hDlg , Msg& , wParam& , lParam&

Description

Place a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

DIALOG POST places the message in the message queue and returns immediately. The message is processed by the dialog at a later time, when it reads the message from the queue.

This behavior is quite different to the DIALOG SEND statement, which forces the control to process the message immediately before returning. Since DIALOG POST is an asynchronous operation, it is not possible to retrieve a return code from the message.

hDlg refers to the target dialog.

Msg& is the message you want to post to the dialog.

wParam& is the first message parameter. lParam& is the second message parameter. The values of wParam& and lParam& are message-dependent. By Default, PowerBASIC passes these parameters BYVAL. If the target dialog is expected to alter the values held by variables passed in the wParam& and lParam& parameters, pass them using VARPTR() or the changes will likely be discarded.

Note that the address of the data must remain valid until after the dialog has processed the message and accessed the data. In this case, using STATIC or GLOBAL variables can be very important or a General Protection Fault (GPF) may occur (that is, if the variables have gone out of scope by the time the message is processed).

An example of posting the addresses of variables to a dialog:

' Sel1& and Sel2& must be STATIC or GLOBAL

DIALOG POST CB.HNDL, %WM_USER + 999&, VARPTR(Sel1&), VARPTR(Sel2&)

DIALOG POST returns immediately after the placing the message in the queue.

To post a custom message to a dialog, use a message value in the range of (%WM_USER + 500) to (%WM_USER + &H07FFF), or use the RegisterWindowMessage API to obtain a unique message value from the operating system. Using messages with a numeric value of less then %WM_USER + 500 may conflict with Windows Common Control messages.

See also

  • Dynamic Dialog Tools (DDT)
  • CB Callback functions
  • CONTROL POST
  • CONTROL SEND
  • DIALOG SEND
  • PBXB64 Compiler Help


DIALOG REDRAW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG REDRAW

Signal a designated

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG REDRAW hDlg

Description

Signal a designated

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

DIALOG REDRAW invalidates the target dialog area, and signals a redraw/repaint to occur immediately, even if there are pending messages in the message queue.

hDlg refers to the dialog that is to be redrawn.

Restrictions

It is not advisable to use DIALOG REDRAW or CONTROL REDRAW statements within the %WM_PAINT and associated message handling code, or an infinite redraw loop could occur.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL REDRAW
  • CONTROL SET COLOR
  • DIALOG SET COLOR
  • PBXB64 Compiler Help


DIALOG SEND - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG SEND

Send a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG SEND hDlg , msg& , wParam& , lParam& [TO lResult& ]

Description

Send a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg identifies the dialog which should receive the message specified by msg& . wParam& is the first message parameter, and lParam& is the second message parameter.

By default, PowerBASIC passes these parameters BYVAL. If the target dialog is expected to return or alter the values passed in the wParam& and lParam& parameters, pass them using VARPTR() or the return values will be discarded. For example:

DIALOG SEND CB.HNDL, %WM_USER, VARPTR(Param1&), VARPTR(Param2&)

The return value may be returned and stored in the variable lResult& after the message was processed by the dialog.

Restrictions

If the target dialog was not created by the same thread, the DIALOG SEND statement becomes blocked until the thread processes the message. The InSendMessage API function will return TRUE (non-zero) if the callback code is currently processing a message from a separate thread.

To send a custom message to a dialog, use a message value in the range of (%WM_USER + 500) to (%WM_USER + &H07FFF), or use the RegisterWindowMessage API to obtain a unique message value from the operating system.

A dialog callback can send a message to its own dialog, but care should be taken not to create an infinite loop. Also, if DIALOG SEND sends a message that arrives back in the same callback as the message originated, care should be exercised to ensure that critical STATIC and GLOBAL variables are not unexpectedly altered by the second message processing code in the callback. This is known as re-entrant code design.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL SEND
  • PBXB64 Compiler Help


DIALOG SET CLIENT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG SET CLIENT

Change the size of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG SET CLIENT hDlg , x& , y&

Description

Change the size of a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg refers to the handle of the dialog to change. x& and y& specify the new width and height of the dialog client area. x& and y& are specified in dialog units or pixels , depending upon the system used when the dialog was created.

The dialog client size may be smaller than total size, depending on the type of borders used. The client area is the part below the dialog caption, and an eventual menu, where controls can be placed.

See also

  • Dynamic Dialog Tools (DDT)
  • DIALOG NEW
  • DIALOG PIXELS
  • DIALOG UNITS
  • DIALOG GET CLIENT
  • DIALOG GET LOC
  • DIALOG GET SIZE
  • DIALOG SET LOC
  • DIALOG SET SIZE
  • PBXB64 Compiler Help


DIALOG SET COLOR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG SET COLOR

Set the background

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG SET COLOR hDlg , foreclr& , backclr&

Description

Set the background

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg identifies the dialog to colorize.

Color values foreclr& and backclr& must be in the range of &H0 to &H00FFFFFF, while the value -1& is used to specify the system default color. RGB can be a useful function to derive a 32-bit color value from discrete Red, Green and Blue values.

foreclr&

In the current implementation of PowerBASIC, the dialog foreground color parameter foreclr& is not used, but the syntax is retained for future implementation. It is recommended that the foreground color parameter be set to -1&.

backclr&

In 16-bit or greater color-depth mode, the RGB color specified is used when the background of the dialog is drawn. If backclr& = -1&, the default dialog background color is used. If backclr& = -2&, the dialog background is not painted, allowing the content behind the dialog to become visible through the dialog.

In 16-bit or greater color-depth mode, the specified RGB color is used when the background of the dialog is drawn. However, in 8-bit (256-color) mode, the color system works quite differently. Behind the scenes in Windows, the base system palette usually contains 20 solid colors that are not dithered when drawn on a dialog background. These solid-colors are ideal for background colors with DDT dialogs in 256-color mode.

Conversely, when using a non-solid RGB color value, Windows will dither (approximate) the color to draw the dialog, using combinations of two or more colors. This usually produces an undesirable pattern effect.

To avoid these problems when in 256-color mode, dialogs should either be colored with one of the 20 standard (solid) system colors, or the default color should be used instead. PowerBASIC includes the following 10 built-in equates for help with the selection of a standard solid color:

%RGB_BLACK %RGB_BLUE %RGB_GREEN %RGB_CYAN %RGB_RED

% RGB_ MAGENTA %RGB_YELLOW %RGB_WHITE %RGB_GRAY %RGB_LIGHTGRAY

Many non standard colors are also built into the compiler, see the Built In RGB Color Equates topic for a complete list.

If you prefer to disable color in 256-color mode, the number of colors can be easily tested with the following code:

' Determine number of colors

LOCAL hDC AS DWORD, iColors AS LONG

hDC = GetWindowDC(GetDeskTopWindow())

iColors = 2& ^ (GetDeviceCaps(hDC, %BITSPIXEL) * GetDeviceCaps(hDC, %PLANES))

ReleaseDC GetDeskTopWindow(), hDC

IF iColors > 256 THEN _

DIALOG SET COLOR hDlg, -1, RGB(0,100,192)

In 256-color mode on most computers, the values of the standard 20 system colors can be found by requesting the first and last 10 (0 to 9, and 246 to 255 inclusive) entries from the GetSystemPaletteEntries API function, as follows:

' Fill array with solid colors

DIM hDC AS DWORD, Cols AS LONG, x AS LONG

hDC = GetWindowDC(GetDesktopWindow)

Cols = GetDeviceCaps(hDC, %NUMRESERVED)

REDIM lp(1 TO Cols) AS LONG

x& = GetSystemPaletteEntries(hDC, 0, Cols \ 2, BYVAL VARPTR(lp(1)))

x& = GetSystemPaletteEntries(hDC, 256 - x&, Cols - x&, BYVAL VARPTR(lp(x& + 1)))

ReleaseDc GetDesktopWindow, hDC

' Array lp() now contains the solid color table

For more information on working with palettes in 256-color mode, please consult WIN32.HLP or visit http://msdn.microsoft.com.

When dynamically changing colors of a dialog from within a callback (i.e., after the DIALOG SHOW statement), a DIALOG SET COLOR statement should be immediately followed by an explicit DIALOG REDRAW statement.

Without a forced dialog redraw, the dialog background color change may not become evident to the user until the dialog is eventually repainted in the normal course of user interaction. For example, a normal repaint may only occur if the dialog becomes obscured and then uncovered by another window. Ensuring a timely repaint of the dialog will guarantee the dialog maintains an up-to-date appearance at all times.

See also

  • Built In RGB Color Equates
  • Dynamic Dialog Tools (DDT)
  • CONTROL REDRAW
  • DIALOG REDRAW
  • CONTROL SET COLOR
  • DIALOG SET ICON
  • PBXB64 Compiler Help


DIALOG SET ICON - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG SET ICON

Change both the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG SET ICON hDlg , newicon$

Description

Change both the

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

DIALOG SET ICON changes both the small icon (as used in the dialog caption bar), and the large icon (visible in the icon task list presented during ALT+TAB task switching).

Handle of the dialog that is to have its icon changed.

newicon$

A string expression which specifies the name of the icon in the resource file . If the icon resource uses an integral identifier, newicon$ should begin with a Number symbol (#), followed by the integral identifier in ASCII format. For example, "#998". Otherwise, the text identifier name should be used.

Restrictions

DIALOG SET ICON cannot use bitmap files. 32x32 pixel icons produce the most visually pleasing results.

PBXB64 implementation: Resource identifiers use the native grouped-icon loader and fall back to the embedded RT_ICON payload used by the PBXB64 resource pipeline. Both caption and task-list icon slots are updated; replaced dialog-owned icons are released when the dialog is replaced or destroyed.

Validation: tests/pb/test_dialog_set_icon.pb covers a compiled #RESOURCE ICON route, while tests/negative/pb/test_dialog_set_icon_missing_operands.pb covers the fail-closed arity diagnostic.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD IMAGE
  • CONTROL ADD IMAGEX
  • CONTROL ADD IMGBUTTON
  • CONTROL ADD IMGBUTTONX
  • CONTROL SET IMAGEX
  • CONTROL SET IMGBUTTON
  • CONTROL SET IMGBUTTONX
  • DIALOG SET TEXT
  • PBXB64 Compiler Help


DIALOG SET LOC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG SET LOC

Change the position of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG SET LOC hDlg , x& , y&

Description

Change the position of a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg identifies the dialog to reposition. x& and y& specify the new coordinates of the upper-left corner of the target dialog. x& and y& are the horizontal and vertical coordinates respectively. If the dialog was created with the PIXELS option in the DIALOG NEW statement, the values are returned in pixel units . If the UNITS option was used (or no scaling option was specified), the values are returned in dialog units .

If the dialog has a parent , the coordinates are relative to the upper-left corner of the parent dialog client area . Otherwise, the coordinates are relative to the upper-left corner of the desktop workspace.

See also

  • Dynamic Dialog Tools (DDT)
  • DIALOG GET CLIENT
  • DIALOG GET LOC
  • DIALOG GET SIZE
  • DIALOG PIXELS
  • DIALOG SET SIZE
  • DIALOG UNITS
  • PBXB64 Compiler Help


DIALOG SET SIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG SET SIZE

Change the size of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG SET SIZE hDlg , nWide& , nHigh&

Description

Change the size of a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg identifies the dialog to resize. nwide& and nhigh& specify the new width and height, in dialog units , for the dialog. If the dialog was created with the PIXELS option in the DIALOG NEW statement, the values are set in pixel units . If the UNITS option was used (or no scaling option was specified), the values are set in dialog units.

See also

  • Dynamic Dialog Tools (DDT)
  • DIALOG GET CLIENT
  • DIALOG GET LOC
  • DIALOG GET SIZE
  • DIALOG PIXELS
  • DIALOG SET CLIENT
  • DIALOG SET LOC
  • DIALOG UNITS
  • PBXB64 Compiler Help


DIALOG SET TEXT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG SET TEXT

Set the text in a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG SET TEXT hDlg , titletext$

Description

Set the text in a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The caption of the dialog or window specified by hDlg is set with the DIALOG SET TEXT statement. For DDT dialogs, hDlg is the dialog handle returned by the DIALOG NEW statement. In a dialog Callback Function, the CB.HNDL function will return the parent dialog handle and this can also be used with DIALOG SET TEXT.

titletext$

The caption text is specified in titletext$ . If the window or dialog is invalid, the operation is ignored.

Restrictions

hDlg is a dialog or window handle, so DIALOG SET TEXT works with both DDT dialogs and conventional windows and dialogs.

See also

  • Dynamic Dialog Tools (DDT)
  • CB Callback functions
  • CONTROL GET TEXT
  • CONTROL SET TEXT
  • DIALOG GET TEXT
  • DIALOG NEW
  • DIALOG SET ICON
  • PBXB64 Compiler Help


DIALOG SET USER - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG SET USER

Set a value in the user data area of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG SET USER hDlg , index& , usrval&

Description

Set a value in the user data area of a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Each DDT dialog has a user data area consisting of eight Long-integer values which may be used at the programmer's discretion to save relevant data. DIALOG SET USER allows one of the values to be set, based upon the index parameter value (1 through 8).

hDlg refers to the dialog that owns the user data area.

index& is the index number of the user data value to set, in the range 1 to 8 inclusive.

usrval& is the Long-integer data value to store in the user data area.

Restrictions

Data in the user data area is lost when the dialog is destroyed. The data area is completely separate from the %GWL_USERDATA area maintained by Windows.

See also

  • Dynamic Dialog Tools (DDT)
  • COMBOBOX ADD
  • CONTROL GET USER
  • CONTROL SET USER
  • DIALOG GET USER
  • LISTBOX ADD
  • LISTVIEW DELETE COLUMN
  • TREEVIEW DELETE
  • PBXB64 Compiler Help


DIALOG SHOW MODAL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG SHOW MODAL

Display and activate a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG SHOW MODAL hDlg [[,] CALL callback ] [TO lResult& ]

Description

Display and activate a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg identifies a dialog created using DIALOG NEW . You can specify a Callback Function for all dialog messages using the CALL keyword, followed by the name of the Callback Function.

When a modal dialog is displayed, the DIALOG SHOW MODAL statement is blocked until the dialog is destroyed with DIALOG END. During the duration of the dialog, the Callback Function code is executed in response to messages for the dialog.

If a parent was specified in the DIALOG NEW statement, the parent window is disabled until the modal dialog is destroyed.

callback

If specified, dialog messages are routed to the nominated Callback Function.

Just before a dialog is initially displayed, the dialog Callback Function is sent a %WM_INITDIALOG message. By processing this message within the dialog callback, an application can take the opportunity to load controls with data before the controls become visible to the user. For example, a list box control could be loaded with a list of items so that the control appears populated with data when initially displayed.

The nominated callback function name must be a CALLBACK FUNCTION or a compile-time Error 547 ("Callback function required") will occur.

lResult&

When the modal dialog is destroyed using the DIALOG END statement, the resulting value is assigned to the lResult& variable, if specified. lResult& is excluded from becoming a Register variable by the compiler, since this value can be assigned from outside of the function containing the DIALOG SHOW MODAL statement, and this may only be performed with a memory variable. However, if the target variable is explicitly declared as a register variable, PowerBASIC raises a compile-time Error 491 ("Invalid register variable").

See also

  • Dynamic Dialog Tools (DDT)
  • DIALOG END
  • DIALOG NEW
  • DIALOG SHOW MODELESS
  • PBXB64 Compiler Help


DIALOG SHOW MODELESS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG SHOW MODELESS

Display and activate a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG SHOW MODELESS hDlg [[,] CALL callback ] [TO lResult& ]

Description

Display and activate a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hDlg identifies a dialog created using DIALOG NEW . You can specify a Callback Function for all dialog messages, using the CALL keyword followed by the name of the Callback Function.

Once a modeless dialog is displayed, the DIALOG SHOW MODELESS statement completes, and execution of the code continues. At the same time, the dialog can receive messages and process them via the Callback Function. A DIALOG SHOW MODELESS statement is usually followed by a message pump loop. For more information, please refer to the examples under DIALOG DOEVENTS .

callback

If specified, dialog messages are routed to the nominated Callback Function.

The nominated callback function name must be a CALLBACK FUNCTION or a compile-time Error 547 ("Callback function required") will occur.

lResult&

When the modeless dialog is destroyed using the DIALOG END statement, the resulting value is assigned to the lResult& variable , if specified. lResult& is excluded from becoming a Register variable by the compiler, since this value can be assigned from outside of the function containing the DIALOG SHOW MODELESS statement, and this may only be performed with a memory variable. However, if the target variable is explicitly declared as a register variable, PowerBASIC raises a compile-time Error 491 ("Invalid register variable").

PBXB64 Implementation Scope

The certified link/run slice covers DIALOG SHOW MODELESS hDlg without a callback and performs a native show/update operation. The documented CALL callback clause is rejected explicitly until callback-state routing is implemented; it is not silently ignored.

See also

  • Dynamic Dialog Tools (DDT)
  • DIALOG DOEVENTS
  • DIALOG END
  • DIALOG NEW
  • DIALOG SHOW MODAL
  • PBXB64 Compiler Help


DIALOG SHOW STATE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG SHOW STATE

Change the visible state of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG SHOW STATE hDlg , showstate& [TO lResult& ]

Description

Change the visible state of a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

DIALOG SHOW STATE changes the visible state of the dialog identified by hDlg .

showstate& can be one of the following values:

%SW_HIDE

Hide the dialog.

%SW_MAXIMIZE

Maximize the specified dialog.

%SW_MINIMIZE

Minimize the specified dialog.

%SW_RESTORE

Activate and display the dialog. If the dialog is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized dialog.

%SW_SHOW

Activate the dialog and displays it in its current size and position.

%SW_SHOWMAXIMIZED

Synonym of %SW_MAXIMIZE.

%SW_SHOWMINIMIZED

Activate the dialog and minimize it.

%SW_SHOWNA

Display the dialog in its current state without activating it. The currently active window remains active.

%SW_SHOWNOACTIVATE

Display the dialog in its most recent size and position without activating it. The currently active window remains active.

%SW_SHOWNORMAL

Activate and display the dialog. If the dialog is minimized or maximized, Windows restores it to its original size and position.

If the optional lResult& parameter is used, it will contain the previous visibility state. If lResult& is set to TRUE (non-zero), the dialog was visible. If the dialog was previously hidden, lResult& is set to FALSE (zero).

Restrictions

In previous versions of PowerBASIC, the DIALOG SHOW STATE was not permitted to be executed before a DIALOG SHOW MODAL or DIALOG SHOW MODELESS statement had been executed for that specific dialog. Starting with this version of PowerBASIC, DIALOG SHOW STATE may be executed before or after the dialog is activated with DIALOG SHOW MODAL or DIALOG SHOW MODELESS statement.

When utilized prior to dialog activation, the attributes %SW_HIDE, %SW_MAXIMIZE, and %SW_MINIMIZE are remembered for use when activated. All other possible attributes are translated to the standard %SW_SHOW. Generally speaking, it is unwise to use %SW_HIDE with a modal dialog.

DIALOG SHOW STATE can be used to show a dialog before the message pump for a modeless dialog begins operating (i.e., after the DIALOG SHOW MODELESS statement, etc). However, until the message pump begins its operation, the dialog may not be drawn or displayed completely.

For more information on message pumps, see DIALOG DOEVENTS and DIALOG SHOW MODELESS .

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL SHOW STATE
  • DIALOG DOEVENTS
  • DIALOG HIDE
  • DIALOG MAXIMIZE
  • DIALOG MINIMIZE
  • DIALOG NONSTABLE
  • DIALOG NORMALIZE
  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • DIALOG STABILIZE
  • PBXB64 Compiler Help


DIALOG STABILIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG STABILIZE

Make a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG STABILIZE hDlg

Description

Make a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Dialog identified by the handle hDlg is stabilized, meaning that it cannot be closed by the user. If there is a system menu, the close option and the close box are grayed. The ALT-F4 close key is disabled. This allows you to be certain that your operations on the dialog can be completed. When a dialog is stabilized, only DIALOG END or program termination will close it.

See also

  • DIALOG END
  • DIALOG NONSTABLE
  • PBXB64 Compiler Help


DIALOG TRAXOMATIC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG TRAXOMATIC

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

DIALOG TRAXOMATIC hDlg, TraxBits

Description

Category: PowerBASIC compatibility reference

PBXB64 status: PARTIAL: the statement, all documented Trax equates, and proportional position/size tracking for a registered DDT child dialog are implemented and executable-tested. PowerTrax percentage coordinate mode and automatic scaling inheritance remain open.

TraxBits

%Trax.Full    Both size and position
%Trax.High    Height
%Trax.Wide    Width
%Trax.Size    Height and width
%Trax.Vert    Vertical position
%Trax.Horz    Horizontal position
%Trax.Posn    Horizontal and vertical position
%Trax.None    Disable TRAXOMATIC tracking

The current runtime applies the selected axes on the parent dialog's WM_SIZE path. The focused executable proof is tests/pb/test_traxomatic.pb, which checks all eight equate values and the full position/size update for both a child dialog and a control.

Known boundary: the PB Original wording also enables PowerTrax scaling mode. PBXB64 does not yet implement DIALOG NEW TRAX, percentage-valued control creation, or scaling inheritance.

See also

  • CONTROL TRAXOMATIC
  • DIALOG XLAT
  • DIALOG NEW
  • PBXB64 Compiler Help


DIALOG UNITS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG UNITS

Convert

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIALOG UNITS hDlg , x& , y& TO PIXELS xx& , yy&

Description

Convert

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The dialog units specified in the x& and y& variables are converted into pixels, based on the default font of the dialog specified by hDlg . The resultant pixel values are stored in the xx& and yy& variables.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL GET CLIENT
  • DIALOG GET CLIENT
  • DIALOG GET LOC
  • DIALOG GET SIZE
  • DIALOG PIXELS
  • DIALOG SET LOC
  • DIALOG SET SIZE
  • PBXB64 Compiler Help


DIALOG XLAT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIALOG XLAT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

DIALOG XLAT Scale1 hDlg, x, y TO Scale2 xx, yy

Description

Category: PowerBASIC compatibility reference

PBXB64 status: QUALIFIED: all five documented scales are accepted. PIXELS, METRIX, TRAX, TWIPS, and UNITS convert through the runtime pixel path; TRAX uses the dialog client extent and METRIX uses the screen extent.


Dialog Styles - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Dialog Styles

Like control styles , DDT provides a default style for a dialog window, if the DIALOG NEW statement does not specify a specific style parameters.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Like control styles , DDT provides a default style for a dialog window, if the DIALOG NEW statement does not specify a specific style parameters.

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The default style comprises the combination of %WS_POPUP, %WS_CAPTION, %DS_SETFONT, %DS_NOFAILCREATE, %DS_MODALFRAME, and %DS_3DLOOK. These equates are equivalent to a style of &H080C00D4. The extended style default is zero.

If you explicitly specify %WS_CAPTION in your DIALOG NEW statement, DDT will interpret the width and height values as client dimensions, rather then as overall dialog dimensions. This can be very useful for the times when you need to build a dialog with particular client dimensions.

You can create dialogs using combinations of the following styles:

Back to command index


DIGAMMA - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIGAMMA

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = DIGAMMA( x )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


DIM - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Declarations PBXB64 Compiler Help

DIM

Declare and dimension

Chapter: Declarations | Certification: [CERTIFIED TESTED]

Syntax

DIM var [( subscripts )] [AS [GLOBAL | INSTANCE | LOCAL | STATIC | THREADED] type ] [PTR | POINTER] [AT address ] [, ...]
DIM var[( subscripts )] ' var may include a type-specifier
Scalar variables:
DIM var AS [GLOBAL | INSTANCE | LOCAL | STATIC | THREADED] type [PTR |POINTER] [, ...]
DIM var ' var must include a type-specifier

Description

Declare and dimension

Kind: Statement | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

DIM declares var to be a variable or array whose type is specified by appending a type-specifier to the name or by using the AS type keyword. If the AS clause is used, the variable name cannot end with a type-specifier character.

DIM can only be used inside a SUB , FUNCTION , METHOD , or PROPERTY . Outside of Subs, Functions, Methods, or Properties, use GLOBAL or INSTANCE to declare variables and arrays.

DIM can also be used to dimension an "absolute array" - one that occupies a specific location in memory. This can be useful to dynamically "superimpose" one type of array directly over the top of an existing block of memory (which could be another type of array, or data structure). This would form a Union-like overlay structure. See below.

In addition, it is possible to create an array of pointers with the DIM statement, and it is also possible to do so at a specific location in memory. This is termed an " absolute pointer array ".

Dimensioning arrays

subscripts may take one of the following forms for each array dimensioned:

(a) A comma-delimited list of one or more Long-integer expressions, each defining a dimension of the array . This form is used to declare arrays whose subscript (index) range starts at 0. For example, the following lines are equivalent ways of dimensioning the same array:

DIM lArray(20) AS LONG ' With an AS type clause

DIM lArray&(20) ' With a type-specifier

Both lines above define a one dimension Long-integer array that has 21 elements, from lArray(0) to lArray(20) inclusive. The second line uses a type-specifier symbol to specify the data ty pe , and this uses a simplified syntax (trailing clauses/keywords are not permitted). The simplified syntax is only valid for data types that have a type-specifier symbol ($, !, @, @@, #, ##, %, &, &&, ?, ??, ???), or the specifier can be omitted if there is a DEF type statement in effect. The specifier must be omitted if #DIM ALL is in effect.

Declarations of multiple-dimension arrays take the following forms:

DIM sArray(20,40,2) AS STRING

DIM sArray$(20,40,2)

These two lines of code define a dynamic string array with three dimensions, 21 elements by 41 elements by 3 elements, totaling 2583 string elements. As before, the second line uses the simplified syntax form.

(b) A comma-delimited list where both the upper and lower subscript bounds are explicitly declared for each dimension of the array. For each dimension, the lower bound is listed first, followed by the TO keyword, followed by the upper bound. For example:

DIM MyArray(1 TO 20) AS LONG

defines an array of one dimension that has 20 elements, from MyArray(1) to MyArray(20). The lower bound does not have to be zero or one; for example:

DIM SalesByYear(1980 TO 2000) AS INTEGER

DIM SalesByYear%(1980 TO 2000)

Each array can access elements in the range of -2,147,483,648 to 2,147,483,647. It is recommended that an explicit variable scope clause ( GLOBAL / LOCAL / STATIC , THREADED, INSTANCE ) be added to each DIM statement that uses an explicit type clause. See Restrictions below.

Array Initialization and Absolute Arrays

PowerBASIC generates an error message when it encounters an array that hasn't been dimensioned. If the array has already been dimensioned, the DIM statement is ignored. A new array is not created and a run-time error is not generated.

When a program is first executed, PowerBASIC sets each element of a numeric array to zero, and sets each element of regular string arrays to a null string (length zero). However, when an absolute array is Dimensioned (at a specific location in memory using the AT address syntax), PowerBASIC does not initialize the memory occupied by the array. Further, when an absolute array is erased, the memory is not released either. This provides a powerful mechanism to create Union -like overlay structures in memory.

The most common use of an absolute array is when manipulating Visual Basic arrays directly from a DLL. This involves obtaining a pointer to the array, the element size, and the number of elements. With this information, an absolute array can be dimensioned in PowerBASIC and the array memory manipulated directly. Another common use involves using a large dynamic or fixed-length string memory block, overlaid with an absolute numeric array.

Care must be exercised when using absolute arrays, since the contents of an absolute array can only be valid for the scope of the memory the array references. If an absolute array references memory that is LOCAL to the procedure, the array contents become invalidated if the target memory block is released. For example, by either explicitly deallocating the memory block, or exiting the procedure itself. Attempting to access absolute array memory that has been deallocated will likely trigger a General Protection Fault (GPF). On this basis, absolute arrays should be LOCAL to the procedure in which they are to be used.

While PowerBASIC supports LBOUND values that are non-zero, PowerBASIC generates the most efficient code if the LBOUND parameter is omitted (i.e., the array uses the default LBOUND of zero). You should also avoid specifying an explicit LBOUND of zero, since this imposes a small efficiency penalty with no meaningful benefits

Declaring scalar (non-array) variables

If you have specified #DIM ALL or OPTION EXPLICIT , you have to declare all variables used in your programs. PowerBASIC provides a variation of the DIM statement for this job, because of the reduced level of syntax required for scalar variables. The following is a simplified syntax for DIM that just applies to scalar variables:

DIM var AS [GLOBAL | INSTANCE | LOCAL | STATIC | THREADED] type [PTR | POINTER] [, ...]

DIM var ' var must include a type-specifier

Here are some sample variable declarations:

DIM a AS LOCAL INTEGER

DIM b AS STATIC WORD

DIM c AS GLOBAL DOUBLE POINTER

DIM d AS STRINGZ * 255

DIM e AS THREADED STRING

DIM f AS INSTANCE SINGLE

AS type

INTEGER

Integer

Double-word

Long-integer

Quad-integer

SINGLE

Single-precision floating-point

DOUBLE

Double-precision floating-point

Extended-precision floating-point

EXTENDED

Extended-precision floating-point

Currency

CURRENCY

Currency

Extended-currency

CURRENCYX

Extended-currency

STRING

Dynamic (variable-length) string

WSTRING

Unicode Dynamic string

STRING * x

Fixed-length string

ASCIIZ * x

Nul-terminated string

ASCIZ * x

Nul-terminated string

STRINGZ * x

Nul-terminated string

WSTRINGZ * x

Unicode Nul-Terminated string

Pointer

Pointer

Pointer

VARIANT

Variant

IAUTOMATION

Automation Interface

IDISPATCH

Dispatch Interface

IUNKNOWN

Direct Interface

16-byte GUID string

Field string

Restrictions

LOCAL ASCIIZ, LOCAL fixed-length strings, and LOCAL UDTs are created on the stack frame of the Sub/Function/Method/Property in which they are declared. You must therefore use caution so that the combined local variable size does not exceed the allocated stack size. Unless you declare otherwise, PowerBASIC sets a default stack size of 1MB. If more stack space is required, you can allocate it with the #STACK metastament. There are no such limitations with GLOBAL, INSTANCE , THREADED , or STATIC variables.

When a DIM statement is used ( without an explicit scope clause ), to declare a variable in a procedure, and an identical variable has already been declared as GLOBAL, the variable in the procedure will be given GLOBAL scope. For example:

GLOBAL xyz AS LONG

SUB MySub

DIM xyz AS LONG

' Here, xyz is a GLOBAL variable

END SUB

To ensure that the variable scope is LOCAL to the Sub/Function/Method/Property, use a LOCAL statement rather than a DIM statement. Alternatively, add an explicit scope clause to the DIM statement. For example:

GLOBAL xyz AS LONG

[ statements ]

SUB MySub

DIM xyz AS LOCAL LONG

' Here, xyz is a LOCAL variable

END SUB

Declaring pointer variables

A pointer must be declared before it can be used. You use the DIM statement to declare pointers, and describe the type of data to which they point. When a pointer is declared, it is automatically initialized to a value of zero. This is known as a null-pointer. You must remember to initialize it to a valid address, or you will get a General Protection Fault (GPF). The syntax for declaring pointer variables is similar to that of regular variables:

DIM var[(subscripts)] AS [GLOBAL | INSTANCE | LOCAL | STATIC | THREADED] type [PTR | POINTER] [, ...]

Here are some examples of pointer variable declarations:

DIM a AS BYTE PTR

DIM b AS INTEGER POINTER

DIM c AS STRING PTR * 25

DIM d AS MyType POINTER

DIM e(500) AS INTEGER PTR

Pointers themselves are stored as DWORD values.

See also

  • ARRAYATTR
  • ERASE
  • GLOBAL
  • INSTANCE
  • Just what is COM?
  • LOCAL
  • REDIM
  • RESET
  • STATIC
  • THREADED
  • Variables
  • Variable scope
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


DIR$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIR$

Return a filename and/or directory entry that matches a file name mask and an optional attribute.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

file$ = DIR$( mask$ [, [ONLY] attribute& , TO DirDataVar ])
file$ = DIR$([NEXT] [TO DirDataVar ])

Description

Return a filename and/or directory entry that matches a file name mask and an optional attribute.

Kind: Function | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

There are two forms to the DIR$() function. The first form, which includes a mask string and optional attribute, is used to find the first filename which matches. The second form, without those parameters, returns subsequent matching filenames. When the returned string is null (zero-length), there are no further matching filenames.

The second form may optionally specify the key-word NEXT to aid in self-documentation of the source code.

mask$ specifies a filename or path which can include a drive name and system wildcard characters (* and ?). If the numeric attribute parameter is zero (or not specified), DIR$ returns only "Normal" files. If mask$ is a null (zero-length) string, the function call is equivalent to the second form of the function to find subsequent matching filenames. In that case, an optional attribute is ignored.

If an attribute& is specified, it must use a standard operating system numeric attribute code. This causes DIR$ to include filenames with specific attributes in the search, in addition to normal files. "Normal" files are those which are not hidden or system files, nor are they a directory or a volume label.

Attribute

Description

Equate

Normal

%NORMAL

Hidden

%HIDDEN

System

%SYSTEM

Volume Label

%VLABEL

Directory

%SUBDIR

You can search for filenames with multiple attributes set by adding the attribute codes together. For example, to search for hidden and system files, you'd add those codes together (2 and 4) to get 6. All other attribute codes (except for volume label) are normally inclusive. For example, specifying both hidden and system results in DIR$ returning all hidden files, system files, normal files, and files that are both hidden and system.

If the ONLY option is included, normal files are excluded from the file search. For example: DIR$( mask$ , ONLY 16) just the directory entries which match mask$ are returned. Another useful search attribute is 6, which returns normal, hidden, and system file, but no directories.

An attribute of 8 will return the volume label, if one exists. In this case, mask$ must reference the drive letter of the target drive, and additional path information is ignored. Additionally, you may specify a UNC name for a shared drive (subject to operating system restrictions), and retrieve the volume label, if one exists, and you have suitable access rights. You can also obtain the volume label for a 'hidden' share with NT/2000/XP by appending a trailing dollar symbol to the share name.

' Retrieve volume for share \\server\drive0

A$ = DIR$("\\server\drive0", 8)

' Retrieve volume for hidden share D: (\d$)

A$ = DIR$("\\server\d$", %VLABEL)

The DIR$ function may optionally assign the complete directory entry to an appropriate UDT variable if you include the TO clause as a parameter. The complete directory entry contains 592 bytes of data, corresponding to the following TYPE definition. This definition (DIRDATA) is built into PowerBASIC, and need not necessarily be included in your source code. The DirData UDT is identical to the Unicode version of the Win32_Find_Data structure used by the Windows API for this purpose.

TYPE DirData

FileAttributes AS DWORD

CreationTime AS QUAD

LastAccessTime AS QUAD

LastWriteTime AS QUAD

FileSizeHigh AS DWORD

FileSizeLow AS DWORD

Reserved0 AS DWORD

Reserved1 AS DWORD

FileName AS WSTRINGZ * 260

ShortName AS WSTRINGZ * 14

END TYPE

You can declare a variable as DIRDATA for this purpose, or use any other user-defined type of at least 592 data bytes. The additional data may be used for any other purpose in your program.

CreationTime, LastAccessTime, and LastWriteTime members of the DIRDATA can be assigned to a PowerTime object to convert the QUAD integer (FILETIME) values for easy calculations and conversions.

LOCAL f AS STRING

LOCAL d AS DIRDATA

LOCAL t AS IPOWERTIME

t = CLASS "PowerTime"

f = DIR$("c:\*.*" TO d)

t.FileTime = d.CreationTime ' t contains the file creation time in a localized format.

Previous versions of PowerBASIC used an ANSI version of DirData which was only 318 bytes in size. However, if you utilized the built-in form of DirData, your program should execute correctly under this version with no changes needed.

Restrictions

PowerBASIC performs file matching with both the long (LFN) and short (SFN) filename versions of filenames. This means that DIR$ will also return filenames that start with the specified extension (as per standard Windows operating system behavior).

For example, A$ = DIR$("*.htm") will match filenames such as "Index.htm", "Default.html", "Homepages.htmb", "cgilib.htmlpages", etc. Similarly, A$ = DIR$("*.h??") and DIR$("*.ht*") will match the same filenames.

DIR$ is thread-safe, so DIR$ operations in one thread do not interfere with DIR$ operations in another thread. However, you should be aware that specifying a new mask$ parameter always starts an entirely new DIR$ search loop.

See also

  • CURDIR$
  • DIR$ CLOSE
  • DISPLAY BROWSE
  • DISPLAY OPENFILE
  • FILEATTR
  • GETATTR
  • ISFILE
  • PATHNAME$
  • PATHSCAN$
  • SETATTR
  • PBXB64 Compiler Help


DIR$ CLOSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DIR$ CLOSE

Force the release of the operating system FindNext handle.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIR$ CLOSE

Description

Force the release of the operating system FindNext handle.

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

DIR$ CLOSE will cause the operating system FindNext handle to be closed. Each time a new DIR$() sequence is initiated within a thread, or DIR$() returns an empty string , PowerBASIC automatically closes the FindNext handle to avoid overuse of system resources.

However, in unusual circumstances (such as a recursive directory scan with delete or rename), it may be necessary to close the FindNext handle sooner, through the use of this explicit statement, so that a directory can be removed or renamed.

Restrictions

It is never necessary to execute DIR$ CLOSE to simply avoid a "System Handle Leak".

See also

  • DIR$
  • PBXB64 Compiler Help


DISKFREE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DISKFREE

Return the amount of available space on a disk, in bytes.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

bytes&& = DISKFREE( drive$ )

Description

Return the amount of available space on a disk, in bytes.

Kind: Function | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

drive$ specifies the drive letter or UNC share name (subject to operating system restrictions) of the disk to examine. If drive$ is an empty string , information on the default drive is returned.

Restrictions

With Windows 95 versions before OSR2, and Windows NT versions before 4.0, DISKFREE may return a negative or inaccurate value for drives larger than 2 GB.

See also

  • DISKSIZE
  • PBXB64 Compiler Help


DISKSIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DISKSIZE

Return the total amount of space on a disk, in

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

bytes&& = DISKSIZE( drive$ )

Description

Return the total amount of space on a disk, in

Kind: Function | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

drive$ specifies the drive letter or UNC share name (subject to operating system restrictions) of the disk to examine. If drive$ is an empty string , information on the default drive is returned.

Restrictions

With Windows 95 versions before OSR2, and Windows NT versions before 4.0, DISKSIZE may return a negative or inaccurate value for drives larger than 2 GB.

See also

  • DISKFREE
  • PBXB64 Compiler Help


DISPLAY BROWSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DISPLAY BROWSE

Display a folder selection dialog to return the user's choice.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DISPLAY BROWSE [ hParent ], [ xpos& ], [ ypos& ], title$ , start$ , flags& TO folder$

Description

Display a folder selection dialog to return the user's choice.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

See also

  • DISPLAY COLOR
  • DISPLAY FONT
  • DISPLAY OPENFILE
  • DISPLAY SAVEFILE
  • PBXB64 Compiler Help


DISPLAY COLOR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DISPLAY COLOR

Display a color selection dialog to return the user's choice.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DISPLAY COLOR [hParent], [xpos&], [ypos&] , firstcolor& , custcolors , flags& TO colorval&

Description

Display a color selection dialog to return the user's choice.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If you offer the user the ability to create custom colors, it is suggested you retain the custcolors& UDT variable without change. It may then be used again on a later invocation of DISPLAY COLOR with the user's custom colors intact.

See also

  • Built In RGB Color Equates
  • DISPLAY BROWSE
  • DISPLAY FONT
  • DISPLAY OPENFILE
  • DISPLAY SAVEFILE
  • RGB
  • PBXB64 Compiler Help


DISPLAY FONT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DISPLAY FONT

Display a font

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DISPLAY FONT [hParent], [xpos&], [ypos&], defname$ , defpoints& , defstyle& , flags & _
TO fontname$ , points& , style& [, colorval& , charset& ]

Description

Display a font

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

See also

  • CONTROL SET FONT
  • DIALOG DEFAULT FONT
  • DISPLAY BROWSE
  • DISPLAY COLOR
  • DISPLAY OPENFILE
  • DISPLAY SAVEFILE
  • FONT END
  • FONT NEW
  • GRAPHIC SET FONT
  • XPRINT SET FONT
  • PBXB64 Compiler Help


DISPLAY OPENFILE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DISPLAY OPENFILE

Display an OpenFile selection dialog to return user choices.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DISPLAY OPENFILE [hParent], [xpos & ], [ypos & ] , title$ , folder$ , filter$ , _
start$ , defextn$ , flags & TO filevar$ [, countvar& ]
"BASIC" + CHR$(0) + "*.BAS" + CHR$(0)
CHR$("BASIC", 0, "*.BAS", 0)
CHR$("BASIC", 0, "*.BAS;*.INC;*.BAK", 0)

Description

Display an OpenFile selection dialog to return user choices.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The current default directory is never altered by this statement, even if the user changes the directory while searching for files.

See also

  • DISPLAY BROWSE
  • DISPLAY COLOR
  • DISPLAY FONT
  • DISPLAY SAVEFILE
  • PBXB64 Compiler Help


DISPLAY SAVEFILE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DISPLAY SAVEFILE

Display a SaveFile selection dialog to return user choices.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DISPLAY SAVEFILE [hParent], [xpos & ], [ypos & ] , title$ , folder$ , filter$ , _
start$ , defext$ , flags & TO filevar$ [, countvar& ]
"BASIC" + CHR$(0) + "*.BAS" + CHR$(0)
CHR$("BASIC", 0, "*.BAS", 0)
CHR$("BASIC", 0, "*.BAS;*.INC;*.BAK", 0)

Description

Display a SaveFile selection dialog to return user choices.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The current default directory is never altered by this statement, even if the user changes the directory while searching for files.

See also

  • DISPLAY BROWSE
  • DISPLAY COLOR
  • DISPLAY FONT
  • DISPLAY OPENFILE
  • PBXB64 Compiler Help


Dll example - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Dll example

A very simple example is a DLL with a function that will add one to any Long-integer passed to it as a parameter:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A very simple example is a DLL with a function that will add one to any Long-integer passed to it as a parameter:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

FUNCTION AddOne ALIAS "AddOne" (BYVAL x AS LONG) EXPORT AS LONG

Back to command index


DO - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Control Flow PBXB64 Compiler Help

DO

Begin a DO loop

Chapter: Control Flow | Certification: [CERTIFIED TESTED]

Syntax

DO [{WHILE | UNTIL} condition]
  [statements]
LOOP

Description

Begin a DO loop

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The DO statement begins a flexible loop. With no clause, it forms an infinite loop that must be exited with EXIT DO. DO WHILE and DO UNTIL test the condition at the top of the loop.

Generated Assembly

Compile with:

PBXB64 example.pb --asmout example.asm
pb_do_cond_PBMAIN_0:
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 5
    setle r10
    mov rbx, r10
    test rbx, rbx
    jne pb_do_body_PBMAIN_1
    jmp pb_do_end_PBMAIN_2
pb_do_body_PBMAIN_1:
    mov r10, [rbp-32]
    mov rbx, r10
    mov r10, [rbp-24]
    add rbx, r10
    mov [rbp-32], rbx
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, 1
    mov [rbp-24], rbx
    jmp pb_do_cond_PBMAIN_0
pb_do_end_PBMAIN_2:

Notes

DO UNTIL condition is equivalent to DO WHILE NOT condition.

Example

FUNCTION PBMAIN () AS LONG
    LOCAL n AS LONG
    LOCAL sum AS LONG
    n = 1
    sum = 0
    DO WHILE n <= 5
        sum = sum + n
        n = n + 1
    LOOP
    FUNCTION = sum
END FUNCTION

See also

  • LOOP
  • WHILE
  • EXIT
  • ITERATE
  • BASIC Control Flow


DO/LOOP statements - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DO/LOOP statements

Define a group of program statements that are executed repetitively as long as a certain condition is met.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DO [{WHILE | UNTIL} expression ]
[ statements ]
[EXIT LOOP]
[ITERATE LOOP]
LOOP [{WHILE | UNTIL} expression ]

Description

Define a group of program statements that are executed repetitively as long as a certain condition is met.

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

expression is a numeric expression, in which non-zero values represent logical TRUE, and zero values represent logical FALSE. If a string expression is used (i.e., A$ <> ""), PowerBASIC returns TRUE if the length of result of the string expression is greater than zero.

DO/LOOP statements are extremely flexible. They can be used to create loops for almost any imaginable programming situation. They allow you to create loops with the test for the terminating condition at the top of the loop, the bottom of the loop, both places, or none of the above.

A DO statement must always be paired with a matching LOOP statement at the bottom of the loop. Failure to match each DO with a LOOP results in either a compile-time Error 448 ("DO loop expected") or an Error 456 ("LOOP/WEND expected").

The WHILE and UNTIL keywords are used to add tests to a DO/LOOP. Use the WHILE if the loop should be repeated if expression is TRUE, and terminated if expression is FALSE. UNTIL has the opposite effect; that is, the loop will be terminated if expression is TRUE, and repeated if FALSE.

For example:

DO WHILE a = 13

[ statements ]

executes the statements between DO and LOOP as long as a is 13. If a is not 13 initially, the statements in the loop are never executed. Conversely:

DO UNTIL a = 13

[ statements ]

executes the statements between DO and LOOP as long as a is not 13. If a equals 13 initially, the loop is never executed.

At any point in a DO/LOOP, you can include an EXIT LOOP or ITERATE LOOP statement. EXIT LOOP causes the loop to terminate, so that execution continues after the terminating loop statement. ITERATE LOOP causes the loop to continue at the terminating loop statement.

The WHILE/WEND statements can be used in many cases to perform the same functions as DO/LOOP. For example, this DO/LOOP:

DO WHILE a < b

[ statements ]

has the same effect as this WHILE/WEND loop:

WHILE a < b

[ statements ]

When using nested loops, be careful that inner loops do not modify variables that are used by the outer loop's terminating condition test. For example, the following code was intended to get all 20 elements of a 10 x 2 array (dimensioned arry (9,1)):

Count1 = 0

DO WHILE Count1 < 10

FOR Count2 = 0 TO 1

x = arry(Count1,Count2)

Count1 = Count1 + 1

NEXT Count2

Because Count1 is incremented within the inner loop, which executes twice for each pass through the outer loop, this code would not get all the array values, but would only get the values for arry (0,0), arry (1,1), arry (2,0), arry (3,1) and so on. By moving the Count1 = Count1 + 1 statement to just below the NEXT Count2 statement, the code functions as intended.

If an EXIT LOOP statement is used within nested loops, it exits only the current loop, not the entire nest. Similarly, an ITERATE within nested loops iterates the current loop. For advice on exiting nested block structures, please refer to the EXIT statement. The PowerBASIC logical operators can be used to construct multiple test conditions for loop control. For example:

DO WHILE x < 10 AND y < 10

[ statements ]

is executed only as long as both x and y are less than 10. Similarly, the loop:

DO UNTIL X > 10 OR Y > 10

[ statements ]

is executed until either x or y (or both) is (are) greater than 10. See the data types and Arithmetic Operators topics for more information about using logical operators.

Although the compiler doesn't care about such things, it is a good idea when writing your source code to indent the statements between DO and LOOP. The same is true of FOR/NEXT loops, WHILE/WEND loops, and multi-line IF statements. Such indenting makes the appearance of your source code reflect the logical structure of your program, resulting in greater readability. Indenting is particularly valuable when nesting multiple loops of the same type, since it makes it easier to see which LOOP goes with which DO.

Also see the discussion on the IF statement for notes on PowerBASIC's Short-circuit evaluation and its possible side effects.

Example

#COMPILE EXE
#DIM ALL
' controlflow_do_while
FUNCTION PBMAIN() AS LONG
  LOCAL i AS LONG
  LOCAL s AS LONG
  i = 1
  s = 0
  DO WHILE i <= 5
    s = s + i
    i = i + 1
  LOOP
  IF (s) <> (15) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • #OPTIMIZE
  • EXIT
  • FOR EACH/NEXT statements
  • FOR/NEXT statements
  • ITERATE
  • WHILE/WEND statements


Double-precision floating-point (#) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Double-precision floating-point (#)

Double-precision floating-point numbers are to Single-precision numbers what Long-integers are to Integers . They take twice as much space in memory (8 bytes versus 4 bytes), but have a greater range

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Double-precision floating-point numbers are to Single-precision numbers what Long-integers are to Integers . They take twice as much space in memory (8 bytes versus 4 bytes), but have a greater range

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Double-precision variables are identified by following the variable name with a Number symbol (i.e., var# ) or by using the DEFDBL statement as described in the previous discussion of Integers. You can also declare Double-precision variables using the DOUBLE keyword with the DIM statement. For example:

C/C++, Delphi, and Visual Basic all offer a double data type that is identical to the PowerBASIC Double-precision variable.

Back to command index


Double-word (???) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Double-word (???)

Double-words are 32-bit (four byte ) unsigned integer with a range of 0 to 4,294,967,295 ( 0 to 2^32-1). The type-specifier character for a Double-word is: ???.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Double-words are 32-bit (four byte ) unsigned integer with a range of 0 to 4,294,967,295 ( 0 to 2^32-1). The type-specifier character for a Double-word is: ???.

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Double-word variables are identified by following the variable name with three question marks (i.e., var??? ), or by using the DEFDWD statement as described in the previous discussion of Integers. You can also declare Double word variables using the DWORD keyword with the DIM statement. For example:

As for Word values and Integers, Double-word values have a larger positive range than a Long-integer , and still require only four bytes. Double-word values are useful for indicating absolute memory addresses, such as may be used to store pointer values.

A PowerBASIC Double-word is equivalent to a UINT32 in C/C++. In 32-bit C/C++ code, a UINT is also equivalent to a PowerBASIC Double-word variable. Note that 16-bit C/C++ code uses UINT to describe a 16-bit Word variable.

Back to command index


Dynamic Dialog Tools (DDT) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Dynamic Dialog Tools (DDT)

Welcome to PowerBASIC's powerful and improved Dynamic Dialog Tools?. DDT allows a BASIC programmer to easily create a Graphical User Interface (GUI) for an application using simple BASIC statements. W

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Welcome to PowerBASIC's powerful and improved Dynamic Dialog Tools?. DDT allows a BASIC programmer to easily create a Graphical User Interface (GUI) for an application using simple BASIC statements. W

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

For programmers who are familiar with DDT, you will find that PowerBASIC has expanded the DDT implementation even further in this version of PowerBASIC, with advanced features such as User Data storage and accelerator tables.

This chapter describes PowerBASIC's Dynamic Dialog Tools and how to easily create full-featured Graphical User Interfaces in your code.

Back to command index


Dynamic Dialog Tools - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Dynamic Dialog Tools

The following functions can be used to create GUI application interfaces:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following functions can be used to create GUI application interfaces:

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Attach a table of keyboard accelerators to a DDT dialog.

Define a Dialog /Control Callback Function block.

Back to command index


EACH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

EACH

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

FOR EACH item IN collection
NEXT

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Effective Addressing - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Effective Addressing

The notation to calculate the effective address of data in memory can look complicated but it is in fact very clear and precise notation. In the range of allowable notation for Intel 80x86 assembler,

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The notation to calculate the effective address of data in memory can look complicated but it is in fact very clear and precise notation. In the range of allowable notation for Intel 80x86 assembler,

Kind: Keyword | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

! MOV EAX, lpArray ; Copy address into EAX

! MOV ECX, [EAX] ; Copy 1st item in array into ECX

! ADD EAX, 4 ; Increment the array location by 4 bytes

! MOV ECX, [EAX] ; Copy 2nd item in array into ECX

Back to command index


ELSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ELSE

Default branch of an IF block

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ELSE
  [statements]

Description

Default branch of an IF block

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The ELSE keyword introduces the branch that executes when none of the preceding IF or ELSEIF conditions are true. It is optional and must appear after all ELSEIF branches.

Example

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 3
    IF x > 5 THEN
        FUNCTION = 1
    ELSE
        FUNCTION = 0
    END IF
END FUNCTION

See also

  • IF
  • ELSEIF
  • THEN
  • SELECT CASE/END SELECT
  • BASIC Control Flow


ELSEIF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ELSEIF

Additional branch in an IF block

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ELSEIF condition THEN
  [statements]

Description

Additional branch in an IF block

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ELSEIF introduces an additional test in an IF...END IF block. It must appear after IF and before any ELSE or END IF. If the preceding IF and earlier ELSEIF conditions were all false and this condition is true, the associated statements run.

Generated Assembly

ELSEIF lowers to a second condition block reached through the false path of the first condition. The backend emits a cascade of labeled blocks, all merging at the same END IF point:

pb_if_else_PBMAIN_1:
    mov r10, [rbp-32]
    mov rbx, r10
    cmp rbx, 5
    sete r10
    mov rbx, r10
    test rbx, rbx
    jne pb_elseif_then_PBMAIN_3
    jmp pb_elseif_else_PBMAIN_4
pb_elseif_then_PBMAIN_3:
    mov [rbp-24], 2
    jmp pb_if_end_PBMAIN_2
pb_elseif_else_PBMAIN_4:
    mov [rbp-24], 3
    jmp pb_if_end_PBMAIN_2

Example

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 5
    IF x > 5 THEN
        FUNCTION = 1
    ELSEIF x = 5 THEN
        FUNCTION = 2
    ELSE
        FUNCTION = 3
    END IF
END FUNCTION

See also

  • IF
  • ELSE
  • THEN
  • END IF


END - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Variables & Scope PBXB64 Compiler Help

END

Terminate program immediately.

Chapter: Variables & Scope | Certification: [CERTIFIED TESTED]

Syntax

END [ nErrorLevel& ]

Description

Terminate program immediately.

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Normally, PowerBASIC programs are terminated when you exit the PBMAIN or WINMAIN() function. It should always be your goal to end programs in this fashion, so that the compiler and the operating system can do everything possible to leave things in an orderly state.

The END statement is an alternative termination method which should only be used in limited circumstances. It may be helpful in emergency situations, such as a fatal error like "out of memory". It's also useful (temporarily) in the conversion of DOS programs, just for the sake of compatibility. However, once conversion is complete, you should eliminate it as soon as possible.

The optional nErrorLevel& value has an effective range of 0 to 255. Batch files may act on the result through the IF [NOT] ERRORLEVEL batch command.

Restrictions

END may not be used in a DLL . END is intended only for temporary use in converting DOS programs to Windows. You should convert it to the standard EXIT FUNCTION method as soon as possible. It should be avoided while any COM objects are active.

See also

  • EXIT
  • PBMAIN
  • WINMAIN
  • PBXB64 Compiler Help


END IF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

END IF

Close a multi-line IF block

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

END IF

Description

Close a multi-line IF block

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The END IF statement terminates a multi-line IF...THEN block. All branches (IF, ELSEIF, ELSE) converge at this point. In the backend it becomes the merge label where every branch jumps.

Generated Assembly

The merge point is emitted as a labeled block:

pb_if_end_PBMAIN_0:
    mov r10, [rbp-24]
    mov rax, r10
    ; function epilogue

Example

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 5
    IF x > 5 THEN
        FUNCTION = 1
    ELSE
        FUNCTION = 0
    END IF
END FUNCTION

See also

  • IF
  • ELSEIF
  • ELSE
  • BASIC Control Flow


ENDASM - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ENDASM

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

#ASM
  nop
#ENDASM

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ENDC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ENDC

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

#ENDC

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ENDFASM - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ENDFASM

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

#ENDFASM

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ENDJS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ENDJS

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

#ENDJS

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ENDPB - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ENDPB

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

#ENDPB

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ENUM/END ENUM statements - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Declarations PBXB64 Compiler Help

ENUM/END ENUM statements

Creates a group of logically related

Chapter: Declarations | Certification: [CERTIFIED TESTED]

Syntax

ENUM Name [SINGULAR] [BITS] [AS COM]
EquateName [= value ]
...
END ENUM

Description

Creates a group of logically related

Kind: Statement | Category: Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]


Enumerating Collections - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Enumerating Collections

A collection is simply a set or group of items, where each can be accessed through its own Interface . For example, Microsoft Word? can have multiple documents open at the same time, and it can provid

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A collection is simply a set or group of items, where each can be accessed through its own Interface . For example, Microsoft Word? can have multiple documents open at the same time, and it can provid

Kind: Structure | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Therefore, enumerating a collection is simply a matter of determining the number of items in the collection, looping through and retrieving the appropriate information for one or more Interface members of the collection.

We'll start off with the Visual Basic syntax and show how to perform the same kind of task with PowerBASIC.

Visual Basic syntax for enumerating a collection looks something like this:

Dim Item As InterfaceItem

Back to command index


ENVIRON$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ENVIRON$

Retrieve information from the current program's environment table.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = ENVIRON$({ parameter_string | n })

Description

Retrieve information from the current program's environment table.

Kind: Function | Category: Utilities

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

parameter_string is a string expression denoting which environment parameter is to be retrieved. n is an integral expression, starting at 1.

If a string argument is used, ENVIRON$ returns the text that follows parameter_string (after the equal sign) in the environment table. If parameter_string is not found, or no text follows the equal sign in the environment string table, an empty string is returned.

If the numeric argument is used, it acts as an index into the environment table. ENVIRON$ returns a string containing the n th parameter from the start of the table. If there is no n th parameter, an empty string is returned. If the index is negative, private Windows variables are returned.

When launching a program from within the IDE , PowerBASIC sets the "PBIDE" environment variable with the IDE name and version number. For example, "CCEDIT 5.00" or "PBEDIT 9.00". Similarly, when running in the debugger , the "PBDEBUG" environment string will return the IDE name and version.

Programs can use these environment strings to detect their "mode" of operation, for example, to signal a program to save internal data to a disk file, and when to display helpful debugging information. DLLs created with PB/Win can also examine these environment strings and adapt behavior accordingly. This will be of particular interest to 3rd-party DLL programmers who create libraries and add-ons for other PowerBASIC programmers.

Restrictions

When a program (process) starts, it is given its own local environment table, which is typically a copy of the parent program's environment table. ENVIRON$ works with this local table, not the parent's table.

See also

  • PBXB64 Compiler Help


EOF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

EOF

Return the end-of-file status of an opened file or

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

y = EOF([#] filenum& )

Description

Return the end-of-file status of an opened file or

Kind: Function | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Use EOF to determine when the end of a file has been reached while reading its data. filenum& is the file number specified when the file was Opened. EOF returns -1 (TRUE) if the end of the specified file has been reached, or if an error occurs trying to check for the end of the file. Otherwise, EOF returns 0 (FALSE).

If filenum& is not a valid, open file, a run-time Error 53 will occur ("File not found"). If filenum& is for a binary file , EOF returns TRUE only if the most recent file operation was a read operation, and that operation could not read the requested number of bytes.

The EOF function may also be used with the COMM LINE and TCP LINE statements to detect that an incomplete line was received. Normally, these statements read data until a $CRLF character pair is found, and in that case, EOF will return 0 (FALSE). However, even if no $CRLF has been found, the statements will end when no additional data is available. In that case, they will return whatever data has already been accumulated, and set EOF to -1 (TRUE).

In many cases, it would be prudent to test EOF after every COMM LINE and TCP LINE to verify that a full line has been received. In some cases, you may wish to execute the statement one or more additional times, combining the data, in order to obtain a full line of text.

See also

  • COMM LINE
  • LOC
  • LOF
  • OPEN
  • TCP LINE INPUT
  • PBXB64 Compiler Help


EQV - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Operators PBXB64 Compiler Help

EQV

The EQV operator works as both a logical and a bitwise

Chapter: Operators | Certification: [CERTIFIED TESTED]

Syntax

p EQV q

Description

The EQV operator works as both a logical and a bitwise

Kind: Operator | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Using EQV as a logical operator

EQV returns TRUE (non-zero) if at least one bit in one operand contains the same value as the identical bit position in the other operand. Further, EQV will return zero if and only if there are no matching bit values between the two operands. This can occur when one operand is equal to the bitwise NOT value of the other operand. For example:

IF x EQV y = 0 THEN statement

is equivalent to:

IF x = NOT y THEN statement

The EQV operator can be used for comparing signed and unsigned values of the same bit size, such as Long-integer and Double-word . This use of EQV is similar to using the BITS functions; however, care must be exercised to test the return value of EQV correctly, since EQV will return an unsigned value with all bits set only if the bit patterns of the two operands are an exact match .

The EQV truth table looks like this:

Truth table

x EQV y

See also

  • Arithmetic Operators
  • AND
  • IMP
  • ISFALSE and ISTRUE Operators
  • LET
  • NOT
  • OR
  • XOR
  • PBXB64 Compiler Help


ERASE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ERASE

Deallocate

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ERASE array [()] [, array [()]] ...

Description

Deallocate

Kind: Statement | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Any memory assigned to the individual elements (if they are dynamic strings , Objects , Variants , etc.) is also released. ERASE deallocates all the memory for LOCAL , STATIC , and GLOBAL arrays. After an array is erased, attempting to access the array may produce a General Protection Fault (GPF). Local arrays are implicitly erased upon exit from the Sub / Function / Method / Property that created them.

The name of the array to deallocate. Parentheses are optional, but are recommended for clarity of the source code.

One method to check if an array has been dimensioned without triggering a GPF is to use the LBOUND and UBOUND functions, as follows:

IF UBOUND(array) - LBOUND(array) = -1 THEN

' array() is not allocated

END IF

ERASE can deallocate an array that was passed as a parameter to a procedure, but only if the array was passed by reference (BYREF). To clear the contents of an array back to its initialized state, use REDIM or RESET .

Restrictions

Absolute arrays (those created by DIM...AT ) are handled differently by ERASE. An explicit ERASE will release the individual elements of an absolute array, if needed, but the full data block is left as-is because no assumptions can be made as to its origin. It is the programmer's responsibility to ensure that the memory block overlaid by the absolute array is handled correctly. In an implied ERASE (Sub/Function/Method/Property exit) of a LOCAL absolute array, the internal array descriptor is deactivated, but no changes of any kind are made to the individual data elements or the full block. RESET may be used to set arrays to zeroes or empty strings without releasing the data block.

See also

  • ARRAYATTR
  • DIM
  • REDIM
  • RESET
  • PBXB64 Compiler Help


ERF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ERF

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(ERF(1.0) - 0.8427007929) > 0.0002 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ERFC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ERFC

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(ERFC(1.0) - 0.1572992071) > 0.0002 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ERL$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ERL$

Return the last

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

position$ = ERL$

Description

Return the last

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Return a string containing the name of the last (most recent) label, line number, or procedure that was executed prior to the most recent run-time error , within the current Sub , Function , Method , or Property . In order to maintain high efficiency levels, the returned name is limited to the first 8 characters of the actual name.

See also

  • ERL system variable
  • ERR system variable
  • ERROR$
  • Error Overview
  • Error Trapping
  • ON ERROR
  • PBXB64 Compiler Help


ERL system variable - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ERL system variable

Return the last

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

nline = ERL

Description

Return the last

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Return the last (most recent) line number that was encountered before the most recent run-time error , within the current Sub , Function , Method , or Property . With ERL, line numbers are of the traditional-basic line numbering variety, not the physical source code line.

See also

  • ERL$
  • ERR system variable
  • ERROR$
  • Error Overview
  • Error Trapping
  • ON ERROR
  • PBXB64 Compiler Help


ERR - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Error Handling PBXB64 Compiler Help

ERR

Category: PowerBASIC compatibility reference

Chapter: Error Handling

Syntax

x = ERR
ERR = ErrNum
x = ERRCLEAR
ERRCLEAR

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ERR system variable - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ERR system variable

Return the error code of the most recent PowerBASIC run-time error.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

y = ERR
ERR = ErrNum
y = ERRCLEAR
ERRCLEAR

Description

Return the error code of the most recent PowerBASIC run-time error.

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ERR and ERRCLEAR return the error code of the most recent run-time error in the current Sub , Function , Method , or Property . This number can be tested after any critical operation, so that appropriate error-handling code can be executed.

You can also assign a value to ERR. This is similar to executing an ERROR statement , except that no branch to an error trap routine is generated. Instead, subsequent tests of ERR and ERRCLEAR reflect ErrNum .

ERRCLEAR returns the error code of the most recent run-time error. In addition, it resets PowerBASIC's internal error code variable ERR to zero after you reference it. Finally, it emulates RESUME FLUSH so that no RESUME execution is needed or allowed. This ensures that the next time you test ERR or ERRCLEAR, you are guaranteed to get a zero, unless a new error has actually occurred in the interim.

ERRCLEAR can also be used as a statement to reset ERR to zero.

IMPORTANT: Be sure to study the Errors and Error Trapping .

Restrictions

Valid run-time error values are in the range 0 through 255. A value of 0 indicates no error. Attempting to set an error value (with the ERROR statement) outside of that range will convert the value to a run-time Error 5 ("Illegal function call").

See also

  • ERROR$
  • Error Overview
  • Error Trapping
  • ON ERROR
  • PBXB64 Compiler Help


ERROR$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Error Handling PBXB64 Compiler Help

ERROR$

Return a string

Chapter: Error Handling | Certification: [CERTIFIED TESTED]

Syntax

msg$ = ERROR$[( ErrNum )]

Description

Return a string

Kind: Function | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ERROR$ returns the verbose text title of a PowerBASIC run-time error identified by ErrNum .

ErrNum must be in the range 1 to 255 inclusive. Values outside of this range return "No error". If ErrNum is not specified, ERROR$ returns the description of the current value of ERR.

See also

  • #DEBUG DISPLAY
  • ERL system variable
  • ERR system variable
  • Error Overview
  • Error Trapping
  • ON ERROR
  • PBXB64 Compiler Help


Error Trapping - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Error Trapping

Error traps let you intercept and deal with run-time errors, rather than having programs unceremoniously abort or ignore a fatal error, possibly causing loss of data.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Error traps let you intercept and deal with run-time errors, rather than having programs unceremoniously abort or ignore a fatal error, possibly causing loss of data.

Kind: Keyword | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

There are three steps you must take to trap errors, as described in the following sections:

For example, here is a piece of code that fills an array with the filenames from a directory. This section will add complete Error Trapping to prevent run-time errors when the user chooses a directory that does not have any files or a drive that is not ready.

SUB GetFileNames(File() AS STRING)

DIM CurrentDir AS STRING

Back to command index


Error Trapping Summary - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Error Trapping Summary

Error Trapping is a useful and powerful feature of PowerBASIC. Many programmers avoid trapping errors because of the substantial penalties other BASIC dialects impose when Error Trapping is turned on.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Error Trapping is a useful and powerful feature of PowerBASIC. Many programmers avoid trapping errors because of the substantial penalties other BASIC dialects impose when Error Trapping is turned on.

Kind: Keyword | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Finally, PowerBASIC now includes the following list of predefined (built-in) equates to assist in the creation of more verbose error handling code. They include:

%ERR_ILLEGALFUNCTIONCALL

Back to command index


Error Overview - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Error Overview

Unlike the DOS versions of PowerBASIC , Windows versions of PowerBASIC employ a completely different philosophy: to generate the smallest and fastest possible code. Consequently, error handling is pla

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Unlike the DOS versions of PowerBASIC , Windows versions of PowerBASIC employ a completely different philosophy: to generate the smallest and fastest possible code. Consequently, error handling is pla

Kind: Keyword | Category: Error Reference

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Compile-time errors are generated when the compiler cannot resolve a problem in your source code while it is compiling. Examples include: typographical errors; assigning incorrect values to variables (such as "x$ = 5"); and attempting to use a variable name which has not been dimensioned when OPTION EXPLICIT (or #DIM ALL ) has been turned on.

When a compile-time error is detected, PowerBASIC will display a message box indicating the error code, plus a brief description, along with the line number in the code where the error occurred. The offending line of code will also be displayed. If you are using the PowerBASIC IDE, the caret will move to the offending line once the error dialog has been dismissed.

Back to command index


ESCAPE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ESCAPE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

escaped$ = ESCAPE$(text$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


EVAL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

EVAL

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

n& = EVAL(expression$)
s$ = EVAL$(text$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Evaluating a variable - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Evaluating a variable

To see the value of position right-click on the variable and choose the Evaluate variable item from the context-menu - since this is a context-sensitive menu, it will actually read "Evaluate position"

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

To see the value of position right-click on the variable and choose the Evaluate variable item from the context-menu - since this is a context-sensitive menu, it will actually read "Evaluate position"

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The next few lines are supposed to remove the word from the beginning of the line and put the word into SecondString$ . To check if that routine functions correctly, you should examine the values of FirstString$ and SecondString$ before and after the routine alters them. The debugger should display:

To be or not to be; that is the question.

From the appearance of the string, you can see that the first blank should appear in position 3, and that the program has correctly determined that position. The variable SecondString$ ought to contain the last word processed and should have no value yet. You can check that by entering SecondString$ in the Variable Name field; if you do, you will find no error.

Everything seems normal so far. Press ESCAPE to return to the main part of the debugger, then press F8 to step the program one more line. Since you already know position is not 0, you'll find out what you need to know by pressing F8 several more times, stopping when the execution bar is over the final END IF of that routine. At that point, both FirstString$ and SecondString$ have been processed.

Back to command index


EVENT SOURCE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

EVENT SOURCE

Declare an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

EVENT SOURCE InterfaceName

Description

Declare an

Kind: Statement | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

With objects , normally a client module calls a server module to perform specific operations as they are needed. However, in many situations, it's convenient and efficient for a server to notify its client of a condition or event immediately, without forcing the client to inquire about the status. At the appropriate time, the server calls back to a client method, passing information via the method parameters. This is the exact opposite of normal communication, because the server module is now calling the client module. In effect, the client is acting as a server for the purpose of handling these events. In the world of objects, a server which can call such "Event Methods" is said to offer a " Connection Point ". A Connection Point can be used with COM objects or internal objects. Further, it may use either a direct interface or the DISPATCH interface . Event methods may take parameters, but may not return a result.

Each server class created by PowerBASIC may offer up to four event interfaces. A client module may subscribe to any or all of these event interfaces. When it's time for the server object to notify the client of an event, the RAISEEVENT statement is used. For the Dispatch interface, OBJECT RAISEEVENT is used instead. RAISEEVENT may only appear within a class which declares the Event Source interface.

The client must initiate a connection to the server with EVENTS FROM statement, and disconnect when done with EVENTS END statement.

A Connection Point may be attached to one Event Method, multiple Event Methods, or no Event Method at all. Whenever a RAISEEVENT statement or OBJECT RAISEEVENT statement is executed, all Event Methods attached to the source object are called, one after another. There is no guarantee of the sequence of the calls, and you must consider the possibility that RAISEEVENT with a ByRef parameter could change the value of a parameter variable before any particular Event Method is executed.

InterfaceName

Specifies the "Event Source" Interface name. If InterfaceName is DISPATCH, you can reference it with the OBJECT RAISEEVENT statement -- otherwise, regular Method references are used.

See also

  • EVENTS
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • Just what is COM?
  • METHOD / END METHOD statements
  • OBJECT
  • RAISEEVENT
  • What Are Connection Points?
  • PBXB64 Compiler Help


EVENTS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

EVENTS

Attach or detach an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DIM oSource AS InterfaceName
DIM oEvent AS EventInterface
LET oSource = NEWCOM CLSID $ClassId
LET oEvent = CLASS "EventClass"
EVENTS FROM oSource CALL oEvent
[ statements ]
EVENTS END oEvent

Description

Attach or detach an

Kind: Statement | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

In the above source code sample, oEvent is an object variable which references an event handler object, and oSource is an object variable which references an event source object which generates events.

The EVENTS FROM statement attaches event handler code to an event source object variable. The object variable oEvent must be declared as a supported event interface, while ?EventClass" specifies the class which implements the event handler code. The object variable oSource specifies the event source. EVENTS END detaches the event handler from the event source.

Generally speaking, a server object "sources" events, and a client object "handles" events by supplying a METHOD which is called by the server to perform a user-defined notification. This event handler is code in the client object, which is sometimes referred to as an "event sink" (analogous to the electrical engineering terms source/sink).

One or more clients may choose to "subscribe" to events from a server object by executing the EVENTS FROM statement. The subscription is terminated by execution of the EVENTS END statement. When the server executes RAISEEVENT or OBJECT RAISEEVENT , all clients which have unsubscribed to these events are called. PowerBASIC servers support up to 32 concurrent client subscribers per server object.

Event sources and event handlers may be used within a single module, or through COM services supplied by the Windows operating system.

See also

  • CLASS/END CLASS
  • EVENT SOURCE
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • Just what is COM?
  • OBJECT
  • RAISEEVENT
  • What Is an Object Anyway?
  • What Are Connection Points?
  • PBXB64 Compiler Help


EXE.Inst member - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

EXE.Inst member

Return information about the executing program.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

h& = EXE.Inst
f$ = EXE.Extn$
f$ = EXE.Full$
f$ = EXE.Name$
f$ = EXE.Namex$
f$ = EXE.Path$

Description

Return information about the executing program.

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

You can use EXE to retrieve information about the executing program, including the complete path and file name, or just a selected part of it. If the reference is physically located within a DLL, the returned data describes the executable program which loaded it.

EXE.Inst

This returns the instance handle (a DWord ) of the program which is currently executing.

EXE.Extn$

This returns the extension (with a leading period) of the program which is currently executing.

EXE.Full$

This returns the complete drive, path, file name, and extension of the program which is currently executing.

EXE.Name$

This returns just the file name of the program which is currently executing.

EXE.Namex$

This returns the file name and the extension of the program which is currently executing.

EXE.Path$

This returns the complete drive and path of the program which is currently executing.

See also

  • COMMAND$
  • PATHNAME$
  • PATHSCAN$
  • PBXB64 Compiler Help


EXIT - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Control Flow PBXB64 Compiler Help

EXIT

Transfer program execution out of a block structure.

Chapter: Control Flow | Certification: [CERTIFIED TESTED]

Syntax

EXIT FASTPROC ' FastProc / End FastProc
EXIT FOR ' For / Next Loop
EXIT FUNCTION ' Function / End Function
EXIT IF ' If / End If
EXIT DO ' Do / Loop or While / Wend
EXIT LOOP ' Do / Loop or While / Wend
EXIT MACRO ' Macro / End Macro
EXIT METHOD ' Method / End Method
EXIT PROPERTY ' Property / End Property
EXIT SELECT ' Select / End Select
EXIT SUB ' Sub / End Sub
EXIT TRY ' Try / End Try
EXIT [,ITERATE] ' Exit one loop and immediately iterate another
EXIT [,EXIT...] ' The nearest enclosing block structure

Description

Transfer program execution out of a block structure.

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The EXIT statement allows you to leave a code section block immediately. Using EXIT by itself will leave the most recently executed structure, but not an outer block. EXIT, EXIT will leave two block structures, and EXIT, EXIT, EXIT will leave three levels. For example:

FOR ix = 1 TO 10

DO UNTIL x > 10

EXIT FOR' will exit from the DO LOOP

EXIT is preferred over GOTO for this purpose. If you want to exit a structure other than the one most recently executed, you may include the type of structure, or you can use multiple EXIT's. The following two examples are functionally identical:

FOR ix = 1 TO 10

DO UNTIL x > 10

EXIT FOR ' will exit DO and FOR NEXT loop

FOR ix = 1 TO 10

DO UNTIL x > 10

EXIT, EXIT ' will exit DO and FOR NEXT loop

You can also exit one loop and immediately iterate another:

FOR x = 1 TO 10

EXIT, ITERATE

See also

  • DO/LOOP statements
  • FASTPROC/END FASTPROC statements
  • FOR EACH/NEXT statements
  • FOR/NEXT statements
  • FUNCTION/END FUNCTION statements
  • IF/END IF
  • ITERATE
  • MACRO/END MACRO
  • METHOD / END METHOD statements
  • PROPERTY / END PROPERTY
  • SELECT CASE/END SELECT
  • SUB/END SUB statements
  • TRY/END TRY
  • WHILE/WEND statements
  • PBXB64 Compiler Help


Exiting an error handler - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Exiting an error handler

You must exit an error handler with the RESUME LABEL statement. Execution branches immediately to the specified local label , and the original error trap operation is restored ready to catch the next

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

You must exit an error handler with the RESUME LABEL statement. Execution branches immediately to the specified local label , and the original error trap operation is restored ready to catch the next

Kind: Keyword | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

In the sample program, you want to use RESUME to a specific line. Put the line label before the line that requests user input to give the user another chance to enter a correct path.

Here is the sample program, complete with Error Trapping:

SUB GetFileNames(File() AS STRING)

DIM CurrentDir AS STRING

Back to command index


EXP - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

EXP

Return an exponential value using the natural, base-2, or base-10 base.

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

y = EXP( n )
y = EXP2( n )
y = EXP10( n )

Description

Return an exponential value using the natural, base-2, or base-10 base.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

EXP returns e to the n th power, where n is a numeric variable or expression and e is the base for natural logarithms, approximately 2.718282. Among other uses, this provides a simple way to obtain the value of e itself:

e = EXP(1)

EXP2( n ) returns 2 to the n th power, where n is a numeric variable or expression.

EXP10( n ) returns 10 to the n th power, where n is a numeric variable or expression.

The EXP functions provide a convenient alternative to the ^ operator, which works with any base. The EXP functions return results in Extended-precision.

In PBXB64, EXP, EXP2, and EXP10 also accept INT128, UINT128, INT256, UINT256, INT512, UINT512, and UNL values through their existing command names. The typed path returns a floating result; UNL values are handled internally without a new command.

Example

#COMPILE EXE
#DIM ALL
' math_exp_basic
FUNCTION PBMAIN() AS LONG
  IF ((EXP(0.0)) < (1.0000000000) - 0.0001) OR ((EXP(0.0)) > (1.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((EXP(1.0)) < (2.7182818285) - 0.0001) OR ((EXP(1.0)) > (2.7182818285) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((EXP(2.0)) < (7.3890560989) - 0.0001) OR ((EXP(2.0)) > (7.3890560989) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • LOG
  • EXP2
  • EXP10
  • LOG2
  • LOG10
  • SQR
  • Arithmetic Operators


EXP2 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

EXP2

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

y = EXP2( numeric_expression )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


EXP10 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

EXP10

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

y = EXP10( numeric_expression )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


EXPM1 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

EXPM1

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(EXPM1(1.0) - 1.7182818285) > 0.0001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


#EXPORT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#EXPORT

Declare a Sub/Function to have the EXPORT attribute.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#EXPORT SubFuncName [, SubFuncName ...]

Description

Declare a Sub/Function to have the EXPORT attribute.

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

#EXPORT allows you to add the EXPORT attribute to a Sub / Function defined elsewhere. The EXPORT attribute can even be added to a Sub/Function in an SLL which was compiled separately.

The EXPORT descriptor identifies a Sub/Function which may be accessed between Dynamic Link Libraries ( DLLs ), and/or the main executable which links them. If a procedure is not marked EXPORT, it is hidden from these other modules. Generally speaking, it's best not to mark a Sub/Function in an SLL as EXPORT. While it is syntactically acceptable, it may limit your future options when linking the SLL into host modules. PowerBASIC recommends that you mark them as COMMON in the SLL, and add the EXPORT attribute in the host module.

It's easy to create an SLL which can be linked into an executable program or a dedicated DLL for the same purpose. To add the EXPORT attribute to a linked Sub/Function, just add the word EXPORT to the DECLARE statement in the host module or add an #EXPORT metastatement.

Using this technique, your SLL can be linked directly into an application executable without publishing the Subs/Functions as EXPORT. However, you can also link the same SLL into a DLL host module which adds the EXPORT attribute with #EXPORT.

For example, let's say you want to make a library which publishes the SUB named XXX. You want to provide it in two forms, a linkable SLL and an industry standard DLL. So, first just create the SLL:

#COMPILE SLL = "XXXLib.SLL"

SUB xxx() COMMON

MSGBOX "Hello"

END SUB

Just compile it, and you're ready to link it into your application. But now you want to create a DLL, too, since it might be used with other applications. It's just this easy:

#COMPILE DLL = "XXXLib.DLL"

#EXPORT xxx

#LINK "XXXLib.SLL"

That's all there is to it. You now have an SLL and an equivalent DLL to do the job of the XXX procedure.

See also

  • #LINK
  • DECLARE
  • PBXB64 Compiler Help


Extended-precision floating-point (##) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Extended-precision floating-point (##)

Extended-precision floating point numbers are the basis of computation in PowerBASIC. The type-specifier character for an Extended-precision floating-point is: ##. In PowerBASIC, all floating point ca

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Extended-precision floating point numbers are the basis of computation in PowerBASIC. The type-specifier character for an Extended-precision floating-point is: ##. In PowerBASIC, all floating point ca

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Extended-precision variables require 10 bytes of storage each. They have a range of approximately +/- 3.4*10^-4932 to 1.2*10^4932, and offer 18 digits of precision. All 18 digits can be "displayed" using the extended STR$ format (eg, STR$( var## ,18)).

Extended-precision variables are identified by adding two Number symbols following a variable name (i.e., var## ) or by using the DEFEXT statement.. You can also declare Extended-precision variables using the EXT or EXTENDED keywords with the DIM statement. For example:

Back to command index


EXTRACT$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

EXTRACT$

Extract characters from a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

x$ = EXTRACT$([ start ,] MainStr , [ANY] MatchStr )

Description

Extract characters from a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

E XTRACT$ returns a sub-string of MainStr , starting with its first character (or the character specified by start ) and up to (but not including) the first occurrence of MatchStr . If MatchStr is not present in MainStr , or either string parameter is nul, all of MainStr is returned.

start is the optional starting position to begin extracting. If start is not specified, it will start at position 1. If start is zero, or beyond the length of MainStr , a nul string is returned. If start is negative, the starting position is counted from right to left: if -1, the search begins at the last character; if -2, the second to last, and so forth.

MainStr is the string expression from which to extract. MatchStr is the string expression to extract up to. EXTRACT$ is case-sensitive.

If the ANY keyword is included, MatchStr specifies a list of single characters to be searched for individually, a match on any one of which will cause the extract operation to be performed up to that character.

EXTRACT$ is especially useful when parsing a string containing arguments to a program, or when manipulating nul-terminated or delimited strings received from a routine written in another language.

The complementary function to EXTRACT$ is REMAIN$ , which returns the part of the string that EXTRACT$ leaves behind. A similar function to EXTRACT$ is PARSE$ , which extracts delimited substrings from a string.

See also

  • CLIP$
  • INSTR
  • JOIN$
  • LEFT$
  • LTRIM$
  • MID$
  • PARSE$
  • PARSECOUNT
  • REMAIN$
  • REMOVE$
  • RETAIN$
  • RIGHT$
  • RTRIM$
  • TALLY
  • TRIM$
  • UNWRAP$
  • VERIFY
  • PBXB64 Compiler Help


FACT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FACT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

f = FACT( n )
text = FACT$( n )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FALSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FALSE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF flag = FALSE THEN

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FASM - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FASM

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

#FASM
  nop
#ENDFASM

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FASTPROC/END FASTPROC statements - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FASTPROC/END FASTPROC statements

Define a FastProc code section.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FASTPROC ProcName [([ arguments ])] [THREADSAFE] [AS LONG]
[ statements ...]
END FASTPROC [= ReturnValue ]

Description

Define a FastProc code section.

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Return value: ]

A Fast Procedure (FASTPROC) is a highly simplified form of SUB or FUNCTION which executes much faster than its fully-featured counterparts. It allows a maximum of two numeric LONG arguments, and may optionally return a LONG result. The arguments are always processed as register variables for maximum execution speed. No stack frame is ever created, so there are other limitations detailed below. The programmer may then decide when it is appropriate to accept these trade-offs in exchange for maximum efficiency.

All executable code must reside in a Sub , Function , Method , FastProc, or Property block. You cannot define a procedure inside another procedure. A FASTPROC is a subroutine-like block of statements which is invoked with the CALL statement. A FASTPROC may also be invoked without the word CALL, which is then implied. If the CALL word is omitted, the parentheses around the argument list must also be omitted.

ProcName must be unique: no variable, Function, Sub, Method, FastProc, Property or label can share the same name.

THREADSAFE

If you include the option THREADSAFE, PowerBASIC automatically establishes a semaphore which allows only one thread to execute it at a time. Others must wait until the first thread exits the THREADSAFE procedure before they are allowed to begin.

Restrictions

Most of the restrictions of a FASTPROC stem from the fact that no stack frame is created.

See also

  • DECLARE
  • EXIT
  • FUNCNAME$
  • GLOBAL
  • INSTANCE
  • ISMISSING
  • LOCAL
  • METHOD / END METHOD statements
  • PROPERTY / END PROPERTY
  • STATIC
  • SUB/END SUB statements
  • THREAD CREATE
  • THREADID
  • THREADSAFE Option Descriptor
  • PBXB64 Compiler Help


FIELD - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FIELD

Bind a field string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FIELD # filenum , nSize AS fieldvar , [FROM] nStart TO nEnd AS fieldvar [, ...]
FIELD DynamicStr , nSize AS fieldvar , [FROM] nStart TO nEnd AS fieldvar [, ...]
FIELD RESET fieldvar [, ...]
FIELD STRING fieldvar [, ...]

Description

Bind a field string

Kind: Statement | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A field variable is a special form of string variable which may be used just like a standard dynamic string variable, or it may be declared to reference a particular sub-section of a random file buffer or a dynamic string variable. Because of the added capabilities, it requires 12 bytes more storage space (16 vs 4) than a standard string variable. A field variable may not be used as a member of a User-Defined TYPE or UNION .

By default, a field variable mimics a dynamic string variable, and may be considered a virtual replacement. Then, at any time, the FIELD statement can be used to declare that the field variable now refers to a specific portion of a random file buffer or a dynamic string. FIELD RESET is used to change it back to a nul (zero-length) dynamic string. FIELD STRING also changes it back to a dynamic string, but first assigns the current sub-section data to it. This last action is particularly useful in the case where the sub-section data might be lost when the bound random file is closed.

In the first form, FIELD binds a field string variable to a specific sub-section of a random-access file buffer. In the second form, FIELD binds a field string variable to a specific sub-section of a dynamic string variable .If the sub-section extends beyond the actual size of the file buffer or string, that portion of the FIELD is empty. Otherwise, it represents a fixed size string, and may be referenced as any other string variable.

When used with a file:

A random-access file buffer is automatically created for use when GET or PUT are used without a target variable. In this case, the file data is read or written using this buffer, which is accessed with one or many field variables.

If a field is defined by a single field (size) parameter, it represents the length of the field in characters, with the start position implied by the preceding field within the statement. If two parameters are used, they represent the start ( nStart ) and end ( nEnd ) positions in characters, indexed to one.

If a string value shorter than the declared size is assigned to a field string, it is padded with blank spaces as it is placed into the file buffer. There is no requirement to use LSET for assignment.

Finally, it should be noted that FIELD statements are tied to an open file , i.e. they are valid only as long as the file is open. Once the file is closed , any field strings that had been defined for the file will return nul (empty), not a string of the previously specified length.

LOCAL sFirst AS FIELD, sSecond AS FIELD

OPEN "ABC.TXT" FOR RANDOM AS #1 LEN=20

FIELD #1, 10 AS sFirst, 10 AS sSecond

sFirst = "0123456789"

sSecond = "9876543210"

Put #1 ' creates a record of: 01234567899876543210

When used with a dynamic string:

A field variable bound to a dynamic string works very much like a pointer, so the programmer must use care in field variable selection. For example, if you bind a GLOBAL FIELD variable to a LOCAL string variable, then attempt to reference the global string after the local is destroyed (i.e., released when the owning Sub / Function / Method / Property exits), a fatal exception error (GPF) is likely to occur. The same could happen after an array has been erased , or a REDIM is used to change the memory allocation.

To avoid problems with scope , it is suggested that field variables be bound only with strings within the same scope (LOCAL, GLOBAL, etc.).

LOCAL x$, sFirst AS FIELD, sSecond AS FIELD

FIELD x$, 3 AS sFirst, 3 AS sSecond

x$ = SPACE$(6) ' Allocate the space for the field

SFirst = "111"

sSecond = "222"

? x$ ' Displays 111222

x$ = "abcd"

? sFirst ' Displays abc

? sSecond ' Displays d

Restrictions

Field string variables must be explicitly declared using DIM, INSTANCE , LOCAL, STATIC , GLOBAL, or THREADED . Attempting to bind a variable other than a declared field variable results in a compile-time Error 544 ("Field variable expected"). Field strings cannot be used in UDT or UNION structures. Attempting to do so results in a compile-time Error 485 ("Dynamic/Field strings not allowed").

See also

  • GET
  • PUT
  • TYPE/END TYPE
  • User-Defined Types (UDTs)
  • Unions
  • UNION/END UNION
  • PBXB64 Compiler Help


File Commands - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

File Commands

The following functions can be used to manipulate files , standard I/O and disk services:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following functions can be used to manipulate files , standard I/O and disk services:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Change the current (default) directory on a given drive.

Change the current default drive.

Back to command index


FILEATTR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FILEATTR

Return information about an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

lResult& = FILEATTR([#] filenum& , fattr )

Description

Return information about an

Kind: Function | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

filenum& is the handle of a currently open file. fattr is an integer between -3 and 3 that specifies the type of information required, according to the following table:

Definition

The device type. Returns 1 for a file , 2 for a device. COMM , TCP and UDP are classified as devices.

Logical first byte (base) position of a disk file. By default, PowerBASIC opens files with a default first location of 1, but this can be overridden via the BASE= clause of the OPEN statement. This function can be useful when the base is not known or when performing SEEK operations.

The minimum amount of data that can be read or written at one time. For RANDOM files , it is the record length. For INPUT files , it is the input buffer length (set with LEN= in the OPEN statement). For BINARY , OUTPUT and APPEND , there is no buffering, so it always returns 1 (1 byte).

The open state. TRUE (non-zero) if open, FALSE (zero) if closed.

The file mode (which may be a combination of the following):

result&

File mode

Output

Random

Append

Serial Communications (COMM)

Binary

TCP Winsock

UDP Winsock

(for example, an APPEND file will return 8 + 2 = 10).

The operating system file handle for the file. This handle can be used with particular Windows API calls files to manipulate files opened with PowerBASIC, and with the OPEN HANDLE statement.

Enumerates existing file numbers. This mode enumerates existing file numbers, in the range of 1 to 32767. FILEATTR(1,3) returns the first located file number, FILEATTR(2,3) the second, and so on until -1 is returned to indicate that there are no more file numbers active. The file numbers returned are not guaranteed to be returned in any particular sequence, nor be open. You can use FILEATTR(#filenum,0) to determine whether a given file number is open or closed.

The number symbol [#] is optional, but recommended for clarity.

See also

  • COMM OPEN
  • EOF
  • FILENAME$
  • GETATTR
  • LOF
  • OPEN
  • SEEK
  • SETATTR
  • TCP OPEN
  • UDP OPEN
  • PBXB64 Compiler Help


FILECOPY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FILECOPY

Copy a file.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FILECOPY sourcefile , destfile

Description

Copy a file.

Kind: Statement | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Copy the file sourcefile to the file destfile . Both sourcefile and destfile must be filenames, not merely drives or directories (although it's OK to include drive and directory specifications along with the filenames). Wildcards are not supported. If you attempt to copy a file that is read locked (preventing read access), a run-time Error 70 will occur ("Permission denied").

If the destination file already exists, it will be overwritten. If it is not possible to overwrite the existing destination file (for example, it is marked as read-only or in use by another program), the result will be a run-time Error 70 ("Permission denied").

The attributes of the source file are inherited by the destination file, with the exception of the Archive attribute, which is always set ON for the destination file. File attributes may be examined or modified with the GETATTR and SETATTR statements.

See also

  • FILEATTR
  • GETATTR
  • SETATTR
  • PBXB64 Compiler Help


FILENAME$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FILENAME$

Return the file-system name of an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

a$ = FILENAME$( filenum& )

Description

Return the file-system name of an

Kind: Function | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

a$ receives the name of the open file identified by the file number filenum& . This function is not valid with a file opened using OPEN HANDLE , COMM OPEN , TCP OPEN , or UDP OPEN .

See also

  • CLOSE
  • FILEATTR
  • FREEFILE
  • GETATTR
  • OPEN
  • SETATTR
  • PBXB64 Compiler Help


Files - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Files

PowerBASIC offers three distinct ways to store and retrieve information from disk: sequential, random, and binary file input and output. Each has its advantages and disadvantages; the one that works b

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

PowerBASIC offers three distinct ways to store and retrieve information from disk: sequential, random, and binary file input and output. Each has its advantages and disadvantages; the one that works b

Kind: Keyword | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Back to command index


FILESCAN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FILESCAN

Rapidly scan a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FILESCAN [#] fnum& , RECORDS TO y& [, WIDTH TO x& ]

Description

Rapidly scan a

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

FILESCAN assigns a count of the lines/records/strings to y& , and if the WIDTH clause is specified, the length of the longest string to x& .

In INPUT mode, it is assumed the data is standard text, with lines delimited by a CR/LF ( $CRLF ) pair. FILESCAN stops reading the file if it encounters an "end of file" (EOF) marker byte ( CHR$ (26) or $EOF ). Text that occurs after the last CR/LF but before the EOF is considered the last record of the file. Use the LINE INPUT# statement to read a complete text file into an array.

In BINARY mode, it is assumed the file was written in the PowerBASIC and/or VB packed string format using PUT of an entire string array. If a string is shorter than 65535 bytes, a 2-byte length WORD is followed by the string data. If a string is equal to or longer than 65535 bytes, a 2-byte value of 65535 is followed by a length DWORD value, then finally the string data.

Use the GET statement to read a complete binary file into an array.

Restrictions

If FILESCAN is applied to other file formats, the results are undefined.

See also

  • GET
  • GET$
  • GET$$
  • LINE INPUT#
  • PUT
  • PUT$
  • PUT$$
  • PBXB64 Compiler Help


FINALLY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FINALLY

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

TRY
  ' work
FINALLY
  ' cleanup
END TRY

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FIX - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

FIX

Syntax

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

y = FIX( numeric_expression )

Description

Syntax

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

FIX strips off the fractional part of its argument, and returns the integer part. Unlike CINT and INT , FIX does not perform any form of rounding or scaling.

Example

#COMPILE EXE
#DIM ALL
' math_fix_basic
FUNCTION PBMAIN() AS LONG
  IF ((FIX(1.9)) < (1.0000000000) - 0.0001) OR ((FIX(1.9)) > (1.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((FIX(-1.9)) < (-1.0000000000) - 0.0001) OR ((FIX(-1.9)) > (-1.0000000000) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((FIX(0.5)) < (0.0000000000) - 0.0001) OR ((FIX(0.5)) > (0.0000000000) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • CEIL
  • CBYT
  • INT
  • FRAC - Real Fractional Part
  • ROUND


Fixed-length strings - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Fixed-length strings

As their name implies, fixed-length strings have a pre-defined length, and any attempt to assign a string longer than the defined length will result in truncation. If you assign a string to a fixed-le

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

As their name implies, fixed-length strings have a pre-defined length, and any attempt to assign a string longer than the defined length will result in truncation. If you assign a string to a fixed-le

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

You declare fixed-length string variables using STRING * x (for ANSI characters) or WSTRING * x (for WIDE characters). For example

DIM MyStr1 AS STRING * 10 ' occupies 10 bytes

DIM MyStr2 AS WSTRING * 10 ' occupies 20 bytes

The declared length refers to the number of characters, not the number of bytes . Unlike dynamic strings, the length of fixed-length strings is determined at compile-time, not run-time. In addition, unlike dynamic strings, fixed-length strings do not use handles. When you pass a fixed-length string to a procedure as a parameter, you are actually passing a pointer to the string data.

Back to command index


FLOOR - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

FLOOR

Category: PowerBASIC compatibility reference

Chapter: Math & Numeric

Syntax

result = FLOOR( numeric_expression )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Flow Control - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Flow Control

The following functions can be used to manage program execution/flow:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following functions can be used to manage program execution/flow:

Kind: Keyword | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Determine if an equate has been previously defined.

Define sections of source code to be compiled or ignored.

Back to command index


FLUSH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FLUSH

Flush

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FLUSH [[#] filenum& [, [#] filenum& ] ...]

Description

Flush

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

FLUSH ensures that all data you have written to disk files has actually been written to disk. The CLOSE statement also flushes the buffers, but FLUSH has the advantage of leaving the files open.

filenum&

The file number of an OPEN file. If filenum& is specified, only the data for that file is flushed. Otherwise, data for all open files is flushed. The Number (#) symbol is optional, but recommended for the purposes of clarity.

See also

  • CLOSE
  • OPEN
  • PBXB64 Compiler Help


FONT END - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FONT END

Destroy a font when it is no longer needed.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FONT END fonthndl&

Description

Destroy a font when it is no longer needed.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

When you have no further need for a font originally created with FONT NEW , you can destroy it and reclaim the memory space which was originally allocated for it.

If the specified font is still in use by a CONTROL , a Graphic Control , a Graphic Window , or an XPrint page, an error 5 (Illegal Function Call) will be generated. To avoid this error, you may restore the original default font with CONTROL/GRAPHIC/XPRINT SET FONT using a handle number of zero (0).

When your program ends, any existing fonts are automatically destroyed by PowerBASIC.

See also

  • CONTROL SET FONT
  • FONT NEW
  • GRAPHIC PRINT
  • GRAPHIC SET FONT
  • XPRINT PRINT
  • XPRINT SET FONT
  • PBXB64 Compiler Help


FONT NEW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FONT NEW

Create a new font for use with CONTROL

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FONT NEW fontname$ [, points! , style& , charset& , pitch& , escapement& ] TO fhndl
Modern font (Pica, Courier...)

Description

Create a new font for use with CONTROL

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This is the preferred method of creating and specifying fonts in PowerBASIC. Using FONT NEW, you can create a group of fonts, in advance, and switch between them easily using CONTROL SET FONT , GRAPHIC SET FONT , and XPRINT SET FONT .

If the requested font is not available on the computer, Windows will search for a substitute font, which is similar to the attributes specified (CharSet, Font Family, etc.).

You may use the value zero (0) for any of the numeric parameters to designate that the compiler should use the default for that item. If parameters are missing, the compiler substitutes the default value for all remaining parameters.

See also

  • CONTROL SET FONT
  • FONT END
  • GRAPHIC PRINT
  • GRAPHIC SET FONT
  • XPRINT PRINT
  • XPRINT SET FONT
  • PBXB64 Compiler Help


FOR - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Control Flow PBXB64 Compiler Help

FOR

Begin a counted loop

Chapter: Control Flow | Certification: [CERTIFIED TESTED]

Syntax

FOR counter = start TO end [STEP increment]
  [statements]
NEXT [counter]

Description

Begin a counted loop

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The FOR...NEXT statement executes a block of statements a fixed number of times. The counter variable is initialized to start, tested against end, and incremented by increment (or by 1 if STEP is omitted) after each iteration.

The loop terminates when the test fails. If STEP is negative, the loop counts downward and the test is reversed.

Parameters

Parameter | Description
counter | A numeric variable. Supported types: LONG, INTEGER, QUAD, DWORD, WORD, BYTE, CURRENCY, SINGLE, DOUBLE, EXTENDED.
start | The initial value assigned to the counter.
end | The limit value tested at the top of each iteration.
increment | Optional. The amount added to the counter after each iteration. Default is 1.

Generated Assembly

Compile with:

PBXB64 example.pb --asmout example.asm

The loop is lowered to a condition block, a body block, and a step block. The counter lives in a stack slot:

pb_for_cond_PBMAIN_0:
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 5
    setle r10
    mov rbx, r10
    test rbx, rbx
    jne pb_for_body_PBMAIN_1
    jmp pb_for_end_PBMAIN_3
pb_for_body_PBMAIN_1:
    ; sum = sum + i
    mov r10, [rbp-32]
    mov rbx, r10
    mov r10, [rbp-24]
    add rbx, r10
    mov [rbp-32], rbx
    jmp pb_for_step_PBMAIN_2
pb_for_step_PBMAIN_2:
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, 1
    mov [rbp-24], rbx
    jmp pb_for_cond_PBMAIN_0
pb_for_end_PBMAIN_3:

Notes

  • Changing the counter variable inside the loop body is allowed but affects the iteration count.
  • Float counters (SINGLE, DOUBLE, EXTENDED) are supported; the generated code uses SSE comparisons and additions.
  • Use EXIT FOR to leave the loop early and ITERATE FOR to skip to the next iteration.

Example

FUNCTION PBMAIN () AS LONG
    LOCAL i AS LONG
    LOCAL sum AS LONG
    sum = 0
    FOR i = 1 TO 5
        sum = sum + i
    NEXT i
    FUNCTION = sum
END FUNCTION

See also

  • NEXT
  • EXIT
  • ITERATE
  • WHILE
  • DO
  • BASIC Control Flow


FOR EACH/NEXT statements - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FOR EACH/NEXT statements

Define a loop of program statements which can sequentially examine and act upon each member of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FOR EACH VariantVar IN CollectionObjectVar
[ statements ]
NEXT

Description

Define a loop of program statements which can sequentially examine and act upon each member of a

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The FOR EACH loop allows you to examine each member of a collection in sequence, to perform needed operations with that data. If there are no member items in the collection, the loop is skipped.

When the loop begins, the first member variant in the collection is assigned to the VariantVar . Statements in the loop can act upon or with that data to perform whatever functions are needed. When the NEXT statement is reached, the next member item is assigned to the VariantVar , and the loop is repeated. This repetition continues until there are no more member items.

VariantVar contains a copy of the variant in the collection. You can alter the value of VariantVar , but these changes do not affect the member variant in the collection.

See also

  • EXIT
  • FOR/NEXT statements
  • ITERATE
  • StackCollection
  • PBXB64 Compiler Help


FOR/NEXT statements - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FOR/NEXT statements

Define a loop of program statements whose execution is controlled by an automatically incrementing or decrementing counter.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FOR Counter = start TO stop [STEP increment ]
[ statements ]
[EXIT FOR]
[ITERATE FOR]
NEXT [ Counter ]

Description

Define a loop of program statements whose execution is controlled by an automatically incrementing or decrementing counter.

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Counter is a numeric variable serving as the loop counter.

start is a numeric expression specifying the value initially assigned to Counter .

stop is a numeric expression giving the value that Counter must reach for the loop to be terminated.

increment is an optional numeric expression defining the amount by which Counter is incremented with each loop execution. If not specified, increment defaults to 1.

Note that increment must be the same data type or in the same range as Counter . For example:

FOR x?? = 50 TO 1 STEP -1

will fail because -1 is not within the range of an unsigned Word variable.

When a FOR statement is encountered, start is assigned to Counter, and Counter is tested to see if it is greater than (or, for negative increment , less than) stop . If not, the statements within the FOR/NEXT loop are executed, increment is added to Counter , and Counter again tested against stop . The statements in the loop are executed repeatedly until the test fails, at which time control passes to the statement immediately following the NEXT.

If increment is equal to the maximum value of a variable class (255 for a byte , 32767 for an Integer , 65535 for a Word , etc), the compiler will generate an error . If step is zero, an infinite loop can be created.

When using floating point values with FOR/NEXT, be sure to allow for round-off errors when mixing numbers of different precision. Using constants or variables of the same type throughout will help solve this problem:

FOR n# = 1.0 TO 1.5 STEP 0.1

x$ = STR$(n#)

NEXT n#

executes 5 times and returns:

1.10000000149012

1.20000000298023

1.30000000447035

1.40000000596046

while:

FOR n@ = 1.0@ TO 1.5@ STEP 0.1@

x$ = STR$(n@)

NEXT n@

executes 6 times and returns:

FOR/NEXT loops run fastest when Counter is a Long-integer variable, and start and increment are Long-integer constants. The value of Counter is available like any other variable within the loop. It is wise to avoid explicitly modifying the value of Counter within the loop. If you need to exit the loop prematurely, use an EXIT FOR statement. Keep range considerations in mind. For example, if Counter is an Integer variable, you may not use the maximum value for an Integer for stop , as Counter would be incremented outside the Integer range at the end of the loop.

The body of the loop is skipped altogether if the initial value of Counter is greater than stop (or, for a negative increment , if Counter is less than stop ).

FOR/NEXT loops can be nested within other FOR/NEXT loops. Be sure to use unique counter variables. Note that PowerBASIC allows the Counter in the NEXT keyword simply as a comment, which is ignored. For example, the following will compile, even though the counter variables are "crossed":

FOR n = 1 TO 10

FOR m = 1 TO 20

NEXT n

NEXT m

You can omit the counter variable in the NEXT statement altogether. For example:

FOR n = 1 TO 10

If a NEXT is encountered without a corresponding FOR (or vice versa), a compile-time error is generated.

Previous version of PowerBASIC supported a single NEXT statement used with multiple nested FOR/NEXT loops, such as NEXT c, b, a. This is no longer supported and you will need to update your code to use multiple NEXT statements.

In certain situations, previous versions of PowerBASIC optimized FOR/NEXT loops to count down instead of up for improved execution speed. This optimization could cause the counter variable to contain a value which was not expected when execution of the loop was complete. This optimization has been improved so that the counter variable value is always correct upon loop completion, even if EXIT FOR was used to force an early termination.

Although the compiler does not care about such things, it is considered good programming practice to indent the statements between FOR and NEXT by two or three spaces to set off the structure of the loop.

For additional performance, use a REGISTER variable for the loop counter variable.

Restrictions

The counter variable must be a simple numeric scalar variable, such as LOCAL , STATIC , GLOBAL , or REGISTER . This aids in maintaining high performance levels for a simple loop structure. Variables which require multiple operations to access are specifically disallowed: THREADED , INSTANCE , BYREF Parameters, POINTER Targets, and ARRAY .

Example

#COMPILE EXE
#DIM ALL
' controlflow_for_long
FUNCTION PBMAIN() AS LONG
  LOCAL i AS LONG
  LOCAL s AS LONG
  s = 0
  FOR i = 1 TO 5
    s = s + i
  NEXT
  IF (s) <> (15) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • #OPTIMIZE
  • REGISTER
  • DO/LOOP statements
  • EXIT
  • FOR EACH/NEXT statements
  • ITERATE
  • WHILE/WEND statements


FORMAT$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FORMAT$

Format string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

x$ = FORMAT$( num_expression [, [ digits& | fmt$ ]])

Description

Format string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

FORMAT$ has the following parts:

num_expression

The numeric expression, variable , or literal value to be formatted. This argument is converted to full ( Extended ) precision before formatting commences.

digits&

The maximum number of significant digits, in the range of 1 to 18. If not included, PowerBASIC supplies a default value of 7 for single precision values, or 16 for more precise values. This form of the function is very similar to the STR$() function, except that it never supplies any leading or trailing spaces. Use care that digits& is large enough to contain the whole part of a number, or scientific notation must be used to estimate it. For example, FORMAT$(123.456, 2) returns the string "1.2E+2", while FORMAT$(123.456, 5) returns the string "123.45".

Format characters that will determine how the numeric expression should be formatted. This expression is termed the mask . There may be up to 18 digit-formatting digits on either side of the decimal point. The mask may not contain literal characters unless each character is preceded with a backslash (\) escape character, or the literal characters are enclosed in quotes.

fmt$ may contain one, two or three formatting masks, separated by semicolon (;) characters:

One mask

If fmt$ contains just one format mask, the mask is used to format all possible values of num_expression . For example:

x$ = FORMAT$(z!, "000.00")

Two masks

If fmt$ contains two format masks, the first mask is used for positive values (=> 0), and the second mask is used for negative values (< 0). For example:

x$ = FORMAT$(-100, "+00000.00;-000")

Three masks

If fmt$ contains three masks, the first mask is used for positive values (> 0), the second mask for negative values (< 0), and the third mask is used if num_expression is zero (0). For example:

FOR y! = -0.5! TO 0.5! STEP 0.5!

x$ = FORMAT$(y!, "+.0;-.0; .0")

NEXT y!

Digit placeholders in a mask do not have to be contiguous. This allows you to format a single number into multiple displayed parts. For example:

A$ = FORMAT$(123456, "00\:00\:00") ' 12:34:56

The following table shows the characters you can use to create the user-defined format strings (masks) and the definition of each formatting character:

Character

Definition

Empty string

[null string] No formatting takes place. The number is converted to Extended-precision and formatted similarly to STR$, but without the leading space that STR$ applies to non-negative numbers.

A$=FORMAT$(0.2) ' .200000002980232

A$=FORMAT$(0.2!, "") ' .200000002980232

A$=FORMAT$(0.2#) ' .2

A$=FORMAT$(0.2#, "") ' .2

[zero] Digit placeholder. PowerBASIC will insert a digit or 0 in that position.

If there is a digit in num_expression in the position where the 0 appears in the format string, return that digit. Otherwise, return "0". If the number being formatted has fewer digits than there are zeros (on either side of the decimal point) in the format expression, leading or trailing zeros are added. If the number has more digits to the right of the decimal point than there are zeros to the right of the decimal point in the format expression, the number is rounded to as many decimal places as there are zeros in the mask.

If the number has more digits to the left of the decimal point than there are zeros to the left of the decimal point in the format expression, the extra digits are displayed without truncation. If the numeric value is negative, the negation symbol will be treated as a decimal digit. Therefore, care should be exercised when displaying negative values with this placeholder style. In such cases, it is recommended that multiple masks be used.

' Numeric padded with leading zero characters

A$ = FORMAT$(999%, "00000000") ' 00000999

[Number symbol] Digit placeholder. If there is a digit for this position, PowerBASIC replaces this placeholder with a digit, nothing, or a user-specified character.

Unlike the 0 digit placeholder, if the numeric value has the fewer digits than there are # characters on either side of the decimal placeholder, PowerBASIC will either:

a) Omit this character position from the final formatted string; or

Substitute a user-specified replacement character if one has been defined (see the asterisk (*) character for more information). To specify leading spaces, prefix the mask with "* " (asterisk and a space character).

For example:

' No leading spaces and trailing spaces

A$ = FORMAT$(0.75!, "####.###") ' 0.75

' Up to 3 Leading spaces before decimal

A$ = FORMAT$(0.75!, "* ##.###") ' 0.75

' Using asterisks for padding characters

A$ = FORMAT$(0.75!, "*=##.###") ' ===0.75=

FORMAT$ may also return a string that is larger than the number of characters in the mask:

A$ = FORMAT$(999999.9, "#.#") ' 999999.9

[period] Decimal placeholder. Determines the position of the decimal point in the resultant formatted string.

If any numeric field is specified to the left of the decimal point, at least one digit will always result, even if only a zero. The zero is not considered to be a "leading" zero if it is the only digit to the left of the decimal. Placing more than one period character in the fmt$ string will produce undefined results.

[percent] Percentage placeholder. PowerBASIC multiplies num_expression by 100, and adds a trailing percent symbol. For example:

x$ = FORMAT$(1 / 5!, "0.0%") ' 20.0%

[comma] Thousand separator. Used to separate thousands from hundreds within a number that has four or more digits to the left of the decimal point. In order to be recognized as a format character, the comma must be placed immediately after a digit placeholder character (also see Restrictions below).

A$ = FORMAT$(1234567@, "#,") ' 1,234,567

A$ = FORMAT$(12345@, "#,.00") ' 12,345.00

A$ = FORMAT$(12345@, "#.00,") ' 12,345.00

A$ = FORMAT$(1212.46, "$00,000.00") ' $01,212.46

A$ = FORMAT$(1000%, """#""#,") ' #1,000

A$ = FORMAT$(1234567@, "0,") ' 1,234,567

[asterisk] Digit placeholder and fill-character. Instructs PowerBASIC to insert a digit or character " x " in that position. If there is a digit in num_expression at the position where the * appears in the format string, that digit is used; otherwise, the " x " character is used (where " x " represents your own choice of character). The * x specifier acts as two digit (#) fields.

A$ = FORMAT$(9999.9@,"$**####,.00")' $**9,999.90

A$ = FORMAT$(0@,"$*=###0,.00#") ' $=====0.00=

A$ = FORMAT$(0@,"$* ####0,.00") ' $ 0.00

E- e- E+ e+

[e] Scientific format. PowerBASIC will use scientific notation in the formatted output. Use E- or e- to place a minus sign in front of negative exponents. Use E+ or e+ to place a minus sign in front of negative exponents and a plus sign in front of non-negative exponents.

In order to be recognized as a format sequence, the E-, e-, E+, or e+ must be placed between two digit placeholder characters. For example:

A$ = FORMAT$( 99.999, "0.0E-##") ' 1.0E2

A$ = FORMAT$(-99.999, "0.0E-##") ' -1.0E2

A$ = FORMAT$( 99.999, "0.0E+##") ' 1.0E+2

A$ = FORMAT$(-99.999, "0.0E+##") ' -1.0E+2

A$ = FORMAT$(0.1!, "0.0e+##") ' 1.0e-1

[double-quote] Quoted string. PowerBASIC treats all characters up to the next quotation mark as-is, without interpreting them as digit placeholders or format characters. Also see backslash. For example:

A$ = FORMAT$(12, $DQ+"##"+$DQ+"##") ' ##12

A$ = FORMAT$(5.55, """XYZ=""#.##\#") ' XYZ=5.55#

A$ = FORMAT$(25, """x=""#") ' x=25

A$ = FORMAT$(999, """Total ""#") ' Total 999

A$ = FORMAT$(5, $DQ+"x="+$DQ+"#") ' x=5

[backslash] Escaped character prefix. PowerBASIC treats the character " x " immediately following the backslash (\) as a literal character rather than a digit placeholder or a formatting character. Many characters in a mask have a special meaning and cannot be used as literal characters unless they are preceded by a backslash.

The backslash itself is not copied. To display a backslash, use two backslashes (\\). To display a literal double-quote, use two double-quote characters.

To simplify the mask string for common numeric formats, FORMAT$ permits the dollar symbol, the left and right parenthesis symbols, the plus and minus symbols, and the space character ("$()+- ") to pass through from the mask string into the formatted output string, without requiring an escape (\) prefix character.

A$ = FORMAT$(23, "(* 0\%)") ' ( 23%)

A$ = FORMAT$(99999, "#\#") ' 99999#

A$ = FORMAT$(5, "\"+$DQ+$DQ+"x="+$DQ+ _

"#\"+$DQ) ' "x=5"

A$ = FORMAT$(5, "\""""x=""#\""") ' "x=5"

A$ = FORMAT$(1000%, """#####,""") ' "#####,"

Restrictions

You cannot pass a string expression or string variable in num_expression . Do not place more than one decimal point in the mask.

FORMAT$ can return the maximum possible number of digits (up to 4932 for Extended-precision ); however, the resulting digits will be meaningless beyond the actual precision of num_expression . Consequently, the value of num_expression may produce formatted strings that are wider than the length of fmt$, for example:

A$ = FORMAT$(3e30!, "#,###") ' returns 41 characters

Rounding, if necessary, is implemented by the "banker's rounding" principle: if the fractional digit being rounded off is exactly five, with no trailing digits, the number is rounded to the nearest even number. This provides better results, on average, and follows the IEEE standard. For example:

A$ = FORMAT$(0.5##, "0") ' 0

A$ = FORMAT$(1.5##, "0") ' 2

A$ = FORMAT$(2.5##, "0") ' 2

A$ = FORMAT$(2.51##, "0") ' 3

Semicolon characters, being mask delimiters, should not be used for other purposes in mask strings unless prefixed with an escaped character symbol (\).

FORMAT$, when used with some formatting characters such as the thousands separator (comma), may not produce a "right-justified" formatted string. The simple solution is to apply separate justification with the RSET statement or the RSET$ function. For example:

A$ = SPACE$(12)

RSET A$ = FORMAT$(1,"#,###.00") ' 1.00

RSET A$ = FORMAT$(1000, "#,.00") ' 1,000.00

RSET A$ = FORMAT$(1000000,"#,###.00")' 1,000,000.00

B$ = RSET$(FORMAT$(1e6, "#,"),10) ' " 1,000,000"

One further enhancement would be to combine this into a MACRO function, for example:

MACRO mMoney1(d,l) = "$"+RSET$(FORMAT$(d,"#,"),l-1)

MACRO mMoney2(d,l) = RSET$(FORMAT$(d,"$#,"),l)

' code here

A$ = mMoney1(1000,10) ' "$ 1,000"

B$ = mMoney2(1000,10) ' " $1,000"

See also

  • BIN$
  • GRAPHIC PRINT
  • GUID$
  • HEX$
  • OCT$
  • REPEAT$
  • SPACE$
  • STR$
  • STRING$
  • USING$
  • VAL
  • XPRINT PRINT
  • PBXB64 Compiler Help


Forth 1- - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth 1-

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

1-

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

1- is registered in the live PBXB64 V15 Forth dictionary in the Arithmetic family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth 1+ - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth 1+

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

1+

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

1+ is registered in the live PBXB64 V15 Forth dictionary in the Arithmetic family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth 2/ - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth 2/

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

2/

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

2/ is registered in the live PBXB64 V15 Forth dictionary in the Arithmetic family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth 2* - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth 2*

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

2*

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

2* is registered in the live PBXB64 V15 Forth dictionary in the Arithmetic family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth 2DROP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth 2DROP

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

2DROP

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

2DROP is registered in the live PBXB64 V15 Forth dictionary in the Stack manipulation family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth 2DUP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth 2DUP

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

2DUP

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

2DUP is registered in the live PBXB64 V15 Forth dictionary in the Stack manipulation family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth 2OVER - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth 2OVER

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

2OVER

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

2OVER is registered in the live PBXB64 V15 Forth dictionary in the Stack manipulation family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth 2SWAP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth 2SWAP

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

2SWAP

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

2SWAP is registered in the live PBXB64 V15 Forth dictionary in the Stack manipulation family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth ABORT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Program Control PBXB64 Compiler Help

Forth ABORT

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Program Control

Syntax

ABORT

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

ABORT is registered in the live PBXB64 V15 Forth dictionary in the System family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth ABS - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth ABS

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

ABS

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

ABS is registered in the live PBXB64 V15 Forth dictionary in the Arithmetic family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth ACCEPT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth ACCEPT

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

ACCEPT

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

ACCEPT is registered in the live PBXB64 V15 Forth dictionary in the I/O family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth + - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth +

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

+

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

+ is registered in the live PBXB64 V15 Forth dictionary in the Arithmetic family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH AGAIN - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Loops PBXB64 Compiler Help

FORTH AGAIN

Category: PowerBASIC compatibility reference

Chapter: Forth Loops

Syntax

AGAIN

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth ALLOCATE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth ALLOCATE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

ALLOCATE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

ALLOCATE is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH ALLOT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Memory & Data Objects PBXB64 Compiler Help

FORTH ALLOT

Category: PowerBASIC compatibility reference

Chapter: Forth Memory & Data Objects

Syntax

ALLOT

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth AND - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth AND

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

AND

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

AND is registered in the live PBXB64 V15 Forth dictionary in the Bitwise family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH BEGIN - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Loops PBXB64 Compiler Help

FORTH BEGIN

Category: PowerBASIC compatibility reference

Chapter: Forth Loops

Syntax

BEGIN

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH BL - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

FORTH BL

Category: PowerBASIC compatibility reference

Chapter: Forth Comparisons & Constants

Syntax

BL

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth BLANK - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth BLANK

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

BLANK

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BLANK is registered in the live PBXB64 V15 Forth dictionary in the String / source extended family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH BRACKET CHAR - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

FORTH BRACKET CHAR

Category: PowerBASIC compatibility reference

Chapter: Forth Strings & Console I/O

Syntax

[CHAR]

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth ['] - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth [']

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

[']

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

['] is registered in the live PBXB64 V15 Forth dictionary in the Tick and execute family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGE@ - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGE@

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGE@

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGE@ is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGE@F32 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGE@F32

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGE@F32

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGE@F32 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGE@F64 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGE@F64

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGE@F64

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGE@F64 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGE! - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGE!

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGE!

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGE! is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGE!F32 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGE!F32

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGE!F32

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGE!F32 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGE!F64 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGE!F64

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGE!F64

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGE!F64 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGEADDR - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGEADDR

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGEADDR

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGEADDR is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGEBUF - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGEBUF

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGEBUF

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGEBUF is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGEF32 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGEF32

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGEF32

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGEF32 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGEF64 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGEF64

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGEF64

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGEF64 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGEI64 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGEI64

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGEI64

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGEI64 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGELEN - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGELEN

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGELEN

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGELEN is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGEPTR - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGEPTR

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGEPTR

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGEPTR is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BRIDGEPTRDECL - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth BRIDGEPTRDECL

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

BRIDGEPTRDECL

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BRIDGEPTRDECL is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth BYE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Program Control PBXB64 Compiler Help

Forth BYE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Program Control

Syntax

BYE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

BYE is registered in the live PBXB64 V15 Forth dictionary in the System family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth C, - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth C,

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

C,

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

C, is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth C" - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth C"

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

C"

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

C" is registered in the live PBXB64 V15 Forth dictionary in the String / source family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH CASE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Control Flow PBXB64 Compiler Help

FORTH CASE

Category: PowerBASIC compatibility reference

Chapter: Forth Control Flow

Syntax

CASE

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth CATCH - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth CATCH

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

CATCH

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

CATCH is registered in the live PBXB64 V15 Forth dictionary in the Tick and execute family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth CELL+ - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Memory & Data Objects PBXB64 Compiler Help

Forth CELL+

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Memory & Data Objects

Syntax

CELL+

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

CELL+ is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth CELLS - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Memory & Data Objects PBXB64 Compiler Help

Forth CELLS

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Memory & Data Objects

Syntax

CELLS

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

CELLS is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth C@ - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Memory & Data Objects PBXB64 Compiler Help

Forth C@

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Memory & Data Objects

Syntax

C@

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

C@ is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH CHAR - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

FORTH CHAR

Category: PowerBASIC compatibility reference

Chapter: Forth Strings & Console I/O

Syntax

CHAR

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth CLOSE-FILE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth CLOSE-FILE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

CLOSE-FILE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

CLOSE-FILE is registered in the live PBXB64 V15 Forth dictionary in the File access family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH CMOVE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

FORTH CMOVE

Category: PowerBASIC compatibility reference

Chapter: Forth Strings & Console I/O

Syntax

CMOVE

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH CMOVE TO - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

FORTH CMOVE TO

Category: PowerBASIC compatibility reference

Chapter: Forth Strings & Console I/O

Syntax

CMOVE>

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH COLON - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

FORTH COLON

Category: PowerBASIC compatibility reference

Chapter: Forth Definitions & Compile State

Syntax

:

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth , - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Memory & Data Objects PBXB64 Compiler Help

Forth ,

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Memory & Data Objects

Syntax

,

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

, is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth COMPARE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth COMPARE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

COMPARE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

COMPARE is registered in the live PBXB64 V15 Forth dictionary in the String / source family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH CONSTANT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

FORTH CONSTANT

Category: PowerBASIC compatibility reference

Chapter: Forth Definitions & Compile State

Syntax

CONSTANT

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth COUNT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth COUNT

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

COUNT

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

COUNT is registered in the live PBXB64 V15 Forth dictionary in the String / source family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth CR - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth CR

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

CR

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

CR is registered in the live PBXB64 V15 Forth dictionary in the I/O family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH CREATE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Memory & Data Objects PBXB64 Compiler Help

FORTH CREATE

Category: PowerBASIC compatibility reference

Chapter: Forth Memory & Data Objects

Syntax

CREATE

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth CREATE-FILE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth CREATE-FILE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

CREATE-FILE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

CREATE-FILE is registered in the live PBXB64 V15 Forth dictionary in the File access family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth C! - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Memory & Data Objects PBXB64 Compiler Help

Forth C!

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Memory & Data Objects

Syntax

C!

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

C! is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth DEPTH - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Return Stack & Runtime PBXB64 Compiler Help

Forth DEPTH

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Return Stack & Runtime

Syntax

DEPTH

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

DEPTH is registered in the live PBXB64 V15 Forth dictionary in the Stack introspection family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth / - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth /

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

/

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

/ is registered in the live PBXB64 V15 Forth dictionary in the Arithmetic family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH DO - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Loops PBXB64 Compiler Help

FORTH DO

Category: PowerBASIC compatibility reference

Chapter: Forth Loops

Syntax

DO

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH DOES - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Memory & Data Objects PBXB64 Compiler Help

FORTH DOES

Category: PowerBASIC compatibility reference

Chapter: Forth Memory & Data Objects

Syntax

DOES>

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth . - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth .

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

.

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

. is registered in the live PBXB64 V15 Forth dictionary in the I/O family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth ." - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth ."

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

."

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

." is registered in the live PBXB64 V15 Forth dictionary in the I/O family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth DROP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Stack Words PBXB64 Compiler Help

Forth DROP

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Stack Words

Syntax

DROP

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

DROP is registered in the live PBXB64 V15 Forth dictionary in the Stack manipulation family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth DUP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Stack Words PBXB64 Compiler Help

Forth DUP

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Stack Words

Syntax

DUP

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

DUP is registered in the live PBXB64 V15 Forth dictionary in the Stack manipulation family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH ELSE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Control Flow PBXB64 Compiler Help

FORTH ELSE

Category: PowerBASIC compatibility reference

Chapter: Forth Control Flow

Syntax

ELSE

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth EMIT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth EMIT

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

EMIT

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

EMIT is registered in the live PBXB64 V15 Forth dictionary in the I/O family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH ENDCASE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Control Flow PBXB64 Compiler Help

FORTH ENDCASE

Category: PowerBASIC compatibility reference

Chapter: Forth Control Flow

Syntax

ENDCASE

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH ENDFORTH DIRECTIVE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Embedded Forth in BASIC PBXB64 Compiler Help

FORTH ENDFORTH DIRECTIVE

Category: PowerBASIC compatibility reference

Chapter: Embedded Forth in BASIC

Syntax

#ENDFORTH

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH ENDOF - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Control Flow PBXB64 Compiler Help

FORTH ENDOF

Category: PowerBASIC compatibility reference

Chapter: Forth Control Flow

Syntax

ENDOF

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth ENVIRONMENT? - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth ENVIRONMENT?

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

ENVIRONMENT?

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

ENVIRONMENT? is registered in the live PBXB64 V15 Forth dictionary in the String / source family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH EQUAL - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

FORTH EQUAL

Category: PowerBASIC compatibility reference

Chapter: Forth Comparisons & Constants

Syntax

=

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth ERASE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth ERASE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

ERASE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

ERASE is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth EXECUTE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth EXECUTE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

EXECUTE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

EXECUTE is registered in the live PBXB64 V15 Forth dictionary in the Tick and execute family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH EXIT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Control Flow PBXB64 Compiler Help

FORTH EXIT

Category: PowerBASIC compatibility reference

Chapter: Forth Control Flow

Syntax

EXIT

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth F= - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F=

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F=

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F= is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F32 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F32

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F32

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F32 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F64 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F64

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F64

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F64 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F+ - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F+

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F+

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F+ is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F/ - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F/

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F/

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F/ is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F@ - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F@

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F@

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F@ is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F< - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F<

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F<

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F< is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F* - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F*

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F*

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F* is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F** - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F**

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F**

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F** is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F! - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F!

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F!

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F! is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F- - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F-

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F-

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F- is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F> - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F>

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F>

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F> is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F>N - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F>N

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F>N

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F>N is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FABS - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FABS

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FABS

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FABS is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH FALSE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

FORTH FALSE

Category: PowerBASIC compatibility reference

Chapter: Forth Comparisons & Constants

Syntax

FALSE

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth FCOS - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FCOS

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FCOS

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FCOS is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FDROP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FDROP

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FDROP

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FDROP is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FDUP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FDUP

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FDUP

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FDUP is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth @ - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Memory & Data Objects PBXB64 Compiler Help

Forth @

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Memory & Data Objects

Syntax

@

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

@ is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FEXP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FEXP

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FEXP

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FEXP is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F>= - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F>=

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F>=

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F>= is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FILE-POSITION - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FILE-POSITION

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FILE-POSITION

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FILE-POSITION is registered in the live PBXB64 V15 Forth dictionary in the File access family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FILE-SIZE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FILE-SIZE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FILE-SIZE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FILE-SIZE is registered in the live PBXB64 V15 Forth dictionary in the File access family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FILL - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FILL

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FILL

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FILL is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F<= - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F<=

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F<=

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F<= is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FLN - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FLN

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FLN

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FLN is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FMAX - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FMAX

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FMAX

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FMAX is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FMIN - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FMIN

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FMIN

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FMIN is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FNEGATE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FNEGATE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FNEGATE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FNEGATE is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F<> - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F<>

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F<>

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F<> is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH FORTH DIRECTIVE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Embedded Forth in BASIC PBXB64 Compiler Help

FORTH FORTH DIRECTIVE

Category: PowerBASIC compatibility reference

Chapter: Embedded Forth in BASIC

Syntax

#FORTH

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth FOVER - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FOVER

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FOVER

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FOVER is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FREE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FREE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FREE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FREE is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth < - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth <

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

<

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

< is registered in the live PBXB64 V15 Forth dictionary in the Comparison family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FROT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FROT

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FROT

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FROT is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FSIN - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FSIN

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FSIN

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FSIN is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FSQRT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FSQRT

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FSQRT

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FSQRT is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FSTARSTAR - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FSTARSTAR

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FSTARSTAR

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FSTARSTAR is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FSWAP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FSWAP

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FSWAP

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FSWAP is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth FTAN - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth FTAN

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

FTAN

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

FTAN is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F0= - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F0=

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F0=

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F0= is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F0> - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F0>

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F0>

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F0> is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F0< - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F0<

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F0<

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F0< is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth F0<> - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth F0<>

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

F0<>

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

F0<> is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH GREATER - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

FORTH GREATER

Category: PowerBASIC compatibility reference

Chapter: Forth Comparisons & Constants

Syntax

>

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth >= - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

Forth >=

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Comparisons & Constants

Syntax

>=

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

>= is registered in the live PBXB64 V15 Forth dictionary in the Comparison family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH I - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Loops PBXB64 Compiler Help

FORTH I

Category: PowerBASIC compatibility reference

Chapter: Forth Loops

Syntax

I

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH IF - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Control Flow PBXB64 Compiler Help

FORTH IF

Category: PowerBASIC compatibility reference

Chapter: Forth Control Flow

Syntax

IF

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth IMMEDIATE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth IMMEDIATE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

IMMEDIATE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

IMMEDIATE is registered in the live PBXB64 V15 Forth dictionary in the Compile-time / state words (immediate) family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth INCLUDE-FILE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth INCLUDE-FILE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

INCLUDE-FILE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

INCLUDE-FILE is registered in the live PBXB64 V15 Forth dictionary in the File access family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth INVERT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth INVERT

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

INVERT

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

INVERT is registered in the live PBXB64 V15 Forth dictionary in the Bitwise family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH J - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Loops PBXB64 Compiler Help

FORTH J

Category: PowerBASIC compatibility reference

Chapter: Forth Loops

Syntax

J

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth KEY - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth KEY

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

KEY

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

KEY is registered in the live PBXB64 V15 Forth dictionary in the I/O family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH LEAVE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Loops PBXB64 Compiler Help

FORTH LEAVE

Category: PowerBASIC compatibility reference

Chapter: Forth Loops

Syntax

LEAVE

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth [ - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth [

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

[

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

[ is registered in the live PBXB64 V15 Forth dictionary in the Compile-time / state words (immediate) family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH LESS - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

FORTH LESS

Category: PowerBASIC compatibility reference

Chapter: Forth Comparisons & Constants

Syntax

<

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth <= - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

Forth <=

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Comparisons & Constants

Syntax

<=

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

<= is registered in the live PBXB64 V15 Forth dictionary in the Comparison family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth LITERAL - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth LITERAL

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

LITERAL

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

LITERAL is registered in the live PBXB64 V15 Forth dictionary in the Compile-time / state words (immediate) family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH LOOP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Loops PBXB64 Compiler Help

FORTH LOOP

Category: PowerBASIC compatibility reference

Chapter: Forth Loops

Syntax

LOOP

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth LSHIFT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth LSHIFT

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

LSHIFT

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

LSHIFT is registered in the live PBXB64 V15 Forth dictionary in the Bitwise family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth MAX - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth MAX

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

MAX

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

MAX is registered in the live PBXB64 V15 Forth dictionary in the Arithmetic family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth MIN - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth MIN

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

MIN

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

MIN is registered in the live PBXB64 V15 Forth dictionary in the Arithmetic family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth MOD - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth MOD

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

MOD

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

MOD is registered in the live PBXB64 V15 Forth dictionary in the Arithmetic family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth MOVE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth MOVE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

MOVE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

MOVE is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth MS - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Return Stack & Runtime PBXB64 Compiler Help

Forth MS

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Return Stack & Runtime

Syntax

MS

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

MS is registered in the live PBXB64 V15 Forth dictionary in the System family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth * - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth *

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

*

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

* is registered in the live PBXB64 V15 Forth dictionary in the Arithmetic family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth NEGATE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth NEGATE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

NEGATE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

NEGATE is registered in the live PBXB64 V15 Forth dictionary in the Arithmetic family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth NIP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Stack Words PBXB64 Compiler Help

Forth NIP

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Stack Words

Syntax

NIP

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

NIP is registered in the live PBXB64 V15 Forth dictionary in the Stack manipulation family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth <> - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

Forth <>

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Comparisons & Constants

Syntax

<>

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

<> is registered in the live PBXB64 V15 Forth dictionary in the Comparison family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH OF - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Control Flow PBXB64 Compiler Help

FORTH OF

Category: PowerBASIC compatibility reference

Chapter: Forth Control Flow

Syntax

OF

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH ONE MINUS - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

FORTH ONE MINUS

Category: PowerBASIC compatibility reference

Chapter: Forth Arithmetic & Bitwise

Syntax

1-

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH ONE PLUS - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

FORTH ONE PLUS

Category: PowerBASIC compatibility reference

Chapter: Forth Arithmetic & Bitwise

Syntax

1+

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth OPEN-FILE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth OPEN-FILE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

OPEN-FILE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

OPEN-FILE is registered in the live PBXB64 V15 Forth dictionary in the File access family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth OR - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth OR

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

OR

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

OR is registered in the live PBXB64 V15 Forth dictionary in the Bitwise family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth OVER - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Stack Words PBXB64 Compiler Help

Forth OVER

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Stack Words

Syntax

OVER

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

OVER is registered in the live PBXB64 V15 Forth dictionary in the Stack manipulation family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PARSE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth PARSE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

PARSE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PARSE is registered in the live PBXB64 V15 Forth dictionary in the String / source extended family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PBADDR - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth PBADDR

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

PBADDR

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PBADDR is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PBLEN - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth PBLEN

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

PBLEN

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PBLEN is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PBSET - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Embedded Forth in BASIC PBXB64 Compiler Help

Forth PBSET

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Embedded Forth in BASIC

Syntax

PBSET

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PBSET is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PBSETF32 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth PBSETF32

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

PBSETF32

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PBSETF32 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PBSETF64 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth PBSETF64

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

PBSETF64

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PBSETF64 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PBSETI64 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth PBSETI64

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

PBSETI64

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PBSETI64 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PBSETSTR - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth PBSETSTR

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

PBSETSTR

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PBSETSTR is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PBVAL - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Embedded Forth in BASIC PBXB64 Compiler Help

Forth PBVAL

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Embedded Forth in BASIC

Syntax

PBVAL

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PBVAL is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PBVALF32 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth PBVALF32

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

PBVALF32

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PBVALF32 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PBVALF64 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth PBVALF64

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

PBVALF64

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PBVALF64 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PBVALI64 - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth PBVALI64

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

PBVALI64

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PBVALI64 is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PBVALSTR - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth PBVALSTR

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

PBVALSTR

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PBVALSTR is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth PBVAR - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Embedded Forth in BASIC PBXB64 Compiler Help

Forth PBVAR

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Embedded Forth in BASIC

Syntax

PBVAR

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

PBVAR is registered in the live PBXB64 V15 Forth dictionary in the PB interop family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH PLUS LOOP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Loops PBXB64 Compiler Help

FORTH PLUS LOOP

Category: PowerBASIC compatibility reference

Chapter: Forth Loops

Syntax

+LOOP

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth +! - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Memory & Data Objects PBXB64 Compiler Help

Forth +!

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Memory & Data Objects

Syntax

+!

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

+! is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth POSTPONE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth POSTPONE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

POSTPONE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

POSTPONE is registered in the live PBXB64 V15 Forth dictionary in the Compile-time / state words (immediate) family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth ?DO - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth ?DO

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

?DO

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

?DO is registered in the live PBXB64 V15 Forth dictionary in the ?DO control flow (compile-only) family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth ?DUP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Stack Words PBXB64 Compiler Help

Forth ?DUP

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Stack Words

Syntax

?DUP

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

?DUP is registered in the live PBXB64 V15 Forth dictionary in the Stack manipulation family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth ? - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth ?

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

?

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

? is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth QUIT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Program Control PBXB64 Compiler Help

Forth QUIT

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Program Control

Syntax

QUIT

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

QUIT is registered in the live PBXB64 V15 Forth dictionary in the System family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth R@ - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Return Stack & Runtime PBXB64 Compiler Help

Forth R@

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Return Stack & Runtime

Syntax

R@

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

R@ is registered in the live PBXB64 V15 Forth dictionary in the Return stack family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth R> - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Return Stack & Runtime PBXB64 Compiler Help

Forth R>

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Return Stack & Runtime

Syntax

R>

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

R> is registered in the live PBXB64 V15 Forth dictionary in the Return stack family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth READ-FILE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth READ-FILE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

READ-FILE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

READ-FILE is registered in the live PBXB64 V15 Forth dictionary in the File access family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH RECURSE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

FORTH RECURSE

Category: PowerBASIC compatibility reference

Chapter: Forth Definitions & Compile State

Syntax

RECURSE

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH REPEAT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Loops PBXB64 Compiler Help

FORTH REPEAT

Category: PowerBASIC compatibility reference

Chapter: Forth Loops

Syntax

REPEAT

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth REPOSITION-FILE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth REPOSITION-FILE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

REPOSITION-FILE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

REPOSITION-FILE is registered in the live PBXB64 V15 Forth dictionary in the File access family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth REQUIRED - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth REQUIRED

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

REQUIRED

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

REQUIRED is registered in the live PBXB64 V15 Forth dictionary in the File access family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth RESIZE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth RESIZE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

RESIZE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

RESIZE is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth ] - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth ]

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

]

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

] is registered in the live PBXB64 V15 Forth dictionary in the Compile-time / state words (immediate) family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth ROT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Stack Words PBXB64 Compiler Help

Forth ROT

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Stack Words

Syntax

ROT

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

ROT is registered in the live PBXB64 V15 Forth dictionary in the Stack manipulation family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth RSHIFT - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth RSHIFT

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

RSHIFT

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

RSHIFT is registered in the live PBXB64 V15 Forth dictionary in the Bitwise family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth S" - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth S"

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

S"

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

S" is registered in the live PBXB64 V15 Forth dictionary in the String / source family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth S>F - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth S>F

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

S>F

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

S>F is registered in the live PBXB64 V15 Forth dictionary in the Float family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth SEARCH - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth SEARCH

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

SEARCH

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

SEARCH is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH SEMICOLON - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

FORTH SEMICOLON

Category: PowerBASIC compatibility reference

Chapter: Forth Definitions & Compile State

Syntax

;

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth SOURCE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Return Stack & Runtime PBXB64 Compiler Help

Forth SOURCE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Return Stack & Runtime

Syntax

SOURCE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

SOURCE is registered in the live PBXB64 V15 Forth dictionary in the String / source family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth SP@ - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Return Stack & Runtime PBXB64 Compiler Help

Forth SP@

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Return Stack & Runtime

Syntax

SP@

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

SP@ is registered in the live PBXB64 V15 Forth dictionary in the Stack introspection family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth SP! - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Return Stack & Runtime PBXB64 Compiler Help

Forth SP!

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Return Stack & Runtime

Syntax

SP!

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

SP! is registered in the live PBXB64 V15 Forth dictionary in the Stack introspection family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth STATE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth STATE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

STATE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

STATE is registered in the live PBXB64 V15 Forth dictionary in the Introspection family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth ! - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Memory & Data Objects PBXB64 Compiler Help

Forth !

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Memory & Data Objects

Syntax

!

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

! is registered in the live PBXB64 V15 Forth dictionary in the Memory family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth - - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth -

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

-

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

- is registered in the live PBXB64 V15 Forth dictionary in the Arithmetic family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth SWAP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Stack Words PBXB64 Compiler Help

Forth SWAP

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Stack Words

Syntax

SWAP

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

SWAP is registered in the live PBXB64 V15 Forth dictionary in the Stack manipulation family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH THEN - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Control Flow PBXB64 Compiler Help

FORTH THEN

Category: PowerBASIC compatibility reference

Chapter: Forth Control Flow

Syntax

THEN

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth THROW - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth THROW

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

THROW

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

THROW is registered in the live PBXB64 V15 Forth dictionary in the Tick and execute family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth ' - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth '

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

'

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

' is registered in the live PBXB64 V15 Forth dictionary in the Tick and execute family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth > - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth >

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

>

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

> is registered in the live PBXB64 V15 Forth dictionary in the Comparison family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth >R - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Return Stack & Runtime PBXB64 Compiler Help

Forth >R

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Return Stack & Runtime

Syntax

>R

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

>R is registered in the live PBXB64 V15 Forth dictionary in the Return stack family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth -TRAILING - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth -TRAILING

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

-TRAILING

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

-TRAILING is registered in the live PBXB64 V15 Forth dictionary in the String / source extended family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH TRUE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

FORTH TRUE

Category: PowerBASIC compatibility reference

Chapter: Forth Comparisons & Constants

Syntax

TRUE

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth TUCK - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Stack Words PBXB64 Compiler Help

Forth TUCK

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Stack Words

Syntax

TUCK

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

TUCK is registered in the live PBXB64 V15 Forth dictionary in the Stack manipulation family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH TWO DROP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Stack Words PBXB64 Compiler Help

FORTH TWO DROP

Category: PowerBASIC compatibility reference

Chapter: Forth Stack Words

Syntax

2DROP

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH TWO DUP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Stack Words PBXB64 Compiler Help

FORTH TWO DUP

Category: PowerBASIC compatibility reference

Chapter: Forth Stack Words

Syntax

2DUP

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH TWO OVER - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Stack Words PBXB64 Compiler Help

FORTH TWO OVER

Category: PowerBASIC compatibility reference

Chapter: Forth Stack Words

Syntax

2OVER

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH TWO SLASH - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

FORTH TWO SLASH

Category: PowerBASIC compatibility reference

Chapter: Forth Arithmetic & Bitwise

Syntax

2/

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH TWO STAR - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

FORTH TWO STAR

Category: PowerBASIC compatibility reference

Chapter: Forth Arithmetic & Bitwise

Syntax

2*

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH TWO SWAP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Stack Words PBXB64 Compiler Help

FORTH TWO SWAP

Category: PowerBASIC compatibility reference

Chapter: Forth Stack Words

Syntax

2SWAP

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth TYPE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth TYPE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

TYPE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

TYPE is registered in the live PBXB64 V15 Forth dictionary in the I/O family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FORTH UNLOOP - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Loops PBXB64 Compiler Help

FORTH UNLOOP

Category: PowerBASIC compatibility reference

Chapter: Forth Loops

Syntax

UNLOOP

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH UNTIL - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Loops PBXB64 Compiler Help

FORTH UNTIL

Category: PowerBASIC compatibility reference

Chapter: Forth Loops

Syntax

UNTIL

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH VALUE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

FORTH VALUE

Category: PowerBASIC compatibility reference

Chapter: Forth Definitions & Compile State

Syntax

VALUE

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH VARIABLE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

FORTH VARIABLE

Category: PowerBASIC compatibility reference

Chapter: Forth Definitions & Compile State

Syntax

VARIABLE

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FORTH WHILE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Loops PBXB64 Compiler Help

FORTH WHILE

Category: PowerBASIC compatibility reference

Chapter: Forth Loops

Syntax

WHILE

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Forth WITHIN - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

Forth WITHIN

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Comparisons & Constants

Syntax

WITHIN

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

WITHIN is registered in the live PBXB64 V15 Forth dictionary in the Comparison extended family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth WORD - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Strings & Console I/O PBXB64 Compiler Help

Forth WORD

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Strings & Console I/O

Syntax

WORD

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

WORD is registered in the live PBXB64 V15 Forth dictionary in the String / source family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth WRITE-FILE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Definitions & Compile State PBXB64 Compiler Help

Forth WRITE-FILE

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Definitions & Compile State

Syntax

WRITE-FILE

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

WRITE-FILE is registered in the live PBXB64 V15 Forth dictionary in the File access family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth XOR - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Arithmetic & Bitwise PBXB64 Compiler Help

Forth XOR

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Arithmetic & Bitwise

Syntax

XOR

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

XOR is registered in the live PBXB64 V15 Forth dictionary in the Bitwise family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth 0= - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

Forth 0=

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Comparisons & Constants

Syntax

0=

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

0= is registered in the live PBXB64 V15 Forth dictionary in the Comparison family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth 0> - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

Forth 0>

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Comparisons & Constants

Syntax

0>

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

0> is registered in the live PBXB64 V15 Forth dictionary in the Comparison family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth 0>= - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

Forth 0>=

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Comparisons & Constants

Syntax

0>=

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

0>= is registered in the live PBXB64 V15 Forth dictionary in the Comparison extended family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth 0< - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

Forth 0<

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Comparisons & Constants

Syntax

0<

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

0< is registered in the live PBXB64 V15 Forth dictionary in the Comparison family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth 0<= - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

Forth 0<=

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Comparisons & Constants

Syntax

0<=

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

0<= is registered in the live PBXB64 V15 Forth dictionary in the Comparison extended family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


Forth 0<> - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Forth Comparisons & Constants PBXB64 Compiler Help

Forth 0<>

PBXB64 V15 status: SOURCE REGISTERED

Chapter: Forth Comparisons & Constants

Syntax

0<>

Description

PBXB64 V15 status: SOURCE REGISTERED

Implementation

0<> is registered in the live PBXB64 V15 Forth dictionary in the Comparison family.

Qualification

The Forth object, link/run, embedded-PB, and negative lanes are the executable contract. Unsupported stack shapes or operand forms must diagnose instead of being silently accepted.

Forth language overview


FRAC - Real Fractional Part - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FRAC - Real Fractional Part

Return the fractional part of a floating-point number or expression. The V8.1 implementation is a real SSE2 x - floor(x) sequence (no stub).

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

h = FRAC( float_expression )

Description

Return the fractional part of a floating-point number or expression. The V8.1 implementation is a real SSE2 x - floor(x) sequence (no stub).

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE — real implementation

PBXB64 Certification: [CERTIFIED TESTED]

Description

FRAC returns the number after the decimal point. The result has the same sign as the input. For example, FRAC(3.7) returns 0.7, and FRAC(-3.7) returns -0.7.

The implementation lowers to subsd + roundsd toward -inf on x64 (SSE4.1 roundpd when available, else a compare-and-subtract fallback).

Example

PRINT FRAC(3.7)         '  0.7
PRINT FRAC(-3.7)        ' -0.7
PRINT FRAC(10.0)        '  0

See also

  • CEIL
  • FIX
  • INT
  • ROUND
  • PBXB64 Compiler Help


FREEFILE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FREEFILE

Return the next available PowerBASIC file number.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

x% = FREEFILE

Description

Return the next available PowerBASIC file number.

Kind: Function | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

FREEFILE returns an Integer value in the range 1 to 32767, which dictates the next available file number that may be used to OPEN a file or device. Using FREEFILE, your program can open files and devices without the need to keep track of which file numbers are already in use.

FREEFILE is thread-safe, returning a new file number with each invocation. This means that two or more consecutive calls to FREEFILE will return different file numbers regardless of whether they were used to open a file or not. This behavior differs from previous versions of PowerBASIC, where FREEFILE returned the same file number consistently until the file number was actually used to open a file or device.

FREEFILE is vastly superior to using hard-coded file numbers because it eliminates the possibility of a file number being used more than once in a module at any given moment.

A file number returned by FREEFILE can be used with the COMM OPEN , TCP OPEN and UDP OPEN statements, as well as standard file I/O OPEN and OPEN HANDLE statements.

Use FILENAME$ to return the name of the open file that corresponds to a given file number.

Restrictions

FREEFILE returns file numbers within a predictable and convenient range of values. PowerBASIC file numbers are also specific (private) to the PowerBASIC module in which they are used to OPEN a file or device. This means that a file number in use in one module will have no definition or meaning if passed to another module or API function.

However, it can sometimes be necessary for a different module or even an API function to access a file that is already open. In this case, it is necessary to use the FILEATTR function to obtain the operating system file handle, and this value can be passed to other modules or API functions. These modules would use the OPEN HANDLE statement to gain access into the already-open file.

See also

  • COMM OPEN
  • FILEATTR
  • FILENAME$
  • OPEN
  • TCP OPEN
  • UDP OPEN
  • PBXB64 Compiler Help


FUNCNAME$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FUNCNAME$

Return the name of the current

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

f$ = FUNCNAME$

Description

Return the name of the current

Kind: Function | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

FUNCNAME$ returns the name of the procedure in which it is located. If an ALAIS is specified, FUNCNAME$ returns the ALIAS name; otherwise, it returns the primary name capitalized. Returning the ALIAS name provides a mechanism to disguise sensitive internal procedure names even when reporting error conditions to a user.

FUNCNAME$ can be useful as a debugging tool, or in situations where an error handler in a procedure passes error information on to a "central" procedure for logging and handling. FUNCNAME$ does not require #TOOLS ON .

See also

  • #TOOLS
  • CALLSTK$
  • CALLSTKCOUNT
  • FILENAME$
  • FUNCTION/END FUNCTION statements
  • METHOD / END METHOD statements
  • PROFILE
  • PROPERTY / END PROPERTY
  • SUB/END SUB statements
  • TRACE
  • PBXB64 Compiler Help


FUNCTION - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Declarations PBXB64 Compiler Help

FUNCTION

Category: PowerBASIC compatibility reference

Chapter: Declarations

Syntax

FUNCTION ProcName [ALIAS "AliasName"] [( arguments )] [AS Type]
  [ statements ]
  [ FUNCTION = ReturnValue ]
END FUNCTION

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FUNCTION/END FUNCTION statements - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

FUNCTION/END FUNCTION statements

Define a Function block.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FUNCTION ProcName [ALIAS " AliasName "] [( arguments )] < Descriptors > AS Type
[ statements ]
[{ FuncName | FUNCTION} = ReturnValue ]
END FUNCTION
CALLBACK FUNCTION ProcName [AS LONG]...
THREAD FUNCTION ProcName (BYVAL var AS LONG) AS LONG...

Description

Define a Function block.

Kind: Function | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Return value: ] END FUNCTION CALLBACK FUNCTION ProcName [AS LONG]... THREAD FUNCTION ProcName (BYVAL var AS LONG) AS LONG...

All executable code must reside in a Sub , Function, Method , Property , or FastProc block. Functions may not be nested. That is, you cannot define a code block (Sub, Function, Method, Property) inside another code block.

Previous versions of PowerBASIC required that you create an explicit DECLARE statement if you wished to execute a SUB or FUNCTION which did not physically precede the reference to it. This extra work is no longer required, as PowerBASIC resolves all forward references to internal procedures automatically.

DECLARE statements for a Sub/Function imported from a DLL must still precede any reference to the procedure.

FuncName

The name of the Function. A type-specifier may be appended (just like an ordinary variable name) to specify the data type of the Function's return value, in place of the [AS type ] clause. FuncName must be unique: no other variable, Function, Sub, Method, Property, or label can share it. Also see ALIAS below.

Future versions of PowerBASIC will not support type-specifier symbols for the Function return type, so specify the return data type with an explicit AS type clause in all DECLARE and FUNCTION definitions, to ensure future compatibility.

String literal that identifies an case-sensitive alternative name for the function. This lets you export a Function by a different unique name. This can be useful if you want to abbreviate a long name, provide a more descriptive name, or if the exported name needs to contain characters that are illegal in PowerBASIC. AliasName is the routine's actual name as it appears in the export table, and FuncName is the title that you can use in PowerBASIC. For example:

FUNCTION ShortName ALIAS "LongFuncName"() EXPORT STATIC AS LONG

The ALIAS clause is very important when exporting procedures. Omitting the ALIAS clause or incorrectly capitalizing the alias name are common causes of "Missing Export" errors. Please refer to the DECLARE topic for more information.

Descriptors

EXPORT

This descriptor identifies a Sub or Function which may be accessed between Dynamic Link Libraries (DLLs ), and/or the main executable which links them. If a procedure is not marked EXPORT, it is hidden from these other modules. The EXPORT attribute may be added to a Sub/Function defined elsewhere, by specifying EXPORT in a DECLARE statement. EXPORT can even be added to a Sub/Function in an SLL with a DECLARE in the host module.

COMMON

A COMMON Sub/Function is one which may be referenced by and between linked unit modules (Host or SLL). If you DECLARE a Common Sub or Function which is not present in this module, it is presumed to be found in a separate linked module (Host or SLL).

PRIVATE

A PRIVATE Sub/Function is one which may only be accessed from within the current PowerBASIC program or library. Even if not specified, this is the default mode of operation.

THREADSAFE

With the THREADSAFE option, PowerBASIC automatically establishes a semaphore which allows only one thread to execute the Sub/Function at a time. Other callers must wait until the first thread exits the THREADSAFE procedure before they are allowed to begin.

This descriptor specifies that all undeclared variables in a function are LOCAL . This is the default condition if neither LOCAL nor STATIC is specified.

Local variables and arrays variables are automatically deallocated when the procedure terminates. LOCAL scalar variables (except dynamic strings) are stored on the stack, and visible only within the function.

STATIC

This descriptor specifies that all undeclared variables in a function are STATIC . Static variables retain their values as long as the program is running. They are visible only within the function.

Specifies that the declared procedure uses the legacy BASIC/Pascal calling convention. Parameters are pushed on the stack from left to right, and the called procedure is responsible for removing them. BDECL should only be used when necessary to match outside modules.

Specifies that the declared procedure uses the C calling convention. Parameters are pushed on the stack from right to left, and the calling code is responsible for removing them. CDECL should only be used when necessary to match outside modules.

This is the default convention, and should be used whenever possible. SDECL (and its synonym STDCALL), specifies the "Standard Calling Convention" for Windows. Parameters are pushed on the stack from right to left, and the called procedure is responsible for removing them.

CALLBACK

Specifies that this is a callback function, which is used only to receive messages from the operating system. It may never be called directly from your code. Details about the message sent to the callback are retrieved using the CB group of PowerBASIC functions. Callback functions may not include parameters, and always return a long integer result. For example:

CALLBACK FUNCTION DlgProc AS LONG

' Callback code goes here

END FUNCTION

Callback functions have the unique ability to optionally return two distinct values when necessary for certain Windows messages. This allows them to return the value zero (0) as a function result, while still specifying that the message has been processed. See the section CALLBACK RETURN VALUE (below) and the CALLBACKS page for more details.

THREAD

Specifies that this is a thread function, which is the point where execution of a new thread begins. It may never be called directly from your code. Thread functions must take exactly one long-integer or double-word parameter by value (BYVAL), and must return either a long-integer or double-word result. For example:

THREAD FUNCTION MyThreadFunction(BYVAL x AS LONG) AS LONG

' Thread code goes here

END FUNCTION

The THREAD CREATE statement creates and begins execution of a new thread Function.

Passing parameters

arguments

An optional, comma-delimited sequence of formal parameters. The parameters used in the arguments list serve only to define the Function; they have no relationship to other variables in the calling code with the same name.

Normally, PowerBASIC passes parameters to a Function either by reference (BYREF) or by value (BYVAL). If you do not need to modify the parameters (true in many cases), you can speed up your calls by passing the parameters by value using the BYVAL keyword. You can clarify that a parameter is passed by reference by using the optional BYREF keyword.

The type of the parameter is specified either by appending a type-specifier character to the name or by using an AS clause. For example:

FUNCTION Test&(A AS INTEGER) 'integer passed by ref

FUNCTION Test&(A%) 'integer passed by ref

FUNCTION Test&(BYREF A%) 'integer passed by ref

FUNCTION Test&(BYVAL A%) 'integer passed by val

Parameter restrictions

PowerBASIC compilers have a limit of 32 parameters per FUNCTION. To pass more than 32 parameters to a FUNCTION, construct a User-Defined Type (UDT) and pass the UDT by reference (BYREF) instead.

Fixed-length strings , Nul-Terminated Strings , and User-Defined Types / Unions may also be passed as BYVAL or OPTIONAL parameters. Try to avoid passing large items BYVAL, as it?s terribly inefficient, and there is a maximum size limit of 64 Kb for a given parameter list.

PowerBASIC Functions cannot return an array or Variant variable as a Function return value. Pass these variable types as BYREF parameters instead. For example:

lResult& = ProcessData(TheArray&(), iSize%)

[ statements ]

FUNCTION ProcessData(lArr() AS LONG, iSize%) AS LONG

REDIM lArr(iSize%) AS LONG

lArr(iSize%) = 1&

FUNCTION = -1&

END FUNCTION

Pointer parameters

When a Function definition specifies either a BYREF parameter or a pointer variable parameter, the calling code may freely pass a BYVAL DWORD or a Pointer instead. Pointer variable parameters must always be declared as BYVAL parameters.

' Integer Pointer (passed by value)

FUNCTION Test(BYVAL A AS INTEGER PTR) AS LONG

@A = 56

END FUNCTION

Additional information on BYVAL/BYREF/BYCOPY parameter passing can be found in the CALL statement topic.

Optional parameters

PowerBASIC supports two syntax formats for optional parameters: the classic optional parameter syntax using brackets "[..]", and the new syntax using the OPTIONAL (or OPT) keyword. We'll discuss each one in turn.

Using OPTIONAL/OPT

FUNCTION statements may specify one or more parameters as optional by preceding the parameter with either the keyword OPTIONAL or OPT. Optional parameters are only allowed with CDECL or SDECL calling conventions, not BDECL.

When a parameter is declared optional, all subsequent parameters in the declaration are optional as well, whether or not they specify an explicit OPTIONAL or OPT directive. The following two lines are equivalent, with both second and third parameters being optional:

FUNCTION sABC(a&, OPTIONAL BYVAL b&, OPTIONAL BYVAL c&) AS LONG

FUNCTION sABC(a&, OPT BYVAL b&, BYVAL c&) AS LONG

VARIANT variables are particularly well suited for use as an optional parameter. If the calling code omits an optional VARIANT parameter, (BYVAL or BYREF), PowerBASIC (and most other compilers) substitute a variant of type VT_ERROR which contains an error value of %DISP_E_PARAMNOTFOUND (&H80020004). In this case, you can check for this value directly, or use the ISMISSING() function to determine whether the parameter was physically passed or not.

When optional parameters (other than a VARIANT) are omitted in the calling code, the stack area normally reserved for those parameters is zero-filled. This allows you to test if an optional parameter was passed or not:

If the parameter is defined as a BYVAL parameter, it will have the value zero. For TYPE or UNION variables passed BYVAL, the compiler will pass a string of binary zeroes of length SIZEOF (Type_or_union_var).

If the parameter is defined as a BYREF parameter, VARPTR ( varname ) will equal zero; when this is true, any attempt to use Var_name in your code will result in Error #9 (null pointer); failure to detect this error using error-trapping may result in a General Protection Fault or memory corruption. You should use the ISMISSING() function first to determine whether it is safe to access the parameter.

Because the FUNCTION, SUB, FASTPROC, METHOD, or PROPERTY being called does not know how many parameters are being passed at the time it is called, you should pass the number of parameters as one of the required parameters in the list.

AS type

Function blocks are constructed very much like Subs (see SUB/END SUB statement). However, Functions differ from Subs in that they always return a result, so they can be used in assignments and expressions. Therefore, there are two ways to specify the return type of a Function:

You may specify the type of data returned by a Function to the calling code. If you do not specify a type, PowerBASIC assumes that the Function returns the data type specified by a DEFtype statement. However, if no DEFtype or AS type has been specified, a compile-time error is generated.

Therefore, there are two ways to specify the return type of a Function:

For example, the following statements are equivalent:

FUNCTION aFunction?()

FUNCTION aFunction() AS BYTE

While most FUNCTION calling conventions are fairly well defined throughout the industry, there are a few exceptions. In the case of functions which return a Quad Integer value, some programming languages (including PowerBASIC) return the quad value in the FPU, while others return it in EDX:EAX. PowerBASIC automatically detects the method used by imported functions and adjusts accordingly for you, but that's not a feature found in other compilers. Therefore, we recommend that you do not EXPORT QUAD FUNCTIONS unless they will only be accessed by PowerBASIC programs. A simple equivalent functionality would be to return the quad-integer value to the caller in a BYREF QUAD parameter.

Assigning a return value

You can specify the return value of the Function by explicitly setting the value, either by assigning a value to the FUNCTION keyword, or by assigning a value to the function name. For example, the two lines within the following Function block are equivalent:

FUNCTION AddData() AS LONG

[ statements ]

AddData = 123& ' Assign value to function name

FUNCTION = 123& ' Assign value to the function

END FUNCTION

Default return value

If the code within the Function does not explicitly set a return value, the default return value will be zero if the function returns a numeric data type, or an empty string if the function returns a string. For example:

FUNCTION AddData() AS LONG

[ statements ]

IF condition THEN

EXIT FUNCTION ' No assignment, will return 0&

FUNCTION = -1& ' An explicit return value

END IF

END FUNCTION

PowerBASIC Functions cannot return an array as a Function return value. Pass the array as a parameter instead. For example:

lResult& = CheckTheData(InTheArray&())

[ statements ]

FUNCTION CheckTheData(lArr() AS LONG) AS LONG

[ statements ]

END FUNCTION

CALLBACK Return Value

Callback functions always return a long integer result. The primary purpose of this return value is to tell the PowerBASIC DDT engine and the Windows operating system whether your Callback Function has processed this particular message. If you return the value TRUE (any non-zero value), you are asserting that the message was processed and no further handling is needed. If you return the value FALSE (zero), the PowerBASIC DDT engine will manage the message for you, using the default message procedures in Windows. If you do not specify a return value in the function, PowerBASIC chooses the value FALSE (zero) for you.

The term "process a message" may have many meanings. If it's a simple notification of a change in focus or style, which has no impact on your program, you may decide to consider it processed, yet do nothing. In other cases, your reaction could be quite complex and involved. As the programmer, that's your decision to make. But, regardless of your reaction, you should consider a message "processed" (returning a true value) whenever no further handling of the message (by DDT or Windows) is needed.

In some cases, especially when dealing with Common Controls and custom controls, you may be required to return a second result value through a special Windows data area named DWL_MSGRESULT. When you complete a Callback Function, PowerBASIC automatically copies any non-zero return value to DWL_MSGRESULT, if you haven't done so already. Therefore, it's generally safe to ignore this requirement in your code.

In most cases, when you process a message, you'll return a generic value for TRUE, such as: FUNCTION = 1. However, some messages require that you return a special value for TRUE, such as a graphical brush handle. As long as the value is non-zero, you can return it in the normal manner (with FUNCTION = n ), since any non-zero value automatically implies that the message was processed.

That said, there are a few unique messages which may require special handling. Luckily, they're rare, but some just "break all the rules" listed above. For example, you might find one which requires a zero result, even when you have processed the message. You may find another which requires the return value be different from DWL_MSGRESULT. For these very special cases, you can simply specify two return values:

FUNCTION = 1, BrushHandle&

In this form, the first numeric expression specifies the value to be returned from the Callback Function. The second numeric expression tells the value to be assigned to DWL_MSGRESULT. When you use this double parameter assignment, the results are absolute. PowerBASIC assumes you have processed the message, regardless of the values given. PowerBASIC makes no other assumptions of any kind about these values. A double parameter function assignment is only allowed in a Callback Function.

Previous versions of PowerBASIC did not offer a double parameter form of function return. This caused some difficulty with a few Windows messages which required a special return value of zero. If you return a value of zero (0) with the single parameter form, it implies the message was not processed at all by the Callback. This issue is totally circumvented by the double parameter form.

Variables within functions

LOCAL variables are created within the procedures stack frame. If a LOCAL variable exceeds the amount of stack space available, it may become necessary to use a STATIC or GLOBAL variable instead. For example, creating a LOCAL Nul-Terminated string or LOCAL fixed-length string that is very large (say, approaching 1 MB) can trigger a General Protection Fault (GPF) because it may overrun the stack frame.

See also

  • DECLARE
  • EXIT
  • FASTPROC/END FASTPROC statements
  • FUNCNAME$
  • GLOBAL
  • INSTANCE
  • ISMISSING
  • LOCAL
  • METHOD / END METHOD statements
  • PROPERTY / END PROPERTY
  • STATIC
  • SUB/END SUB statements
  • THREAD CREATE
  • THREADID
  • PBXB64 Compiler Help


GAMMA - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GAMMA

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(GAMMA(5.0) - 24.0) > 0.001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


GCD - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GCD

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

g = GCD( a, b )
text = GCD$( a, b )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


GET - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › File I/O PBXB64 Compiler Help

GET

Read a record from a

Chapter: File I/O | Certification: [CERTIFIED TESTED]

Syntax

Random-Access files:
GET [#] filenum& , [ Rec ], [ABS] Var
GET [#] filenum& [, Rec ]
Binary files:
GET [#] filenum& , [ RecPos ], Var
GET [#] filenum& , [ RecPos ], Arr() [RECORDS rcds ] [TO count ]

Description

Read a record from a

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A string variable used to receive data may be either ANSI or WIDE , but it must match the CHR mode of the data read from the file. That is, if the data was written as an ANSI string, it should be read into an ANSI string variable. If it was written as a WIDE string, it should be read into a WIDE string variable. Failure to match this CHR mode can cause unpredictable interpretation of the data. GET never performs conversions of ANSI/WIDE characters, regardless of the CHR mode specified in the OPEN statement. It reads data from the file based upon the type of string variable you use. It is the responsibility of the programmer to choose the correct type.

filenum&

The file number under which the file was opened.

Random Access files

For random-access files, Rec is the record number to be read, from 1 to 2^63-1 (the maximum positive value for a Quad-integer ). If Rec is omitted, the next record in sequence (following the one specified by the most recent GET or PUT ) is read. If the file was just opened, the first record is read.

If Var is smaller than the defined record length, GET will read enough data to fill Var. The remainder of the record is discarded and the file pointer is placed at the next record position. If Var is larger than the defined record length, GET will read one record into Var, and the file pointer will be moved to the next record.

When GET is used to retrieve data from a random access file into a dynamic (variable-length) string , PowerBASIC looks for a 2-byte ( WORD ) size field at the beginning of each record which indicates the number of data bytes which follow. If the data is in WIDE format, the size is double the number of characters because each character occupies two bytes. This 2-byte size field is placed in the file automatically by the PUT statement when used with dynamic (variable-length) strings.

When the second form of GET is used (without a Var target string), GET reads the file data from the current file pointer into an internal buffer. This data can then be accessed using FIELD string variables.

When GET is used to read a random file into a dynamic string, it normally expects the first two bytes of the record to contain the length of the valid data contained in the record. The ABS keyword specifies that no length word exists in the data, and the number of bytes to read is defined by the current length of the dynamic string variable. If the variable length is greater than the file record length, the remainder of the string variable is filled with nul's ( CHR$ (0) or $NUL ). This offers greater compatibility with the actual operation of other versions of BASIC, such as PowerBASIC for DOS .

A random access file record is limited to 32768 bytes to ensure consistent behavior across all supported Win32 platforms. GET$ and other related functions are not constrained in this manner.

Binary files

RecPos

For binary files, RecPos is the starting byte or seek position from where the GET should begin. The optional BASE = clause of the OPEN statement defines whether the first position is 0 or 1. The base position is 1 by default. If RecPos is greater than the number of records or bytes in the file, no error occurs but unpredictable data may be read. Use the EOF function to avoid reading past the end of the file.

When used with a binary file, GET retrieves enough data from the file to fill Var . The Var parameter can be a simple (scalar) variable like an Integer or a dynamic (variable-length) string, an element in an array, or a variable of User-Defined Type .

When GET is used to read a binary file into a dynamic string, the number of bytes to read is defined by the current size of the dynamic string variable. If the variable length is greater than the file record length, the remainder of the string variable is filled with nuls (CHR$(0) or $NUL). This offers greater compatibility with the actual operation of other versions of BASIC, such as PowerBASIC for DOS.

When reading an array from the disk file, GET assigns data from the file into each element in the array, starting at the arrays LBOUND subscript. GET attempts to read the number of elements specified by rcds in the RECORDS option, or the number of elements in the array, whichever is smaller. The actual number of elements read is assigned to the variable count specified in the optional TO clause.

With a dynamic string array , it is assumed the file was written in the PowerBASIC and/or VB packed string format using PUT of an entire string array. If a string is shorter than 65535 bytes, a 2-byte length WORD is followed by the string data. Otherwise, a 2-byte value of 65535 is followed by a length Double-word (DWORD), then finally the string data.

With other array arrays types, the entire data area is read as a single block. In either case, it is presumed the file was created with the complementary PUT Array statement.

EOF is set just as with other GET statements.

You can use the FILESCAN statement to determine the number of records contained in the file, allowing an array of the appropriate type to be dimensioned before using the GET statement to read the file.

See also

  • CSET$
  • EOF
  • FIELD
  • FILESCAN
  • GET$
  • GET$$
  • LINE INPUT#
  • LSET$
  • OPEN
  • PRINT#
  • PUT
  • PUT$
  • PUT$$
  • RSET$
  • TYPE/END TYPE
  • SEEK
  • WRITE#
  • PBXB64 Compiler Help


GET$$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GET$$

Reads

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GET$$ [#] Filenum& , Count& , StrgVar

Description

Reads

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GET$$ reads Count& WIDE characters from file number filenum& , and assigns them to StrgVar . GET$$ and PUT$$ provide a low-level alternative to sequential and random-access file-processing techniques, allowing you to deal with files on a character-by-character basis.

File filenum& must have been opened in binary mode. Characters are read starting at the current file pointer position, which can be set with the SEEK statement. When the file is first opened, the pointer is at the beginning of the file (position 1, by default, unless BASE=0 was specified in the OPEN statement). After GET$$, the file pointer position is automatically advanced to the position immediately following the data read.

See also

  • EOF
  • GET
  • GET$
  • INPUT#
  • LINE INPUT#
  • LOF
  • OPEN
  • PRINT#
  • PUT
  • PUT$
  • PUT$$
  • SEEK
  • WRITE#
  • PBXB64 Compiler Help


GET$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GET$

Read an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GET$ [#] filenum& , Count& , StrgVar

Description

Read an

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GET$ reads Count& characters from file number filenum& , and assigns them to StrgVar . GET$ and PUT$ provide a low-level alternative to sequential and random-access file-processing techniques, allowing you to deal with files on a byte-by-byte basis.

File filenum& must have been opened in binary mode. Characters are read starting at the current file pointer position, which can be set with the SEEK statement. When the file is first opened, the pointer is at the beginning of the file (position 1, by default, unless BASE=0 was specified in the OPEN statement). After GET$, the file pointer position is automatically advanced to the position immediately following the data read.

See also

  • EOF
  • GET
  • GET$$
  • INPUT#
  • LINE INPUT#
  • LOF
  • OPEN
  • PRINT#
  • PUT
  • PUT$
  • PUT$$
  • SEEK
  • WRITE#
  • PBXB64 Compiler Help


GETATTR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GETATTR

Return the file-system attribute(s) of a disk file or directory.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

x& = GETATTR( filespec$ )

Description

Return the file-system attribute(s) of a disk file or directory.

Kind: Function | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

filespec$ specifies a filename or directory (optionally, including a drive letter and directory path). The attribute code returned in x& is a standard operating system attribute code, or a combination of several codes ORed together:

Attribute

Description

Equate

Normal*

%NORMAL

Read-only

%READONLY

Hidden

%HIDDEN

System

%SYSTEM

Volume Label

%VLABEL

Directory

%SUBDIR

Archived

%ARCHIVE

Normal*

( synonym of %NORMAL)

* Some operating systems may return either 0 or 128 for normal files.

If GETATTR returns an attribute of 0 (or 128), filespec$ is a regular file: not read-only, not hidden, not system, and not archived.

Additional file attributes may be supported on some file systems. See the %FILE_ATTRIBUTE equates in your WinNT.inc file for a full list.

If you want to test for a single attribute, use the bitwise AND operator to strip out any other attributes that might be set. See the example below.

GETATTR can also be used to verify the existence of a file or directory, taking advantage of the fact that ERR will be set if the file/directory does not exist. See the example below.

Restrictions

If filespec$ cannot be found, a run-time Error 53 ("File not found") occurs. You cannot obtain the attributes of the root directory (i.e., "C:\"). Windows prevents this particular operation, triggering an Error 53.

See also

  • DIR$
  • FILEATTR
  • ISFILE
  • PATHSCAN$
  • SETATTR
  • PBXB64 Compiler Help


GLOBAL - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Declarations PBXB64 Compiler Help

GLOBAL

Declare global (shared)

Chapter: Declarations | Certification: [CERTIFIED TESTED]

Syntax

GLOBAL variable [()] [ AS type ] [, variable [()]] [, ...]
GLOBAL variable [()] [, variable [()]] [, ...] AS type

Description

Declare global (shared)

Kind: Statement | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GLOBAL declares the specified variable(s) as global to the entire program. This gives a procedure access to variable(s), without having to pass them as parameters. To declare an array as a global variable, use an empty set of parentheses in the variable list:

GLOBAL MyArray%()

GLOBAL StringArray() AS STRING

You must then use the DIM or REDIM statements to dimension the array inside a procedure. A good place to do this is inside your WINMAIN or PBMAIN function.

If an array is defined as GLOBAL outside a procedure, you should include the GLOBAL keyword in the DIM statement for clarity, and compatibility with future versions of PowerBASIC:

GLOBAL a() AS STRING

FUNCTION PBMAIN

DIM a(1 TO 500) AS GLOBAL STRING

[ statements ]

END FUNCTION

The GLOBAL statement may accept a list of variables, all of which are defined by the type descriptor keywords which follow them. For example:

GLOBAL aaa, bbb, ccc AS INTEGER

GLOBAL vptr, aptr() AS LONG PTR

Restrictions

GLOBAL variables are not shared between programs and DLLs or between multiple instances of the same DLL. That is, a GLOBAL variable is only global within its own module. The simplest way to expose a variable to a DLL is to pass the variable BYREF (by reference) to the target DLL. DEF type has no effect on variables defined by a GLOBAL statement.

See also

  • DIM
  • INSTANCE
  • LOCAL
  • STATIC
  • THREADED
  • PBXB64 Compiler Help


GLOBALALLOC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GLOBALALLOC

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

h& = GLOBALALLOC(bytes)
p& = GLOBALLOCK(h&)
GLOBALUNLOCK h&
GLOBALFREE h&

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


GLOBALFLAGS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GLOBALFLAGS

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

flags& = GLOBALFLAGS(hMem&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


GLOBALFREE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GLOBALFREE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

ok& = GLOBALFREE(hMem&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


GLOBALLOCK - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GLOBALLOCK

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

ptr& = GLOBALLOCK(hMem&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


GLOBALMEM ALLOC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GLOBALMEM ALLOC

Allocate or release a block of global memory

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GLOBALMEM ALLOC count TO vHndl
GLOBALMEM FREE mHndl TO vHndl
GLOBALMEM LOCK mHndl TO vPtr
GLOBALMEM SIZE mHndl TO vSize
GLOBALMEM UNLOCK mHndl TO vLocked
GLOBALMEM HANDLE mHndl TO vHandle
GLOBALMEM FLAGS mHndl TO vFlags

Description

Allocate or release a block of global memory

Kind: Statement | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GLOBALMEM allocates a block of global system memory of the requested size. This is always allocated as "moveable" memory, so it can be used with any facilities of Windows. It is the programmer's responsibility to release the allocated memory block when it's no longer needed.

There are seven general forms of the GLOBALMEM statement:

GLOBALMEM ALLOC

A moveable memory block of the size in bytes specified by count is allocated. A unique handle is assigned to this memory object (for later identification). This handle is assigned to the LONG or DWORD variable specified by vHndl . If the requested allocation fails for any reason, the value zero (0) is assigned to vHndl instead.

GLOBALMEM FREE

A memory block is de-allocated and released for re-use. The mHndl parameter is a variable or expression which evaluates to the handle returned by GLOBALMEM ALLOC when the memory block was created. If the de-allocation operation was successful, the result variable vHndl is set to zero (0) to indicate that the original handle is no longer valid. If the operation fails for any reason, the value of the mHndl parameter is assigned to vHndl . It may be convenient to use the same variable for both the parameter and the result, as it will then be automatically cleared to zero when the memory block is released.

GLOBALMEM LOCK

The moveable memory block referenced by mHndl is locked at a specific memory location. A pointer to this location is assigned to the variable specified by vPtr . You may only read or write the memory block while it is locked, and you use the current pointer to its location.

GLOBALMEM SIZE

The size of the memory block referenced by mHndl is retrieved and assigned to the LONG or DWORD variable specified by vSize . The mHndl parameter is the handle originally returned by GLOBALMEM ALLOC.

GLOBALMEM UNLOCK

The moveable memory block referenced by mHndl is unlocked, and the previous memory pointer is invalidated. If the memory block remains locked (perhaps because it had been locked more than once), the value TRUE (non-zero) is assigned to the result variable vLocked . If the memory block is now unlocked, or the parameter mHndl was invalid, the value FALSE (0) is assigned to vLocked instead.

GLOBALMEM HANDLE returns the global-memory handle for a locked pointer. GLOBALMEM FLAGS returns the Windows global-memory flags for a handle.

PBXB64 implementation: all seven forms above require a declared integer scalar after TO. The lifecycle is covered by test_globalmem_lifecycle.

See also

  • MEMORY COPY
  • PBXB64 Compiler Help


GLOBALSIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GLOBALSIZE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

size& = GLOBALSIZE(hMem&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


GLOBALUNLOCK - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GLOBALUNLOCK

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

ok& = GLOBALUNLOCK(hMem&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


GOSUB - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Control Flow PBXB64 Compiler Help

GOSUB

Invoke a subroutine.

Chapter: Control Flow | Certification: [CERTIFIED TESTED]

Syntax

GOSUB { label | linenumber }
GOSUB DWORD dwpointer

Description

Invoke a subroutine.

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GOSUB causes execution to branch to the statement prefaced by label or linenumber , after first saving its current location on the stack . The label or linenumber must be local to the Sub , Function , Method , or Property where the GOSUB statement is located. Executing a RETURN statement returns control to the instruction immediately following the GOSUB.

When using GOSUB, be sure that each subroutine returns to its caller gracefully through a RETURN statement. Run-away (recursive) GOSUBs that loop upon themselves will eat up large chunks of stack space, reducing available memory.

All labels and line numbers are private. You cannot GOSUB to a label outside of the current procedure.

For time critical or high-performance code, using a GOSUB to perform a repetitive task is almost always faster then performing a call to a procedure, since there is no overhead in setting up a stack frame for a GOSUB.

GOSUB DWORD causes execution to branch to address stored in dw pointer , after first saving its current location on the stack. dwpointer must be a Double word , Long integer , or pointer variable that contains the address of a label that is in the same procedure as the GOSUB DWORD statement. Executing a RETURN statement returns control to the instruction immediately following the GOSUB DWORD statement.

Example

#COMPILE EXE
#DIM ALL
' controlflow_gosub
FUNCTION PBMAIN() AS LONG
  LOCAL s AS LONG
  s = 0
  GOSUB AddFive
  s = s + 1
  IF (s) <> (6) THEN FUNCTION = 1: EXIT FUNCTION
  EXIT FUNCTION
AddFive:
  s = s + 5
  RETURN
  FUNCTION = 0
END FUNCTION

See also

  • #STACK
  • FUNCTION/END FUNCTION statements
  • METHOD / END METHOD statements
  • ON GOSUB
  • PROPERTY / END PROPERTY
  • SUB/END SUB statements
  • RETURN


GOTO - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Control Flow PBXB64 Compiler Help

GOTO

Unconditional branch to a label

Chapter: Control Flow | Certification: [CERTIFIED TESTED]

Syntax

GOTO label
label:

Description

Unconditional branch to a label

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The GOTO statement transfers execution to a labeled statement in the same procedure. Labels are identifiers followed by a colon and must be unique within the procedure.

Generated Assembly

Compile with:

PBXB64 example.pb --asmout example.asm
start_PBMAIN_0:
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, 1
    mov [rbp-24], rbx
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 5
    setl r10
    mov rbx, r10
    test rbx, rbx
    jne start_PBMAIN_0
    jmp pb_goto_after_PBMAIN_1
pb_goto_after_PBMAIN_1:

Notes

Overuse of GOTO makes code hard to follow. Prefer WHILE, FOR, or DO for loops.

Example

FUNCTION PBMAIN () AS LONG
    LOCAL n AS LONG
    n = 0
start:
    n = n + 1
    IF n < 5 THEN GOTO start
    FUNCTION = n
END FUNCTION

See also

  • GOSUB
  • RETURN
  • WHILE
  • FOR
  • BASIC Control Flow


GOTO - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GOTO

Transfer program execution to the statement identified by a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GOTO { label | linenumber }
GOTO DWORD dwpointer

Description

Transfer program execution to the statement identified by a

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GOTO causes program flow to jump unconditionally to the code identified by label or linenumber . The label or linenumber must be local to the Sub , Function , Method , or Property where the GOTO statement is located. GOTO differs from GOSUB and other similar control statements, in that after execution of a GOTO, the program retains no memory of where it was before it executed the jump.

Labels and line numbers are private. You cannot GOTO a label outside of the current procedure.

GOTO DWORD causes execution to jump unconditionally to address stored in dwpointer . dwpointer must be a Double word , Long integer , or pointer variable that contains the address of a label which is local to the procedure where the GOTO DWORD statement is located.

See also

  • CALL
  • CALL DWORD
  • DO/LOOP statements
  • EXIT
  • FOR/NEXT statements
  • FUNCTION/END FUNCTION statements
  • GOSUB
  • IF/END IF
  • METHOD / END METHOD statements
  • PROPERTY / END PROPERTY
  • RETURN
  • SELECT CASE/END SELECT
  • SUB/END SUB statements
  • WHILE/WEND statements
  • PBXB64 Compiler Help


Graphic Commands - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Graphic Commands

The followings can be used to display graphics:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The followings can be used to display graphics:

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Add a (non-resizing) image control to a dialog .

Add a stretched image control to a dialog.

Back to command index


GRAPHIC ARC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC ARC

Draw an arc in the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC ARC ( x1! , y1! ) - ( x2! , y2! ), arcStart! , arcEnd! [, rgbColor& ]

Description

Draw an arc in the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

An arc is a section of a circle or an ellipse. To specify a particular arc, you would first define the full circle or ellipse of which it is a part, and then specify the points on the ellipse where the arc starts and stops.

The full circle or ellipse is defined by its bounding rectangle, which is defined as the smallest rectangle which can be drawn around the circle or ellipse. For example, if the circle is centered at position (400,400), with a radius of 100 pixels, the upper left corner ( x1! , y1! ) of the bounding rectangle is (300,300), and the lower right corner ( x2! , y2! ) is (500,500). The start point and end point of the arc are specified by their angle, which must be given in radians. A complete circle or ellipse is 2*pi radians. On a 12-hour clock-face, the values 0 and 2*pi both refer to the position of 3 o'clock, while the value 1*pi refers to the position of 9 o'clock. Other positions are specified by a radian value relative to these. In PowerBASIC, arcs are always drawn counter-clockwise from the starting point to the ending point.

Prior to any graphical operations, the graphic target must first be selected with GRAPHIC ATTACH . The Coordinates are specified in the same terms (pixels or dialog units) as the parent dialog (or world coordinates, if those were chosen with GRAPHIC SCALE ). Line width can be set using GRAPHIC WIDTH . If line width is set to 1 (the default), the line style can be set with GRAPHIC STYLE . Because of the nature of an arc, GRAPHIC ARC neither uses, nor updates, GRAPHIC POS (last point referenced).

x1! , y1!

The upper left corner of the bounding rectangle of the full circle or ellipse.

x2! , y2!

The lower right corner of the bounding rectangle of the full circle or ellipse.

ArcStart!

The starting angle of the arc, in radians, from 0 to 2*pi.

ArcEnd!

The ending angle of the arc, in radians, from 0 to 2*pi radians. Note that arcs are always drawn counter-clockwise from arcStart! to arcEnd! . Compared with a 12-hour clock-face, 0 or 2*pi radians is at 3 o'clock, and 1*pi radians is at 9 o'clock.

rgbColor&

Optional RGB color for the arc. If omitted (or -1), the current foreground color for the graphic window is used.

See also

  • Built In RGB Color Equates
  • GRAPHIC ATTACH
  • GRAPHIC COLOR
  • GRAPHIC ELLIPSE
  • GRAPHIC PIE
  • GRAPHIC SET OVERLAP
  • GRAPHIC STYLE
  • GRAPHIC WIDTH
  • PBXB64 Compiler Help


GRAPHIC ATTACH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC ATTACH

Select the graphic target (

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC ATTACH hWin , id [, REDRAW]

Description

Select the graphic target (

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This statement chooses a graphic target. All further graphic operations will be directed to this target until another GRAPHIC ATTACH or GRAPHIC DETACH statement is executed, or the graphic target is deleted. All PowerBASIC graphical displays are persistent -- they will be automatically redrawn even if minimized or temporarily covered by another window.

By default, all graphic operations are displayed immediately upon execution of a graphic statement. In many cases, this is a good choice, because the display is always up-to-date. However, as the complexity of graphic operations increases, this continuous update process does not afford the best performance. It is usually better to use the REDRAW option described below, as it will generally provide a dramatic improvement in overall performance.

Only one thread may be attached to a particular Graphic Target at a time. An attempt to attach more than one will generate an Illegal Function Call Error 5 .

Handle of the GRAPHIC WINDOW , DIALOG , or BITMAP to be used with GRAPHIC statements.

The control id, if the target is a GRAPHIC CONTROL , or zero if the target is a GRAPHIC WINDOW or GRAPHIC BITMAP.

REDRAW

This option can provide a dramatic improvement in the execution speed of graphic statements, as it eliminates repetitive updates to the display. If this option is included, all drawing statements are buffered until a GRAPHIC REDRAW statement is executed, or the operating system chooses to update the target window. Without REDRAW, all graphical statements (Line, Box, Print, etc.) are performed immediately. However, in most cases, it's better to defer the display until a number of statements have been performed.

While the REDRAW option defers update of the display, it does not guarantee that no interim updates will be performed. There are times when the operating system, or other factors, may intervene. If update must be suppressed until complete, you should create your graphic invisibly using a GRAPHIC BITMAP, then display it by using GRAPHIC COPY .

Example

' Draw a blue gradient fill.

See also

  • CONTROL ADD GRAPHIC
  • GRAPHIC BITMAP LOAD
  • GRAPHIC BITMAP NEW
  • GRAPHIC DETACH
  • GRAPHIC WINDOW
  • PBXB64 Compiler Help


GRAPHIC BITMAP END - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC BITMAP END

Close the selected graphic bitmap.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC BITMAP END

Description

Close the selected graphic bitmap.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

You must close every memory bitmap (that was created with GRAPHIC BITMAP LOAD or GRAPHIC BITMAP NEW ) when you are finished using them for graphical operations. To close a bitmap, select it with the GRAPHIC ATTACH statement, then execute GRAPHIC BITMAP END.

See also

  • GRAPHIC ATTACH
  • GRAPHIC BITMAP LOAD
  • GRAPHIC BITMAP NEW
  • PBXB64 Compiler Help


GRAPHIC BITMAP LOAD - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC BITMAP LOAD

Create a memory bitmap and load an image into it.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC BITMAP LOAD BmpName$ , nWidth& , nHeight& [, stretch& ] TO hBmp???

Description

Create a memory bitmap and load an image into it.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC BITMAP LOAD creates a new memory bitmap, loading a bitmap image from a resource or a disk file. This bitmap works just like a GRAPHIC WINDOW , except that it is not visible. The parameter BmpName$ specifies the name of the image to be loaded. If BmpName$ contains a period, it is presumed to be the name of a disk file. Otherwise, an attempt is made to load it from a resource -- if not found, it is then presumed to be a disk file.

The parameters nWidth& and nHeight& specify the width and height of the bitmap, in pixels . If either of the size parameters are zero (0), the bitmap is loaded at its natural size. If either of the size parameters is different from the natural size, the bitmap is stretched or condensed to the requested size.

If the bitmap creation is successful, the bitmap handle is assigned to the variable hbmp??? . If not successful, hbmp??? is set to zero. When you are finished using this memory bitmap, you must delete it with GRAPHIC BITMAP END .

If the stretch& parameter is included, it is one of the values in the following table. If not included, or it is the value zero (0), the stretch mode is unchanged. An appropriate choice of stretch mode can substantially enhance the quality of bitmaps which are changed in size. The stretch mode equates are predefined in PowerBASIC.

The 4 stretch modes are:

%BLACKONWHITE

This is the default Windows stretch mode, and is most appropriate for monochrome bitmaps, or those with blocks of color. Performs a boolean OR of eliminated and existing pixels. It preserves black pixels at the expense of white pixels.

%WHITEONBLACK

Performs a boolean OR of eliminated and existing pixels. It preserves white pixels at the expense of black pixels.

%COLORONCOLOR

Deletes eliminated lines of pixels without trying to preserve their information.

%HALFTONE

This provides the highest quality for complex color bitmaps. The average color of the destination pixel block is kept approximately the same as the source pixel block.

The following code will retrieve the natural size of an image in a bitmap file, in pixels:

nFile& = FREEFILE

OPEN "myimage.bmp" FOR BINARY AS nFile&

GET #nFile&, 19, nWidth&

GET #nFile&, 23, nHeight&

CLOSE nFile&

See also

  • GRAPHIC BITMAP END
  • GRAPHIC BITMAP NEW
  • GRAPHIC(STRETCHMODE)
  • GRAPHIC IMAGELIST
  • GRAPHIC RENDER
  • GRAPHIC SET STRETCHMODE
  • GRAPHIC STRETCH
  • PBXB64 Compiler Help


GRAPHIC BITMAP NEW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC BITMAP NEW

Create a new memory bitmap.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC BITMAP NEW nWidth& , nHeight& TO hBmp???

Description

Create a new memory bitmap.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC BITMAP NEW creates a new memory bitmap, which may be manipulated and drawn just as if it were a GRAPHIC WINDOW , except that it is not visible. The parameters nWidth& and nHeight& specify the width and height of the bitmap, in pixels. If the bitmap creation is successful, the bitmap handle is assigned to the variable hBmp??? . If not successful, hBmp??? is set to zero. When you are finished using this memory bitmap, you must delete it with GRAPHIC BITMAP END .

See also

  • GRAPHIC ATTACH
  • GRAPHIC BITMAP END
  • GRAPHIC BITMAP LOAD
  • GRAPHIC IMAGELIST
  • PBXB64 Compiler Help


GRAPHIC BOX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC BOX

Draw a box with square or rounded corners in the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC BOX ( x1! , y1! ) - ( x2! , y2! ) [, [ corner& ] [ , [ rgbColor& ] [ ,
[ fillcolor& ] [ , [ fillstyle& ]]]]]

Description

Draw a box with square or rounded corners in the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The coordinates are specified in Page Units . Line width can be set using GRAPHIC WIDTH . If line width is set to 1 (the default), the line style can be set with GRAPHIC STYLE . Because of the nature of a box, GRAPHIC BOX neither uses, nor updates, the last point referenced (POS). Windows graphic conventions consider the bottom and right coordinates of a BOX to be exclusive. The pixels at the bottom and right edges are not drawn unless Overlap Mode is enabled. See GRAPHIC SET OVERLAP for details.

x1! , y1!

The upper left corner of the box.

x2! , y2!

The lower right corner of the box.

corner&

The percentage of roundness of the corners, in the range of 0 to 100. A value of zero creates square corners, while 100 creates a circle/oval. A value of 20 being most common for a pleasant, rounded appearance. If corner& is omitted, the default is 0, which creates a rectangle with square corners.

rgbColor&

Optional RGB color of the box edge. If omitted (or -1), the edge color defaults to the current foreground color for the selected graphic target.

fillcolor&

Optional RGB color of the box interior. If fillcolor& is omitted (or -2), the interior of the box is not filled, allowing the background to show through. If fillcolor& is -1, the interior is painted with the same color as the edge. Otherwise, fillcolor& specifies the RGB color to be used.

fillstyle&

Optional fill style (pattern) to be used. If fillstyle& is omitted, the default fill style is solid (0). If a hatch pattern is chosen (1 to 6), the foreground color is specified by the fillcolor& , while the background is specified by the default background color. The optional fillstyle& may be:

Solid (default)

Horizontal Lines

Vertical Lines

Upward Diagonal Lines

Downward Diagonal Lines

Crossed Lines

Diagonal Crossed Lines

See also

  • Built In RGB Color Equates
  • GRAPHIC ATTACH
  • GRAPHIC COLOR
  • GRAPHIC LINE
  • GRAPHIC SET OVERLAP
  • GRAPHIC STYLE
  • GRAPHIC WIDTH
  • PBXB64 Compiler Help


GRAPHIC(COL) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(COL)

Sets or retrieves the next

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC CELL = RowValue& , ColValue&
GRAPHIC CELL TO RowVar& , ColVar&
GRAPHIC COL TO ColVar&
GRAPHIC ROW TO RowVar&
ColVar& = GRAPHIC(COL)
RowVar& = GRAPHIC(ROW)

Description

Sets or retrieves the next

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC CELL is used to set or retrieve the print position, based upon the row and column position of a Text Cell. That is the row column position where the next printed text will be displayed. These operations are very similar to GRAPHIC GET POS and GRAPHIC SET POS , except that the position is reported in text rows and columns, rather than Page Units . The current graphic position is translated to a row and column number, based upon the standard character size in a fixed width font , or the average character size for a variable width font.

RowValue& specifies the horizontal screen row (starting at 1) at which to position the cursor. ColValue& specifies the vertical screen column (starting at 1) at which to position the cursor. Since row and column numbers start at one (1), the upper left corner of the window is considered to be cell 1,1.

The first form of GRAPHIC CELL moves the print position to the desired row and column. If a value given is zero (0), that parameter is ignored and that position is not changed.

The second form of GRAPHIC CELL retrieves the current print position, and assigns the values to the variables specified by RowVar& and ColVar& . Every point which falls within a text character cell is reported as that Row/Column position. If the graphic position is not at the upper left corner of the text character, you may get imprecise or unexpected results. This can occur if you perform a graphic operation other than GRAPHIC PRINT which leaves the "Last Point Referenced" at a mid-cell position.

The remaining forms allow you to retrieve just a single value, either row or column, and are supported in both statement and function form.

See also

  • GRAPHIC(Cell.Size.X)
  • GRAPHIC(POS.X)
  • GRAPHIC SET FONT
  • GRAPHIC SET POS
  • GRAPHIC SET SCROLLTEXT
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • GRAPHIC SPLIT
  • PBXB64 Compiler Help


GRAPHIC(Cell.Size.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(Cell.Size.X)

Retrieve the character

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC CELL SIZE TO WidthVar! , HeightVar!
WidthVar! = GRAPHIC ( Cell.Size.X)
HeightVar! = GRAPHIC(Cell.Size.Y)

Description

Retrieve the character

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC CELL SIZE retrieves the size of one character cell, for the current font , on the attached graphic target . The returned character size is specified in PAGE UNITS , and allows you to calculate the number of text lines which will fit in a particular space. The height value is the size of the displayed character, including external leading (if any) for this particular font.

If the font is a fixed-width font, like Courier New or Lucida Console,the sizes returned are as exact as possible, given the fractional rounding approximations necessary for some scaled units. If the font is proportional, like Arial or Times New Roman, the width will be the average size for the entire font.

External leading is the vertical distance from the bottom of one character to the top of the character below it. This value is specified by the font in use. It may vary from zero to a larger value, depending upon the font and point size. To retrieve the exact height of characters without external leading, use GRAPHIC CHR SIZE .

See also

  • GRAPHIC(COL)
  • GRAPHIC(Chr.Size.X)
  • GRAPHIC SET FONT
  • GRAPHIC(TEXT.SIZE.X...)
  • PBXB64 Compiler Help


GRAPHIC(Chr.Size.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(Chr.Size.X)

Retrieve the character size on the Graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC CHR SIZE To WidthVar!, HeightVar!
WidthVar! = GRAPHIC(Chr.Size.X)
HeightVar! = GRAPHIC(Chr.Size.Y)

Description

Retrieve the character size on the Graphic

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC CHR SIZE retrieves the size of one character, for the current font , on the attached graphic target. The returned character size is specified in Page Units . The height value is the actual size of the displayed character, without including external leading (if any) for this particular font.

If the font is a fixed-width font, like Courier New or Lucida Console,the sizes returned are as exact as possible, given the fractional rounding approximations necessary for some scaled units. If the font is proportional, like Arial or Times New Roman, the width will be the average size for the entire font.

External leading is the vertical distance from the bottom of one character to the top of the character below it. This value is specified by the font in use. It may vary from zero to a larger value, depending upon the font and point size. To retrieve the total row height including external leading, use GRAPHIC CELL SIZE instead.

See also

  • GRAPHIC ATTACH
  • GRAPHIC(COL)
  • GRAPHIC(Cell.Size.X)
  • GRAPHIC SET FONT
  • GRAPHIC PRINT
  • GRAPHIC(TEXT.SIZE.X...)
  • PBXB64 Compiler Help


GRAPHIC CLEAR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC CLEAR

Clear the entire selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC CLEAR [ rgbColor& [, fillstyle& ]]

Description

Clear the entire selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The graphic target must first be selected with GRAPHIC ATTACH . The last point referenced (POS) is set to the upper left corner of the graphic window (0,0).

rgbColor&

Optional RGB value representing the fill color. If rgbColor& is omitted (or -1), the graphic target is cleared to the default background color for the selected graphic target.

fillstyle&

Optional fill style (pattern) to be used. If fillstyle& is omitted, the default fill style is solid (0). If a hatch pattern is chosen (1 to 6), the foreground color is specified by the rgbC olor& , while the background is specified by the default background color for the selected graphic window. The optional fillstyle& may be:

Solid (default)

Horizontal Lines

Vertical Lines

Upward Diagonal Lines

Downward Diagonal Lines

Crossed Lines

Diagonal Crossed Lines

See also

  • Built In RGB Color Equates
  • GRAPHIC ATTACH
  • GRAPHIC COLOR
  • PBXB64 Compiler Help


GRAPHIC Code Group - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC Code Group

The Graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC DirectorWord [ params ]
GRAPHIC DirectorWord [ params ] TO ReturnVariable(s)
ReturnVariable = GRAPHIC ( DirectorWord [,params])
ReturnVariable$ = GRAPHIC$ ( DirectorWord [,params])

Description

The Graphic

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Some of the functionality of the GRAPHIC group was available in prior versions of PowerBASIC, but it has now been expanded. Some Graphic Procedures (namely those which return a single value) may be used in two forms, a statement with a TO clause, or a function which may be used as a term in an expression:

GRAPHIC GET LINES TO LineCountVar&

LineCountVar& = GRAPHIC(LINES)

The two examples above are functionally identical. The choice is simply a matter of your personal preference. If you use the second form (as a function which returns a value), it can be a term in any expression of any complexity. When a function form is available, it is labeled with the prefix "Function Form".

Some Graphic procedures return two or more values. As it is not possible to simultaneously inject multiple terms into a valid expression, the function option is not available for them.

GRAPHIC TARGET

The term GRAPHIC TARGET refers to a Graphic Bitmap, a Graphic Control, or a Graphic Window. You may want to think of a graphic target as your painter's canvas, where you display any amount of text and graphics. Many graphic targets may exist simultaneously, but only one is attached to the graphic stream at a time. The attached graphic target is the one acted upon by graphic code.

Graphic Bitmap

This is a non-visible target typically used as a work area to construct an image prior to displaying it. You can create a new, blank bitmap with GRAPHIC BITMAP NEW , or load one from a resource or disk file with GRAPHIC BITMAP LOAD . At that point, other graphic code can be used to act on it.

Graphic Control

This is a static control/window which is placed on a DDT Dialog with CONTROL ADD GRAPHIC . Once you attach this control, you can display all forms of text and graphics on it.

Graphic Window

This is a standalone window which can be placed at any location on the desktop. It's created with GRAPHIC WINDOW and can even be used as a graphical console window. Once you attach this window, you can display all forms of text and graphics on it.

GRAPHIC STREAM

The Graphic Stream is the connection between graphic code and a graphic target. The Graphic Stream is created when you attach a particular target with GRAPHIC ATTACH . From that moment forward, all graphic code acts on that selected target. This continues until such time as you select a new graphic target. When this occurs, the graphic stream to the first target is disabled, and a new graphic stream to the new target is created.

You can redirect the graphic stream to different graphic targets as often as necessary for the logic of your program.

PAGE UNITS

PAGE UNITS are used to measure the size of a graphical item, or to define a particular position on a graphic target. You can define page units to be pixels , dialog units, or scaled units of your choice.

Initially, each graphic target inherits the page unit size from its parent : pixels or dialog units. You can change this to scaled world coordinates of your choice with GRAPHIC SCALE . You can revert from dialog units or scaled units back to pixels (the most accurate form) by executing GRAPHIC SCALE PIXELS .

By default, the upper left corner of a graphic target is considered to be the X,Y position 0,0 and grows larger to the right or downward. The X axis is horizontal, while the Y axis is vertical. Whenever an X,Y position is given, the X value is stated first. Both the limits and the axis direction can be altered with GRAPHIC SCALE.

GRAPHIC POSITION (POS)

Each time you draw text or graphics, it is displayed at the current graphic position (POS) for that target. Upon completion, the POS is updated to the last point referenced. You can draw a relative distance from the POS (using a STEP option), or set an entirely new position with GRAPHIC SET POS .

Most PowerBASIC functions specify graphic and pixel positions in Page Units as X,Y (horizontal term first, then the vertical term). This is true for both graphics and text. When you draw text with GRAPHIC PRINT , POS defines the position of the upper-left corner of the first character.

TEXT CELL (ROW/COLUMN POSITION)

For ease of programming, a few procedures specify text position by row and column. In this case, the position is measured in text cells, which is the space occupied by one character. This works well with fixed width fonts , which is recommended. If a variable width font is chosen, PowerBASIC must use the average character size for these calculations, which can give imprecise results.

For compatibility with most current and prior versions of BASIC (PowerBASIC included), code which references text rows and columns names the vertical term first (ROWS, COLUMNS). Rows and columns are always numbered from one upward.

See also

  • Graphic Commands
  • Graphics
  • PBXB64 Compiler Help


GRAPHIC COLOR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC COLOR

Sets the foreground and background color.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC COLOR foreground& [, background& ]

Description

Sets the foreground and background color.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If either parameter is -1, the default foreground/background color is used. If the background parameter is -2, the background is not painted, allowing the content behind to become visible. If either parameter is -3, the existing color is not changed. Otherwise, the specified RGB color is used.

See also

  • Built In RGB Color Equates
  • GRAPHIC ATTACH
  • GRAPHIC PRINT
  • GRAPHIC SET FONT
  • PBXB64 Compiler Help


GRAPHIC COPY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC COPY

Copy a bitmap

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC COPY hbmpSource??? , id& [, style& ]
GRAPHIC COPY hbmpSource??? , id& TO ( x! , y! ) [, style& ]
GRAPHIC COPY hbmpSource??? , id& , ( x1! , y1! )-( x2! , y2! ) TO ( x! , y! ) [, style% ]

Description

Copy a bitmap

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

You can copy a complete bitmap, or a portion of it, to the selected graphic target. The expression hbmpSource??? specifies the handle of the source GRAPHIC BITMAP , GRAPHIC WINDOW , or dialog containing a GRAPHIC CONTROL . The expression id& is the unique control identifier in the range 1 to 65535, as assigned with the CONTROL ADD GRAPHIC statement. id& must be 0 for a GRAPHIC WINDOW or a GRAPHIC BITMAP. The destination of the copy operation is the window selected by GRAPHIC ATTACH . You must take care that your parameters are valid for the specified bitmap, or the results of the operation are undefined.

The first form of the GRAPHIC COPY statement copies the complete bitmap, positioning it at (0,0), which is the upper left corner of the destination.

The second form of GRAPHIC COPY also copies the complete bitmap, but positions it at the point specified by the parameter ( x! , y! ).

The third form copies a portion of the bitmap, specified by x1,y1 as the upper left corner and x2,y2 as the lower right corner. It is positioned at the point specified by the parameter (x,y). You must use care that your parameters are valid for the specified bitmaps, or results of the operation are undefined.

If the style parameter is included, it is one of the values in the following table. If not included, a default of %mix_CopySrc is presumed. There are 8 mix modes available to use for mixing drawing colors with the colors which already exist at the at the drawing location The mix mode equates are predefined in PowerBASIC.

%mix_Blackness

Pixel is always 0 (black).

%mix_NotMergeSrc

Pixel is the inverse of the MergeSrc color.

%mix_MaskNotSrc

Pixel is a combination of the colors common to both the pixel and the inverse of the source.

%mix_NotCopySrc

Pixel is the inverse of the pen color.

%mix_MaskSrcNot

Pixel is a combination of the colors common to both the source and the inverse of the pixel.

%mix_Not

Pixel is the inverse of the pixel color.

%mix_XorSrc

Pixel is a combination of the colors in the source and in the pixel, but not in both.

%mix_NotMaskSrc

Pixel is the inverse of the MaskSrc color.

%mix_MaskSrc

Pixel is a combination of the colors common to both the source and the pixel.

%mix_NotXorSrc

Pixel is the inverse of the XorSrc color.

%mix_Nop

Pixel remains unchanged.

%mix_MergeNotSrc

Pixel is a combination of the source color and the inverse of the pixel color.

%mix_CopySrc

Pixel is the source color (default).

%mix_MergeSrcNot

Pixel is a combination of the source color and the inverse of the pixel color.

%mix_MergeSrc

Pixel is a combination of the source color and the pixel color.

%mix_Whiteness

Pixel is always 1 (white).

See also

  • GRAPHIC(STRETCHMODE)
  • GRAPHIC RENDER
  • GRAPHIC SET STRETCHMODE
  • GRAPHIC STRETCH
  • PBXB64 Compiler Help


GRAPHIC DETACH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC DETACH

Detaches a graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC DETACH

Description

Detaches a graphic

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Though detached from the graphic stream, the graphic target is not deleted, nor is it altered in any way. Until another graphic target is attached, any GRAPHIC statements executed are ignored. If no graphic is attached, this statement performs no operation.

See also

  • GRAPHIC ATTACH
  • GRAPHIC BITMAP LOAD
  • GRAPHIC BITMAP NEW
  • GRAPHIC WINDOW
  • PBXB64 Compiler Help


GRAPHIC ELLIPSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC ELLIPSE

Draw an ellipse or a circle in the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC ELLIPSE ( x1! , y1! ) - ( x2! , y2! ) [ , [ rgbColor& ] [ ,[ fillcolor& ] [ , [ fillstyle& ]]]]

Description

Draw an ellipse or a circle in the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Coordinates are specified in Page Units . Line width can be set using GRAPHIC WIDTH . If line width is set to 1 (the default), the line style can be set with GRAPHIC STYLE . Because of the nature of an ellipse, which has no obvious beginning or end, GRAPHIC ELLIPSE neither uses, nor updates, the last point referenced (POS).

The coordinate pair define an invisible bounding rectangle which would enclose the ellipse to be drawn. It tells both the size and the proportions of the ellipse. Windows graphic conventions consider the bottom and right coordinates of it to be exclusive. The pixels at the bottom and right edges are ignored, unless Overlap Mode is enabled. See GRAPHIC SET OVERLAP for details.

x1! , y1!

The upper left corner of the bounding rectangle.

x2! , y2!

The lower right corner of the bounding rectangle.

rgbColor&

Optional RGB color of the ellipse edge. If omitted (or -1), the edge color defaults to the current foreground color for the selected graphic window.

fillcolor&

Optional RGB color of the ellipse interior. If fillcolor& is omitted (or -2), the interior of the ellipse is not filled, allowing the background to show through. If fillcolor& is -1, the interior is painted with the same color as the edge. Otherwise, fillcolor& specifies the RGB color to be used.

fillstyle&

Optional fill style (pattern) to be used. If fillstyle& is omitted, the default fill style is solid (0). If a hatch pattern is chosen (1 to 6), the foreground color is specified by the fillcolor& , while the background is specified by the default background color for the selected graphic window. The optional fillstyle& may be:

Solid (default)

Horizontal Lines

Vertical Lines

Upward Diagonal Lines

Downward Diagonal Lines

Crossed Lines

Diagonal Crossed Lines

See also

  • Built In RGB Color Equates
  • GRAPHIC ARC
  • GRAPHIC ATTACH
  • GRAPHIC COLOR
  • GRAPHIC LINE
  • GRAPHIC PIE
  • GRAPHIC SET OVERLAP
  • GRAPHIC STYLE
  • GRAPHIC WIDTH
  • PBXB64 Compiler Help


GRAPHIC GET BITS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC GET BITS

Retrieve a copy of a bitmap , storing it as a device-independent bitmap in a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET BITS TO bitvar$

Description

Retrieve a copy of a bitmap , storing it as a device-independent bitmap in a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This statement retrieves a copy of the entire bitmap for the selected graphic target , assigning it to the dynamic string variable specified by bitvar$ . This allows you to make many modifications to the bitmap very quickly, particularly operations which may not be directly supported by GRAPHIC code. For example, you might change all red pixels in a bitmap to blue. Once your operations are complete, the bitmap is replaced using GRAPHIC SET BITS .

The bitvar$ string will contain a series of four-byte values, each of which represents a long integer . You can convert the four-byte string sections to numeric values with the CVL function, and convert a numeric value to a four-byte string with MKL$ . The first four-byte value specifies the width of the bitmap, in pixels, and the second specifies the height. Following that will be one four-byte value for each pixel in the bitmap, which represents the color of that pixel. So, a 20 by 20 bitmap would have 400 pixels and require 1600 bytes (400 * 4), plus 4 bytes for the width and 4 bytes for the height, or a total of 1608 bytes.

The first four-byte pixel value in the string represents the top-left corner of the image, the second represents the second pixel of the first row, and so on. After the last pixel of the first row will be the first pixel of the second row, etc.

If execution speed is most important, it's likely that the string can be manipulated most efficiently with pointer variables.

Some Windows API functions, namely those which reference Device-Independent Bitmaps (DIB), require that colors be specified in the reverse of normal RGB sequence (Blue-Green-Red instead of Red-Green-Blue). To maximize performance, GRAPHIC GET BITS uses BGR format as well. You can use the BGR() function to translate an RGB value to its BGR equivalent.

See also

  • Built In RGB Color Equates
  • BGR
  • CVBYT
  • GRAPHIC SET BITS
  • MKBYT$
  • RGB
  • PBXB64 Compiler Help


GRAPHIC(CANVAS.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(CANVAS.X)

Retrieves the writable size of the attached graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET CANVAS TO WidthVar! , HeightVar!
WidthVar! = GRAPHIC(CANVAS.X)
HeightVar! = GRAPHIC(CANVAS.Y)

Description

Retrieves the writable size of the attached graphic

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC GET CANVAS retrieves the size of the drawing buffer for the attached graphic window, control, or bitmap. The size is specified in Page Units , so it could return scaled values if they were applied with GRAPHIC SCALE . If the graphic window or control is FIXED (the default), the size returned is equivalent to the CLIENT size (other than the scaling factor). The CANVAS size does not include a caption , frame, scrollbars, etc. If no graphic target has been attached with GRAPHIC ATTACH , the values 0,0 are returned.

See also

  • GRAPHIC(Client.X)
  • GRAPHIC(Clip.X)
  • GRAPHIC(SIZE.X)
  • GRAPHIC GET SCALE
  • GRAPHIC SCALE
  • PBXB64 Compiler Help


GRAPHIC$(CAPTION) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC$(CAPTION)

Retrieves the caption from a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET CAPTION To CaptionVar$
CaptionVar$ = GRAPHIC$(CAPTION)

Description

Retrieves the caption from a

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC GET CAPTION retrieves the text (if any) which is currently displayed as the caption of the selected Graphic Target . This area is also called the "title bar". A Graphic Window is the only form of Graphic Target which may have a caption, so other forms will return a null (zero-length) string.

See also

  • GRAPHIC SET CAPTION
  • GRAPHIC WINDOW
  • PBXB64 Compiler Help


GRAPHIC(Client.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(Client.X)

Retrieve the client size of the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET CLIENT To WidthVar! , HeightVar!
WidthVar! = GRAPHIC(Client.X)
HeightVar ! = GRAPHIC(Client.Y)

Description

Retrieve the client size of the selected

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC GET CLIENT retrieves the physical size of the client area (visible part) of the attached graphic window or control . The size is specified in Pixels or Dialog Units , depending upon how it was created. The sizes returned are not altered or affected by GRAPHIC SCALE , VIRTUAL , or AUTOSIZE operations, as it returns the physical size of the viewable area in the terms used to create it. The client area does not include a caption , frame, scrollbars, etc. When GRAPHIC GET CLIENT is used with a bitmap , it returns 0,0. You would normally use GRAPHIC GET CANVAS with a Bitmap, or to obtain the size of the area which can be drawn. If no graphic target has been attached with GRAPHIC ATTACH , the values 0,0 are returned.

See also

  • GRAPHIC ATTACH
  • GRAPHIC(CANVAS.X)
  • GRAPHIC(Clip.X)
  • GRAPHIC(SIZE.X)
  • GRAPHIC SET CLIENT
  • PBXB64 Compiler Help


GRAPHIC(Clip.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(Clip.X)

Retrieves the size of the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET CLIP TO WidthVar! , HeightVar!
WidthVar! = GRAPHIC(Clip.X)
HeightVar! = GRAPHIC(Clip.Y)

Description

Retrieves the size of the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The clip area of a graphic target is that space where GRAPHIC operations can be displayed. That is, the clip area is that portion of the client area which is not protected (clipped) by GRAPHIC SET CLIP .

GRAPHIC GET CLIP retrieves the size of the clip area, and assigns these values to the variables specified by WidthVar! and HeightVar! . The size is specified in PAGE UNITS . If no graphic target is selected, the values 0,0 are returned.

See also

  • GRAPHIC(CANVAS.X)
  • GRAPHIC(Client.X)
  • GRAPHIC SET CLIP
  • PBXB64 Compiler Help


GRAPHIC(DC) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(DC)

Retrieve the handle of the DC (device context) for the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET DC TO hDC???
Function Form:
DCVar??? = GRAPHIC(DC)

Description

Retrieve the handle of the DC (device context) for the selected

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The DC handle may be used with various Windows API functions to perform specialized graphic operations in the graphic target. If no graphic window is currently selected, zero is returned.

See also

  • GRAPHIC ATTACH
  • PBXB64 Compiler Help


GRAPHIC(LINES) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(LINES)

Retrieves the number of

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET LINES TO linecount&
linecount& = GRAPHIC(LINES)

Description

Retrieves the number of

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC GET LINES retrieves the number of lines of text which will fit on the graphic target, given the current selected font . This value is assigned to linecount& .

See also

  • GRAPHIC ATTACH
  • GRAPHIC(COL)
  • GRAPHIC(Chr.Size.X)
  • GRAPHIC PRINT
  • GRAPHIC SET FONT
  • GRAPHIC(TEXT.SIZE.X...)
  • PBXB64 Compiler Help


GRAPHIC(LOC.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(LOC.X)

Retrieves the location of the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET LOC TO x& , y&
F unction Form:
x& = GRAPHIC(LOC.X)
y& = GRAPHIC(LOC.Y)

Description

Retrieves the location of the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This statement retrieves the location of the selected Graphic Window. If no graphic object is selected, or it is not a Graphic Window, 0,0 is returned. The location is specified in pixels, relative to the upper left corner of the screen.

See also

  • GRAPHIC ATTACH
  • GRAPHIC(PPI.X)
  • GRAPHIC SET LOC
  • PBXB64 Compiler Help


GRAPHIC(MIX) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(MIX)

Retrieve the color mix mode for the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET MIX TO mixmode&
mixmode& = GRAPHIC(MIX)

Description

Retrieve the color mix mode for the selected

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

There are 16 mix modes available to use for mixing the drawing color with the color that already exists at the drawing location.

%mix_Blackness

Pixel is always 0 (black).

%mix_NotMergeSrc

Pixel is the inverse of the MergeSrc color.

%mix_MaskNotSrc

Pixel is a combination of the colors common to both the pixel and the inverse of the source.

%mix_NotCopySrc

Pixel is the inverse of the pen color.

%mix_MaskSrcNot

Pixel is a combination of the colors common to both the source and the inverse of the pixel.

%mix_Not

Pixel is the inverse of the pixel color.

%mix_XorSrc

Pixel is a combination of the colors in the source and in the pixel, but not in both.

%mix_NotMaskSrc

Pixel is the inverse of the MaskSrc color.

%mix_MaskSrc

Pixel is a combination of the colors common to both the source and the pixel.

%mix_NotXorSrc

Pixel is the inverse of the XorSrc color.

%mix_Nop

Pixel remains unchanged.

%mix_MergeNotSrc

Pixel is a combination of the source color and the inverse of the pixel color.

%mix_CopySrc

Pixel is the source color (default).

%mix_MergeSrcNot

Pixel is a combination of the source color and the inverse of the pixel color.

%mix_MergeSrc

Pixel is a combination of the source color and the pixel color.

%mix_Whiteness

Pixel is always 1 (white).

See also

  • GRAPHIC SET MIX
  • PBXB64 Compiler Help


GRAPHIC(OVERLAP) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(OVERLAP)

Retrieves the status of Graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET OVERLAP To OverlapVar&
OverlapVar& = GRAPHIC(OVERLAP)

Description

Retrieves the status of Graphic

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC GET OVERLAP retrieves the status of overlap mode and assigns it to the variable specified by OverlapVar& . If Overlap Mode is enabled, the value true (non-zero) is assigned. If it's disabled, the value false (zero) is assigned instead. The value returned reflects the status of the graphic target which is currently attached to the graphic stream .

With Overlap Mode, you control how PowerBASIC treats graphic operations which involve a RECT structure in their definition. Windows graphic conventions consider the bottom and right coordinates of a RECT to be exclusive. In other words, the pixels at the bottom and right edges lie immediately outside the rectangle. They are not drawn, but are ignored. For example:

GRAPHIC BOX (0,0) - (50,50)

In this case, a box is drawn from 0,0 to 49,49. The final pixels at the bottom and right edge are simply not drawn. However, if Overlap Mode is enabled with GRAPHIC SET OVERLAP , the box is drawn from 0,0 to 50,50.

The Overlap Mode affects drawing operations involving GRAPHIC SCALE , GRAPHIC BOX , GRAPHIC ELLIPSE , GRAPHIC LINE , GRAPHIC POLYLINE , etc.

See also

  • GRAPHIC SET OVERLAP
  • PBXB64 Compiler Help


GRAPHIC(PIXEL...) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(PIXEL...)

Retrieve the color of the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET PIXEL [STEP] ( x! , y! ) To PixelVar&
PixelVar& = GRAPHIC(PIXEL [STEP], x! , y! )

Description

Retrieve the color of the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The coordinate points x! , y! are specified in Page Units .

See also

  • GRAPHIC ATTACH
  • GRAPHIC COLOR
  • GRAPHIC SCALE
  • GRAPHIC SET PIXEL
  • PBXB64 Compiler Help


GRAPHIC(POS.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(POS.X)

Retrieve the POS (last point referenced) by a graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET POS To XVar! , YVar!
XVar! = GRAPHIC(POS.X)
YVar! = GRAPHIC(POS.Y)

Description

Retrieve the POS (last point referenced) by a graphic

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The coordinate points XVar! , YVar! are specified in the same terms ( pixels or dialog units) as the parent dialog (or world coordinates, if those were chosen with GRAPHIC SCALE ).

See also

  • GRAPHIC ATTACH
  • GRAPHIC(COL)
  • GRAPHIC SCALE
  • GRAPHIC SET POS
  • PBXB64 Compiler Help


GRAPHIC(PPI.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(PPI.X)

Retrieve the resolution of the display device, in points per inch.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET PPI TO XVar& , YVar&
XVar& = GRAPHIC(PPI.X)
YVar& = GRAPHIC(PPI.Y)

Description

Retrieve the resolution of the display device, in points per inch.

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The resolution is always specified in pixels . This statement is particularly useful in drawing items such as rulers and graphs to a representative physical size". There are 25.4 millimeters per inch, so just divide by 25.4 to convert from pixels per inch to pixels per millimeter.

"Representative physical size" means that the actual image may be close to a particular physical size, but is subject to factors including Windows default PPI setting, the driver's DPI to PPI ratio and even how the monitor has been adjusted. By using the GRAPHIC GET PPI, results, you can construct a representative graphic image that can be saved and later output at the intended scale by more precise means, for example a higher resolution Windows printer.

See also

  • GRAPHIC ATTACH
  • GRAPHIC SCALE
  • PBXB64 Compiler Help


GRAPHIC GET SCALE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC GET SCALE

Retrieve the current

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET SCALE TO x1! , y1! , x2! , y2!

Description

Retrieve the current

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC SCALE allows you to define your own world coordinate system for subsequent GRAPHIC statements. World coordinates may be floating point values, with the only requirement that x1! not equal x2!, and y1! not equal y2!.

GRAPHIC GET SCALE retrieves the coordinate limits, which may be either custom world coordinates (if a GRAPHIC SCALE has been executed), or else default pixel coordinates. This allows you to save and restore a previous set of coordinates. This statement will automatically adjust to allow Dialog Unit scale factors to be retrieved.

See also

  • GRAPHIC SCALE
  • PBXB64 Compiler Help


GRAPHIC(SCROLLTEXT) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(SCROLLTEXT)

Retrieves the status of Graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET SCROLLTEXT To ScrollVar&
ScrollVar& = GRAPHIC(SCROLLTEXT)

Description

Retrieves the status of Graphic

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC GET SCROLLTEXT retrieves the status of ScrollText mode and assigns it to the variable specified by ScrollVar& . If ScrollText Mode is enabled, the value true (non-zero) is assigned. If it's disabled, the value false (zero) is assigned instead. The value returned reflects the status of the graphic target which is currently attached to the graphic stream .

With ScrollText Mode, you can control how PowerBASIC prints text on a graphic target when it reaches the end of a page. Since a graphic target operates on a full page basis, the default is to ignore text which is printed past the end of the page. This can be modified under program control by using GRAPHIC SET SCROLLTEXT .

When ScrollText Mode is enabled, scrolling of a page is triggered only by GRAPHIC PRINT . If the POS (last point referenced) is located on the bottom row of the graphic target, and a GRAPHIC PRINT statement moves the POS off of the page, the entire contents of the graphic target is scrolled one row, and a new blank row is opened at the bottom.

See also

  • GRAPHIC(COL)
  • GRAPHIC SET SCROLLTEXT
  • PBXB64 Compiler Help


GRAPHIC(SIZE.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(SIZE.X)

Retrieves the overall size of the selected graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET SIZE To WidthVar& , HeightVar&
WidthVar& = GRAPHIC(SIZE.X)
HeightVar& = GRAPHIC(SIZE.Y)

Description

Retrieves the overall size of the selected graphic

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC GET SIZE retrieves overall physical size of the selected graphic window or control . The size is specified in Pixels or Dialog Units , depending upon how it was created. The size always includes any caption , frame, scrollbars, etc. If no graphic target is attached, the values 0,0 are returned.

See also

  • GRAPHIC(CANVAS.X)
  • GRAPHIC(Client.X)
  • GRAPHIC(Clip.X)
  • GRAPHIC(LINES)
  • GRAPHIC SET SIZE
  • PBXB64 Compiler Help


GRAPHIC(STRETCHMODE) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(STRETCHMODE)

Retrieves the default bitmap stretching mode for the attached

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET STRETCHMODE TO ModeVar&
ModeVar& = GRAPHIC(STRETCHMODE)

Description

Retrieves the default bitmap stretching mode for the attached

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

There are several operations in PowerBASIC which involve stretching or condensing images on bitmaps, most notably GRAPHIC STRETCH . As individual pixels must be added or removed, there is a good chance that the quality of the image will be degraded. However, if you describe the nature of the image by defining a StretchMode, you can substantially enhance the appearance.

The default StretchMode is maintained individually for each DC. You can retrieve the default mode with this statement, or set it with GRAPHIC GET STRETCHMODE. Of course, you can also override the default StretchMode when you execute one of the affected statements.

The 4 stretch mode equates are predefined in PowerBASIC.

Equate

Description

%BLACKONWHITE

This is the default Windows stretch mode, and is most appropriate for monochrome bitmaps, or those with blocks of color. Performs a boolean OR of eliminated and existing pixels. It preserves black pixels at the expense of white pixels.

%WHITEONBLACK

Performs a boolean OR of eliminated and existing pixels. It preserves white pixels at the expense of black pixels.

%COLORONCOLOR

Deletes eliminated lines of pixels without trying to preserve their information.

%HALFTONE

This provides the highest quality for complex color bitmaps. The average color of the destination pixel block is kept approximately the same as the source pixel block.

See also

  • GRAPHIC BITMAP LOAD
  • GRAPHIC COPY
  • GRAPHIC RENDER
  • GRAPHIC SET STRETCHMODE
  • GRAPHIC STRETCH
  • PBXB64 Compiler Help


GRAPHIC(View.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(View.X)

Retrieves the position of the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET VIEW To WidthVar! , HeightVar!
WidthVar! = GRAPHIC(View.X)
HeightVar! = GRAPHIC(View.Y)

Description

Retrieves the position of the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Retrieves the position of the viewport on a virtual graphic target . The size is specified in Page Units . If no graphic target has been selected, or no virtual window has been created, the values 0,0 are returned.

See also

  • GRAPHIC SET VIEW
  • GRAPHIC SET VIRTUAL
  • PBXB64 Compiler Help


GRAPHIC(WORDWRAP) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(WORDWRAP)

Retrieves the status of Graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET WORDWRAP TO WrapVar&
WrapVar& = GRAPHIC(WORDWRAP)

Description

Retrieves the status of Graphic

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC GET WORDWRAP retrieves the status of wordwrap mode and assigns it to the variable specified by WrapVar& . If WordWrap Mode is enabled, the value true (non-zero) is assigned. If it's disabled, the value false (zero) is assigned instead. The value returned reflects the status of the graphic target which is currently attached to the graphic stream .

With WordWrap Mode, you can control how PowerBASIC prints text on a graphic target when it reaches the end of a line. Since a graphic target operates on a full page basis, the default is to ignore text which is printed past the end of the line. This can be modified under program control by using GRAPHIC SET WORDWRAP .

When WordWrap mode is enabled, it affects only GRAPHIC PRINT operations. If GRAPHIC PRINT attempts to display a word beyond the end of a row, the entire word is automatically wrapped to the first column of the next row.

See also

  • GRAPHIC(COL)
  • GRAPHIC(WRAP)
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • GRAPHIC SPLIT
  • PBXB64 Compiler Help


GRAPHIC(WRAP) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(WRAP)

Retrieves the status of Graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC GET WRAP TO WrapVar&
WrapVar& = GRAPHIC(WRAP)

Description

Retrieves the status of Graphic

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC GET WRAP retrieves the status of wrap mode and assigns it to the variable specified by WrapVar& . If Wrap Mode is enabled, the value true (non-zero) is assigned. If it's disabled, the value false (zero) is assigned instead. The value returned reflects the status of the graphic target which is currently attached to the graphic stream .

With Wrap Mode, you can control how PowerBASIC prints text on a graphic target when it reaches the end of a line. Since a graphic target operates on a full page basis, the default is to ignore text which is printed past the end of the line. This can be modified under program control by using GRAPHIC SET WRAP .

When Wrap Mode is enabled, it affects only GRAPHIC PRINT operations. If GRAPHIC PRINT attempts to display a character beyond the end of a row, it is automatically wrapped to the first column of the next row.

See also

  • GRAPHIC(COL)
  • GRAPHIC(WORDWRAP)
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • GRAPHIC SPLIT
  • PBXB64 Compiler Help


GRAPHIC IMAGELIST - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC IMAGELIST

Displays an image from an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC IMAGELIST ( x! , y! ), hLst , index& , overlay& , style&

Description

Displays an image from an

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

One of the images stored in an IMAGELIST is displayed on the selected graphic control , bitmap , or window . The parameters x!,y! define the upper left corner of the position of the image. hLst is the handle of the IMAGELIST and index& is the selector of the image to be displayed (1=first, 2=second, etc.). If overlay& is non-zero, it specifies an overlay image to be added to the displayed image from the image list. The parameter style& may be one of the following style bits:

%ILD_NORMAL

Draws the image using the background color of the image list. If the background color is the default value %CLR_NONE (defined in the Commctrl.inc file), the image is drawn transparently.

%ILD_TRANSPARENT

Draws the image transparently if there is a mask.

%ILD_MASK

Draws the mask.

%ILD_BLEND25

If there is a mask, the image is drawn blending 25% with the system highlight color.

%ILD_BLEND50

If there is a mask, the image is drawn blending 50% with the system highlight color.

See also

  • GRAPHIC ATTACH
  • GRAPHIC COPY
  • GRAPHIC RENDER
  • GRAPHIC STRETCH
  • IMAGELIST ADD BITMAP
  • PBXB64 Compiler Help


GRAPHIC$(INKEY$) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC$(INKEY$)

Reads a keyboard character if one is ready.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC INKEY$ TO InkeyVar$
InkeyVar$ = GRAPHIC$(INKEY$)

Description

Reads a keyboard character if one is ready.

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC INKEY$ returns a string of 0, 1, or 2 characters that reflects the status of the keyboard buffer for the selected graphic target. A null string (LEN=0) means that the buffer is empty - no key pressed.

A string length of one means that an ASCII key was pressed and the string contains the ASCII character. An ASCII value between 1 and 31 indicate a control code.

A string length of two means that an extended key was pressed. In this case, the first character in the string has an ASCII value of zero, and the second is the extended keyboard code.

See also

  • GRAPHIC INPUT
  • GRAPHIC INPUT FLUSH
  • GRAPHIC(INSTAT)
  • GRAPHIC LINE INPUT
  • GRAPHIC$(WAITKEY$)
  • PBXB64 Compiler Help


GRAPHIC INPUT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC INPUT

Reads data from the keyboard from within a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC INPUT [ prompt ,] varlist
prompt

Description

Reads data from the keyboard from within a

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC INPUT displays the prompt on the graphic window or graphic control, waits for the user to enter data from the keyboard, and assigns the data to the variables in varlist . Data entered from the keyboard must match the type of the variables -- that is, non-numeric characters are unacceptable for numeric variables.

If a single GRAPHIC INPUT statement prompts for more than one variable, the user must enter the proper number of values on a single line, separated by commas. If not enough comma-delimited values are entered, remaining variables are set to zero or nul.

See also

  • GRAPHIC$(INKEY$)
  • GRAPHIC INPUT FLUSH
  • GRAPHIC(INSTAT)
  • GRAPHIC LINE INPUT
  • GRAPHIC$(WAITKEY$)
  • PBXB64 Compiler Help


GRAPHIC INPUT FLUSH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC INPUT FLUSH

Remove all buffered keyboard data.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC INPUT FLUSH

Description

Remove all buffered keyboard data.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

See also

  • GRAPHIC$(INKEY$)
  • GRAPHIC INPUT
  • GRAPHIC(INSTAT)
  • GRAPHIC LINE INPUT
  • GRAPHIC$(WAITKEY$)
  • PBXB64 Compiler Help


GRAPHIC(INSTAT) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(INSTAT)

Determines whether a keyboard character is ready.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC INSTAT TO NumericVar
InstatVar& = GRAPHIC(INSTAT)

Description

Determines whether a keyboard character is ready.

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The integral variable receives the keyboard buffer status for the selected graphic target . The value assigned is TRUE (non-zero) if a keyboard character is ready to be retrieved, or FALSE (zero) if not.

GRAPHIC INSTAT does not remove the character from the buffer, so repeated execution will continue to return TRUE until the character is read with GRAPHIC INKEY$ , GRAPHIC INPUT , etc.

See also

  • GRAPHIC$(INKEY$)
  • GRAPHIC INPUT
  • GRAPHIC INPUT FLUSH
  • GRAPHIC LINE INPUT
  • GRAPHIC$(WAITKEY$)
  • PBXB64 Compiler Help


GRAPHIC LINE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC LINE

Draw a line on the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC LINE [STEP] [( x1! , y1! )] - [STEP] ( x2! , y2! )[, rgbColor& ]

Description

Draw a line on the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The line is drawn from the first point, up to, but not including the second point. Coordinate points are specified in Page Units . Line width can be set using GRAPHIC WIDTH . If line width is set to 1 (the default), the line style can be set with GRAPHIC STYLE .

Windows graphic conventions consider the final x2 and y2 coordinates to be exclusive. Therefore, by default, the final pixel is not drawn unless Overlap Mode is enabled. See GRAPHIC SET OVERLAP for details.

x1! , y1!

Optional values which define the starting point of the line. If this optional first point is omitted, the line begins at the last point referenced (POS) in a preceding GRAPHIC statement. If the first STEP option is included, the x1! and y1! starting coordinates are relative to the last point referenced (POS).

x2! , y2!

The ending point of the line. If the second STEP option is included, the x2! and y2! ending coordinates are relative to the starting coordinates.

rgbColor&

Optional RGB color value for the line. If rgbColor& is omitted (or -1), the line color defaults to the current foreground color.

See also

  • GRAPHIC ARC
  • GRAPHIC ATTACH
  • GRAPHIC BOX
  • GRAPHIC COLOR
  • GRAPHIC ELLIPSE
  • GRAPHIC PIE
  • GRAPHIC SET OVERLAP
  • GRAPHIC STYLE
  • GRAPHIC WIDTH
  • PBXB64 Compiler Help


GRAPHIC LINE INPUT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC LINE INPUT

Read an entire line from the keyboard from within a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC LINE INPUT [" prompt "] string_variable

Description

Read an entire line from the keyboard from within a

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC LINE INPUT displays the optional prompt on the Graphic Window or Control and waits for user input. Keystrokes are accepted until you press ENTER, at which time the entire typed string is assigned to the string_variable . Input is limited to 255 characters.

See also

  • GRAPHIC$(INKEY$)
  • GRAPHIC INPUT
  • GRAPHIC INPUT FLUSH
  • GRAPHIC(INSTAT)
  • GRAPHIC$(WAITKEY$)
  • PBXB64 Compiler Help


GRAPHIC PAINT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC PAINT

Fill an area with a solid

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC PAINT [BORDER | REPLACE] [STEP] ( x! , y! ) [, [ rgbFill& ] [, [ rgbBorder& ] [, [ fillstyle& ]]]]

Description

Fill an area with a solid

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The coordinate points are specified in Page Units .

x! , y!

The point where filling begins. If the STEP option is included, the x and y coordinates are relative to the last point referenced (POS) in the selected graphic target.

rgbFill&

Optional RGB color value for the fill area. If rgbFill& is omitted (or -1), the default foreground color is used.

rgbBorder&

Optional RGB base color of the fill area. If the REPLACE option is chosen, filling continues outward in all directions until a color other than rgbBorder& is found. If the BORDER option (or no option) is included, filling continues outward until the rgbBorder& color is found. If rgbBorder& is not specified, it is assumed to be the same as the rgbFill& parameter.

fillstyle&

Optional fill style (pattern) to use. If fillstyle& is omitted, the default fill style is solid (0). If a hatch pattern is chosen (1 to 6), the foreground color is specified by the rgbFill& , while the background is specified by the default background color for the selected graphic target. The optional fillstyle& may be:

Solid (default)

Horizontal Lines

Vertical Lines

Upward Diagonal Lines

Downward Diagonal Lines

Crossed Lines

Diagonal Crossed Lines

See also

  • Built In RGB Color Equates
  • GRAPHIC ARC
  • GRAPHIC ATTACH
  • GRAPHIC BOX
  • GRAPHIC COLOR
  • GRAPHIC ELLIPSE
  • GRAPHIC LINE
  • GRAPHIC PIE
  • PBXB64 Compiler Help


GRAPHIC PIE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC PIE

Draw a pie section on the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC PIE ( x1! , y1! ) - ( x2! , y2! ), arcStart! , arcEnd! [, [ rgbColor& ] [ , [fillcolor& ] [ , [ fillstyle& ]]]]

Description

Draw a pie section on the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A pie section is an arc, with a line drawn from each end point to the center of the circle or ellipse. To specify a pie section, you would first define the full circle or ellipse of which it is a part, and then specify the points on the ellipse where the arc starts and stops.

The full circle or ellipse is defined by its bounding rectangle, which is the smallest rectangle which can be drawn around the circle or ellipse. For example, if the circle is centered at position (400,400), with a radius of 100 pixels, the upper left corner (x1,y1) of the bounding rectangle is (300,300), and the lower right corner (x2,y2) is (500,500).

The start point and end point of the arc are specified by their angle, which must be given in radians. A complete circle or ellipse is 2*pi radians. On a 12-hour clock-face, the values 0 and 2*pi both refer to the position of 3 o'clock, while the value 1*pi refers to the position of 9 o'clock. Other positions are specified by a radian value relative to these. In PowerBASIC, arcs are always drawn counter-clockwise from the starting point to the ending point.

Prior to any graphical operations, the graphic target must first be selected with GRAPHIC ATTACH . The Coordinates are specified in the same terms (pixels or dialog units) as the parent dialog (or world coordinates, if those were chosen with GRAPHIC SCALE ). Line width can be set using GRAPHIC WIDTH . If line width is set to 1 (the default), the line style can be set with GRAPHIC STYLE . Because of the nature of a pie section, GRAPHIC PIE neither uses, nor updates, graphic POS (last point referenced).

x1! , y1!

The upper left corner of the bounding rectangle of the full circle or ellipse.

x2! , y2!

The lower right corner of the bounding rectangle of the full circle or ellipse.

ArcStart!

The starting angle of the arc, in radians, from 0 to 2*pi.

ArcEnd!

The ending angle of the arc, in radians, from 0 to 2*pi radians. Note that arcs are always drawn counter-clockwise from arcStart! to arcEnd! . Compared with a 12-hour clock-face, 0 or 2*pi radians is at 3 o'clock, and 1*pi radians is at 9 o'clock.

rgbColor&

Optional RGB color of the pie section edge. If omitted (or -1), the edge color defaults to the current foreground color.

fillcolor&

Optional RGB color of the pie section interior. If fillcolor& is omitted (or -2), the interior of the pie section is not filled, allowing the background to show through. If fillcolor& is -1, the interior is painted with the same color as the edge. Otherwise, fillcolor& specifies the RGB color to be used.

fillstyle&

Optional fill style (pattern) to be used. If fillstyle& is omitted, the default fill style is solid (0). If a hatch pattern is chosen (1 to 6), the foreground color is specified by the fillcolor& , while the background is specified by the default background color. The optional fillstyle& may be:

Solid (default)

Horizontal Lines

Vertical Lines

Upward Diagonal Lines

Downward Diagonal Lines

Crossed Lines

Diagonal Crossed Lines

See also

  • Built In RGB Color Equates
  • GRAPHIC ARC
  • GRAPHIC ATTACH
  • GRAPHIC BOX
  • GRAPHIC COLOR
  • GRAPHIC ELLIPSE
  • GRAPHIC LINE
  • GRAPHIC SET OVERLAP
  • GRAPHIC STYLE
  • GRAPHIC WIDTH
  • PBXB64 Compiler Help


GRAPHIC POLYGON - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC POLYGON

Draw a polygon in the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC POLYGON points [,[ rgbColor& ] [, [ fillcolor& ] [,[ fillstyle& ] [, fillmode& ]]]]

Description

Draw a polygon in the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Coordinates are specified in Page Units . Line width can be set using GRAPHIC WIDTH . If line width is set to 1 (the default), the line style can be set with GRAPHIC STYLE . GRAPHIC POLYGON neither uses, nor updates, the last point referenced ( POS ).

points

User-defined type that defines the number of vertices and the location of each. There must be at least two, and no more than 1024 vertices. The first member is a long integer point count, followed directly by the appropriate number of single precision floats to specify the actual coordinates. Floating point coordinates are required, because of the possibility of their use as world coordinates with SCALE. You can use a type with a scalar list, like this:

TYPE PolyPoints

count as long

x1 as single

y1 as single

x2 as single

y2 as single

x3 as single

y3 as single

END TYPE

Or, you can create an array using point types, like this:

TYPE PolyPoint

x as single

y as single

END TYPE

TYPE PolyArray

count as long

xy(1 TO 3) as PolyPoint

END TYPE

rgbColor&

Optional RGB color of the polygon edge. If omitted (or -1), the edge color defaults to the current foreground color.

fillcolor&

Optional RGB color of the polygon interior. If fillcolor& is omitted (or -2), the interior of the ellipse is not filled, allowing the background to show through. If fillcolor& is -1, the interior is painted with the same color as the edge. Otherwise, fillcolor& specifies the RGB color to be used.

fillstyle&

Optional fill style (pattern) to be used. If fillstyle& is omitted, the default fill style is solid (0). If a hatch pattern is chosen (1 to 6), the foreground color is specified by the fillcolor& , while the background is specified by the default background color. The optional fillstyle& may be:

Solid (default)

Horizontal Lines

Vertical Lines

Upward Diagonal Lines

Downward Diagonal Lines

Crossed Lines

Diagonal Crossed Lines

fillmode&

If fillmode& is missing (or zero), the winding mode is selected. This fills any region with a non-zero winding value. If fillmode& is non-zero, the alternate mode is selected. This fills the area between odd-numbered and even-numbered polygon sides on each scan line. That is, it fills the area between the first side and the second side, between the third side and fourth side, etc.

See also

  • Built In RGB Color Equates
  • GRAPHIC ARC
  • GRAPHIC ATTACH
  • GRAPHIC BOX
  • GRAPHIC COLOR
  • GRAPHIC ELLIPSE
  • GRAPHIC LINE
  • GRAPHIC POLYLINE
  • GRAPHIC SET OVERLAP
  • GRAPHIC STYLE
  • GRAPHIC WIDTH
  • PBXB64 Compiler Help


GRAPHIC POLYLINE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC POLYLINE

Draw a series of connected line segments.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC POLYLINE points [, rgbColor& ]

Description

Draw a series of connected line segments.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Coordinates are specified in Page Units . Line width can be set using GRAPHIC WIDTH . If line width is set to 1 (the default), the line style can be set with GRAPHIC STYLE . GRAPHIC POLYLINE neither uses, nor updates, the last point referenced ( POS ).

Windows graphic conventions consider the final x and y coordinates to be exclusive. Therefore, by default, the final pixel is not drawn unless Overlap Mode is enabled. See GRAPHIC SET OVERLAP for details.

points

User-defined type that defines the number of vertices and the location of each. There must be at least two, and no more than 1024 vertices. The first member is a long integer point count, followed directly by the appropriate number of single precision floats to specify the actual coordinates. Floating point coordinates are required, because of the possibility of their use as world coordinates with SCALE. You can use a type with a scalar list, like this:

TYPE PolyPoints

count as long

x1 as single

y1 as single

x2 as single

y2 as single

x3 as single

y3 as single

END TYPE

Or, you can create an array using point types, like this:

TYPE PolyPoint

x as single

y as single

END TYPE

TYPE PolyArray

count as long

xy(1 TO 3) as PolyPoint

END TYPE

rgbColor&

Optional RGB color of the polyline. If omitted (or -1), the color defaults to the current foreground color.

See also

  • Built In RGB Color Equates
  • GRAPHIC ARC
  • GRAPHIC ATTACH
  • GRAPHIC BOX
  • GRAPHIC COLOR
  • GRAPHIC ELLIPSE
  • GRAPHIC LINE
  • GRAPHIC POLYGON
  • GRAPHIC SET OVERLAP
  • GRAPHIC STYLE
  • GRAPHIC WIDTH
  • PBXB64 Compiler Help


GRAPHIC PRINT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC PRINT

Output text to the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC PRINT [EXPRLIST] [POS( n )] [SPC( n )] [TAB( n )] [,] [;]...

Description

Output text to the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Prior to any graphical operations are executed, you should be certain that a graphic target has been selected, either by default, or with GRAPHIC ATTACH . The text color and the text background color are set with GRAPHIC COLOR . Text which extends beyond the bounds of the graphic target is clipped. The size of the text to be printed can be determined in advance with GRAPHIC TEXT SIZE , and formatted to fit a particular field with GRAPHIC SPLIT . Drawing begins at the last point referenced by another GRAPHIC procedure, or the point specified by GRAPHIC SET POS . The upper left corner of the text is positioned at the POS .

GRAPHIC PRINT has the following parts, which may occur in any order and quantity, within a single statement:

EXPRLIST

Numeric and/or string expression(s) to be written to the graphic target. A semicolon can be used as separator between multiple expressions in the same statement. Upon completion, the POS is moved to the left margin of the next line.

POS( n )

An optional function used to set the POS to the horizontal page unit ( pixel, dialog unit , scaled unit , etc.) specified by the numeric argument, Multiple uses of the POS function is permitted in a single statement. The vertical position of the POS is never changed.

SPC( n )

An optional function used to insert n spaces into the printed output. Multiple use of SPC is permitted in a single statement. Values of n less than 1 are ignored.

TAB( n )

An optional function used to tab to the nth column before printing the next expression. Multiple use of TAB is permitted in a single statement. Since TAB references columns , rather than pixels, it can give unpredictable results when used with a variable width font . It is best used with a fixed width font.

Special characters that determine the position of the next text item printed. A semicolon (;) means the next text item is printed immediately; a comma (,) means the next text item is printed at the start of the next print zone. Print zones begin every 14 columns.

If the final argument is a semicolon or comma, the POS is maintained at the current location, rather than the default action of moving to the start of the next line. For example:

GRAPHIC PRINT "Hello";

GRAPHIC PRINT " world!";

...produces the contiguous result "Hello world!"

If you omit all arguments, GRAPHIC PRINT just moves the POS to the left margin of the next line. Any control codes, such as Carriage Return, Line-Feed, and Backspace are not interpreted. They will display as symbols in the currently selected font.

USING$ is a separate function, which may be included in the ExprList. See the USING$() function for more information.

It is not possible to print a User-Defined Type (UDT), a Variant , an object variable, or an entire array . Individual member values must be extracted with the appropriate function before they can be displayed.

See also

  • GRAPHIC ATTACH
  • GRAPHIC(COL)
  • GRAPHIC(Chr.Size.X)
  • GRAPHIC SET FONT
  • GRAPHIC(POS.X)
  • GRAPHIC SET POS
  • GRAPHIC SET SCROLLTEXT
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • GRAPHIC SPLIT
  • GRAPHIC(TEXT.SIZE.X...)
  • USING$
  • PBXB64 Compiler Help


GRAPHIC REDRAW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC REDRAW

Update buffered graphical statements, drawing them to the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC REDRAW

Description

Update buffered graphical statements, drawing them to the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This statement is only needed when GRAPHIC ATTACH with the REDRAW option have been chosen for faster, buffered draw operations. Otherwise, it performs no operation.

All PowerBASIC graphical displays are persistent -- they are automatically redrawn for you after resuming from being minimized or temporarily covered by other windows.

In intensive drawing operations, it is preferable to delay the display until a number of statements have been performed by using the REDRAW option with the GRAPHIC ATTACH statement and the GRAPHIC REDRAW statement. This can improve the overall performance dramatically.

See also

  • GRAPHIC ATTACH
  • PBXB64 Compiler Help


GRAPHIC RENDER - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC RENDER

Render an image on the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC RENDER [BITMAP | ICON] ImgName , ( x1! , y1! )-( x2! , y2! )

Description

Render an image on the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Renders an image (bitmap or icon), loaded from a resource or a disk file, on the selected graphic target. The optional director word identifies whether the source is a b itmap or an icon. If not specified, Bitmap is the default.

The parameter ImgName tells the name of the image. If ImgName is a numeric resource ID, it can be given as a numeric expression or the string equivalent with a leading pound sign (e.g. "#10023"). Otherwise, the string resource ID or the file name is given as a string expression. If the string name contains a period, it's presumed to be the name of a disk file. Otherwise, an attempt is made to load it as a resource; if not found, it's presumed to be a disk file.

The parameters x1! , y1! define the upper left corner of the target rectangle, while x2! , y2! define the lower right corner of that rectangle. If the target rectangle is larger or smaller than the original, the image is stretched or condensed to the requested size.

The following code will retrieve the natural size of an image in a bitmap file, in pixels :

nFile& = FREEFILE

OPEN "myimage.bmp" FOR BINARY AS nFile&

GET #nFile&, 19, nWidth&

GET #nFile&, 23, nHeight&

CLOSE nFile&

See also

  • GRAPHIC COPY
  • GRAPHIC(STRETCHMODE)
  • GRAPHIC IMAGELIST
  • GRAPHIC SET STRETCHMODE
  • GRAPHIC STRETCH
  • PBXB64 Compiler Help


GRAPHIC SAVE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SAVE

Save an image to a bitmap (.BMP) file.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SAVE BmpName$

Description

Save an image to a bitmap (.BMP) file.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The selected graphic target (a graphic bitmap , control , or window , etc.) is saved to a disk file using the filename specified by BmpName$. The bitmap is always saved in a single plane, 24-bit format, to allow for the maximum (true color) resolution.

See also

  • CONTROL ADD GRAPHIC
  • GRAPHIC ATTACH
  • GRAPHIC BITMAP LOAD
  • GRAPHIC BITMAP NEW
  • PBXB64 Compiler Help


GRAPHIC SCALE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SCALE

Define a custom coordinate system for the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SCALE ( x1! , y1! ) - ( x2! , y2! )
GRAPHIC SCALE PIXELS

Description

Define a custom coordinate system for the

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The graphic tar get must first be chosen with GRAPHIC ATTACH . GRAPHIC SCALE lets you define your own world coordinate system for subsequent GRAPHIC statements. The custom coordinates remain with the graphic target until GRAPHIC SCALE is repeated, or the target is deleted. World coordinates may be floating point values, with the only requirement that x1! not equal x2!, and y1! not equal y2!. If either is equal, the statement is ignored.

If x2! is greater than x1! , coordinates grow larger as they move to the right. Otherwise, they grow larger as they move to the left.

If y2! is greater than y1! , coordinates grow larger as they move downward. Otherwise, they grow larger as they move upward.

By default, the position x2!/y2! translates to the first pixel which is outside of the client area, and therefore not drawn. However, if OVERLAP MODE is enabled by GRAPHIC SET OVERLAP , x2!/y2! translates to the final pixel in the client area and is drawn.

GRAPHIC SCALE PIXELS sets or resets the coordinate system to pixel coordinates. This can be particularly valuable when the original coordinates are in Dialog Units , since this provides increased resolution for other graphic functions.

Note: GRAPHIC SCALE will not work with negative numeric values - all numeric arguments must be positive.

See also

  • GRAPHIC ATTACH
  • GRAPHIC(COL)
  • GRAPHIC(Cell.Size.X)
  • GRAPHIC GET SCALE
  • GRAPHIC SET OVERLAP
  • PBXB64 Compiler Help


GRAPHIC SET AUTOSIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET AUTOSIZE

Expands a graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET AUTOSIZE nWidth , nHeight [,USERSIZE]

Description

Expands a graphic

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

AUTOSIZE mode allows the attached graphic target ( control or window )to display the contents of a virtual window , which may be larger or smaller. The entire contents of the virtual window are always displayed on the screen, so the image is stretched or condensed to fit properly. The physical size of the display area is not changed. If the graphic target is a bitmap , no operation is performed, as there is no display area.

This statement may be used to change a target to AUTOSIZE mode, or to change the sizes and UserSize option of an existing AUTOSIZE target.

When executed, a new virtual bitmap of the specified height and width is created. nWidth and nHeight are always specified in Pixels or Dialog Units , depending upon the original window creation. The new virtual bitmap is immediately filled with the original bitmap, but stretched or condensed to fit. This is done to avoid flashing effects which sometimes occur with a brief color change. Your program may now draw to the new bitmap in the normal fashion for a bitmap of the new size.

If a clip area had been established to create margins, it is reset. If scaled coordinates had been established, they are also reset, as neither would be appropriate for the altered size. You can enable these attributes again with GRAPHIC SCALE or GRAPHIC SET CLIP , based upon the new size of the drawing area. You can retrieve the size of the virtual drawing area, at any time, with GRAPHIC GET CANVAS .

AUTOSIZE mode is quite similar to VIRTUAL mode. Both create a virtual window which is the target of your drawing and text printing operations. The difference is the way in which they are displayed. VIRTUAL displays a viewport, smaller than the virtual window, which can be moved to various positions. This allows the user to view one selected section at a time. AUTOSIZE displays the entire virtual window, all of the time, by stretching or condensing it as needed.

If you add the USERSIZE option, an attached graphic window is displayed with a thick frame, which allows the user to "drag" the edges to a new size at any time. This option is not appropriate for a graphic control, and is ignored in that case.

See also

  • GRAPHIC(CANVAS.X)
  • GRAPHIC SCALE
  • GRAPHIC SET CLIP
  • GRAPHIC SET FIXED
  • GRAPHIC SET VIRTUAL
  • PBXB64 Compiler Help


GRAPHIC SET BITS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET BITS

Replace a copy of a bitmap that was retrieved as a device-independent bitmap.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET BITS bitexpr$

Description

Replace a copy of a bitmap that was retrieved as a device-independent bitmap.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This statement replaces a bitmap that was originally retrieved with the GRAPHIC GET BITS statement. The bitmap is assigned to the selected graphic target from the string expression specified by bitexpr$ . This allows you to make many modifications to the bitmap very quickly, particularly operations which may not be directly supported by PowerBASIC. For example, a typical use might be to change all red pixels in a bitmap to blue.

The bitexpr$ string contains a series of four- byte values, each of which represents a long integer . You can convert the four-byte string sections to numeric values with the CVL function, and convert a numeric value to a four-byte string with MKL$ . The first four-byte value specifies the width of the bitmap, in pixels, and the second specifies the height. Following that will be one four-byte value for each pixel in the bitmap, which represents the color of that pixel. So, a 20 by 20 bitmap would have 400 pixels and require 1600 bytes (400 * 4), plus 4 bytes for the width and 4 bytes for the height, or a total of 1608 bytes.

The first four-byte pixel value in the string represents the top-left corner of the image, the second represents the second pixel of the first row, and so on. After the last pixel of the first row will be the first pixel of the second row, etc.

If execution speed is most important, it's likely that the string can be manipulated most efficiently with pointer variables.

Some Windows API functions, namely those which reference Device-Independent Bitmaps (DIB), require that colors be specified in the reverse of normal RGB sequence (Blue-Green-Red instead of Red-Green-Blue). To maximize performance, GRAPHIC SET BITS uses BGR format as well. You can use the BGR function to translate an RGB value to its BGR equivalent.

See also

  • Built In RGB Color Equates
  • BGR
  • CVBYT
  • GRAPHIC GET BITS
  • MKBYT$
  • RGB
  • PBXB64 Compiler Help


GRAPHIC SET CAPTION - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET CAPTION

Change the caption on a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET CAPTION CaptionExpr$

Description

Change the caption on a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If the selected Graphic Target has a title bar, the caption is changed to the contents of the string expression .

See also

  • GRAPHIC WINDOW
  • PBXB64 Compiler Help


GRAPHIC SET CLIENT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET CLIENT

Change the size of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET CLIENT nWide& , nHigh&

Description

Change the size of a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Client size may be smaller than overall size, depending on the type of borders used. The client area is the part inside the borders, which varies depending upon the style and exstyle at creation. Overall size includes the borders. A graphic target with a border will typically have a larger overall size than one without a border.

Beginning with this version of PowerBASIC, GRAPHIC CONTROLS may be resized with CONTROL SET CLIENT , GRAPHIC SET CLIENT, CONTROL SET SIZE , and GRAPHIC SET SIZE .

The original bitmap is copied, pixel for pixel, to the newly resized graphic control or window. Any expanded area is filled with the current background color. Your program draws to it in the normal fashion for a bitmap of the new size.

If a clip area had been established to create margins, it is reset. If scaled coordinates had been established, they are also reset, as neither would be appropriate for the altered size. You can enable these attributes again with GRAPHIC SCALE or GRAPHIC SET CLIP , based upon the new size of the drawing area.

See also

  • CONTROL GET CLIENT
  • CONTROL GET SIZE
  • CONTROL SET CLIENT
  • CONTROL SET SIZE
  • GRAPHIC(CANVAS.X)
  • GRAPHIC(Client.X)
  • GRAPHIC(SIZE.X)
  • GRAPHIC SET CLIP
  • GRAPHIC SET SIZE
  • PBXB64 Compiler Help


GRAPHIC SET CLIP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET CLIP

Establishes margins around the outer edges of the graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET CLIP LeftMargin! , TopMargin! , RightMargin! , BottomMargin!

Description

Establishes margins around the outer edges of the graphic

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This statement establishes margins on any or all sides of the graphic target. All subsequent GRAPHIC operations are "clipped" on these boundaries, so that no additional text or graphics are displayed in these protected areas. However, the margins are not erased, so anything already written in these areas will remain unchanged.

Each of the 4 parameters is specified in the PAGE UNITS currently in effect. However, as this statement changes the target space available to you, the page units are immediately set to pixels . The upper left corner of the clip area is now addressed as point (0,0), while the right and bottom limits are reduced by the size of the margins. If you would prefer to use Scaled Page Units for this revised clip area, you must execute a new GRAPHIC SCALE .

GRAPHIC SET CLIP is particularly useful for displaying text , where enclosing "white space" improves the appearance a good deal.

You can disable a clip area by executing GRAPHIC SET CLIP 0,0,0,0.

See also

  • GRAPHIC(Clip.X)
  • GRAPHIC SCALE
  • PBXB64 Compiler Help


GRAPHIC SET FIXED - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET FIXED

Restores a graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET FIXED

Description

Restores a graphic

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The attached graphic target ( control or window ) is restored to the standard FIXED mode. The drawing area is set equal to the physical size of the display area, which is not changed.

When executed, it is assumed that the graphic subsystem is set to AUTOSIZE or VIRTUAL mode. If not, no operation is performed. A new bitmap of the client area size is created. The original bitmap is copied, pixel for pixel, at the existing size. Any expanded area is filled with the current background color . Your program draws to it in the normal fashion for a bitmap of the new size.

If a clip area had been established to create margins, it is reset. If scaled coordinates had been established, they are also reset, as neither would be appropriate for the altered size. You can enable these attributes again with GRAPHIC SCALE or GRAPHIC SET CLIP , based upon the new size of the drawing area. You can retrieve the size of the drawing area with GRAPHIC GET CANVAS or GRAPHIC GET CLIENT .

See also

  • GRAPHIC(CANVAS.X)
  • GRAPHIC(Client.X)
  • GRAPHIC SCALE
  • GRAPHIC SET AUTOSIZE
  • GRAPHIC SET VIRTUAL
  • PBXB64 Compiler Help


GRAPHIC SET FOCUS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET FOCUS

Bring the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET FOCUS

Description

Bring the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A graphic window must first be chosen with GRAPHIC ATTACH . The GRAPHIC SET FOCUS statement brings the graphic window to the foreground, directing focus to it. This is particularly useful when another window may overlap the graphic window.

See also

  • GRAPHIC ATTACH
  • GRAPHIC WINDOW
  • PBXB64 Compiler Help


GRAPHIC SET FONT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET FONT

Select a font for use on the graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET FONT fonthndl&

Description

Select a font for use on the graphic

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The font specified by fonthndl& is selected to be used by all of the following GRAPHIC PRINT , GRAPHIC INPUT , and GRAPHIC LINE INPUT statements. This is the most efficient way to change fonts and their general appearance (size, style, etc.). If you specify a fonthndl& of zero, the font is changed back to the original default font chosen by PowerBASIC.

You can predefine virtually any number of fonts and attributes by executing FONT NEW statements for each of them. That makes them ready for immediate use when selected by GRAPHIC SET FONT.

If no specific font is selected, the default font is MS Sans Serif, 8 point, with no style attributes.

Restrictions

GRAPHIC SET FONT replaces GRAPHIC FONT. Note that the GRAPHIC FONT statement is no longer supported, so update your code to use the new syntax.

See also

  • FONT NEW
  • GRAPHIC ATTACH
  • GRAPHIC(COL)
  • GRAPHIC(Cell.Size.X)
  • GRAPHIC(Chr.Size.X)
  • GRAPHIC INPUT
  • GRAPHIC LINE INPUT
  • GRAPHIC PRINT
  • GRAPHIC(TEXT.SIZE.X...)
  • PBXB64 Compiler Help


GRAPHIC SET LOC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET LOC

Change the location of the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET LOC x& , y&

Description

Change the location of the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This statement changes the location of the selected Graphic Window. If no graphic target is selected, or it is not a Graphic Window, no action is taken. The location is always given in pixels, relative to the upper left corner of the screen.

See also

  • GRAPHIC ATTACH
  • GRAPHIC(LOC.X)
  • GRAPHIC(PPI.X)
  • PBXB64 Compiler Help


GRAPHIC SET MIX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET MIX

Set the color mix mode for the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET MIX mode&

Description

Set the color mix mode for the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

There are 16 mix modes available to use for mixing the drawing color with the color that already exists at the drawing location. The mix mode equates are predefined in PowerBASIC.

%mix_Blackness

Pixel is always 0 (black).

%mix_NotMergeSrc

Pixel is the inverse of the MergeSrc color.

%mix_MaskNotSrc

Pixel is a combination of the colors common to both the pixel and the inverse of the source.

%mix_NotCopySrc

Pixel is the inverse of the pen color.

%mix_MaskSrcNot

Pixel is a combination of the colors common to both the source and the inverse of the pixel.

%mix_Not

Pixel is the inverse of the pixel color.

%mix_XorSrc

Pixel is a combination of the colors in the source and in the pixel, but not in both.

%mix_NotMaskSrc

Pixel is the inverse of the MaskSrc color.

%mix_MaskSrc

Pixel is a combination of the colors common to both the source and the pixel.

%mix_NotXorSrc

Pixel is the inverse of the XorSrc color.

%mix_Nop

Pixel remains unchanged.

%mix_MergeNotSrc

Pixel is a combination of the source color and the inverse of the pixel color.

%mix_CopySrc

Pixel is the source color (default).

%mix_MergeSrcNot

Pixel is a combination of the source color and the inverse of the pixel color.

%mix_MergeSrc

Pixel is a combination of the source color and the pixel color.

%mix_Whiteness

Pixel is always 1 (white).

See also

  • GRAPHIC ATTACH
  • GRAPHIC(MIX)
  • PBXB64 Compiler Help


GRAPHIC SET OVERLAP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET OVERLAP

Enables or disables Graphic Overlap Mode.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET OVERLAP [ NumrExpr& ]

Description

Enables or disables Graphic Overlap Mode.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC SET OVERLAP enables or disables overlap mode for the graphic target which is currently attached to the graphic stream . It has no effect on any other graphic target. If NumrExpr& is true (non-zero), overlap mode is enabled. If false (zero), wrap mode is disabled. If NumrExpr& is missing, the default is to enable Overlap Mode.

With Overlap Mode, you control how PowerBASIC treats graphic operations which involve a RECT structure in their definition. Windows graphic conventions consider the bottom and right coordinates of a RECT to be exclusive. In other words, the pixels at the bottom and right edges lie immediately outside the rectangle. They are not drawn, but are ignored. For example:

GRAPHIC BOX (0,0) - (50,50)

In this case, a box is drawn from 0,0 to 49,49. The final pixels at the bottom and right edge are simply not drawn. However, if Overlap Mode is enabled with GRAPHIC SET OVERLAP, the box is drawn from 0,0 to 50,50.

The Overlap Mode affects drawing operations involving GRAPHIC SCALE , GRAPHIC BOX , GRAPHIC ELLIPSE , GRAPHIC LINE , GRAPHIC POLYLINE , etc.

See also

  • GRAPHIC(OVERLAP)
  • PBXB64 Compiler Help


GRAPHIC SET PIXEL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET PIXEL

Draw a single

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET PIXEL [STEP] ( x! , y! ) [, rgbColor& ]

Description

Draw a single

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The coordinate point is specified in Page Units . If the STEP option is included, the x! and y! coordinates are relative to the last point referenced ( POS ).

See also

  • Built In RGB Color Equates
  • GRAPHIC COLOR
  • GRAPHIC(PIXEL...)
  • GRAPHIC SET BITS
  • PBXB64 Compiler Help


GRAPHIC SET POS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET POS

Set the last point referenced (POS) for the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET POS [STEP] ( x! , y! )

Description

Set the last point referenced (POS) for the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The coordinate point is specified in Page Units . If the STEP option is included, the x! and y! coordinates are relative to the last point referenced (POS).

See also

  • GRAPHIC ATTACH
  • GRAPHIC(COL)
  • GRAPHIC(POS.X)
  • GRAPHIC SCALE
  • PBXB64 Compiler Help


GRAPHIC SET SCROLLTEXT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET SCROLLTEXT

Enables or disables Graphic ScrollText Mode.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET SCROLLTEXT [ NumrExpr& ]

Description

Enables or disables Graphic ScrollText Mode.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC SET SCROLLTEXT enables or disables scroll mode for the graphic target which is currently attached to the graphic stream . It has no effect on any other graphic target. If NumrExpr& is true (non-zero), ScrollText mode is enabled. If false (zero), the mode is disabled. If NumrExpr& is missing, the default is to enable ScrollText Mode.

With ScrollText Mode, you can control how PowerBASIC prints text on a graphic target when it reaches the end of a page. Since a graphic target operates on a full page basis, the default is to ignore text which is printed past the end of the page.

When ScrollText Mode is enabled, scrolling of a page is triggered only by GRAPHIC PRINT . If the POS (last point referenced) is located on the bottom row of the graphic target, and a GRAPHIC PRINT statement moves the POS off of the page, the entire contents of the graphic target is scrolled one row, and a new blank row is opened at the bottom.

See also

  • GRAPHIC(SCROLLTEXT)
  • GRAPHIC SET AUTOSIZE
  • GRAPHIC SET VIRTUAL
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • PBXB64 Compiler Help


GRAPHIC SET SIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET SIZE

Change the overall size of a graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET SIZE nWide& , nHigh&

Description

Change the overall size of a graphic

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Overall size may be larger than client size, depending on the type of borders used. The client area is the part inside the borders, while overall size includes the borders. A graphic target with a border will typically have a larger overall size than one without a border.

Beginning with this version of PowerBASIC, GRAPHIC CONTROLS may be resized with CONTROL SET CLIENT , GRAPHIC SET CLIENT , CONTROL SET SIZE , and GRAPHIC SET SIZE.

The original bitmap is copied, pixel for pixel, to the newly resized control. Any expanded area is filled with the current background color . Your program draws to it in the normal fashion for a bitmap of the new size.

If a clip area had been established to create margins, it is reset. If scaled coordinates had been established, they are also reset, as neither would be appropriate for the altered size. You can enable these attributes again with GRAPHIC SCALE or GRAPHIC SET CLIP , based upon the new size of the drawing area.

nWide& , nHigh&

Integral numeric expressions which specify the desired size of the overall area. Width and height are specified in pixels or dialog units , depending upon the system used at creation.

See also

  • CONTROL SET CLIENT
  • CONTROL SET SIZE
  • GRAPHIC(SIZE.X)
  • GRAPHIC SET CLIENT
  • PBXB64 Compiler Help


GRAPHIC SET STRETCHMODE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET STRETCHMODE

Sets the default bitmap stretching mode for the current

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET STRETCHMODE ModeExpr

Description

Sets the default bitmap stretching mode for the current

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

There are several operations in PowerBASIC which involve stretching or condensing images on bitmaps, most notably GRAPHIC STRETCH . As individual pixels must be added or removed, there is a good chance that the quality of the image will be degraded. However, if you describe the nature of the image by defining a StretchMode, you can substantially enhance the appearance.

The default StretchMode is maintained individually for each DC. You can set the default mode with this statement, or retrieve it with GRAPHIC GET STRETCHMODE . Of course, you can also override the default StretchMode when you execute one of the affected statements.

The 4 stretch mode equates are predefined in PowerBASIC.

Equate

Description

%BLACKONWHITE

This is the default Windows stretch mode, and is most appropriate for monochrome bitmaps, or those with blocks of color. Performs a boolean OR of eliminated and existing pixels. It preserves black pixels at the expense of white pixels.

%WHITEONBLACK

Performs a boolean OR of eliminated and existing pixels. It preserves white pixels at the expense of black pixels.

%COLORONCOLOR

Deletes eliminated lines of pixels without trying to preserve their information.

%HALFTONE

This provides the highest quality for complex color bitmaps. The average color of the destination pixel block is kept approximately the same as the source pixel block.

See also

  • GRAPHIC BITMAP LOAD
  • GRAPHIC COPY
  • GRAPHIC(STRETCHMODE)
  • GRAPHIC RENDER
  • GRAPHIC STRETCH
  • PBXB64 Compiler Help


GRAPHIC SET VIEW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET VIEW

Changes the position of the viewport on a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET VIEW XPos , YPos

Description

Changes the position of the viewport on a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Moves the position of the viewport to the new position on a virtual graphic target. The position is specified in Page Units . If no graphic target has been attached, or no virtual window has been created, then no operation is performed.

See also

  • GRAPHIC(View.X)
  • GRAPHIC SET AUTOSIZE
  • GRAPHIC SET VIRTUAL
  • PBXB64 Compiler Help


GRAPHIC SET VIRTUAL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET VIRTUAL

Expands a graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET VIRTUAL nWidth& , nHeight& [,USERSIZE]

Description

Expands a graphic

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

VIRTUAL mode allows the attached graphic target ( control or window ) to display the contents of a larger virtual window. The physical size of the display area is not changed. Instead, the display area acts as a smaller viewport , which can be moved around the larger virtual window to view one section at a time. The physical size of the display area is not changed. If the graphic target is a bitmap , no operation is performed, as there would be no display area.

This statement may be used to change a target to VIRTUAL mode, or to change the sizes and UserSize option of an existing VIRTUAL target.

When executed, a new virtual bitmap of the specified height and width is created. nWidth& and nHeight& are always specified in Pixels or Dialog Units , depending upon the original window creation. The original bitmap is copied, pixel for pixel, at the existing size. Any expanded area is filled with the current background color . Your program draws to it in the normal fashion for a bitmap of the new size. Scroll bars are added so the user can move the viewport to the desired section. The size of the viewport is not changed.

The graphic viewport is initially placed at the upper-left corner of the virtual window. If a clip area had been established to create margins, it is reset. If scaled coordinates had been established, they are also reset, as neither would be appropriate for the altered size. You can enable these attributes again with GRAPHIC SCALE or GRAPHIC SET CLIP , based upon the new size of the drawing area. You can retrieve the size of the virtual drawing area, at any time, with GRAPHIC GET CANVAS .

The graphic viewport can be moved by clicking the scrollbars, or by moving the mouse wheel to alter the vertical position. Depressing the control key, along with the mouse wheel, alters the horizontal position. In addition, the cursor movement keys (Left, Right, Up, Down, PageUp, PageDown, Home, End) may also be used for this purpose. VIRTUAL mode is quite similar to AUTOSIZE mode. Both create a virtual window which is the target of your drawing and text printing operations. The difference is the way in which they are displayed.

VIRTUAL displays a viewport, smaller than the virtual window, which can be moved to various positions. This allows the user to view one selected section at a time. AUTOSIZE displays the entire virtual window, all of the time, by stretching or condensing it as needed.

If you add the USERSIZE option, an attached graphic window is displayed with a thick frame, which allows the user to "drag" the edges to a new size at any time. This option is not appropriate for a graphic control, and is ignored in that case.

Generally speaking, it is not advisable to enable ScrollText mode on a virtual graphic window, as the display may be confusing to the user.

See also

  • GRAPHIC(CANVAS.X)
  • GRAPHIC(View.X)
  • GRAPHIC SET AUTOSIZE
  • GRAPHIC SET FIXED
  • GRAPHIC SET VIEW
  • PBXB64 Compiler Help


GRAPHIC SET WORDWRAP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET WORDWRAP

Enables or disables Graphic WordWrap Mode.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET WORDWRAP [ NumrExpr& ]

Description

Enables or disables Graphic WordWrap Mode.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC SET WORDWRAP enables or disables WordWrap mode for the graphic target which is currently attached to the graphic stream . It has no effect on any other graphic target. If NumrExpr& is true (non-zero), WordWrap mode is enabled. If false (zero), wrap mode is disabled. If NumrExpr& is missing, the default is to enable WordWrap Mode.

With WordWrap Mode, you can control how PowerBASIC prints text on a graphic target when it reaches the end of a line. Since a graphic target operates on a full page basis, the default is to ignore text which is printed past the end of the line.

When WordWrap mode is enabled, it affects only GRAPHIC PRINT operations. If GRAPHIC PRINT attempts to display a word beyond the end of a row, the entire word is automatically wrapped to the first column of the next row.

See also

  • GRAPHIC(COL)
  • GRAPHIC(WORDWRAP)
  • GRAPHIC SET WRAP
  • GRAPHIC SPLIT
  • PBXB64 Compiler Help


GRAPHIC SET WRAP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SET WRAP

Enables or disables Graphic Wrap Mode.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SET WRAP [ NumrExpr& ]

Description

Enables or disables Graphic Wrap Mode.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC SET WRAP enables or disables wrap mode for the graphic target which is currently attached to the graphic stream . It has no effect on any other graphic target. If NumrExpr& is true (non-zero), wrap mode is enabled. If false (zero), wrap mode is disabled. If NumrExpr& is missing, the default is to enable Wrap Mode.

With Wrap Mode, you can control how PowerBASIC prints text on a graphic target when it reaches the end of a line. Since a graphic target operates on a full page basis, the default is to ignore text which is printed past the end of the line.

When Wrap Mode is enabled, it affects only GRAPHIC PRINT operations. If GRAPHIC PRINT attempts to display a character beyond the end of a row, it is automatically wrapped to the first column of the next row.

See also

  • GRAPHIC(COL)
  • GRAPHIC(WRAP)
  • GRAPHIC PRINT
  • GRAPHIC SET SCROLLTEXT
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SPLIT
  • PBXB64 Compiler Help


GRAPHIC SPLIT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC SPLIT

Splits a string into two parts for display on a graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC SPLIT [WORD] MainStr , Part1Len To Part1Var , Part2Var

Description

Splits a string into two parts for display on a graphic

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Generally speaking, GRAPHIC SPLIT allows you to determine how much text will fit on a line (or a line section), so you don't overrun the end. This is critical with variable-width fonts. Since these text characters have different widths, you cannot rely on a simple character count.

GRAPHIC SPLIT separates the MainStr string expression into two parts, which are then assigned to the two string variables specified by Part1Var and Part2Var. The numeric expression Part1Len specifies the maximum width of the print field, using page units (pixels, dialog units, scaled units ). After completion of GRAPHIC SPLIT, the Part1Var will contain those characters which can be safely displayed in the print field. The Part2Var will contain the remaining characters, which might be displayed on following lines.

Since this operation creates a " line break" not contemplated in the original text, you may have to modify the results in order to obtain the best appearance. For example, it's usually best to remove any leading spaces from Part2Var before printing it.

If the WORD option is included, PowerBASIC guarantees that Part1Var will not end on a partial word. This may require that Part1Len is adjusted to a smaller value. In that case, Part2Var would be assigned these characters to compensate.

See also

  • GRAPHIC(COL)
  • GRAPHIC PRINT
  • GRAPHIC SET SCROLLTEXT
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • SPLIT
  • PBXB64 Compiler Help


GRAPHIC STRETCH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC STRETCH

Copy and resize a bitmap to the selected

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC STRETCH hBmp , ID , ( x1 , y1 )-( x2 , y2 ) TO ( x3 , y3 )-( x4 , y4 ) [, Mix , Stretch ]
GRAPHIC STRETCH PAGE hBmp , ID [, Mix , Stretch ]

Description

Copy and resize a bitmap to the selected

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

You can copy a complete bitmap, or a portion of it, to the selected graphic target , while resizing it to a larger or smaller size. The handle variable hBmp specifies the handle of the source bitmap, control, or window. The parameter ID is the control identifier (1 to 65535) assigned with the CONTROL ADD GRAPHIC . ID must be zero (0) for a GRAPHIC WIN DOW or a bitmap . The destination of the stretch operation is always the attached graphic target. The bitmap is automatically resized to fit the destination parameters. You must use care that your parameters are valid for the specified bitmap, or the result of the operation is undefined.

The second form, GRAPHIC STRETCH PAGE, is a shortcut for copying a complete bitmap to the clip or client area of the selected graphic target. The image is automatically stretched or condensed to fit the target appropriately.

If the Mix parameter is included, it is one of the values in the following table. If not included, or the value zero (0), a default of %mix_CopySrc is presumed. There are 16 mix modes available to use for mixing drawing colors with the colors which already exist at the drawing location. The mix mode equates are predefined in PowerBASIC.

%mix_Blackness

Pixel is always 0 (black).

%mix_NotMergeSrc

Pixel is the inverse of the MergeSrc color.

%mix_MaskNotSrc

Pixel is a combination of the colors common to both the pixel and the inverse of the source.

%mix_NotCopySrc

Pixel is the inverse of the pen color.

%mix_MaskSrcNot

Pixel is a combination of the colors common to both the source and the inverse of the pixel.

%mix_Not

Pixel is the inverse of the pixel color.

%mix_XorSrc

Pixel is a combination of the colors in the source and in the pixel, but not in both.

%mix_NotMaskSrc

Pixel is the inverse of the MaskSrc color.

%mix_MaskSrc

Pixel is a combination of the colors common to both the source and the pixel.

%mix_NotXorSrc

Pixel is the inverse of the XorSrc color.

%mix_Nop

Pixel remains unchanged.

%mix_MergeNotSrc

Pixel is a combination of the source color and the inverse of the pixel color.

%mix_CopySrc

Pixel is the source color (default).

%mix_MergeSrcNot

Pixel is a combination of the source color and the inverse of the pixel color.

%mix_MergeSrc

Pixel is a combination of the source color and the pixel color.

%mix_Whiteness

Pixel is always 1 (white).

Stretch

If the stretch& parameter is included, it is one of the values in the following table. If not included, or it is the value zero (0), the stretch mode is unchanged. An appropriate choice of stretch mode can substantially enhance the quality of bitmaps which are changed in size. The stretch mode equates are predefined in PowerBASIC.

Equate

Description

%BLACKONWHITE

This is the default Windows stretch mode, and is most appropriate for monochrome bitmaps, or those with blocks of color. Performs a boolean OR of eliminated and existing pixels. It preserves black pixels at the expense of white pixels.

%WHITEONBLACK

Performs a boolean OR of eliminated and existing pixels. It preserves white pixels at the expense of black pixels.

%COLORONCOLOR

Deletes eliminated lines of pixels without trying to preserve their information.

%HALFTONE

This provides the highest quality for complex color bitmaps. The average color of the destination pixel block is kept approximately the same as the source pixel block.

See also

  • GRAPHIC COPY
  • GRAPHIC IMAGELIST
  • GRAPHIC RENDER
  • GRAPHIC SET STRETCHMODE
  • PBXB64 Compiler Help


GRAPHIC STYLE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC STYLE

Set the line style to be used by various graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC STYLE linestyle&

Description

Set the line style to be used by various graphic

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The graphic target must first be selected with GRAPHIC ATTACH . Due to limitations in the Windows graphics device interface (GDI), styles are only applied if the line width is set to 1, the default. If the line width is greater than 1, the style is interpreted as 0, solid.

Available line styles are:

Solid (default)

DashDot

DashDotDot

See also

  • GRAPHIC ARC
  • GRAPHIC ATTACH
  • GRAPHIC BOX
  • GRAPHIC ELLIPSE
  • GRAPHIC LINE
  • GRAPHIC PIE
  • GRAPHIC WIDTH
  • PBXB64 Compiler Help


GRAPHIC(TEXT.SIZE.X...) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC(TEXT.SIZE.X...)

Calculate the size of text to be

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC TEXT SIZE txt$ TO WidthVar! , HeightVar!
Function Form:
WidthVar! = GRAPHIC(TEXT.SIZE.X, txt$ )
HeightVar! = GRAPHIC(TEXT.SIZE.Y, txt$ )

Description

Calculate the size of text to be

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This statement calculates the total size of the printed text, based upon the current font for the graphic target . The sizes returned are specified in Page Units .

This allows you to easily calculate the appropriate print position, particularly when using a proportional font.

See also

  • FONT NEW
  • GRAPHIC(COL)
  • GRAPHIC(Cell.Size.X)
  • GRAPHIC(Chr.Size.X)
  • GRAPHIC PRINT
  • GRAPHIC SET FONT
  • GRAPHIC SCALE
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • GRAPHIC SPLIT
  • PBXB64 Compiler Help


GRAPHIC$(WAITKEY$) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC$(WAITKEY$)

Reads a keyboard character or extended key, waiting until one is ready.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC WAITKEY$ [To WaitVar$ ]
GRAPHIC WAITKEY$ ([ KeyMask$ ] [, TimeOut& ]) [TO WaitVar$ ]
Function Form:
WaitVar$ = GRAPHIC$(WAITKEY$)
WaitVar$ = GRAPHIC$(WAITKEY$, [ KeyMask$ ] [, TimeOutVal& ])

Description

Reads a keyboard character or extended key, waiting until one is ready.

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Reads a character or extended key from the keyboard without echoing anything to the screen. If no data is available, GRAPHIC WAITKEY$ will wait for an event to occur. It is very similar to GRAPHIC INKEY$, except that it waits for input to be available. While waiting, time slices are released to the operating system to reduce CPU load.

It returns a string of one or two characters if a key was pressed. If the TO clause is omitted, the keyboard character is discarded.

If the optional KeyMask$ expression is included, only a limited set of keys are recognized. KeyMask$ may include any number of Sub-Masks, one for each key to observe. For example, GRAPHIC WAITKEY$("YyNn") will recognize upper-case or lower-case Y or N (for yes/no answers), while any other key will be ignored. If KeyMask$ is omitted, or evaluates to a zero-length string, any key event will be recognized.

If the optional TimeOutVal& expression is included, it tells the maximum number of milliseconds to wait for a key. GRAPHIC WAITKEY$(5000) will wait a maximum of 5 seconds. The specified TimeOut period will only be approximate, so you should not rely upon precision accuracy. If the TimeOut period is exceeded, a zero-length string is returned. If the TimeOutVal& parameter is omitted, or evaluates to zero (0), it will wait an infinite length of time. The maximum TimeOut& permitted is one hour.

A string length of one ( LEN (i$) = 1) means that a standard character key was pressed. The result string contains the character. An ASC ()value between 1 and 31 indicates a control code.

A string length of two (LEN(i$) = 2) means that an extended key was pressed. In this case, the first character in the result string has an ASC() value of zero (0), and the second is the extended keyboard scan code. For example, pressing the F1 key will return CHR$ (0, 59).

See also

  • GRAPHIC$(INKEY$)
  • GRAPHIC INPUT
  • GRAPHIC INPUT FLUSH
  • GRAPHIC(INSTAT)
  • GRAPHIC LINE INPUT
  • PBXB64 Compiler Help


GRAPHIC WIDTH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC WIDTH

Set the line width to be used by various graphic

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC WIDTH linewidth&

Description

Set the line width to be used by various graphic

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If line width is set to a value greater than 1 (default), the line style is always interpreted to be 0 (solid).

See also

  • GRAPHIC ARC
  • GRAPHIC BOX
  • GRAPHIC ELLIPSE
  • GRAPHIC LINE
  • GRAPHIC PIE
  • GRAPHIC STYLE
  • PBXB64 Compiler Help


GRAPHIC WINDOW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC WINDOW

Creates a new standalone graphic window.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC WINDOW NEW Caption$ , x& , y& , n Width& , n Height& [, hFont ] TO hWinVar [,HIDE|NORMALIZE]
GRAPHIC WINDOW TEXT Caption$ , x& , y& , n Rows& , n Columns& [, hFont ] TO hWinVar [,HIDE|NORMALIZE]

Description

Creates a new standalone graphic window.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A Graphic Window is a standalone window which is used to display most any form of text and graphics. After a graphic window has been created with this statement, GRAPHIC ATTACH would normally be used to choose it as the selected graphic target. However, if there is no selected graphic target at the time of creation, the new Graphic Window is automatically attached and selected. You can then draw text, lines , circles , and other forms with various statements.

GRAPHIC WINDOW END can be used to close and destroy the selected Graphic window at any time. Otherwise, the window is automatically destroyed when the program ends.

All PowerBASIC graphical displays are persistent -- they are automatically redrawn for you after resuming from being minimized or temporarily covered by other windows.

The TEXT option is used to create a window oriented more towards the display of text. The size of the window is specified in rows and columns (rather than pixels ), based upon the size of initial font -- the default font (MS Sans Serif, 8 point) or the optional initial font specified by the Font parameter. This does not limit the ability to display graphics, as e very graphic function is still available. It simply makes it easier to create a window of the desired size. This option is best used with fonts which have a fixed width for each character (Courier, Lucida, etc.).

The parameter Caption$ contains the text to be displayed in the title or caption bar of the graphic window. If caption$ is empty (zero-length), the window is displayed without a title bar, so the appearance is different and the window cannot be dragged by the user.

The parameters x& and y& specify the location of the window, in pixels, relative to the upper left corner of the desktop.

The parameter nWidth& gives the width of the client area of the window, not including the frame. The width is specified in pixels.

The Parameter nHeight& gives the height of the client area of the window, not including the frame. The height is specified in pixels.

The parameter hFont specifies the handle of the initial font to be used in the GRAPHIC WINDOW. If this optional parameter is included, it is the handle of a font created with FONT NEW . This parameter is particularly important when you use the TEXT option, as the size of the window is based upon the size of the initial font. If not included, the default font (MS Sans Serif, 8 point) is selected for you.

The Long / DWord variable hWinVar receives the handle of the newly created window. If the window could not be created, hWinVar is assigned the value zero (0).

The option words HIDE or NORMALIZE determine whether the window will be made visible immediately. You may wish to initially hide the window so you can first make additional changes to it, such as with the GRAPHIC WINDOW STABILIZE statement. If neither HIDE nor NORMALIZE is chosen, the default is to show it immediately.

A newly-created GRAPHIC WINDOW automatically receives the focus. That is, keyboard input is directed to the graphic window until it is closed, or you choose another focus target.

See also

  • CONTROL ADD GRAPHIC
  • GRAPHIC ATTACH
  • GRAPHIC(COL)
  • GRAPHIC COLOR
  • GRAPHIC DETACH
  • GRAPHIC SET AUTOSIZE
  • GRAPHIC SET CAPTION
  • GRAPHIC SET CLIENT
  • GRAPHIC SET CLIP
  • GRAPHIC SET FIXED
  • GRAPHIC SET FONT
  • GRAPHIC SET LOC
  • GRAPHIC SET OVERLAP
  • GRAPHIC SET SCROLLTEXT
  • GRAPHIC SET SIZE
  • GRAPHIC SET STRETCHMODE
  • GRAPHIC SET VIRTUAL
  • GRAPHIC SET WORDWRAP
  • GRAPHIC SET WRAP
  • GRAPHIC WINDOW CLICK
  • GRAPHIC WINDOW END
  • GRAPHIC WINDOW HIDE
  • GRAPHIC WINDOW MINIMIZE
  • GRAPHIC WINDOW NONSTABLE
  • GRAPHIC WINDOW NORMALIZE
  • GRAPHIC WINDOW STABILIZE
  • TXT pseudo-object
  • PBXB64 Compiler Help


GRAPHIC WINDOW CLICK - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC WINDOW CLICK

Check whether a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC WINDOW CLICK [ hwin& ] TO click& , x! , y!

Description

Check whether a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GRAPHIC WINDOW CLICK checks whether the specified GRAPHIC WINDOW has been clicked since the last time this statement was executed on this window. If so, the value one (1) is assigned to the click& variable for a single click, or two (2) for a double click. Also, the mouse position is assigned to x! and y! . If the has been no click, the value zero (0) is assigned to all three result variables.

In case of a double click, a click& value of one (1) is returned immediately after the first click, and a click& value of two (2) is also returned after the second click.

If the optional handle ( hwin& ) is omitted, the graphic window which is currently selected with GRAPHIC ATTACH is used.

See also

  • GRAPHIC WINDOW
  • PBXB64 Compiler Help


GRAPHIC WINDOW END - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC WINDOW END

Close and destroy a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC WINDOW END [ hWin ]

Description

Close and destroy a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The GRAPHIC WINDOW identified by the handle hWin is closed and destroyed. If hWin is omitted, or is equal to zero (0), the currently attached graphic window is destroyed.

GRAPHIC WINDOW END can be used to close and destroy a graphic window at any time. Otherwise, the window is automatically destroyed when the program ends.

See also

  • GRAPHIC DETACH
  • GRAPHIC WINDOW
  • GRAPHIC WINDOW HIDE
  • PBXB64 Compiler Help


GRAPHIC WINDOW HIDE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC WINDOW HIDE

Make a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC WINDOW HIDE [ hWin ]

Description

Make a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The GRAPHIC WINDOW identified by the handle hWin is made invisible. If hWin is omitted, or is equal to zero (0), the currently attached graphic window is made invisible.

See also

  • GRAPHIC WINDOW END
  • GRAPHIC WINDOW MINIMIZE
  • GRAPHIC WINDOW NONSTABLE
  • GRAPHIC WINDOW NORMALIZE
  • GRAPHIC WINDOW STABILIZE
  • PBXB64 Compiler Help


GRAPHIC WINDOW MINIMIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC WINDOW MINIMIZE

Minimize a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC WINDOW MINIMIZE [ hWin ]

Description

Minimize a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The GRAPHIC WINDOW identified by the handle hWin is minimized. If hWin is omitted, or is equal to zero (0), the currently attached graphic window is minimized. You can restore the graphic window to its normal state with GRAPHIC WINDOW NORMALIZE .

See also

  • GRAPHIC WINDOW HIDE
  • GRAPHIC WINDOW NONSTABLE
  • GRAPHIC WINDOW NORMALIZE
  • GRAPHIC WINDOW STABILIZE
  • PBXB64 Compiler Help


GRAPHIC WINDOW NONSTABLE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC WINDOW NONSTABLE

Make a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC WINDOW NONSTABLE [ hWin ]

Description

Make a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The GRAPHIC WINDOW identified by the handle hWin is made non-stable, meaning that it can be closed by the user. If there is a system menu, the close option and the close box are enabled. The ALT-F4 close key is also enabled. This is the default mode of operation.

If hWin is omitted, or is equal to zero (0), the currently attached graphic window is made non-stable.

See also

  • GRAPHIC WINDOW HIDE
  • GRAPHIC WINDOW MINIMIZE
  • GRAPHIC WINDOW NORMALIZE
  • GRAPHIC WINDOW STABILIZE
  • PBXB64 Compiler Help


GRAPHIC WINDOW NORMALIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC WINDOW NORMALIZE

Make a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC WINDOW NORMALIZE [ hWin ]

Description

Make a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The GRAPHIC WINDOW identified by the handle hWin is made visible. If hWin is omitted, or is equal to zero (0), the currently attached graphic window is made visible.

See also

  • GRAPHIC WINDOW HIDE
  • GRAPHIC WINDOW MINIMIZE
  • GRAPHIC WINDOW NONSTABLE
  • GRAPHIC WINDOW STABILIZE
  • PBXB64 Compiler Help


GRAPHIC WINDOW STABILIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GRAPHIC WINDOW STABILIZE

Make a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

GRAPHIC WINDOW STABILIZE [ hWin ]

Description

Make a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The GRAPHIC WINDOW identified by the handle hWin is stabilized, meaning that it cannot be closed by the user. If there is a system menu, the close option and the close box are grayed. The ALT-F4 close key is disabled. This allows you to be certain that your operations on the graphic window can be completed. When a graphic window is stabilized, only GRAPHIC WINDOW END or program termination will close it.

See also

  • GRAPHIC WINDOW END
  • GRAPHIC WINDOW HIDE
  • GRAPHIC WINDOW MINIMIZE
  • GRAPHIC WINDOW NONSTABLE
  • GRAPHIC WINDOW NORMALIZE
  • PBXB64 Compiler Help


Graphics - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Graphics

This version of PowerBASIC offers an excellent graphics package for most any programming need. It's fast. It's complete. And it handles all those messy Windows details for you... automatically!

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

This version of PowerBASIC offers an excellent graphics package for most any programming need. It's fast. It's complete. And it handles all those messy Windows details for you... automatically!

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

First, it's good to know that graphics in PowerBASIC are persistent. Create it once... and forget it. You'll never worry about redrawing when your window is minimized or temporarily covered. PowerBASIC handles everything. Automatically!

So, how about a quick overview? Just what can you do? First, how about some fancy text? Any font. Any size. Any color. Bold. Italic. Underline and Strikeout. Mix any combination of fonts on a single Window. Print just about anything, just about anywhere. Then add bitmaps. Stretch them or condense them. Copy them or change them. Circles, ovals, lines and boxes. Fat lines, skinny lines, ellipses, rounded rectangles. Filled forms or empty. Colors or not. You'll create a custom scaling system -- even with fractional floating point coordinates!

So, let's get started. You should know that almost every graphical function name starts with the word GRAPHIC . You'll find all of them together in the help file or the book.

Step one -- you'll need a canvas. A place to create these works of art. So, create a GRAPHIC WINDOW . Or two. Or ten. They'll be visible right away and give you quick feedback.

Back to command index


GUID$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GUID$

Return a 16-byte (128-bit) Globally Unique Identifier (

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

id$ = GUID$[()]
id$ = GUID$(guidtext$)

Description

Return a 16-byte (128-bit) Globally Unique Identifier (

Kind: Function | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The GUID$ function, with no parameter (or a null, zero-length string parameter) will return a new, unique 16-byte string GUID (Globally Unique Identifier). This GUID may be used as a new class identifier or an interface identifier, or for some other purpose where a unique identifier may be required, such as for a one-time encryption key.

If guidtext$ is specified, GUID$ examines a text string, and converts the first standard format, human-readable GUID it finds, and returns a 16-byte binary string. This 16-byte string contains the internal GUID representation as a 128-bit data item.

To be valid, the GUID string in guidtext$ string must contain exactly 32 hexadecimal digits, optionally delimited by spaces or hyphens, but which must be enclosed overall by curly braces. For example: "{01234567-89AB-CDEF-FEDC-BA9876543210}".

The GUID$ function is the logical complement to the GUIDTXT$ function.

The return string may be assigned to a dynamic string , or a fixed-length string of at least 16 bytes, or (typically) a GUID variable. See DIM for more information on creating GUID variables.

Restrictions

If any errors are encountered, GUID$ returns a null (zero-length) string instead of the 16-byte GUID string. GUID$ can also be used in string equate assignments provided an explicit human-readable GUIDTXT$ argument string is assigned. For example:

$AppGuid = GUID$("{01234567-89AB-CDEF-FEDC-BA9876543210}")

See also

  • DIM
  • CLSID$
  • GUIDTXT$
  • How Are GUIDs Used?
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • Just what is COM?
  • LET statement (with Objects)
  • OBJECT
  • OBJACTIVE
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


GUIDTXT$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

GUIDTXT$

Return a 38-byte human-readable Globally Unique Identifier (

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

id$ = GUIDTXT$( guid16$ )

Description

Return a 38-byte human-readable Globally Unique Identifier (

Kind: Function | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The GUIDTXT$ function takes a string parameter guid16$ that must be exactly 16-bytes long (and represents a 128-bit GUID string), and returns a 38-byte GUID text string. guid16$ is usually a GUID variable but may also be a dynamic or fixed-length string, etc.

The GUIDTXT$ function is the logical complement to the GUID$ function.

Restrictions

If any errors are encountered, GUIDTXT$ returns a null (zero-length) string instead of the 38-byte GUID text string.

See also

  • DIM
  • CLSID$
  • GUID$
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • LET statement (with Objects)
  • OBJECT
  • OBJACTIVE
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


HEADER GET COUNT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

HEADER GET COUNT

Manipulate a HEADER control in order to set/retrieve data.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

HEADER SEND hWin , ID& , Msg& , wParam& , lParam& [TO ResultVar& ]

Description

Manipulate a HEADER control in order to set/retrieve data.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The HEADER statement is used to communicate with a HEADER control to set or retrieve various types of data. While you may create a custom header control for your own purposes, the most common usage is to communicate with the HEADER control which is embedded in every LISTVIEW control.

To communicate with a LISTVIEW HEADER, use the LISTVIEW GET HEADERID to get the values for the hWin and ID& parameters. Otherwise, those parameters would be assigned as with any other control.

HEADER GET COUNT hWin , ID& TO CountVar&

Retrieves the count of the items in a header control. If the operation was successful, the count value is assigned to the variable specified by CountVar& . If the operation failed, the value -1 is assigned to CountVar& instead.

HEADER GET ITEM hWin , ID& , Index& , ItemPtr [TO ResultVar& ]

Retrieves an HD_Item structure which describes an item in a Header Control. Index& defines the item to be retrieved (1=first, 2=second, etc.). ItemPtr is the address of an HD_Item structure to be filled. If the operation succeeds, true is assigned to the variable specified by ResultVar& . If it fails, false is assigned instead.

HEADER SEND hWin , ID& , Msg& , wParam& , lParam& [TO ResultVar& ]

A window message specified by Msg& is sent to the HEADER control, along with message dependent parameters (if any). If a result is returned, it is assigned to the variable specified by ResultVar& .

HEADER SET ITEM hWin , ID& , Index& , ItemPtr [TO ResultVar& ]

Sets the attributes of the specified item in a Header Control. Index& defines the item to be set (1=first, 2=second, etc.). ItemPtr is the address of an HD_Item structure which defines the attributes. If the operation succeeds, true is assigned to the variable specified by ResultVar& . If it fails, false is assigned instead.

See also

  • LISTVIEW DELETE COLUMN
  • PBXB64 Compiler Help


HEADERBUILD - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

HEADERBUILD

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result$ = HEADERBUILD$(key$, value$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


HERMITE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

HERMITE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = HERMITE( degree, x )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


HEX$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

HEX$

Convert an integral value to a hexadecimal string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = HEX$( IntVal [, Digits [, LeadSpaces [, TrailSpaces ]]])

Description

Convert an integral value to a hexadecimal string

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

IntVal is a numeric expression in the range of a 64-bit Quad Integer (-9223372036854775808 to +9223372036854775807). Any fractional part of the value is rounded. The result string is always formatted as an integral number using all the significant digits in IntVal . It is never expressed in scientific notation.

If Digits is 0 (or not given), no leading characters will be added to the numeric field. If Digits is a positive number greater than 0, the result string will be prepended with leading zeros to achieve the desired length. If Digits is a negative number, leading spaces are added to reach the absolute length. Digits may be in the range of -16 to +16.

LeadSpaces specifies additional leading spaces to be prepended, regardless of the length of the numeric portion of the string.

TrailSpaces specifies additional trailing spaces to be appended to the end of the string.

See also

  • BIN$
  • DEC$
  • FORMAT$
  • OCT$
  • STR$
  • TRIM$
  • USING$
  • VAL
  • PBXB64 Compiler Help


HI - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

HI

Extract the most significant (high-order) portion of an integral

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

result = HI( DataType , value )

Description

Extract the most significant (high-order) portion of an integral

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The value returned by HI is unsigned if DataType is BYTE , WORD , or DWORD , and signed if DataType is INTEGER or LONG . value may be up to twice the size of the data type specified by DataType . In the following example, n may be up to a 16-bit value (twice the size of a BYTE):

b = HI(BYTE, n )

Restrictions

HI replaces HIBYT, HIWRD, and HIINT. Note that those functions are no longer supported, so update your code to use the new syntax.

See also

  • LO
  • MAK
  • PBXB64 Compiler Help


H-Lib Bloom Filter - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Bloom Filter

A space-efficient probabilistic membership structure for LONG keys. False positives are possible; false negatives are not.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

A space-efficient probabilistic membership structure for LONG keys. False positives are possible; false negatives are not.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported PB Type Keyword

LNBLOOM

Methods

Method | Signature | Returns | Description
New | b.New capacity, target_fpp | LNBLOOM | Allocate a filter for the expected item count and target false-positive probability.
Final | b.Final | none | Free the filter.
Validate | b.Validate | LONG | Non-zero if the handle is valid.
Clear | b.Clear | none | Remove all inserted keys.
Count | b.Count | LONG | Number of keys added.
Capacity | b.Capacity | LONG | Expected maximum item count.
Add | b.Add key | none | Insert a key.
Contains | b.Contains key | LONG | Non-zero if the key may be present.
FalsePositiveRate | b.FalsePositiveRate | DOUBLE | Estimated current false-positive rate.
ErrorRate | b.ErrorRate | DOUBLE | Configured target false-positive rate.
Empty | b.Empty | LONG | Non-zero if no keys have been added.
Trim | b.Trim | none | Normalize internal storage.
Clone | b.Clone | LNBLOOM | Return an independent copy of the filter.

Example

LOCAL b AS LNBLOOM
LOCAL fpr AS DOUBLE
b = b.New 1000, 0.01
b.Add 42
PRINT b.Contains 42 ' non-zero
fpr = b.FalsePositiveRate
b.Final


H-Lib B+ Tree - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib B+ Tree

A B+ tree storing unique sorted LONG keys. It provides disk-friendly ordered-set semantics and supports iteration and conversion to an array.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

A B+ tree storing unique sorted LONG keys. It provides disk-friendly ordered-set semantics and supports iteration and conversion to an array.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported PB Type Keyword

LNBPTREE

Methods

Method | Signature | Returns | Description
New | t.New order | LNBPTREE | Allocate an empty B+ tree with the required branching order.
Final | t.Final | none | Free the B+ tree.
Validate | t.Validate | LONG | Non-zero if the handle is valid.
Clear | t.Clear | none | Remove all keys.
Count | t.Count | LONG | Number of keys.
Capacity | t.Capacity | QUAD | Current logical storage capacity.
Trim | t.Trim | none | Release unused storage.
Clone | t.Clone | LNBPTREE | Return an independent tree with the same order and keys.
Add | t.Add key | none | Insert a key.
Remove | t.Remove key | none | Remove a key.
Contains | t.Contains key | LONG | Non-zero if the key is present.
First | t.First | QUAD | Return the smallest key (0 if empty).
Next | t.Next key | QUAD | Return the next larger key (0 if none).
Empty | t.Empty | LONG | Non-zero if the B+ tree is empty.
ToArray | t.ToArray | LNARR | Return a new LNARR of keys in sorted order.
Range | t.Range low, high | LNARR | Return sorted keys in the inclusive range.

Example

LOCAL t AS LNBPTREE
t = t.New 4
t.Add 5
t.Add 2
t.Add 8
PRINT t.First ' 2
t.Final


H-Lib Deque - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Deque

A double-ended queue storing LONG values. Values can be added or removed from either end.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

A double-ended queue storing LONG values. Values can be added or removed from either end.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported PB Type Keyword

LNDEQUE

Methods

Method | Signature | Returns | Description
New | d.New | LNDEQUE | Allocate a new empty deque.
Final | d.Final | none | Free the deque.
Validate | d.Validate | LONG | Non-zero if the handle is valid.
Clear | d.Clear | none | Remove all values.
Count | d.Count | LONG | Number of values in the deque.
PushFront | d.PushFront value | none | Insert a value at the front.
PushBack | d.PushBack value | none | Insert a value at the back.
PopFront | d.PopFront | QUAD | Remove and return the front value.
PopBack | d.PopBack | QUAD | Remove and return the back value.
PeekFront | d.PeekFront | QUAD | Return the front value without removing it.
PeekBack | d.PeekBack | QUAD | Return the back value without removing it.
Empty | d.Empty | LONG | Non-zero if the deque is empty.

Example

LOCAL d AS LNDEQUE
d = d.New
d.PushBack 10
d.PushFront 5
PRINT d.PopBack  ' 10
PRINT d.PopFront ' 5
d.Final


H-Lib Graph - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Graph

An undirected graph with LONG node IDs. Supports node/edge insertion, removal, adjacency queries, and neighbor enumeration.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

An undirected graph with LONG node IDs. Supports node/edge insertion, removal, adjacency queries, and neighbor enumeration.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported PB Type Keyword

LNGRAPH

Methods

Method | Signature | Returns | Description
New | g.New | LNGRAPH | Allocate a new empty graph.
Final | g.Final | none | Free the graph.
Validate | g.Validate | LONG | Non-zero if the handle is valid.
Clear | g.Clear | none | Remove all nodes and edges.
Count | g.Count | LONG | Number of nodes in the graph.
Empty | g.Empty | LONG | Non-zero if the graph has no nodes.
AddNode | g.AddNode id | none | Add a node with the given ID.
AddEdge | g.AddEdge u, v | none | Add an undirected edge between two nodes.
RemoveNode | g.RemoveNode id | none | Remove a node and its incident edges.
RemoveEdge | g.RemoveEdge u, v | none | Remove an undirected edge.
HasEdge | g.HasEdge u, v | LONG | Non-zero if the edge exists.
Neighbors | g.Neighbors id | LNARR | Return a new LNARR of neighbor IDs.

Example

LOCAL g AS LNGRAPH
g = g.New
g.AddNode 1
g.AddNode 2
g.AddEdge 1, 2
PRINT g.HasEdge(1, 2) ' non-zero
g.Final


H-Lib Heap (Priority Queue) - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Heap (Priority Queue)

A binary min-heap storing LONG values. The smallest value is always returned by Pop.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

A binary min-heap storing LONG values. The smallest value is always returned by Pop.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported PB Type Keyword

LNHEAP

Methods

Method | Signature | Returns | Description
New | h.New | LNHEAP | Allocate a new empty heap.
Final | h.Final | none | Free the heap.
Validate | h.Validate | LONG | Non-zero if the handle is valid.
Clear | h.Clear | none | Remove all values.
Count | h.Count | LONG | Number of values in the heap.
Push | h.Push value | none | Insert a LONG value.
Pop | h.Pop | QUAD | Remove and return the smallest value.
Peek | h.Peek | QUAD | Return the smallest value without removing it.
Empty | h.Empty | LONG | Non-zero if the heap is empty.

Example

LOCAL h AS LNHEAP
h = h.New
h.Push 30
h.Push 10
h.Push 20
PRINT h.Pop   ' 10
PRINT h.Count ' 2
h.Final


H-Lib LRU Cache - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib LRU Cache

A bounded cache with LONG keys and LONG values. Least-recently-used entries are evicted when the capacity is exceeded.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

A bounded cache with LONG keys and LONG values. Least-recently-used entries are evicted when the capacity is exceeded.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported PB Type Keyword

LNLRU

Methods

Method | Signature | Returns | Description
New | c.New capacity | LNLRU | Allocate a cache with the given capacity.
Final | c.Final | none | Free the cache.
Validate | c.Validate | LONG | Non-zero if the handle is valid.
Clear | c.Clear | none | Remove all entries.
Count | c.Count | LONG | Number of entries currently stored.
Capacity | c.Capacity | LONG | Maximum number of entries allowed.
Trim | c.Trim | none | Release unused internal storage without changing the configured limit.
Clone | c.Clone | LNLRU | Return an independent cache with the same entries and recency order.
Put | c.Put key, value | none | Insert or update a key and make it most-recently used.
Get | c.Get key | QUAD | Retrieve a value and make the key most-recently used (0 if missing).
Contains | c.Contains key | LONG | Non-zero if the key is in the cache.
Remove | c.Remove key | LONG | Remove a key; return non-zero if it existed.
Empty | c.Empty | LONG | Non-zero if the cache is empty.

Example

LOCAL c AS LNLRU
c = c.New 2
c.Put 1, 10
c.Put 2, 20
c.Put 3, 30  ' evicts key 1
PRINT c.Contains 1 ' 0
c.Final


H-Lib Multiset (Bag) - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Multiset (Bag)

A multiset stores LONG keys together with their multiplicities ( occurrence counts).

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

A multiset stores LONG keys together with their multiplicities ( occurrence counts).

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported PB Type Keyword

LNMULTISET

Methods

Method | Signature | Returns | Description
New | m.New | LNMULTISET | Allocate a new empty multiset.
Final | m.Final | none | Free the multiset.
Validate | m.Validate | LONG | Non-zero if the handle is valid.
Clear | m.Clear | none | Remove all keys.
Count | m.Count | LONG | Total number of stored occurrences.
Capacity | m.Capacity | QUAD | Current storage capacity.
Trim | m.Trim | none | Release unused capacity.
Clone | m.Clone | LNMULTISET | Return an independent copy.
Add | m.Add key | none | Add one occurrence of a key.
Remove | m.Remove key | none | Remove one occurrence of a key.
RemoveAll | m.RemoveAll key | none | Remove a key entirely.
Contains | m.Contains key | LONG | Non-zero if the key has any occurrence.
Multiplicity | m.Multiplicity key | LONG | Return the number of occurrences of a key.
First | m.First | QUAD | Return the first distinct key (0 if empty).
Next | m.Next key | QUAD | Return the next distinct key (0 if none).
Empty | m.Empty | LONG | Non-zero if the multiset is empty.
ToArray | m.ToArray | LNARR | Return a new LNARR of distinct keys.

Example

LOCAL m AS LNMULTISET
m = m.New
m.Add 5
m.Add 5
PRINT m.Multiplicity 5 ' 2
m.Final


H-Lib Quadtree - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Quadtree

A spatial quadtree indexing axis-aligned bounding boxes identified by LONG IDs. Supports insertion, removal, and rectangle-intersection queries.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

A spatial quadtree indexing axis-aligned bounding boxes identified by LONG IDs. Supports insertion, removal, and rectangle-intersection queries.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported PB Type Keyword

LNQUAD

Methods

Method | Signature | Returns | Description
New | q.New maxDepth | LNQUAD | Allocate an empty quadtree with the required maximum depth.
Final | q.Final | none | Free the quadtree.
Validate | q.Validate | LONG | Non-zero if the handle is valid.
Clear | q.Clear | none | Remove all entries.
Count | q.Count | LONG | Number of stored entries.
Capacity | q.Capacity | QUAD | Current logical storage capacity.
Trim | q.Trim | none | Release unused storage.
Clone | q.Clone | LNQUAD | Return an independent copy with the same maximum depth and entries.
Empty | q.Empty | LONG | Non-zero if the quadtree is empty.
Insert | q.Insert id, x, y, w, h | none | Insert or update a bounding box for id.
Remove | q.Remove id | none | Remove the entry with the given id.
Query | q.Query x, y, w, h | LNARR | Return a new LNARR of IDs whose boxes intersect the query rectangle.

Example

LOCAL q AS LNQUAD
LOCAL a AS LNARR
q = q.New 8
q.Insert 1, 0, 0, 10, 10
q.Insert 2, 20, 20, 5, 5
a = q.Query 0, 0, 15, 15
PRINT a.Count ' 1
q.Final
a.Final


H-Lib Ring (Circular Buffer) - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Ring (Circular Buffer)

A fixed-capacity FIFO circular buffer storing LONG values. Push writes at the tail; Pop/Peek read at the head.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

A fixed-capacity FIFO circular buffer storing LONG values. Push writes at the tail; Pop/Peek read at the head.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported PB Type Keyword

LNRING

Methods

Method | Signature | Returns | Description
New | r.New capacity | LNRING | Allocate a ring with the given capacity.
Final | r.Final | none | Free the ring.
Validate | r.Validate | LONG | Non-zero if the handle is valid.
Clear | r.Clear | none | Empty the ring.
Count | r.Count | LONG | Number of values currently stored.
Capacity | r.Capacity | LONG | Maximum number of values allowed.
Trim | r.Trim | none | Normalize internal storage while preserving the fixed capacity.
Clone | r.Clone | LNRING | Return an independent copy with the same FIFO order.
Push | r.Push value | none | Append at the tail; when full, overwrite the oldest value.
Pop | r.Pop | QUAD | Remove and return the oldest value.
Peek | r.Peek | QUAD | Return the oldest value without removing it.
Full | r.Full | LONG | Non-zero if the ring is full.
Empty | r.Empty | LONG | Non-zero if the ring is empty.

Example

LOCAL r AS LNRING
r = r.New 2
r.Push 10
r.Push 20
r.Push 30   ' overwrites 10
PRINT r.Full ' non-zero
PRINT r.Pop  ' 20
r.Final


H-Lib Safe Concurrent Container - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Safe Concurrent Container

A thread-safe wrapper over array-like LONG storage. All operations are synchronised with a critical section so the container can be shared between PB threads.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

A thread-safe wrapper over array-like LONG storage. All operations are synchronised with a critical section so the container can be shared between PB threads.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported PB Type Keyword

LNSAFE

Methods

Method | Signature | Returns | Description
New | s.New | LNSAFE | Allocate a new safe container.
Final | s.Final | none | Free the container.
Validate | s.Validate | LONG | Non-zero if the handle is valid.
Clear | s.Clear | none | Remove all values.
Count | s.Count | LONG | Number of values stored.
Empty | s.Empty | LONG | Non-zero if the container is empty.
Lock | s.Lock | none | Acquire the critical section.
Unlock | s.Unlock | none | Release the critical section.
Push | s.Push value | none | Append a value (locks automatically).
Pop | s.Pop | QUAD | Remove and return the top value.
Peek | s.Peek | QUAD | Return the top value without removing it.

Example

LOCAL s AS LNSAFE
s = s.New
s.Push 42
s.Lock
PRINT s.Peek ' 42
s.Unlock
s.Final


H-Lib Set - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Set

A sorted set of unique LONG values backed by an AVL tree.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

A sorted set of unique LONG values backed by an AVL tree.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported PB Type Keyword

LNSET

Methods

Method | Signature | Returns | Description
New | s.New | LNSET | Allocate a new empty set.
Final | s.Final | none | Free the set.
Validate | s.Validate | LONG | Non-zero if the handle is valid.
Clear | s.Clear | none | Remove all values.
Count | s.Count | LONG | Number of values in the set.
Add | s.Add value | none | Insert a value if not present.
Remove | s.Remove value | none | Remove a value.
Contains | s.Contains value | LONG | Non-zero if the value is present.
First | s.First | QUAD | Return the smallest value (0 if empty).
Next | s.Next value | QUAD | Return the next larger value (0 if none).
Empty | s.Empty | LONG | Non-zero if the set is empty.
ToArray | s.ToArray | LNARR | Return a new LNARR containing all values sorted.

Example

LOCAL s AS LNSET
s = s.New
s.Add 3
s.Add 1
s.Add 2
PRINT s.Contains 2 ' non-zero
PRINT s.First      ' 1
s.Final


H-Lib SkipList - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib SkipList

A probabilistic skip list storing unique sorted LONG keys with expected O(log n) add, remove, and contains operations.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

A probabilistic skip list storing unique sorted LONG keys with expected O(log n) add, remove, and contains operations.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported PB Type Keyword

LNSKIPLIST

Methods

Method | Signature | Returns | Description
New | s.New | LNSKIPLIST | Allocate a new empty skiplist.
Final | s.Final | none | Free the skiplist.
Validate | s.Validate | LONG | Non-zero if the handle is valid.
Clear | s.Clear | none | Remove all keys.
Count | s.Count | LONG | Number of keys.
Add | s.Add key | none | Insert a key.
Remove | s.Remove key | none | Remove a key.
Contains | s.Contains key | LONG | Non-zero if the key is present.
First | s.First | QUAD | Return the smallest key (0 if empty).
Next | s.Next key | QUAD | Return the next larger key (0 if none).
Empty | s.Empty | LONG | Non-zero if the skiplist is empty.

Example

LOCAL s AS LNSKIPLIST
s = s.New
s.Add 3
s.Add 1
PRINT s.First ' 1
s.Final


H-Lib Union-Find (Disjoint Set) - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Union-Find (Disjoint Set)

A union-find (disjoint-set) structure over LONG elements with near-constant-time union and find operations.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

A union-find (disjoint-set) structure over LONG elements with near-constant-time union and find operations.

Kind: Container | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported PB Type Keyword

LNUNIONFIND

Methods

Method | Signature | Returns | Description
New | uf.New | LNUNIONFIND | Allocate a new empty union-find.
Final | uf.Final | none | Free the union-find.
Validate | uf.Validate | LONG | Non-zero if the handle is valid.
Clear | uf.Clear | none | Remove all elements.
Count | uf.Count | LONG | Number of elements.
MakeSet | uf.MakeSet x | none | Add a new singleton set for x.
Find | uf.Find x | QUAD | Return the representative of x (0 if unknown).
Union | uf.Union x, y | LONG | Non-zero if the union changed anything.
SameSet | uf.SameSet x, y | LONG | Non-zero if x and y are in the same set.
Empty | uf.Empty | LONG | Non-zero if the union-find is empty.
Components | uf.Components | LONG | Number of disjoint sets.

Example

LOCAL uf AS LNUNIONFIND
uf = uf.New
uf.MakeSet 1
uf.MakeSet 2
uf.Union 1, 2
PRINT uf.SameSet(1, 2) ' non-zero
uf.Final


HMACSHA256 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

HMACSHA256

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

digest$ = HMACSHA256$(key$, message$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


HMACSHA512 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

HMACSHA512

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

digest$ = HMACSHA512$(key$, message$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


HOST ADDR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

HOST ADDR

Translate a host name into a corresponding

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

HOST ADDR [ hostname$ ] TO ip&
HOST ADDR( index& ) TO ip&

Description

Translate a host name into a corresponding

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

hostname$ is the name of a computer on the network or a domain name such as "powerbasic.com". If hostname$ is zero-length or not specified, the primary IP address of the current computer is returned.

ip& receives the IP address of the specified host name. ip& may be a REGISTER or memory variable .

It is possible for a computer to have more than one IP address. For example, if you have a network card in your computer, and you are dialed into the Internet using a modem, your computer will have two IP addresses. By using the indexed form of the statement:

HOST ADDR(index&) TO ip&

you can retrieve the first IP address with index& = 1 , the second with index& = 2 , etc. If, on return, ip& contains zero (0), there are no further IP addresses to retrieve on that computer.

A numeric IP address can be easily converted to a dotted IP address string with the following code:

DIM p AS BYTE PTR

HOST ADDR "localhost" TO ip&

p = VARPTR(ip&)

a$ = USING$("#_.#_.#_.#", @p, @p[1], @p[2], @p[3])

' returns "127.0.0.1"

Restrictions

In order to obtain the IP address of the current computer, you must have at least one socket open, or you must first obtain the name of the computer by using the HOST NAME statement.

See also

  • HOST NAME
  • TCP and UDP Communications
  • TCP OPEN
  • UDP OPEN
  • PBXB64 Compiler Help


HOST NAME - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

HOST NAME

Translate an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

HOST NAME [ ip& ] TO hostname$

Description

Translate an

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ip& is the IP address you want to look up. If ip& is zero (0) or not specified, the name of the current computer is returned. hostname$ receives the name of the host corresponding to the IP address.

In order to translate an IP address into an Internet domain name, your computer will need to be connected to a DNS server on the Internet or local Intranet.

See also

  • HOST ADDR
  • TCP and UDP Communications
  • TCP OPEN
  • UDP OPEN
  • PBXB64 Compiler Help


How Are GUIDs Used? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

How Are GUIDs Used?

Describes GUID usage with COM classes and interfaces.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Describes GUID usage with COM classes and interfaces.

Kind: Conceptual | Category: COM, Objects, and OOP

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


How error traps work - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

How error traps work

In PowerBASIC, error codes - returned by the ERR or ERRCLEAR functions - and error traps are local to each Sub , Function , Method , or Property . An error trap will only trap errors that occur within

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

In PowerBASIC, error codes - returned by the ERR or ERRCLEAR functions - and error traps are local to each Sub , Function , Method , or Property . An error trap will only trap errors that occur within

Kind: Keyword | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

PowerBASIC uses the following steps to determine what to do when a run-time error occurs:

Consider the following:

ON ERROR GOTO ErrorTrap

Back to command index


HTTPCLOSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

HTTPCLOSE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

status = HTTPCLOSE(handle)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


HTTPOPEN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

HTTPOPEN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

handle = HTTPOPEN(url$, timeout_ms)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


HTTPREQUEST - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

HTTPREQUEST

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

response$ = HTTPREQUEST(handle, method$, path$, headers$, body$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


HYPOT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

HYPOT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

y = HYPOT( x_expression, y_expression )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ID Binding - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ID Binding

So, how can we speed things up?

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

So, how can we speed things up?

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Well, the worst bottleneck is the name lookup, and that's something we can deal with! We usually know all the METHOD definitions at compile-time. If we can tell the compiler the DispID's and the parameter info at compile-time, one whole step can be eliminated! That's called ID-BINDING of the Dispatch Interface. We create a simple IDBIND Interface , which is written like this:

INTERFACE IDBIND MyDispIfaceName

MEMBER CALL Method1<77> (WideVal AS LONG, WideText AS WSTRING)

MEMBER CALL Method2<78> ()

Back to command index


IDISPINFO CLEAR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

IDISPINFO CLEAR

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IDISPINFO.CLEAR

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


IDISPINFO pseudo-object - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

IDISPINFO pseudo-object

Sets and returns additional information about certain

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

info& = IDISPINFO.CODE
info& = IDISPINFO.CONTEXT
info$ = IDISPINFO.DESC$
info$ = IDISPINFO.HELP$
info$ = IDISPINFO.SOURCE$
IDISPINFO.CLEAR
IDISPINFO.SET code& [, source$ , desc$ , help$ , context& ]

Description

Sets and returns additional information about certain

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

GET Properties

IDISPINFO.CODE

When OBJRESULT is %DISP_E_EXCEPTION, this Get Property returns a long integer value which represents a more specific error code. If the value is less than 65536, it is known as a WCODE, which is usually defined by the application when found in 32-bit or 64-bit Windows. Much more common are the larger values known as an SCODE. These are usually defined by Windows, although application defined values are allowed. The most common are:

%E_UNEXPECTED = &H8000FFFF&

%E_NOTIMPL = &H80004001&

%E_NOINTERFACE = &H80004002&

%E_POINTER = &H80004003&

%E_ABORT = &H80004004&

%E_FAIL = &H80004005&

%E_ACCESSDENIED = &H80070005&

%E_HANDLE = &H80070006&

%E_OUTOFMEMORY = &H8007000E&

%E_INVALIDARG = &H80070057&

IDISPINFO.CONTEXT

When OBJRESULT is %DISP_E_EXCEPTION, this Get Property returns a long integer value which is the context of the topic within the help file (IDISPINFO.HELP$). This property is only valid if IDISPINFO.HELP returns a valid string .

IDISPINFO.DESC$

When OBJRESULT is %DISP_E_EXCEPTION, this Get Property returns a string containing a textual, human-readable description of the status. It is intended to be read by the customer. If no description is available, a null, zero-length string is returned.

IDISPINFO.HELP$

When OBJRESULT is %DISP_E_EXCEPTION, this Get Property returns a string containing drive, path, and filename of a Help File with more information about this particular status code. If no help is available, a null, zero-length string is returned.

IDISPINFO.PARAM

When OBJRESULT is either %DISP_E_PARAMNOTFOUND or %DISP_E_TYPEMISMATCH, this Get Property returns a long integer value which represents the parameter number of the first parameter which failed to match the requirements needed. The value is indexed to zero, which is the standard numbering convention for Dispatch parameters. The first parameter is 0, the second is 1, and so on.

IDISPINFO.SOURCE$

When OBJRESULT is %DISP_E_EXCEPTION, this Get Property returns a string containing a textual, human-readable description of the source of the exception. Typically, this will be the application name. If no source is available, a null, zero-length string is returned.

SET Properties

IDISPINFO.CLEAR

Clears all properties which may have been set by prior execution of IDISPINFO.SET in this thread.

IDISPINFO.SET

This statement may be executed in a METHOD or PROPERTY on a Dual Interface, so that the calling code can obtain additional information about Dispatch exception conditions. These five data items are passed back to the caller in the EXCEPINFO structure, so that they can be retrieved with IDISPINFO GET Properties, or other functions in other programming languages. This data is only available when using the Dispatch interface. It is unavailable to Direct Methods . The first parameter ( code& ) is required, and must be identical to the value which you return with METHOD OBJRESULT or PROPERTY OBJRESULT. The actual OBJRESULT will then be changed to %DISP_E_EXCEPTION, so that the caller will know that this data must also be retrieved. Note that the last four parameters are optional.

Restrictions

You should only execute the GET PROPERTY methods listed above when OBJRESULT returns the specified status code. In any other case, IDISPINFO Get Properties will return zero or a null string.

See also

  • OBJECT
  • OBJRESULT
  • OBJRESULT$
  • What Is an Object Anyway?
  • What is DISPATCH?
  • PBXB64 Compiler Help


IDISPINFO SET - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

IDISPINFO SET

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IDISPINFO.SET ...

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


IF - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Control Flow PBXB64 Compiler Help

IF

Conditional execution block

Chapter: Control Flow | Certification: [CERTIFIED TESTED]

Syntax

IF condition THEN
  [statements]
[ELSEIF condition THEN
  [statements] ...]
[ELSE
  [statements]]
END IF

Description

Conditional execution block

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The IF...THEN...END IF statement executes one of several statement blocks based on a boolean condition. The condition can be any numeric or string expression. Numeric zero and empty string are treated as false; non-zero and non-empty are treated as true.

Multiple ELSEIF branches and a single ELSE branch are supported. Only the first branch whose condition is true is executed.

Generated Assembly

PBXB64 example.pb --asmout example.asm

Each condition is lowered to a compare, a boolean conversion, and a conditional jump. The THEN, ELSEIF, and ELSE bodies become labeled basic blocks that converge at a single merge block:

    mov rbx, 10
    mov [rbp-32], rbx
    mov r10, [rbp-32]
    mov rbx, r10
    cmp rbx, 5
    setg r10
    mov rbx, r10
    test rbx, rbx
    jne pb_if_then_PBMAIN_0
    jmp pb_if_else_PBMAIN_1
pb_if_then_PBMAIN_0:
    mov [rbp-24], 1
    jmp pb_if_end_PBMAIN_2
pb_if_else_PBMAIN_1:
    ; ELSEIF x = 5 ...
    jmp pb_elseif_else_PBMAIN_4
pb_if_end_PBMAIN_2:
    mov r10, [rbp-24]
    mov rax, r10
    ; function epilogue

Notes

  • Single-line IF condition THEN statement is also supported.
  • String comparisons use lexical ordering.

Example

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 10
    IF x > 5 THEN
        FUNCTION = 1
    ELSEIF x = 5 THEN
        FUNCTION = 2
    ELSE
        FUNCTION = 3
    END IF
END FUNCTION

See also

  • ELSEIF
  • ELSE
  • THEN
  • SELECT CASE/END SELECT


#IF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#IF

Define sections of source code to be compiled or ignored, depending on a certain condition. This is often referred to as conditional compilation.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#IF [NOT] { %equate | %DEF({ %numeric_equate | $string_equate }) | expression }
[ statements ]
[#ELSEIF [NOT] { %equate | %DEF({ %numeric_equate | $string_equate }) | expression }
[ statements ]]
[#ELSE
#ENDIF

Description

Define sections of source code to be compiled or ignored, depending on a certain condition. This is often referred to as conditional compilation.

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

%equate is a named constant or constant value. The %DEF operator allows you to test whether an equate has been defined. %DEF returns TRUE or FALSE . Typical usage: #IF %DEF(%PB_DLL16) or #ELSEIF NOT %DEF(%PB_WIN32). expression may be a simple numeric expression using the arithmetic operators +, -, *, /, and \, and the relational operators >, <, >=, <=, <>, and =, and may also include the CVQ function.

PowerBASIC automatically defines the equates in the following table according to the PowerBASIC compiler being used. Please note the references to other PowerBASIC compilers are included for those writing programs that may be compilable by more than one PowerBASIC compiler.

Equate

Definition

%PB_CC32

Pre-defined as TRUE (non-zero) in PB/CC for Windows, but is not defined in other compilers.

%PB_DLL16

Pre-defined as TRUE (non-zero) in PB/DLL 16-bit, FALSE (zero) in other compilers.

%PB_DLL32

Synonym of %PB_WIN32

%PB_WIN32

Pre-defined as TRUE (non-zero) in PB/Win 32-bit, but is not defined in other compilers.

%PB_REVISION

Pre-defined as the hex revision (10.00 = &H1000).

%PB_REVLETTER

Pre-defined as the ASCII code of the revision letter (a = &H61), or &H20 if there is no revision letter.

%PB_EXE

Pre-defined as TRUE (non-zero) if compiling to EXE or as FALSE (zero) if compiling to DLL format (PB/Win only). The equate %PB_EXE is always defined in PowerBASIC, so %DEF(%PB_EXE) will always be evaluated as TRUE. The difference being the value assigned to the equate by the compiler.

Examples of valid expressions can include:

#IF %DEBUG = -1&

#IF %DEBUG AND (NOT %RELEASE)

#IF NOT %DEBUG

#IF %VERSION <> CVQ("DemoMode")

Note that the AND , OR and NOT operators work as bitwise operators, rather than logical operators, in #IF metastatements.

If the value of %equate or if %DEF ( %equate|$equate ) is TRUE (non-zero) or if the result of expression is TRUE, the statements between #IF and #ELSE or #ELSEIF are compiled, and the statements between #ELSE or #ELSEIF and #ENDIF are ignored.

If the value of %equate or %DEF ( %equate|$equate ) is FALSE (zero) or the result of expression is FALSE, the statements between #IF and #ELSE or #ELSEIF are ignored, and those between #ELSE or #ELSEIF and #ENDIF are compiled.

The #ELSE or #ELSEIF clause and associated statements are optional, but #ENDIF is required.

Conditional compilation statements can be nested up to 16 levels deep. A primary use of conditional compilation is to include test code in your programs that will be compiled during program development (but not in the final product), and to facilitate building special editions of an application from a single source code file.

It is possible to perform bitwise operations on equates to produce a TRUE/FALSE result. For example:

#IF (%PB_REVISION AND &H0FF00) - &H0700

SoftwareVersion$ = "not 7.x"

SoftwareVersion$ = "7.x"

#ENDIF

See also

  • %DEF
  • IF/END IF
  • PBXB64 Compiler Help


IF/END IF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

IF/END IF

Create IF/THEN/ELSE constructs with multiple lines and/or conditions.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

IF integer_expression THEN
[ statements ]
[ELSEIF integer_expression THEN
[ statements ]]
[ELSE
END IF

Description

Create IF/THEN/ELSE constructs with multiple lines and/or conditions.

Kind: Keyword | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

In executing IF blocks, the truth of the integer_expression in the initial IF statement is checked first. If it evaluates to FALSE (zero), each of the following ELSEIF statements is examined in order. There can be as many ELSEIF statements as desired. As soon as one is found to be TRUE (non-zero), PowerBASIC executes the statement(s) following the associated THEN and before the next ELSEIF or ELSE.

Execution then jumps to the statement just after the terminating END IF without making any further tests. If none of the test expressions evaluates to TRUE, the statement(s) in the ELSE clause (which is optional) are executed.

Note that there must be nothing following the THEN keyword in an IF block; that's how the compiler distinguishes an IF block from a conventional IF statement. There must also be nothing on the same line as the ELSE (except for remarks).

IF blocks can be nested; that is, any of the statements after any of the THENs may contain IF blocks. Although the compiler doesn't care, the clarity of source code is improved by indenting the statements controlled by each test a couple of spaces, as shown in the example.

IF blocks must be terminated with a matching END IF statement. Note that the END IF statement requires a space and the ELSEIF statement does not.

See the IF statement for notes on PowerBASIC's Short-circuit evaluation and its possible side effects.

Example

#COMPILE EXE
#DIM ALL
' controlflow_if_else_1
FUNCTION PBMAIN() AS LONG
  LOCAL x AS LONG
  IF 1 = 1 THEN
    x = 1
  ELSE
    x = 0
  END IF
  IF (x) <> (1) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • CHOOSE
  • EXIT
  • IIF
  • MAX
  • MIN
  • SELECT CASE/END SELECT
  • SWITCH


IIF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

IIF

Return one of two values based upon a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

var = IIF( num_expression , truepart , falsepart )
var& = IIF&( num_expression , truepart& , falsepart& )
var$ = IIF$( num_expression , truepart$ , falsepart$ )

Description

Return one of two values based upon a

Kind: Function | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

IIF expects parts of any numeric type. IIF& expects parts optimized for long integer type. IIF$ expects parts of string type.

If num_expression evaluates to TRUE (non-zero), the truepart is returned, else the falsepart is returned. num_expression is evaluated as a normal PowerBASIC Boolean expression, which offers short-circuit expression evaluation as needed.

IIF(1 AND 2, 3, 4) would return the truepart (3) because both terms in num_expression are TRUE, and therefore evaluate to TRUE.

To force a bitwise evaluation of num_expression , enclose it in parentheses. For example, IIF$( (1 AND 2), "True", "False") would return "False".

IIF% is recognized as a valid synonym for IIF&.

Restrictions

Contrary to the implementation in some other languages, only the selected expression ( truepart or falsepart ) is evaluated at run-time, not both. This ensures optimum execution speed, as well as the elimination of unanticipated side effects.

See also

  • CHOOSE
  • SWITCH
  • PBXB64 Compiler Help


IMAGELIST ADD BITMAP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

IMAGELIST ADD BITMAP

Create and manage an IMAGELIST object to use with other functions.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

IMAGELIST ADD BITMAP hLst , hBmp [, hMsk ] [TO dataValue& ]
IMAGELIST ADD BITMAP hLst , Bmp$ [, Msk$ ] [TO dataValue& ]
IMAGELIST ADD ICON hLst , hIcn [TO dataValue& ]
IMAGELIST ADD ICON hLst , Icn$ [TO dataValue& ]
IMAGELIST ADD MASKED hLst , hBmp , rgbColor& [TO dataValue& ]
IMAGELIST ADD MASKED hLst , Bmp$ , rgbColor& [TO dataValue& ]
IMAGELIST GET COUNT hLst TO dataValue&
IMAGELIST KILL hLst
IMAGELIST NEW BITMAP|ICON nWidth& , nHeight& , depth& , initial& TO hLst
IMAGELIST SET OVERLAY hLst , image& , overlay&

Description

Create and manage an IMAGELIST object to use with other functions.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

An IMAGELIST is a structure which contains any number of graphical images, either bitmaps or icons, but not a mixture. All of the images are automatically converted to the type, size, and color depth specified when the IMAGELIST is created. A bitmap (file type *.BMP) is a single color image, while an icon (file type *.ICO) supports transparency by including both a color bitmap and a mask bitmap. The mask bitmap is a monochrome image (one bit per pixel ), where each "set" bit describes a pixel which remains transparent. The IMAGELIST structure can best be described as a set, or array , of images. You can retrieve the images individually by index number, or pass the entire IMAGELIST to a control which requires it ( LISTVIEW , etc.).

An empty ImageList is first created with IMAGELIST NEW. Images are then added with IMAGELIST ADD, until the structure is complete. If you add an image which is wider than the size specified by nWidth& , the image is separated into multiple bitmaps, each of which is added in sequence. When an IMAGELIST is attached to a control like LISTVIEW, it is usually destroyed automatically when the control is destroyed. Consult the control documentation for that information. If not, you must explicitly destroy it with IMAGELIST KILL.

IMAGELIST ADD BITMAP hLst , hBmp [, hMsk ] [TO dataValue& ]

An image is added to the ImageList specified by hLst . With this syntax, the image is specified by a handle ( hBmp ), so it must have been loaded into memory (e.g. with string ). If the ImageList is an ICON type, a second mask bitmap is also specified by a handle (hMsk). If the TO clause is included, the index position of the first added bitmap (starting with 1) is assigned to the variable designated by dataValue&. If the operation fails, the value 0 is assigned.

IMAGELIST ADD BITMAP hLst , Bmp$ [, Msk$ ] [TO dataValue& ]

An image is added to the ImageList specified by hLst . With this syntax, the image is specified by a name string (Bmp$), which is the name of an embedded resource or a disk file. If the name string contains a period, it is presumed to be a disk file. Otherwise, an attempt is made to load it from a resource - if not found, it is then presumed to be a disk file. If the image name is a numeric resource, it should be described with a leading pound sign ("#12345"). If the ImageList is an ICON type, a second mask bitmap is also specified by a handle (hMsk). If the TO clause is included, the index position of the first added bitmap (starting with 1) is assigned to the variable designated by dataValue&. If the operation fails, the value 0 is assigned.

IMAGELIST ADD ICON hLst , hIcn [TO dataValue& ]

An icon is added to the ImageList specified by hLst . With this syntax, the icon is specified by a handle ( hIcn ), so it must have been loaded into memory (e.g. with the WinApi LoadIcon. If the TO clause is included, the index position of the first added icon (starting with 1) is assigned to the variable designated by dataValue& . If the operation fails, the value 0 is assigned.

IMAGELIST ADD ICON hLst , Icn$ [TO dataValue& ]

An icon is added to the ImageList specified by hLst . With this syntax, the icon is specified by a name string ( Icn$ ), which is the name of an embedded resource or a disk file. If the name string contains a period, it is presumed to be a disk file. Otherwise, an attempt is made to load it from a resource - if not found, it is then presumed to be a disk file. If the icon name is a numeric resource, it should be described with a leading pound sign ("#12345"). If the TO clause is included, the index position of the first added bitmap (starting with 1) is assigned to the variable designated by dataValue& . If the operation fails, the value 0 is assigned.

IMAGELIST ADD MASKED hLst , hBmp , rgbColor& [TO dataValue& ]

A bitmap is added to the icon ImageList specified by hLst . With this syntax, the bitmap is specified by a handle ( hBmp ), so it must have been loaded into memory (e.g. with GRAPHIC BITMAP). The parameter rgbColor& specifies the RGB color used in the bitmap to specify transparent pixels. Each pixel of that color is changed to the color black, and a mask bitmap is created to describe the transparent pixels. If the TO clause is included, the index position of the first added icon (starting with 1) is assigned to the variable designated by dataValue& . If the operation fails, the value 0 is assigned.

IMAGELIST ADD MASKED hLst , Bmp$ , rgbColor& [TO dataValue& ]

A bitmap is added to the icon ImageList specified by hLst . With this syntax, the bitmap is specified by a name string ( Bmp$ ), which is the name of an embedded resource or a disk file. If the name string contains a period, it is presumed to be a disk file. Otherwise, an attempt is made to load it from a resource - if not found, it is then presumed to be a disk file. If the image name is a numeric resource, it should be described with a leading pound sign ("#12345"). The parameter rgbColor& specifies the RGB color used in the bitmap to specify transparent pixels. Each pixel of that color is changed to the color black, and a mask bitmap is created to describe the transparent pixels. If the TO clause is included, the index position of the first added bitmap (starting with 1) is assigned to the variable designated by dataValue& . If the operation fails, the value 0 is assigned.

IMAGELIST GET COUNT hLst TO dataValue&

The number of images in the IMAGELIST is retrieved, and assigned to the long integer variable specified by dataValue& .

IMAGELIST KILL hLst

The IMAGELIST specified by hLst is destroyed. All allocated memory and resources are released.

IMAGELIST NEW BITMAP|ICON nWidth& , nHeight& , depth& , initial& TO hLst

A new ImageList structure is created. If you specify BITMAP, each image you add will be stored as a single bitmap. If you specify ICON, each image you add will be stored as two bitmaps in order to support transparent areas. The parameters nWidth& and nHeight& specify the size of each image in pixels. The depth& parameter specifies the color depth in bits per pixel (4,8,16,24,32). A depth of 4 offers 16 colors, 8 offers 256 colors, etc. The initial& parameter specifies the initial size of the ImageList. While it can grow beyond this number, it is most efficient to allocate space accurately at the time of creation. The variable hLst receives the handle of the newly created ImageList, or zero if the operation failed.

IMAGELIST SET OVERLAY hLst , image& , overlay&

The image specified by the index number image & is declared to be an overlay image. The overlay& parameter must be in the range of 1 to 15, and it is used later to retrieve and/or specify this particular overlay image.

See also

  • GRAPHIC BITMAP LOAD
  • GRAPHIC BITMAP NEW
  • GRAPHIC IMAGELIST
  • LISTVIEW DELETE COLUMN
  • TAB DELETE
  • TREEVIEW DELETE
  • XPRINT IMAGELIST
  • PBXB64 Compiler Help


IMP - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Operators PBXB64 Compiler Help

IMP

The IMP operator works as both a logical and a bitwise

Chapter: Operators | Certification: [CERTIFIED TESTED]

Syntax

p IMP q

Description

The IMP operator works as both a logical and a bitwise

Kind: Operator | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

IMP as a logical operator

The IMP operator returns FALSE (zero) if and only if its first operand is TRUE (non-zero), and its second operand is FALSE. In all other cases, it returns TRUE.

Truth table

x IMP y

See also

  • Arithmetic Operators
  • AND
  • EQV
  • ISFALSE and ISTRUE Operators
  • NOT
  • OR
  • XOR
  • PBXB64 Compiler Help


IMPORT ADDR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

IMPORT ADDR

Load or free a library (

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

IMPORT ADDR ProcName$ , LibName$ TO AddrVar& [, HndlVar& ]
IMPORT CLOSE LibHndl

Description

Load or free a library (

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

In most cases, libraries are implicitly loaded automatically when you list an IMPORT or LIB option in a DECLARE statement. While that's the easiest approach, it can cause a fatal problem if the DLL is missing, or it's a version which does not include the Sub / Function you need. In that case, your program will fail at startup, and not execute at all.

IMPORT ADDR allows you to load a DLL explicitly, by name, so that you can handle a problem gracefully if the operation fails for any reason. With IMPORT ADDR, ProcName$ specifies the name of the SUB or Function you wish to access, while LibName$ specifies the name of the DLL and where it is located. ProcName$ must use the correct upper/lower case for all alphabetic characters or it will fail. If the load is successful, the address of the entry point of the Sub/Function is assigned to the variable AddrVar& , and the handle of the DLL is assigned to the optional variable HndlVar& . Both of these variables must be Long Integers or DWords . If the load fails for any reason, the value zero (0) is assigned to both.

After the library (DLL) is loaded successfully, you can access the Sub/Function with CALL DWORD AddrVar& .

Once you are through using the library, you can release it and regain the memory used by executing IMPORT CLOSE. The expression LibHndl must specify the value returned in HndlVar& when the DLL was loaded. If you do not execute an IMPORT CLOSE, the DLL will be automatically released when your program terminates.

See also

  • CALL DWORD
  • DECLARE
  • PBXB64 Compiler Help


IN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

IN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

FOR EACH item IN collection

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


#INCLUDE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#INCLUDE

Instruct the compiler to read a text file from disk and treat it as an integral part of the source code.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#INCLUDE "FileSpec"
#INCLUDE ONCE "FileSpec"
#INCLUDE THIS ONCE
#INCLUDE AS MODULE "FileSpec" [AS "ModuleName"]
#INCLUDE AS MODULE ONCE "FileSpec" [AS "ModuleName"]

Description

Instruct the compiler to read a text file from disk and treat it as an integral part of the source code.

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Use #INCLUDE to compile the text of another file along with the current file. The first form causes FileSpec to be included in every case it is encountered. The second form causes FileSpec to be included only once, the first time it is encountered. This is particularly useful when including common declaration files like WIN32API.INC to avoid redundant code, and the resulting errors. To be effective, the ONCE option must appear on every #INCLUDE of a particular file. Effectively, #INCLUDE ONCE means: "Include this file only if it has not already been included."

The third form (#INCLUDE THIS ONCE) is placed in the file to be included, and produces an end result similar to form two. It tells the compiler to "Include me only one time, no matter how many times it is requested". Depending upon the content and context, this may be a simpler and more readable method to achieve the desired result.

#INCLUDE AS MODULE

The #INCLUDE AS MODULE form reads the file and wraps its contents in a MODULE ... END MODULE block automatically. This is useful for importing existing include files as named modules without modifying them. The module name is derived from the file stem (the part before the extension), with special characters converted to underscores. For example, libs/math-lib.inc becomes module math_lib.

You can override the derived name with the AS "ModuleName" suffix:

#INCLUDE AS MODULE "helpers.inc" AS "MyHelpers"

From outside the module, access public items using dot notation:

result = MyHelpers.add_values(10, 20)
MyHelpers.say_hello

Items inside the included file are PRIVATE by default. To make them accessible from outside the module, prefix them with PUBLIC in the include file:

' In the included file:
PUBLIC FUNCTION add_values(a AS LONG, b AS LONG) AS LONG
    add_values = a + b
END FUNCTION

PUBLIC SUB say_hello
    PRINT "Hello!"
END SUB

#INCLUDE AS MODULE ONCE combines both behaviors: the file is wrapped in a module and it is only included the first time it is encountered. This is the recommended form for importing reusable libraries.

Circular includes are detected and reported as a compile-time error.

FileSpec is a string constant that follows normal LFN file-naming conventions, and which names a PowerBASIC source code file. If FileSpec does not include an extension, the compiler looks for that file name with the default extension of .BAS.

If FileSpec does not include a path, the compiler scans the search path for each #INCLUDE file before checking the current (default) directory. For the IDE, the search path can be set in the Compiler Preferences tab in the Options dialog . The search path can also be specified when compiling from the command-line by using the /I Include option. The search path can contain one path or multiple paths to scan. If multiple paths are used, they are separated by a semicolon (;).

When the compiler encounters an #INCLUDE metastatement, it reads FileSpec from disk and continues compilation with the source code in FileSpec . When the end of FileSpec is reached, compilation continues with the statement immediately following the #INCLUDE in the original source file. The result is the same as if the contents of the included file were physically present within the original text. This allows large source files to be broken into smaller sections that are more manageable.

#INCLUDE metastatements can be nested as many as twelve levels deep. That is, an included file can have #INCLUDE metastatements of its own, including files that also have #INCLUDE metastatements, and so on, for a total of twelve levels of files (including the primary file). Note that macros count as #include files for nesting purposes.

See also

  • MODULE
  • Win32 API Include Updates
  • PBXB64 Compiler Help


INCR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

INCR

Increment a variable by 1; increment a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

INCR variable

Description

Increment a variable by 1; increment a

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

variable can be a pointer or a pointer variable . When INCR is used with a numeric variable, 1 is added to the numeric variable.

When INCR is used with a pointer variable itself, the value of the pointer is incremented by the size of the pointer's target.

When INCR is used on a numeric pointer's target (i.e., INCR @IntPtr) the value of the target is incremented by 1.

For example, given a pointer to an array where the pointer targets element 1000, applying INCR to the pointer would result in the pointer aiming at element 1001. The actual address held by the pointer would have risen by two, because the target of the pointer is an Integer which is two bytes wide.

Conversely, if INCR was used on the target of this Integer pointer, the value of the element itself would be incremented by 1.

See also

  • DECR
  • LET
  • PBXB64 Compiler Help


Inline Assembler code syntax - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Inline Assembler code syntax

The ASM statement or, for a "shortcut", the exclamation point (!), is used to insert assembler instructions (or opcodes ) into your BASIC program. They must appear at the beginning of each line that c

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The ASM statement or, for a "shortcut", the exclamation point (!), is used to insert assembler instructions (or opcodes ) into your BASIC program. They must appear at the beginning of each line that c

Kind: Keyword | Category: Inline Assembler

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The machine code generated by ASM statements is placed directly in line with the code from your BASIC statements, so execution of your program will flow just as it appears in your source code. You should never, under any circumstances, attempt to exit a Sub / Function / Method / Property early by the use of a RET instruction, as that guarantees failure. If you need to terminate a routine at some point before the End Sub/Function/Method/Property statement, jump to a label at the end of the procedure instead.

Using assembly-language in your code

Back to command index


INPUT# - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › File I/O PBXB64 Compiler Help

INPUT#

Load

Chapter: File I/O | Certification: [CERTIFIED TESTED]

Syntax

INPUT # filenum& , variable_list

Description

Load

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

filenum& is the file number , or variable containing a file number, given when the file was opened . variable_list is a comma-delimited sequence of one or more string or numeric variables. When the INPUT# statement reads an unquoted data item from a file, it removes leading spaces. If leading spaces are significant, place quotes around the file data, either directly or by using WRITE# to save the data to disk. Please note that data to be quoted should not contain embedded quotes.

The data in the file must match the type(s) of the variable(s) defined in the INPUT# statement. The file data should be separated by commas with a carriage return at the end. The WRITE# statement is ideal for creating such files.

INPUT# also supports fixed-length and nul-terminated string variables; however, data that is longer than the string is truncated to fit into the string. Dynamic strings receive the data without truncation. UDT variables may not be used, although fixed-length and nul-terminated UDT member variables are supported.

See also

  • LINE INPUT#
  • PRINT#
  • WRITE#
  • PBXB64 Compiler Help


INPUTBOX$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

INPUTBOX$

INPUTBOX$ displays a dialog box containing a prompt. INPUTBOX$ waits for the user to enter text, and accept or cancel the dialog. INPUTBOX$ returns the contents of the text box.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

sResult$ = INPUTBOX$( prompt$ [[, title$ ], default$ ] [, xpos% , ypos% ])

Description

INPUTBOX$ displays a dialog box containing a prompt. INPUTBOX$ waits for the user to enter text, and accept or cancel the dialog. INPUTBOX$ returns the contents of the text box.

Kind: Function | Category: Utilities

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Prompt$ is the text prompt displayed in the Inputbox dialog.

Title$ is the caption for the Inputbox dialog and is optional.

Default$ is the default result text displayed in the edit section of the Inputbox dialog, and is optional.

xpos% and ypos% specify the location on the screen to display the Inputbox, in dialog units . If these are not specified, the Inputbox dialog is centered on the screen.

Restrictions

The returned string value is limited to 255 characters.

See also

  • MSGBOX
  • TXT pseudo-object
  • PBXB64 Compiler Help


INST AAA - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST AAA

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

AAA ASCII-Anpassung nach Subtraktion (nicht gültig in x64)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST AAM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST AAM

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

AAM ASCII-Anpassung vor der Division (nicht gültig in x64)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ADC - Add with Carry - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

ADC - Add with Carry

Adds the source operand and the carry flag to the destination operand.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

ADC dst, src

Description

Adds the source operand and the carry flag to the destination operand.

Category: Arithmetic | Group: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
ADC reg, reg | Add register and carry to register. | adc rax, rbx
ADC reg, mem | Add memory value and carry to register. | adc rax, [rsi]
ADC mem, reg | Add register and carry to memory. | adc [rsi], rax
ADC reg, imm | Add immediate and carry to register. | adc rax, 1
ADC mem, imm | Add immediate and carry to memory. | adc qword [rsi], 1

Description

ADC performs dst = dst + src + CF, where CF is the carry flag from a previous operation. It is the multi-precision counterpart to ADD: after adding the low parts of a large integer with ADD, successive higher limbs are added with ADC so that carries propagate through the entire value.

Flags

Affects OF, SF, ZF, AF, PF, CF according to the result.

Encoding Notes

  • Supports 8-bit, 16-bit, 32-bit, and 64-bit operand sizes.
  • In 64-bit mode, 32-bit operand forms zero-extend the result into the full 64-bit destination; 8-bit and 16-bit forms leave the upper bits unchanged.
  • The immediate form encodes a sign-extended 8-bit immediate when the value fits, or a full-sized immediate otherwise.

When to use

Use ADC for extended-precision arithmetic, big-integer libraries, cryptographic routines, or any case where a value is wider than a single register and carries must propagate between limbs.

Example

; 128-bit addition: RDX:RAX = RDX:RAX + RCX:RBX
add rax, rbx                 ; add low qwords, CF captures overflow
adc rdx, rcx                 ; add high qwords plus carry

; Increment a big integer limb with carry propagation
adc rax, [rsi+8]             ; add next limb plus incoming carry

See also

  • ADD - Add
  • SBB - Subtract with Borrow
  • SUB
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST ADCX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST ADCX

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

ADCX reg32/64, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ADD - Add - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

ADD - Add

Adds the source operand to the destination operand and stores the result in the destination.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

ADD dst, src

Description

Adds the source operand to the destination operand and stores the result in the destination.

Category: Arithmetic | Group: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
ADD reg, reg | Add register to register. | add rax, rbx
ADD reg, mem | Add memory value to register. | add rax, [rsi]
ADD mem, reg | Add register to memory. | add [rsi], rax
ADD reg, imm | Add immediate to register. | add rax, 42
ADD mem, imm | Add immediate to memory. | add dword [rsi], 1

Description

ADD performs integer addition dst = dst + src. It is one of the most frequently used arithmetic instructions. The result replaces the destination operand; the source operand is unchanged. When the mathematical result cannot fit in the destination width, the carry flag (CF) is set.

Flags

Affects OF, SF, ZF, AF, PF, CF according to the result.

Encoding Notes

  • Supports 8-bit, 16-bit, 32-bit, and 64-bit operand sizes.
  • Adding to RSP or RBP is valid but usually avoided in favor of SUB/ADD on the stack pointer at function prologue/epilogue boundaries.
  • Immediate forms encode an 8-bit sign-extended immediate when possible for smaller code size.

When to use

Use ADD for ordinary integer addition, pointer arithmetic (with appropriate scaling handled separately), loop counters, and accumulation.

Example

add rax, 5                   ; rax = rax + 5
add rbx, [count]             ; rbx = rbx + value at memory label 'count'
add [total], rax             ; memory at 'total' += rax

; Common loop counter idiom
add rcx, 1

See also

  • ADC - Add with Carry
  • SUB
  • INC
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST ADDPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST ADDPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

ADDPD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ADDPS - Add Packed Single-Precision Floating-Point - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

ADDPS - Add Packed Single-Precision Floating-Point

Adds four single-precision (32-bit) floating-point values in parallel.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

ADDPS xmm1, xmm2/m128

Description

Adds four single-precision (32-bit) floating-point values in parallel.

Category: SSE/AVX | Group: SSE Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
ADDPS xmm, xmm | Add packed floats from one XMM register to another. | addps xmm0, xmm1
ADDPS xmm, m128 | Add packed floats from 128-bit memory. | addps xmm0, [rsi]

Description

ADDPS operates on 128-bit XMM registers. It treats the register as four independent 32-bit IEEE-754 single-precision floats and adds the corresponding elements:

DST[31:0]   = SRC1[31:0]   + SRC2[31:0]
DST[63:32]  = SRC1[63:32]  + SRC2[63:32]
DST[95:64]  = SRC1[95:64]  + SRC2[95:64]
DST[127:96] = SRC1[127:96] + SRC2[127:96]

This is a packed SSE operation: all four lanes execute simultaneously. PBXB64 emits it when vectorizing float arrays or when intrinsics request parallel single-precision math.

Flags

None of the EFLAGS are modified.

Encoding Notes

  • Requires SSE1 (introduced with Pentium III).
  • Memory operand must be 16-byte aligned for best performance; unaligned accesses may raise a general-protection exception on older CPUs unless ADDUPS is used.
  • The ModR/M byte selects the source; the destination is always an XMM register.

When to use

Use ADDPS for SIMD vector math on single-precision floats, such as graphics transforms, audio sample mixing, or any workload where four independent additions can be performed at once.

Example

; Add two aligned arrays of four floats
movaps xmm0, [vec_a]         ; load 4 floats from vec_a
addps  xmm0, [vec_b]         ; add 4 floats from vec_b
movaps [vec_r], xmm0         ; store 4 results

; Pairwise vector addition within registers
movaps xmm0, xmm1
addps  xmm0, xmm2

See also

  • ADDSS - Add Scalar Single-Precision Floating-Point
  • ADDSD - Add Scalar Double-Precision Floating-Point
  • SUBPS - Subtract Packed Single-Precision Floating-Point Values
  • MULPS - Packed Single-Precision Floating-Point Multiply
  • SSE/SSE2/SSE3/SSSE3/SSE4 Mnemonics
  • PBXB64 Compiler Help


ADDSD - Add Scalar Double-Precision Floating-Point - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

ADDSD - Add Scalar Double-Precision Floating-Point

Adds the low-order double-precision (64-bit) floating-point value in two XMM registers.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

ADDSD xmm1, xmm2/m64

Description

Adds the low-order double-precision (64-bit) floating-point value in two XMM registers.

Category: SSE/AVX | Group: SSE Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
ADDSD xmm, xmm | Add scalar double from one XMM register to another. | addsd xmm0, xmm1
ADDSD xmm, m64 | Add scalar double from 64-bit memory. | addsd xmm0, [rsi]

Description

ADDSD is a scalar SSE2 instruction. It adds only the low 64 bits of the source operand to the low 64 bits of the destination XMM register; the upper 64 bits of the destination XMM register are left unchanged. This corresponds to a single IEEE-754 double-precision addition.

PBXB64 uses ADDSD for DOUBLE and EXTENDED (emulated as double) floating-point additions that are not vectorized.

Flags

None of the EFLAGS are modified.

Encoding Notes

  • Requires SSE2.
  • The memory form reads only 8 bytes; alignment is recommended but not required on modern CPUs.
  • The upper 64 bits of the destination XMM register are preserved, unlike packed operations which overwrite the full register.

When to use

Use ADDSD for scalar double-precision floating-point arithmetic: scientific calculations, financial approximations, or any DOUBLE expression in PBXB64 that maps directly to a single SSE2 addition.

Example

; Add two DOUBLE values
movsd xmm0, [a]              ; load double a into low xmm0
addsd xmm0, [b]              ; xmm0.low = a + b
movsd [r], xmm0              ; store result

; Register-to-register double add
movsd xmm0, xmm1
addsd xmm0, xmm2

See also

  • ADDSS - Add Scalar Single-Precision Floating-Point
  • ADDPS - Add Packed Single-Precision Floating-Point
  • SUBSD - Subtract Scalar Double-Precision Floating-Point Value
  • MULSD - Scalar Double-Precision Floating-Point Multiply
  • SSE/SSE2/SSE3/SSSE3/SSE4 Mnemonics
  • PBXB64 Compiler Help


ADDSS - Add Scalar Single-Precision Floating-Point - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

ADDSS - Add Scalar Single-Precision Floating-Point

Adds the low-order single-precision (32-bit) floating-point value in two XMM registers.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

ADDSS xmm1, xmm2/m32

Description

Adds the low-order single-precision (32-bit) floating-point value in two XMM registers.

Category: SSE/AVX | Group: SSE Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
ADDSS xmm, xmm | Add scalar float from one XMM register to another. | addss xmm0, xmm1
ADDSS xmm, m32 | Add scalar float from 32-bit memory. | addss xmm0, [rsi]

Description

ADDSS is a scalar SSE1 instruction. It adds only the low 32 bits of the source operand to the low 32 bits of the destination XMM register; the upper 96 bits of the destination XMM register are left unchanged. This corresponds to a single IEEE-754 single-precision addition.

PBXB64 uses ADDSS for SINGLE floating-point additions and for mixed-precision code where 32-bit floats are sufficient.

Flags

None of the EFLAGS are modified.

Encoding Notes

  • Requires SSE1.
  • The memory form reads only 4 bytes; alignment is recommended but not required on modern CPUs.
  • The upper 96 bits of the destination XMM register are preserved.

When to use

Use ADDSS for scalar single-precision floating-point arithmetic: fast approximate math, graphics shaders compiled to scalar SSE, or any SINGLE expression in PBXB64.

Example

; Add two SINGLE values
movss xmm0, [a]              ; load single a into low xmm0
addss xmm0, [b]              ; xmm0.low = a + b
movss [r], xmm0              ; store result

; Register-to-register single add
movss xmm0, xmm1
addss xmm0, xmm2

See also

  • ADDSD - Add Scalar Double-Precision Floating-Point
  • ADDPS - Add Packed Single-Precision Floating-Point
  • SUBSS - Subtract Scalar Single-Precision Floating-Point Value
  • MULSS - Scalar Single-Precision Floating-Point Multiply
  • SSE/SSE2/SSE3/SSSE3/SSE4 Mnemonics
  • PBXB64 Compiler Help


INST ADDSUBPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST ADDSUBPD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

ADDSUBPD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST ADDSUBPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST ADDSUBPS

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

ADDSUBPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST ADOX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST ADOX

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

ADOX reg32/64, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST AESDEC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST AESDEC

Category: x64 assembler instruction

Chapter: Crypto

Syntax

AESDEC xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST AESDECLAST - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST AESDECLAST

Category: x64 assembler instruction

Chapter: Crypto

Syntax

AESDECLAST xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST AESENC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST AESENC

Category: x64 assembler instruction

Chapter: Crypto

Syntax

AESENC xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST AESENCLAST - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST AESENCLAST

Category: x64 assembler instruction

Chapter: Crypto

Syntax

AESENCLAST xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST AESIMC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST AESIMC

Category: x64 assembler instruction

Chapter: Crypto

Syntax

AESIMC xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST AESKEYGENASSIST - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST AESKEYGENASSIST

Category: x64 assembler instruction

Chapter: Crypto

Syntax

AESKEYGENASSIST xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


AND - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

AND

Performs bitwise AND of the source and destination, storing the result in the destination.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

AND dst, src

Description

Performs bitwise AND of the source and destination, storing the result in the destination.

Category: Logical | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Performs dst = dst & src. Sets OF=0, CF=0, SF, ZF, PF according to the result. CF is always cleared. Useful for masking bits.

Example

and rax, 0xFF              ; mask lower 8 bits
and rax, rbx               ; bitwise AND
and [rbx], 0x0F            ; mask memory

See also

  • OR
  • XOR
  • NOT - Bitwise Logical NOT
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST ANDN - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST ANDN

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

ANDN reg, reg, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST ANDNPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST ANDNPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

ANDNPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST ANDPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST ANDPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

ANDPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST BEXTR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST BEXTR

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

BEXTR reg, reg/mem, reg/imm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST BLENDPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST BLENDPD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

BLENDPD xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST BLENDPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST BLENDPS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

BLENDPS xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST BLENDVPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST BLENDVPD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

BLENDVPD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST BLENDVPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST BLENDVPS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

BLENDVPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST BLSI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST BLSI

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

BLSI reg, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST BLSMSK - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST BLSMSK

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

BLSMSK reg, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST BLSR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST BLSR

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

BLSR reg, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST BOUND - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST BOUND

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

BOUND reg, mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


BSF / BSR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

BSF / BSR

Searches for the first or last set bit in a register or memory.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

BSF reg, reg/mem             ; Bit Scan Forward (lowest set bit)
BSR reg, reg/mem             ; Bit Scan Reverse (highest set bit)

Description

Searches for the first or last set bit in a register or memory.

Category: Bit Manipulation | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

  • BSF: Finds the index of the lowest set bit (bit 0 is LSB). Sets ZF=1 if source is 0.
  • BSR: Finds the index of the highest set bit. Sets ZF=1 if source is 0.

Example

bsf rax, rbx                 ; rax = index of lowest set bit in rbx
bsr rax, rbx                 ; rax = index of highest set bit in rbx

See also

  • BT / BTS / BTR / BTC
  • INST POPCNT
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


BSR - Bit Scan Reverse - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

BSR - Bit Scan Reverse

Searches a source operand from the most-significant bit downward and returns the index of the highest set bit.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

BSR reg, reg/mem

Description

Searches a source operand from the most-significant bit downward and returns the index of the highest set bit.

Category: Bit Manipulation | Group: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
BSR reg16, reg16/mem16 | Scan 16-bit operand. | bsr ax, bx
BSR reg32, reg32/mem32 | Scan 32-bit operand. | bsr eax, ebx
BSR reg64, reg64/mem64 | Scan 64-bit operand. | bsr rax, rbx

Description

BSR scans the source operand from bit n−1 down to bit 0, where n is the operand size, and writes the bit position of the first set bit (i.e., the most-significant 1) into the destination register. If the source is zero, the destination is undefined and the zero flag (ZF) is set to 1.

For a non-zero source, the result is floor(log2(src)). PBXB64 uses BSR to implement integer log2 approximations and bit-width calculations.

Flags

Sets ZF if the source operand is zero; clears ZF otherwise. OF, SF, AF, PF, CF are undefined.

Encoding Notes

  • Supports 16-bit, 32-bit, and 64-bit operands; no 8-bit form exists.
  • The destination must be a GPR; the source may be a GPR or memory.
  • On Intel CPUs, BSR has variable latency depending on the input value; for an input-independent alternative consider LZCNT on CPUs that support BMI1.

When to use

Use BSR when you need the position of the most-significant set bit, integer log2, or to determine how many bits are required to represent an unsigned value.

Example

bsr rax, rbx                 ; rax = index of highest set bit in rbx
jz  zero_value               ; source was zero

; Compute integer log2 of a 64-bit value
bsr rax, rdi
; rax now holds floor(log2(rdi)) for non-zero rdi

See also

  • BSF / BSR
  • BT / BTS / BTR / BTC
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


BSWAP - Byte Swap - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

BSWAP - Byte Swap

Reverses the byte order of a 32-bit or 64-bit register in place.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

BSWAP reg

Description

Reverses the byte order of a 32-bit or 64-bit register in place.

Category: Data Movement | Group: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
BSWAP r32 | Reverse bytes of a 32-bit register. | bswap eax
BSWAP r64 | Reverse bytes of a 64-bit register. | bswap rax

Description

BSWAP converts between little-endian and big-endian representations by reversing the order of bytes within the destination register. For a 32-bit operand, bits 7:0 swap with bits 31:24, and bits 15:8 swap with bits 23:16. For a 64-bit operand, byte 0 swaps with byte 7, byte 1 with byte 6, byte 2 with byte 5, and byte 3 with byte 4.

PBXB64 uses BSWAP for network-byte-order conversions and for endianness-aware data serialization.

Flags

None of the EFLAGS are modified.

Encoding Notes

  • Valid only with 32-bit or 64-bit GPR destinations.
  • The 16-bit form is not architecturally defined; use XCHG on the low and high bytes of AX for 16-bit byte swaps.
  • No memory form exists; to byte-swap a memory location load, swap, and store.

When to use

Use BSWAP for endianness conversion, protocol header field preparation, or hashing algorithms that require byte-reversed values.

Example

; Convert a 32-bit little-endian value to big-endian
mov eax, 0x12345678
bswap eax                    ; eax = 0x78563412

; Convert a 64-bit value
mov rax, 0x0123456789ABCDEF
bswap rax                    ; rax = 0xEFCDAB8967452301

; Network-byte-order 32-bit store
mov eax, [host_order]
bswap eax
mov [net_order], eax

See also

  • MOV
  • XCHG
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


BT / BTS / BTR / BTC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

BT / BTS / BTR / BTC

Tests, sets, resets, or complements a single bit in a register or memory.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

BT  reg/mem, reg/imm         ; Test bit (copy to CF)
BTS reg/mem, reg/imm         ; Test and set bit
BTR reg/mem, reg/imm         ; Test and reset bit
BTC reg/mem, reg/imm         ; Test and complement bit

Description

Tests, sets, resets, or complements a single bit in a register or memory.

Category: Bit Manipulation | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

  • BT: Copies the specified bit to CF. Does not modify the bit.
  • BTS: Copies the bit to CF, then sets it to 1.
  • BTR: Copies the bit to CF, then clears it to 0.
  • BTC: Copies the bit to CF, then toggles it.

Example

bt rax, 5                    ; CF = bit 5 of rax
bts [rbx], 0                 ; set bit 0, old value in CF
btc rax, 3                   ; toggle bit 3

See also

  • BSF / BSR
  • BSR - Bit Scan Reverse
  • AND
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST BTC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST BTC

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

BTC reg/mem, reg/imm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST BTR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST BTR

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

BTR reg/mem, reg/imm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST BTS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST BTS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

BTS reg/mem, reg/imm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST BZHI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST BZHI

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

BZHI reg, reg/mem, reg

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CALL - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

CALL

Pushes the return address and transfers control to a procedure.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CALL label
CALL reg
CALL [mem]

Description

Pushes the return address and transfers control to a procedure.

Category: Control Transfer | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Pushes the address of the next instruction onto the stack (RSP is decremented by 8), then jumps to the target. The called procedure should end with RET to return.

Example

call my_function
...
my_function:
    mov rax, 42
    ret

See also

  • RET
  • JMP
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


CBW / CWDE / CDQE / CWD / CDQ / CQO / CBTW - Sign Extension - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

CBW / CWDE / CDQE / CWD / CDQ / CQO / CBTW - Sign Extension

Sign-extends a value in the accumulator into a wider register or register pair.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CBW                          ; AL  -> AX        (byte to word)
CBTW                         ; AL  -> AX        (AT&T alias for CBW)
CWDE                         ; AX  -> EAX       (word to dword)
CDQE                         ; EAX -> RAX       (dword to qword)
CWD                          ; AX  -> DX:AX     (word to dword pair)
CDQ                          ; EAX -> EDX:EAX   (dword to qword pair)
CQO                          ; RAX -> RDX:RAX   (qword to dqword pair)

Description

Sign-extends a value in the accumulator into a wider register or register pair.

Category: Data Movement | Group: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
CBW / CBTW | Sign-extend AL into AX. | cbw
CWDE | Sign-extend AX into EAX. | cwde
CDQE | Sign-extend EAX into RAX. | cdqe
CWD | Sign-extend AX into DX:AX. | cwd
CDQ | Sign-extend EAX into EDX:EAX. | cdq
CQO | Sign-extend RAX into RDX:RAX. | cqo

Description

These instructions copy the sign bit of a smaller value into every higher bit of a larger destination. The single-register forms (CBW, CWDE, CDQE) widen the accumulator. The register-pair forms (CWD, CDQ, CQO) sign-extend the accumulator into a second register so that the pair forms a signed value twice as wide.

CBTW is the AT&T-syntax alias for CBW; both assemble to the same opcode and are accepted by PBXB64.

The primary use of the register-pair forms is to prepare the dividend before signed division (IDIV). CQO and CDQ are emitted automatically by PBXB64's code generator for 64-bit and 32-bit signed divisions respectively.

Flags

None of the EFLAGS are modified.

Encoding Notes

  • CBW, CWDE, and CDQE are single-byte opcodes with no explicit operands.
  • CWD, CDQ, and CQO are also single-byte opcodes; the destination register pair is implicit.
  • In 64-bit mode, CDQE zero-extends from 32-bit EAX to 64-bit RAX preserving sign; do not confuse it with MOVSXD, which sign-extends from memory or a 32-bit register into a 64-bit destination.

When to use

Use the single-register forms when you need to widen a signed value for comparisons or further arithmetic. Use the register-pair forms before IDIV to form the full-width dividend. PBXB64 generally inserts the correct form automatically, but hand-written assembly should include them explicitly when dividing signed integers.

Example

; 64-bit signed division: RAX / RBX
mov  rax, -500
cqo                          ; RDX = sign-extension of RAX (-1)
idiv rbx                     ; RAX = quotient, RDX = remainder

; 32-bit signed division
mov  eax, -200
cdq                          ; EDX = sign-extension of EAX
idiv ebx

; Widen a 32-bit signed result to 64 bits
cdqe                         ; RAX = sign-extended EAX

See also

  • IDIV
  • IMUL
  • MOVZX / MOVSX
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST CDQE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST CDQE

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

CDQE keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CLD - Clear Direction Flag - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

CLD - Clear Direction Flag

Clears the direction flag (DF = 0), causing string instructions to auto-increment their index registers.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CLD

Description

Clears the direction flag (DF = 0), causing string instructions to auto-increment their index registers.

Category: Flags | Group: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

None.

Description

Sets the direction flag to 0. After CLD, string instructions such as MOVS, STOS, LODS, and SCAS increment RSI/RDI. This is the default direction expected by most code.

Flags

DF is cleared. All other flags are unaffected.

When to use

Use CLD before any string operation that must process memory from low to high addresses. Always pair with STD if you temporarily switched to reverse direction.

Example

; Prepare for forward string operations
cld
mov rsi, source
mov rdi, dest
mov rcx, 100
rep movsb

See also

  • STD - Set Direction Flag
  • REP
  • PBXB64 Compiler Help


CLD / STD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

CLD / STD

Controls the direction of string operations.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CLD                          ; Clear Direction Flag (DF=0, forward)
STD                          ; Set Direction Flag (DF=1, backward)

Description

Controls the direction of string operations.

Category: Flag Control | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Controls the direction of string operations (MOVS, CMPS, SCAS, LODS, STOS). When DF=0 (CLD), RSI/RDI increment. When DF=1 (STD), RSI/RDI decrement.

Note: Windows x64 ABI requires DF=0 on entry and exit. Always use CLD before string operations unless you specifically need backward traversal.

Example

cld
rep movsb                    ; copy forward

std
rep movsb                    ; copy backward

See also

  • REP
  • MOVS - Move String
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST CLDEMOTE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Cache / Prefetch PBXB64 Compiler Help

INST CLDEMOTE

Category: x64 assembler instruction

Chapter: Cache / Prefetch

Syntax

CLDEMOTE mem8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CLFLUSH - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Cache / Prefetch PBXB64 Compiler Help

INST CLFLUSH

Category: x64 assembler instruction

Chapter: Cache / Prefetch

Syntax

CLFLUSH mem8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CLFLUSHOPT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Cache / Prefetch PBXB64 Compiler Help

INST CLFLUSHOPT

Category: x64 assembler instruction

Chapter: Cache / Prefetch

Syntax

CLFLUSHOPT mem8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CLI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST CLI

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

CLI Flags in AH laden (SF:ZF:0:AF:0:PF:1:CF)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CLRSSBSY - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST CLRSSBSY

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

CLRSSBSY mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CLWB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Cache / Prefetch PBXB64 Compiler Help

INST CLWB

Category: x64 assembler instruction

Chapter: Cache / Prefetch

Syntax

CLWB mem8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CLZERO - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Cache / Prefetch PBXB64 Compiler Help

INST CLZERO

Category: x64 assembler instruction

Chapter: Cache / Prefetch

Syntax

CLZERO keine (verwendet [rax-Adresse])

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CMC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST CMC

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

CMC Richtungsflag setzen (DF=1)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CMOVcc - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

CMOVcc

Conditionally copies the source to the destination based on flags. Does not branch.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CMOVcc dst, src

Description

Conditionally copies the source to the destination based on flags. Does not branch.

Category: Data Movement | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

If the condition is true, copies src to dst. If false, dst is unchanged. Useful for eliminating branches in performance-critical code.

Condition Variants

Mnemonic | Condition | Flags
CMOVA / CMOVNBE | Above | CF=0 and ZF=0
CMOVAE / CMOVNB | Above or equal | CF=0
CMOVB / CMOVNAE | Below | CF=1
CMOVE / CMOVZ | Equal | ZF=1
CMOVNE / CMOVNZ | Not equal | ZF=0
CMOVG / CMOVNLE | Greater (signed) | ZF=0 and SF=OF
CMOVGE / CMOVNL | Greater or equal (signed) | SF=OF
CMOVL / CMOVNGE | Less (signed) | SF!=OF
CMOVLE / CMOVNG | Less or equal (signed) | ZF=1 or SF!=OF

Example

cmovg rax, rbx              ; if greater, rax = rbx

See also

  • MOV
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST CMOVNO - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST CMOVNO

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

CMOVNO OF=0

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CMOVNS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST CMOVNS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

CMOVNS SF=0

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CMOVO - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST CMOVO

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

CMOVO OF=1

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CMOVS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST CMOVS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

CMOVS SF=1

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CMP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

CMP

Compares two operands by subtracting the source from the destination and setting flags (without storing the result).

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CMP dst, src

Description

Compares two operands by subtracting the source from the destination and setting flags (without storing the result).

Category: Arithmetic | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Performs dst - src internally but does not store the result. Sets OF, SF, ZF, AF, PF, CF. Used before conditional jumps (Jcc) and conditional moves (CMOVcc).

Example

cmp rax, rbx
je equal
jg greater
jl less

cmp rax, 0
jz zero

See also

  • TEST
  • SUB
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST CMPPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST CMPPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

CMPPD xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CMPPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST CMPPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

CMPPS xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CMPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

INST CMPS

Category: x64 assembler instruction

Chapter: Miscellaneous

Syntax

cld
mov rcx, length
repe cmpsb

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CMPSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST CMPSD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

CMPSD xmm, xmm/mem64, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CMPSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST CMPSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

CMPSS xmm, xmm/mem32, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CMPXCHG / CMPXCHG8B / CMPXCHG16B - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

CMPXCHG / CMPXCHG8B / CMPXCHG16B

Atomic compare-and-exchange operations for lock-free programming.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CMPXCHG reg/mem, reg         ; Compare AL/AX/EAX/RAX with dst, exchange if equal
CMPXCHG8B mem64              ; Compare EDX:EAX with mem64, exchange if equal
CMPXCHG16B mem128            ; Compare RDX:RAX with mem128, exchange if equal

Description

Atomic compare-and-exchange operations for lock-free programming.

Category: Exchange/Convert | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

  • CMPXCHG: Compares accumulator with destination. If equal, writes source to destination. If not, loads destination into accumulator. ZF indicates equality.
  • CMPXCHG8B: Compares EDX:EAX with 64-bit memory. If equal, writes ECX:EBX.
  • CMPXCHG16B: Compares RDX:RAX with 128-bit memory. If equal, writes RCX:RBX. Requires LOCK prefix for atomicity.

Example

lock cmpxchg [rbx], rcx      ; atomic compare-exchange
lock cmpxchg16b [rbx]        ; atomic 128-bit compare-exchange

See also

  • LOCK
  • INST XADD
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST CMPXCHG8B - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST CMPXCHG8B

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

CMPXCHG8B mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CMPXCHG16B - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST CMPXCHG16B

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

CMPXCHG16B mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST COMISD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST COMISD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

COMISD xmm, xmm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST COMISS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST COMISS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

COMISS xmm, xmm/mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CPUID - CPU Identification - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

CPUID - CPU Identification

Returns processor feature and identification information in general-purpose registers.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CPUID

Description

Returns processor feature and identification information in general-purpose registers.

Category: System/Atomic | Group: System Instructions

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
CPUID | No operands; input leaf in EAX, output in EAX:EBX:ECX:EDX. | cpuid

Description

CPUID is a serializing instruction that queries the processor for manufacturer, family, model, stepping, and supported feature flags. Before executing CPUID, software loads the desired information leaf into EAX (and sometimes ECX for sub-leaves). After execution, the results appear in EAX, EBX, ECX, and EDX.

Common leaves include:

  • EAX=0: maximum supported basic leaf and vendor string (in EBX, EDX, ECX).
  • EAX=1: processor signature and feature flags (SSE, APIC, etc.) in EAX/EBX/ECX/EDX.
  • EAX=7, ECX=0: extended feature flags (AVX, BMI, etc.) in EBX/ECX/EDX.
  • EAX=0x80000000: maximum extended leaf and vendor string continuation.

PBXB64 supports CPUID in inline assembly; it is most commonly used by runtime detection helpers to choose between scalar and vectorized implementations.

Flags

None of the EFLAGS are modified.

Encoding Notes

  • Opcode is 0F A2.
  • CPUID is implicitly serializing: all prior instructions are globally visible before CPUID executes, and all subsequent instructions begin after it completes.
  • Always check the maximum leaf in EAX before requesting higher-numbered leaves to avoid undefined results.
  • Some leaves require an input value in ECX; preserve ECX across the instruction if needed.

When to use

Use CPUID to detect processor capabilities at runtime, guard the use of newer instruction-set extensions, or collect processor identification for diagnostics. Avoid CPUID in tight loops because it is relatively slow and serializing.

Example

; Query vendor string (GenuineIntel, AuthenticAMD, ...)
mov eax, 0
cpuid
; EBX, EDX, ECX now hold the 12-byte vendor string

; Check for SSE2 support (bit 26 of EDX from leaf 1)
mov eax, 1
cpuid
test edx, 1 << 26
jz   no_sse2

; Query extended feature flags (leaf 7, sub-leaf 0)
mov eax, 7
xor ecx, ecx
cpuid
test ebx, 1 << 5          ; AVX2 bit
jnz  has_avx2

See also

  • RDTSC - Read Time-Stamp Counter
  • PAUSE - Spin Loop Hint
  • int3 - Call to Interrupt 3 (Breakpoint)
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


CQO / CDQE / CWD / CDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

CQO / CDQE / CWD / CDQ

Sign-extends a value into a wider register pair.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CBW                          ; AL -> AX (sign extend byte to word)
CWDE                         ; AX -> EAX (sign extend word to dword)
CDQE                         ; EAX -> RAX (sign extend dword to qword)
CWD                          ; AX -> DX:AX (sign extend word to dword pair)
CDQ                          ; EAX -> EDX:EAX (sign extend dword to qword pair)
CQO                          ; RAX -> RDX:RAX (sign extend qword to dqword pair)

Description

Sign-extends a value into a wider register pair.

Category: Exchange/Convert | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Sign-extends the value in the accumulator into a wider register or register pair. Used before signed division (IDIV) to prepare the dividend.

Example

mov rax, -5
cqo                          ; RDX = -1 (sign extended), RAX = -5
idiv rbx                     ; now divides RDX:RAX by RBX

See also

  • IDIV
  • IMUL
  • MOVZX / MOVSX
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST CRC32 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST CRC32

Category: x64 assembler instruction

Chapter: Crypto

Syntax

CRC32 reg32/64, reg/mem8/16/32/64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CVTDQ2PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST CVTDQ2PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

CVTDQ2PD xmm, xmm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CVTDQ2PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST CVTDQ2PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

CVTDQ2PS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CVTPD2DQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST CVTPD2DQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

CVTPD2DQ xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CVTPD2PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST CVTPD2PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

CVTPD2PS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CVTPS2DQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST CVTPS2DQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

CVTPS2DQ xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CVTPS2PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST CVTPS2PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

CVTPS2PD xmm, xmm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


cvtsd2si - Convert Scalar Double to Signed Integer - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

cvtsd2si - Convert Scalar Double to Signed Integer

Converts the low-order double-precision floating-point value in an XMM register or memory operand to a signed 32-bit or 64-bit integer in a general-purpose register.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CVTSD2SI reg, xmm/mem64

Description

Converts the low-order double-precision floating-point value in an XMM register or memory operand to a signed 32-bit or 64-bit integer in a general-purpose register.

Category: SSE/AVX | Group: Floating-Point Conversion

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
CVTSD2SI r32, xmm | Convert low double in XMM to signed 32-bit integer | cvtsd2si eax, xmm0
CVTSD2SI r32, mem64 | Convert memory double to signed 32-bit integer | cvtsd2si eax, qword ptr [value]
CVTSD2SI r64, xmm | Convert low double in XMM to signed 64-bit integer | cvtsd2si rax, xmm0
CVTSD2SI r64, mem64 | Convert memory double to signed 64-bit integer | cvtsd2si rax, qword ptr [value]

Description

CVTSD2SI converts the scalar double-precision floating-point value located in the low 64 bits of the source XMM operand (or a 64-bit memory location) into a signed integer and stores the result in the destination general-purpose register. The conversion uses the current rounding mode specified by the MXCSR register's rounding-control bits. For truncation regardless of rounding mode, use CVTTSD2SI.

This instruction only operates on the low double of the XMM source; the upper bits of the XMM register are ignored and the destination register's high bits are zeroed for 32-bit forms.

Flags

None affected.

Encoding Notes

  • Requires an F2 prefix for the scalar double form; encoded as F2 0F 2D /r.
  • When the destination is a 64-bit register, a REX.W prefix is required.
  • If the source value is outside the range of the destination integer type, the result is the indefinite integer value (MIN_INT) and an invalid-operation exception is raised if unmasked.

When to use

Use CVTSD2SI when you need to bring a double-precision floating-point result back into integer form under the prevailing rounding mode. Common scenarios include converting computed coordinates, scaling factors, or timing values into integer indices or pixel positions. If you require truncation toward zero regardless of rounding mode, prefer CVTTSD2SI.

Example

; Convert a double in xmm0 to a 32-bit signed integer in eax
movsd xmm0, qword ptr [pi]    ; xmm0 = 3.141592653589793
cvtsd2si eax, xmm0            ; eax = 3 (with default rounding mode)

; Convert a double to a 64-bit signed integer
movsd xmm1, qword ptr [large] ; xmm1 = 1.2345e12
cvtsd2si rax, xmm1            ; rax = 1234500000000

; Memory-to-register conversion
mov rbp, rsp
sub rsp, 8
mov qword ptr [rsp], 0x4049000000000000 ; 50.0
cvtsd2si ebx, qword ptr [rsp] ; ebx = 50
add rsp, 8

See also

  • cvtsi2sd - Convert Signed Integer to Scalar Double
  • cvttsd2si - Convert with Truncation Scalar Double to Signed Integer
  • cvtsd2ss - Convert Scalar Double to Scalar Single
  • cvtss2sd - Convert Scalar Single to Scalar Double
  • PBXB64 Compiler Help


cvtsd2ss - Convert Scalar Double to Scalar Single - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

cvtsd2ss - Convert Scalar Double to Scalar Single

Converts the low-order double-precision floating-point value in the source to a single-precision floating-point value in the low 32 bits of the destination XMM register.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CVTSD2SS xmm1, xmm2/mem64

Description

Converts the low-order double-precision floating-point value in the source to a single-precision floating-point value in the low 32 bits of the destination XMM register.

Category: SSE/AVX | Group: Floating-Point Conversion

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
CVTSD2SS xmm, xmm | Convert low double in source XMM to single in destination XMM | cvtsd2ss xmm0, xmm1
CVTSD2SS xmm, mem64 | Convert memory double to single in destination XMM | cvtsd2ss xmm0, qword ptr [val]

Description

CVTSD2SS converts the scalar double-precision (64-bit) floating-point value in the low quadword of the source operand to a single-precision (32-bit) floating-point value. The converted result is stored in the low doubleword of the destination XMM register, while bits 127:32 of the destination are preserved from the previous contents of the destination. This behavior differs from packed conversion instructions, which zero the upper lanes.

The conversion honors the current MXCSR rounding mode. If the result cannot be represented exactly, it is rounded according to that mode; overflow produces an IEEE infinity result and raises the appropriate exception if unmasked.

Flags

None affected.

Encoding Notes

  • Encoded with the F2 prefix as F2 0F 5A /r.
  • The upper 96 bits of the destination XMM register are unchanged (Intel/AMD SSE behavior), making this useful when mixing scalar single and double operations.
  • Requires at least SSE2.

When to use

Use CVTSD2SS when an algorithm has produced a double-precision value but downstream logic (for example, a graphics API or DSP routine) expects single-precision input. It is also useful when you want to compress a double result into 32-bit storage without performing a full packed conversion.

Example

; Reduce precision of a double to single precision
movsd xmm0, qword ptr [double_val] ; xmm0 low = 3.141592653589793
cvtsd2ss xmm1, xmm0                ; xmm1 low = 3.1415927f

; Store the single result to memory
movss dword ptr [float_result], xmm1

; Combine with existing packed singles: upper bits of xmm2 stay intact
cvtsd2ss xmm2, xmm3                ; xmm2[31:0] converted, xmm2[127:32] preserved

See also

  • cvtss2sd - Convert Scalar Single to Scalar Double
  • cvtsd2si - Convert Scalar Double to Signed Integer
  • MOVSS - Move Scalar Single-Precision Floating-Point
  • MOVSD - Move Scalar Double-Precision Floating-Point
  • PBXB64 Compiler Help


cvtsi2sd - Convert Signed Integer to Scalar Double - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

cvtsi2sd - Convert Signed Integer to Scalar Double

Converts a signed integer general-purpose register or memory operand to a double-precision floating-point value in the low 64 bits of the destination XMM register.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CVTSI2SD xmm, reg/mem

Description

Converts a signed integer general-purpose register or memory operand to a double-precision floating-point value in the low 64 bits of the destination XMM register.

Category: SSE/AVX | Group: Floating-Point Conversion

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
CVTSI2SD xmm, r32 | Convert signed 32-bit integer in GPR to double in XMM | cvtsi2sd xmm0, eax
CVTSI2SD xmm, mem32 | Convert signed 32-bit integer in memory to double in XMM | cvtsi2sd xmm0, dword ptr [count]
CVTSI2SD xmm, r64 | Convert signed 64-bit integer in GPR to double in XMM | cvtsi2sd xmm0, rax
CVTSI2SD xmm, mem64 | Convert signed 64-bit integer in memory to double in XMM | cvtsi2sd xmm0, qword ptr [ticks]

Description

CVTSI2SD converts a signed integer source operand into a double-precision floating-point value. The result is written to the low 64 bits of the destination XMM register. Bits 127:64 of the destination XMM register are preserved from their previous value, allowing scalar double operations to coexist with other data in the upper portion of the register.

This instruction supports both 32-bit and 64-bit integer sources. The 64-bit form requires a REX.W prefix. Because IEEE 754 double-precision can represent all 32-bit integers exactly and most 64-bit integers up to 2^53 exactly, 32-bit conversions are always precise, while 64-bit conversions may round for very large magnitudes.

Flags

None affected.

Encoding Notes

  • Encoded with the F2 prefix as F2 0F 2A /r.
  • For 64-bit integer sources, the REX.W bit must be set on the instruction encoding.
  • The destination's upper 64 bits are preserved, not zeroed.

When to use

Use CVTSI2SD whenever integer data must participate in floating-point arithmetic, such as normalizing array indices, converting pixel coordinates, or preparing integer sensor readings for statistical formulas. For single-precision output, use CVTSI2SS instead.

Example

; Convert a 32-bit loop counter to double for division
mov eax, 100
cvtsi2sd xmm0, eax        ; xmm0 low = 100.0

; Convert a 64-bit timestamp to double
rdtsc
shl rdx, 32
or rax, rdx
cvtsi2sd xmm1, rax        ; xmm1 low = (double)ticks

; Convert a memory integer to double, preserving upper xmm2 data
cvtsi2sd xmm2, dword ptr [score]

See also

  • cvtsd2si - Convert Scalar Double to Signed Integer
  • cvttsd2si - Convert with Truncation Scalar Double to Signed Integer
  • cvtss2sd - Convert Scalar Single to Scalar Double
  • PBXB64 Compiler Help


INST CVTSI2SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST CVTSI2SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

CVTSI2SS xmm, reg32/64/mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


cvtss2sd - Convert Scalar Single to Scalar Double - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

cvtss2sd - Convert Scalar Single to Scalar Double

Converts the low-order single-precision floating-point value in the source to a double-precision floating-point value in the low 64 bits of the destination XMM register.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CVTSS2SD xmm1, xmm2/mem32

Description

Converts the low-order single-precision floating-point value in the source to a double-precision floating-point value in the low 64 bits of the destination XMM register.

Category: SSE/AVX | Group: Floating-Point Conversion

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
CVTSS2SD xmm, xmm | Convert low single in source XMM to double in destination XMM | cvtss2sd xmm0, xmm1
CVTSS2SD xmm, mem32 | Convert memory single to double in destination XMM | cvtss2sd xmm0, dword ptr [val]

Description

CVTSS2SD converts the scalar single-precision (32-bit) floating-point value located in the low doubleword of the source operand to a double-precision (64-bit) floating-point value. The converted result is stored in the low quadword of the destination XMM register. Bits 127:64 of the destination XMM register are preserved from their prior value. The conversion is exact when the single value is normalized, because every normal single-precision value is exactly representable in double precision.

Flags

None affected.

Encoding Notes

  • Encoded with the F3 prefix as F3 0F 5A /r.
  • Only the low 32 bits of the source are interpreted as a single-precision float.
  • The upper 64 bits of the destination XMM register are unchanged.

When to use

Use CVTSS2SD to widen a single-precision value to double precision before performing calculations that require the extra range or precision. This is common when loading 32-bit float data from files, GPUs, or SIMD buffers into scalar x87/SSE double-precision algorithms.

Example

; Promote a single-precision input to double before precise math
movss xmm0, dword ptr [input_f] ; xmm0 low = 1.5f
cvtss2sd xmm1, xmm0             ; xmm1 low = 1.5 (exact)

; Promote a memory float to double
cvtss2sd xmm2, dword ptr [sensor]
addsd xmm2, qword ptr [calibration]

; Upper bits of xmm3 are preserved
cvtss2sd xmm3, xmm4

See also

  • cvtsd2ss - Convert Scalar Double to Scalar Single
  • cvtsi2sd - Convert Signed Integer to Scalar Double
  • MOVSS - Move Scalar Single-Precision Floating-Point
  • MOVSD - Move Scalar Double-Precision Floating-Point
  • PBXB64 Compiler Help


INST CVTSS2SI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST CVTSS2SI

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

CVTSS2SI reg32/64, xmm/mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CVTTPD2DQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST CVTTPD2DQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

CVTTPD2DQ xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CVTTPS2DQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST CVTTPS2DQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

CVTTPS2DQ xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


cvttsd2si - Convert with Truncation Scalar Double to Signed Integer - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

cvttsd2si - Convert with Truncation Scalar Double to Signed Integer

Converts the low-order double-precision floating-point value in an XMM register or memory to a signed integer using truncation toward zero.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

CVTTSD2SI reg, xmm/mem64

Description

Converts the low-order double-precision floating-point value in an XMM register or memory to a signed integer using truncation toward zero.

Category: SSE/AVX | Group: Floating-Point Conversion

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
CVTTSD2SI r32, xmm | Truncate low double in XMM to signed 32-bit integer | cvttsd2si eax, xmm0
CVTTSD2SI r32, mem64 | Truncate memory double to signed 32-bit integer | cvttsd2si eax, qword ptr [x]
CVTTSD2SI r64, xmm | Truncate low double in XMM to signed 64-bit integer | cvttsd2si rax, xmm0
CVTTSD2SI r64, mem64 | Truncate memory double to signed 64-bit integer | cvttsd2si rax, qword ptr [x]

Description

CVTTSD2SI is the truncation variant of CVTSD2SI. It converts the scalar double-precision floating-point value in the low 64 bits of the source operand to a signed integer in the destination general-purpose register. Unlike CVTSD2SI, this instruction always rounds toward zero regardless of the MXCSR rounding mode. This makes it ideal for C-style casts from floating-point to integer.

If the source value is outside the representable range of the destination integer type, the result is the indefinite integer value (MIN_INT) and an invalid-operation exception is raised if unmasked.

Flags

None affected.

Encoding Notes

  • Encoded with the F2 prefix as F2 0F 2C /r.
  • The 64-bit destination form requires the REX.W prefix.
  • Truncation means fractional parts are discarded: 3.9 becomes 3 and -3.9 becomes -3.

When to use

Use CVTTSD2SI when you need the equivalent of a C integer cast or when array indexing and similar operations require truncation toward zero. Use CVTSD2SI instead if you want to honor the current floating-point rounding mode.

Example

; C-style (int) cast of a double
cvttsd2si eax, xmm0           ; eax = (int)(double)x

; Array index from a scaled double
movsd xmm0, qword ptr [pos_x]
cvttsd2si ebx, xmm0           ; ebx = floor toward zero of pos_x
mov rcx, qword ptr [array]
mov eax, dword ptr [rcx + rbx*4]

; 64-bit truncation
cvttsd2si rax, qword ptr [timestamp]

See also

  • cvtsd2si - Convert Scalar Double to Signed Integer
  • cvtsi2sd - Convert Signed Integer to Scalar Double
  • cvtsd2ss - Convert Scalar Double to Scalar Single
  • PBXB64 Compiler Help


INST CVTTSI2SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST CVTTSI2SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

CVTTSI2SD xmm, reg32/64/mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CVTTSS2SI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST CVTTSS2SI

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

CVTTSS2SI reg32/64, xmm/mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST CWDE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST CWDE

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

CWDE keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST DAA - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST DAA

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

DAA Dezimalanpassung nach Subtraktion (nicht gültig in x64)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


DEC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

DEC

Subtracts 1 from the operand. Does not affect the Carry Flag (CF).

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

DEC reg
DEC mem

Description

Subtracts 1 from the operand. Does not affect the Carry Flag (CF).

Category: Arithmetic | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Performs operand = operand - 1. Sets OF, SF, ZF, AF, PF but does NOT modify CF. Use SUB dst, 1 if you need CF updated.

Example

dec rax
dec DWORD PTR [rbx]

See also

  • INC
  • SUB
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


DIV - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

DIV

Divides an implicit double-width dividend by the source operand.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

DIV reg/mem

Description

Divides an implicit double-width dividend by the source operand.

Category: Arithmetic | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Divides the implicit dividend (AX/DX:AX/EDX:EAX/RDX:RAX) by the source operand. Quotient in AL/AX/EAX/RAX, remainder in AH/DX/EDX/RDX.

Example

div rbx                      ; RAX = RDX:RAX / RBX, RDX = remainder

See also

  • IDIV
  • MUL
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST DIVPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST DIVPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

DIVPD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


divps - Divide Packed Single-Precision Floating-Point Values - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

divps - Divide Packed Single-Precision Floating-Point Values

Divides four single-precision floating-point values in the destination XMM register by the corresponding four values in the source XMM register or 128-bit memory operand.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

DIVPS xmm1, xmm2/mem128

Description

Divides four single-precision floating-point values in the destination XMM register by the corresponding four values in the source XMM register or 128-bit memory operand.

Category: SSE/AVX | Group: Packed Floating-Point Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
DIVPS xmm, xmm | Divide four packed singles in destination by four packed singles in source XMM | divps xmm0, xmm1
DIVPS xmm, mem128 | Divide four packed singles in destination by four packed singles in memory | divps xmm0, xmmword ptr [vec]

Description

DIVPS performs a SIMD (Single Instruction, Multiple Data) divide on four single-precision floating-point lanes in parallel. For each lane i from 0 to 3, it computes DEST[i] = DEST[i] / SRC[i]. The operation follows IEEE 754 rules: division by zero produces +/-infinity or NaN depending on the numerator, and denormal results are handled according to the MXCSR flush-to-zero and denormals-are-zero flags.

This is a packed instruction, meaning all four lanes are active. It differs from scalar SSE division instructions such as DIVSS, which only modify the low lane and leave the upper lanes of the destination unchanged. AVX forms (VDIVPS) operate on 256-bit YMM registers with eight lanes.

Flags

None affected directly. MXCSR exception flags (invalid, divide-by-zero, denormal, overflow, underflow, precision) may be updated.

Encoding Notes

  • Encoded as 0F 5E /r.
  • Requires SSE1 support.
  • The source memory operand must be 16-byte aligned when it is a memory operand; misalignment raises a general-protection exception unless the processor supports unaligned SSE access with the appropriate feature bit.

When to use

Use DIVPS for vectorized floating-point division, such as normalizing vectors, scaling color channels, or computing reciprocal-like ratios across multiple data elements simultaneously. For scalar double division, use DIVSD; for scalar single division, use DIVSS. If exact IEEE semantics are not required, consider multiplying by a precomputed reciprocal for better throughput.

Example

; Divide two 4-component vectors component-wise
movaps xmm0, [vec_a]     ; xmm0 = {a0, a1, a2, a3}
movaps xmm1, [vec_b]     ; xmm1 = {b0, b1, b2, b3}
divps xmm0, xmm1         ; xmm0 = {a0/b0, a1/b1, a2/b2, a3/b3}

; Scale a color/RGBA vector by per-channel factors
movaps xmm2, [rgba]
divps xmm2, [scale]
movaps [rgba], xmm2

See also

  • divss - Divide Scalar Single-Precision Floating-Point Value
  • divsd - Divide Scalar Double-Precision Floating-Point Value
  • MULPS - Packed Single-Precision Floating-Point Multiply
  • SUBPS - Subtract Packed Single-Precision Floating-Point Values
  • PBXB64 Compiler Help


divsd - Divide Scalar Double-Precision Floating-Point Value - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

divsd - Divide Scalar Double-Precision Floating-Point Value

Divides the low-order double-precision floating-point value in the destination XMM register by the corresponding scalar double in the source XMM register or memory operand.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

DIVSD xmm1, xmm2/mem64

Description

Divides the low-order double-precision floating-point value in the destination XMM register by the corresponding scalar double in the source XMM register or memory operand.

Category: SSE/AVX | Group: Scalar Floating-Point Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
DIVSD xmm, xmm | Divide scalar double in destination by scalar double in source XMM | divsd xmm0, xmm1
DIVSD xmm, mem64 | Divide scalar double in destination by double in memory | divsd xmm0, qword ptr [divisor]

Description

DIVSD performs a scalar double-precision floating-point division. It computes DEST[63:0] = DEST[63:0] / SRC[63:0] and stores the result in the low 64 bits of the destination XMM register. Bits 127:64 of the destination are preserved from their previous contents. This is the standard x64 instruction for double-precision division when using SSE registers.

The operation follows IEEE 754 double-precision semantics. Division by zero yields an appropriately signed infinity or NaN. Denormal handling and rounding are controlled by MXCSR.

Flags

None affected directly. MXCSR exception flags may be updated.

Encoding Notes

  • Encoded with the F2 prefix as F2 0F 5E /r.
  • Requires SSE2 support.
  • Only the low 64 bits of the source operand are read; the high bits of the XMM source are ignored.
  • Memory operands do not require 16-byte alignment for DIVSD because only 8 bytes are read.

When to use

Use DIVSD for scalar double-precision division in numeric algorithms, physics calculations, statistics, and anywhere precise 64-bit floating-point ratios are required. It is significantly slower than multiplication, so for performance-critical paths consider precomputing reciprocals and using MULSD when full precision is not needed.

Example

; Compute a / b in double precision
movsd xmm0, qword ptr [a]
divsd xmm0, qword ptr [b]   ; xmm0 = a / b

; Divide by a register value
movsd xmm0, qword ptr [total]
divsd xmm0, xmm1            ; xmm0 = total / xmm1

; Average two double values
movsd xmm0, qword ptr [x]
addsd xmm0, qword ptr [y]
divsd xmm0, qword ptr [two] ; xmm0 = (x + y) / 2.0

See also

  • MULSD - Scalar Double-Precision Floating-Point Multiply
  • ADDSD - Add Scalar Double-Precision Floating-Point
  • SUBSD - Subtract Scalar Double-Precision Floating-Point Value
  • divss - Divide Scalar Single-Precision Floating-Point Value
  • divps - Divide Packed Single-Precision Floating-Point Values
  • PBXB64 Compiler Help


divss - Divide Scalar Single-Precision Floating-Point Value - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

divss - Divide Scalar Single-Precision Floating-Point Value

Divides the low-order single-precision floating-point value in the destination XMM register by the corresponding scalar single in the source XMM register or memory operand.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

DIVSS xmm1, xmm2/mem32

Description

Divides the low-order single-precision floating-point value in the destination XMM register by the corresponding scalar single in the source XMM register or memory operand.

Category: SSE/AVX | Group: Scalar Floating-Point Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
DIVSS xmm, xmm | Divide scalar single in destination by scalar single in source XMM | divss xmm0, xmm1
DIVSS xmm, mem32 | Divide scalar single in destination by single in memory | divss xmm0, dword ptr [divisor]

Description

DIVSS performs a scalar single-precision floating-point division. It computes DEST[31:0] = DEST[31:0] / SRC[31:0] and stores the result in the low 32 bits of the destination XMM register. Bits 127:32 of the destination are preserved from their previous contents. This is the standard SSE instruction for 32-bit floating-point scalar division.

The operation follows IEEE 754 single-precision semantics. Division by zero produces an appropriately signed infinity or NaN. Rounding and exception behavior are governed by MXCSR.

Flags

None affected directly. MXCSR exception flags may be updated.

Encoding Notes

  • Encoded with the F3 prefix as F3 0F 5E /r.
  • Requires SSE1 support.
  • Only the low 32 bits of the source are read.
  • Memory operands do not require 16-byte alignment because only 4 bytes are read.

When to use

Use DIVSS for scalar single-precision division, common in graphics shaders mapped to CPU SIMD, audio DSP, and game code where 32-bit float precision is sufficient. As with all x86 division instructions, it has relatively high latency; for tight loops consider computing reciprocals once and using MULSS.

Example

; Compute x / y as 32-bit floats
movss xmm0, dword ptr [x]
divss xmm0, dword ptr [y]   ; xmm0 low = x / y

; Normalize a single component
movss xmm1, dword ptr [length]
divss xmm0, xmm1            ; xmm0 = component / length

; Divide accumulated sum by count
movss xmm0, dword ptr [sum]
divss xmm0, dword ptr [n]   ; xmm0 = sum / n

See also

  • MULSS - Scalar Single-Precision Floating-Point Multiply
  • ADDSS - Add Scalar Single-Precision Floating-Point
  • SUBSS - Subtract Scalar Single-Precision Floating-Point Value
  • divsd - Divide Scalar Double-Precision Floating-Point Value
  • divps - Divide Packed Single-Precision Floating-Point Values
  • PBXB64 Compiler Help


INST DPPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST DPPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

DPPD xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST DPPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST DPPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

DPPS xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST EMMS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST EMMS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

EMMS Schnelles EMMS (AMD, löscht weniger Register)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST ENDBR32 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST ENDBR32

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

ENDBR32 F3 0F 1E FB

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST ENDBR64 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST ENDBR64

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

ENDBR64 F3 0F 1E FA

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ENTER / LEAVE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

ENTER / LEAVE

Creates and destroys stack frames for procedures.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

ENTER imm16, imm8            ; push rbp, mov rbp, rsp, sub rsp, imm16
LEAVE                        ; mov rsp, rbp, pop rbp

Description

Creates and destroys stack frames for procedures.

Category: Stack Operations | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

  • ENTER: Creates a stack frame. Pushes RBP, sets RBP = RSP, then allocates local space by subtracting imm16 from RSP. The second operand (imm8) specifies nesting level for nested procedures (usually 0).
  • LEAVE: Destroys the stack frame. Restores RSP from RBP, then pops RBP.

Example

enter 32, 0                  ; allocate 32 bytes of local space
...
leave
ret

See also

  • PUSH
  • POP
  • RET
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST EXTRACTPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST EXTRACTPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

EXTRACTPS reg/mem32, xmm, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FABS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FABS

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FABS keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FADD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST FADD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

FADD mem32/64 / ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FADDP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST FADDP

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

FADDP ST(i), ST(0)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FBLD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST FBLD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

FBLD mem80 (TBYTE)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FBSTP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FBSTP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FBSTP mem80 (TBYTE)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FCHS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST FCHS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

FCHS keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FCLEX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FCLEX

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FCLEX keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FCOM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST FCOM

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

FCOM mem32/64 / ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FCOMI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST FCOMI

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

FCOMI ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FCOMIP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST FCOMIP

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

FCOMIP ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FCOMP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FCOMP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FCOMP mem32/64 / ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FCOMPP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FCOMPP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FCOMPP keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FDECSTP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FDECSTP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FDECSTP keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FDIV - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FDIV

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FDIV mem32/64 / ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FDIVP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FDIVP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FDIVP ST(i), ST(0)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FDIVR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FDIVR

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FDIVR mem32/64 / ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FDIVRP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FDIVRP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FDIVRP ST(i), ST(0)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FFREE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FFREE

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FFREE ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FIADD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FIADD

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FIADD mem16/32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FICOM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FICOM

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FICOM mem16/32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FICOMP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FICOMP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FICOMP mem16/32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FIDIV - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FIDIV

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FIDIV mem16/32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FILD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FILD

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FILD mem16/32/64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FIMUL - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FIMUL

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FIMUL mem16/32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FINCSTP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FINCSTP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FINCSTP keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FINIT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FINIT

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FINIT keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FIST - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FIST

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FIST mem16/32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FISTP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FISTP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FISTP mem16/32/64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FISTTP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FISTTP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FISTTP mem16/32/64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FISUB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FISUB

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FISUB mem16/32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FLD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FLD

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FLD mem32/64/80 / ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FLD1 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FLD1

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FLD1 +1,0

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FLDCW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST FLDCW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

FLDCW mem16

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FLDENV - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FLDENV

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FLDENV mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FLDL2E - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FLDL2E

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FLDL2E 1.44269504088896341

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FLDL2T - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FLDL2T

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FLDL2T 3.32192809488736235

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FLDLG2 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FLDLG2

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FLDLG2 0,30102999566398120

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FLDLN2 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FLDLN2

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FLDLN2 0,69314718055994531

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FLDPI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FLDPI

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FLDPI 3.14159265358979324

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FLDZ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FLDZ

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FLDZ +0,0

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FMUL - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FMUL

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FMUL mem32/64 / ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FMULP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FMULP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FMULP ST(i), ST(0)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FNCLEX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FNCLEX

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FNCLEX keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FNINIT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FNINIT

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FNINIT keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FNOP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FNOP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FNOP keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FPATAN - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FPATAN

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FPATAN 2^ST0 - 1

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FPREM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FPREM

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FPREM keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FPREM1 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FPREM1

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FPREM1 keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FRNDINT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FRNDINT

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FRNDINT keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FRSTOR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FRSTOR

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FRSTOR mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FSAVE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FSAVE

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FSAVE mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FSCALE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FSCALE

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FSCALE keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FSIN - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FSIN

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FSIN Kosinus von ST0

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FSINCOS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FSINCOS

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FSINCOS Partielle Tangente (ST1=tan, ST0=1,0)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FSQRT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FSQRT

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FSQRT keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FST - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FST

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FST mem32/64 / ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FSTCW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST FSTCW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

FSTCW mem16

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FSTENV - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FSTENV

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FSTENV mem (14/28 Byte)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FSTP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FSTP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FSTP mem32/64/80 / ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FSTSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST FSTSW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

FSTSW mem16 / AX

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FSUB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FSUB

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FSUB mem32/64 / ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FSUBP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FSUBP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FSUBP ST(i), ST(0)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FSUBR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FSUBR

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FSUBR mem32/64 / ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FSUBRP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FSUBRP

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FSUBRP ST(i), ST(0)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FTST - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST FTST

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

FTST keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FUCOM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST FUCOM

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

FUCOM ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FUCOMI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST FUCOMI

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

FUCOMI ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FUCOMIP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST FUCOMIP

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

FUCOMIP ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FUCOMP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST FUCOMP

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

FUCOMP ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FUCOMPP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST FUCOMPP

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

FUCOMPP keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FWAIT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FWAIT

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FWAIT keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FXAM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST FXAM

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

FXAM keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FXCH - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FXCH

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FXCH ST(i)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FXRSTOR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST FXRSTOR

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

FXRSTOR Speichern Sie den x87- und SSE-Status

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FXTRACT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST FXTRACT

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

FXTRACT keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST FYL2X - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › FPU / x87 PBXB64 Compiler Help

INST FYL2X

Category: x64 assembler instruction

Chapter: FPU / x87

Syntax

FYL2X ST1 * log2(ST0 + 1), pop

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST GF2P8AFFINEINVQB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST GF2P8AFFINEINVQB

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

GF2P8AFFINEINVQB xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST GF2P8AFFINEQB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST GF2P8AFFINEQB

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

GF2P8AFFINEQB xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST GF2P8MULB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST GF2P8MULB

Category: x64 assembler instruction

Chapter: Crypto

Syntax

GF2P8MULB xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST HADDPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST HADDPD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

HADDPD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST HADDPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST HADDPS

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

HADDPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST HLT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST HLT

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

HLT keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST HSUBPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST HSUBPD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

HSUBPD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST HSUBPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST HSUBPS

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

HSUBPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


IDIV - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

IDIV

Divides a signed double-width dividend by the source operand.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

IDIV reg/mem

Description

Divides a signed double-width dividend by the source operand.

Category: Arithmetic | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Signed division. Same register usage as DIV. The sign of the remainder follows the sign of the dividend (truncates toward zero).

Example

idiv rbx                     ; signed divide RDX:RAX by RBX

See also

  • DIV
  • IMUL
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


IMUL - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

IMUL

Multiplies signed integers. Has three forms for flexibility.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

IMUL reg/mem                    ; single operand (implicit result)
IMUL reg, reg/mem               ; two operand
IMUL reg, reg/mem, imm          ; three operand

Description

Multiplies signed integers. Has three forms for flexibility.

Category: Arithmetic | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

  • Single operand: Same as MUL but signed. Result in RDX:RAX.
  • Two operand: reg = reg * reg/mem. Result is truncated to reg size.
  • Three operand: reg = reg/mem * imm. Result is truncated to reg size.

Example

imul rbx                     ; RDX:RAX = RAX * RBX (signed)
imul rax, rbx                ; RAX = RAX * RBX
imul rax, rbx, 10            ; RAX = RBX * 10

See also

  • MUL
  • IDIV
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST IN - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST IN

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

IN AL/AX/EAX, DX/imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

INC

Adds 1 to the operand. Does not affect the Carry Flag (CF).

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

INC reg
INC mem

Description

Adds 1 to the operand. Does not affect the Carry Flag (CF).

Category: Arithmetic | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Performs operand = operand + 1. Sets OF, SF, ZF, AF, PF but does NOT modify CF. Use ADD dst, 1 if you need CF updated.

Example

inc rax
inc DWORD PTR [rbx]

See also

  • DEC
  • ADD - Add
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST INCSSP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST INCSSP

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

INCSSP reg32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST INSERTPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST INSERTPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

INSERTPS xmm, xmm/mem32, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


int3 - Call to Interrupt 3 (Breakpoint) - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

int3 - Call to Interrupt 3 (Breakpoint)

Generates a special one-byte breakpoint trap that transfers control to the debugger.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

INT3

Description

Generates a special one-byte breakpoint trap that transfers control to the debugger.

Category: System/Atomic | Group: Debug/Special

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
INT3 | One-byte breakpoint interrupt | int3

Description

INT3 generates a breakpoint exception (#BP, vector 3). It is encoded as a single byte (0xCC) and is the standard way software debuggers insert breakpoints into executable code. When the processor executes INT3 and debug exceptions are enabled, control transfers to the operating system's debug exception handler, which normally passes the event to the attached debugger.

Unlike the two-byte INT imm8 form (CD 03), INT3 has a dedicated one-byte encoding that makes it easy for debuggers to patch any instruction in place. It can also be written explicitly in assembly code to create hard-coded trap points.

Flags

None affected before the exception; EFLAGS is saved on the stack as part of the exception frame.

Encoding Notes

  • Encoded as a single byte CC.
  • The two-byte form CD 03 is architecturally equivalent for generating interrupt 3, but INT3 (CC) is preferred for breakpoints.
  • In x64 long mode, the behavior is identical to legacy x86 except that the saved instruction pointer points to the byte following INT3.

When to use

Use INT3 for debugging: either by manually inserting it in source code so a debugger will stop at that location, or as the byte a debugger writes when you set a software breakpoint. Do not leave INT3 instructions in release builds unless you intend to raise an exception, because an unhandled breakpoint will crash the program when no debugger is present.

Example

; Hard-coded breakpoint before a critical check
mov rax, qword ptr [handle]
test rax, rax
int3                    ; break here if debugger attached
jz error_no_handle

; Debugger-inserted patch: original first byte of an instruction
; is replaced with 0xCC, causing execution to trap at that location.

See also

  • UD2 - Undefined Instruction
  • NOP
  • PAUSE - Spin Loop Hint
  • PBXB64 Compiler Help


INST INTO - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST INTO

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

INTO keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST INVD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST INVD

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

INVD keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST INVEPT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST INVEPT

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

INVEPT reg, mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST INVLPG - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST INVLPG

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

INVLPG mem8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST INVPCID - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST INVPCID

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

INVPCID reg, mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST INVVPID - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST INVVPID

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

INVVPID reg, mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Jcc - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

Jcc

Transfers control to a label if the condition is satisfied.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

Jcc label

Description

Transfers control to a label if the condition is satisfied.

Category: Control Transfer | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Checks the condition flags and jumps to the target label if the condition is true. If false, execution continues to the next instruction.

Condition Variants

Mnemonic | Condition | Flags
JE / JZ | Equal / Zero | ZF=1
JNE / JNZ | Not equal / Not zero | ZF=0
JA / JNBE | Above | CF=0 and ZF=0
JAE / JNB | Above or equal | CF=0
JB / JNAE | Below | CF=1
JBE / JNA | Below or equal | CF=1 or ZF=1
JG / JNLE | Greater (signed) | ZF=0 and SF=OF
JGE / JNL | Greater or equal (signed) | SF=OF
JL / JNGE | Less (signed) | SF!=OF
JLE / JNG | Less or equal (signed) | ZF=1 or SF!=OF
JO / JNO | Overflow / Not overflow | OF=1 / OF=0
JS / JNS | Sign / Not sign | SF=1 / SF=0
JP / JNP | Parity even / Parity odd | PF=1 / PF=0

Example

cmp rax, rbx
je equal
jg greater
jl less

test rax, rax
jz zero

See also

  • JMP
  • CMP
  • TEST
  • CMOVcc
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


JMP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

JMP

Transfers execution to a new location unconditionally.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

JMP label
JMP reg
JMP [mem]

Description

Transfers execution to a new location unconditionally.

Category: Control Transfer | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Transfers control to the target. The target can be a label, a register (indirect jump), or a memory location (indirect jump). Does not push a return address.

Example

jmp target
...
target:
    nop

jmp rax                    ; indirect jump
jmp [rbx]                  ; memory indirect

See also

  • CALL
  • RET
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST JNO - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST JNO

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

JNO OF=0

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST JNS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST JNS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

JNS SF=0

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST JO - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST JO

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

JO OF=1

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST JS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST JS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

JS SF=1

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST LAR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST LAR

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

LAR reg, reg/mem16

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST LDDQU - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST LDDQU

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

LDDQU xmm, mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LEA - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

LEA

Computes the effective address of a memory operand and stores it in a register.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

LEA reg, [mem]

Description

Computes the effective address of a memory operand and stores it in a register.

Category: Data Movement | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Computes the address of the memory operand (without accessing memory) and stores it in the destination register. Often used for pointer arithmetic and fast integer math (e.g., lea rax, [rbx+rbx*4] computes rax = rbx * 5).

Example

lea rax, [rbx+8]           ; rax = rbx + 8
lea rax, [rbx+rcx*4]       ; rax = rbx + rcx*4
lea rax, [rip+label]       ; RIP-relative addressing

See also

  • MOV
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


leave - High Level Procedure Exit - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

leave - High Level Procedure Exit

Releases the stack frame set up by a preceding ENTER instruction or by manual prologue code.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

LEAVE

Description

Releases the stack frame set up by a preceding ENTER instruction or by manual prologue code.

Category: Stack | Group: Stack Frame Management

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
LEAVE | Restore stack frame and release local storage | leave

Description

LEAVE is the standard x86/x64 instruction for tearing down a stack frame. It performs two operations in sequence:

  1. RSP := RBP — restore the stack pointer to the value saved in the frame pointer, effectively discarding all local variables and spilled values allocated below RBP.
  2. RBP := POP() — pop the previous frame pointer off the stack into RBP.

This is exactly the inverse of the common prologue sequence push rbp; mov rbp, rsp; sub rsp, N. After LEAVE executes, the stack is in the same state as before the prologue, and a subsequent RET instruction will return control to the caller.

Flags

None affected.

Encoding Notes

  • Encoded as a single byte C9.
  • Equivalent to mov rsp, rbp followed by pop rbp.
  • In x64 code, LEAVE uses the full 64-bit RSP/RBP registers. It does not depend on the default operand-size attribute because RBP/RSP are always 64-bit in 64-bit mode.

When to use

Use LEAVE at the end of any function that establishes a frame pointer with push rbp; mov rbp, rsp. It produces compact, readable epilogues and is recognized by unwind-info generators. Modern optimizing compilers often omit the frame pointer entirely (using RBP as a general register) and instead use add rsp, N followed by pops of saved registers, but for hand-written assembly or debugging-friendly builds LEAVE remains common.

Example

; Standard function epilogue
my_function:
    push rbp
    mov rbp, rsp
    sub rsp, 32          ; allocate shadow space / locals
    ; ... function body ...
    leave                ; mov rsp, rbp ; pop rbp
    ret

; Manual equivalent (if LEAVE is unavailable)
mov rsp, rbp
pop rbp
ret

See also

  • ENTER / LEAVE
  • PUSH
  • POP
  • RET
  • CALL
  • PBXB64 Compiler Help


LFENCE - Load Fence - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

LFENCE - Load Fence

LFENCE is a memory-ordering instruction that serializes all load operations that were issued prior to the fence.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

LFENCE

Description

LFENCE is a memory-ordering instruction that serializes all load operations that were issued prior to the fence.

Category: Memory Fence | Group: SSE2/Memory Ordering

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form Description Example
LFENCE No operands; all preceding loads become globally visible before any subsequent load executes.
lfence

Description

The LFENCE instruction does not serialize stores, only loads. It is typically used as a lightweight barrier to prevent speculative load reordering across the fence point. On modern x64 CPUs, LFENCE is commonly emitted with opcode 0F AE /5. It does not modify registers, condition codes, or memory contents.

Use LFENCE when you need ordering between load operations but do not require full store-load serialization (which is provided by MFENCE).

Flags

All arithmetic and status flags are unaffected.

Encoding Notes

  • Opcode: 0F AE /5 (modr/m byte with reg/opcode field = 101).
  • No memory operand; the instruction is a standalone fence.
  • Inside PBXB64 the encoder emits the 3-byte sequence 0F AE E8 (modr/m = E8).

When to use

Use LFENCE to create a load-only memory barrier in lock-free algorithms, event-loop flag polling, or when pairing with SFENCE for store-load ordering without the heavier cost of MFENCE.

Example

; Ensure a flag read cannot be reordered before the flag write is observed
mov     rax, [flag]
test    rax, rax
jz      .wait
lfence
mov     rbx, [payload]     ; payload load must occur after flag is observed

See also

  • MFENCE - Memory Fence
  • SFENCE - Store Fence
  • LOCK
  • PBXB64 Compiler Help


INST LGDT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST LGDT

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

LGDT mem80 (Pseudo-Deskriptor)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST LIDT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST LIDT

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

LIDT mem80

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST LLDT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST LLDT

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

LLDT reg/mem16/64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST LMSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST LMSW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

LMSW reg/mem16/64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOCK - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

LOCK

Makes certain instructions atomic on multi-processor systems.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

LOCK instruction

Description

Makes certain instructions atomic on multi-processor systems.

Category: Atomic | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Prefix that asserts the LOCK# signal (or equivalent bus lock) for the duration of the instruction. Ensures the read-modify-write cycle is atomic across all CPUs.

Supported Instructions

lock add / lock adc / lock sub / lock sbb / lock and / lock or / lock xor
lock inc / lock dec / lock neg / lock not
lock xadd / lock cmpxchg / lock cmpxchg8b / lock cmpxchg16b
lock bts / lock btr / lock btc

Example

lock inc DWORD PTR [counter]
lock cmpxchg [rbx], rcx

See also

  • CMPXCHG / CMPXCHG8B / CMPXCHG16B
  • INST XADD
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST LOOP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST LOOP

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

LOOP Etikett

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST LSL - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST LSL

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

LSL reg, reg/mem16

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST LTR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST LTR

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

LTR reg/mem16/64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST LZCNT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST LZCNT

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

LZCNT reg, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MASKMOVDQU - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST MASKMOVDQU

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

MASKMOVDQU xmm, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MAXPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST MAXPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

MAXPD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MAXPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST MAXPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

MAXPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MAXSD - Maximum Scalar Double-Precision Floating-Point - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MAXSD - Maximum Scalar Double-Precision Floating-Point

MAXSD returns the larger of two scalar double-precision (64-bit) floating-point values.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MAXSD xmm1, xmm2/m64

Description

MAXSD returns the larger of two scalar double-precision (64-bit) floating-point values.

Category: SSE/AVX | Group: SSE2 Scalar Floating-Point

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form Description Example
MAXSD xmm1, xmm2 Compare low double-precision value in xmm1 with low value in xmm2; store the maximum in low quadword of xmm1.
maxsd xmm0, xmm1
MAXSD xmm1, m64 Compare low double-precision value in xmm1 with 64-bit memory value; store the maximum in low quadword of xmm1.
maxsd xmm0, qword [rbx]

Description

MAXSD operates on the low 64 bits of the destination xmm register and a 64-bit source (either another xmm register or a memory location). The source operand's upper bits are ignored. The upper 64 bits (bits 64–127) of the destination xmm register are preserved. If either operand is NaN, the result depends on the quiet/signaling NaN handling rules defined by SSE semantics.

Flags

EFLAGS are unaffected by MAXSD.

Encoding Notes

  • Requires SSE2.
  • Opcode: F2 0F 5F /r for the register/memory forms.
  • The F2 prefix selects scalar double-precision operation.
  • Only the low quadword (bits 0–63) participates in the comparison; bits 64–127 of the destination are unchanged.

When to use

Use MAXSD for scalar double-precision clamping, branchless max operations, or normalization code where you need the greater of two 64-bit floating-point values without changing control flow.

Example

; Clamp a double in xmm0 to a minimum of 0.0
movsd   xmm1, [zero]
maxsd   xmm0, xmm1          ; xmm0 = max(xmm0, 0.0)

; Find the larger of two doubles stored in memory
movsd   xmm0, [val_a]
maxsd   xmm0, [val_b]       ; xmm0 low = larger of val_a, val_b

See also

  • MINSD - Minimum Scalar Double-Precision Floating-Point
  • MAXSS - Maximum Scalar Single-Precision Floating-Point
  • ADDSD - Add Scalar Double-Precision Floating-Point
  • SUBSD - Subtract Scalar Double-Precision Floating-Point Value
  • PBXB64 Compiler Help


MAXSS - Maximum Scalar Single-Precision Floating-Point - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MAXSS - Maximum Scalar Single-Precision Floating-Point

MAXSS returns the larger of two scalar single-precision (32-bit) floating-point values.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MAXSS xmm1, xmm2/m32

Description

MAXSS returns the larger of two scalar single-precision (32-bit) floating-point values.

Category: SSE/AVX | Group: SSE Scalar Floating-Point

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form Description Example
MAXSS xmm1, xmm2 Compare low single-precision value in xmm1 with low value in xmm2; store the maximum in low dword of xmm1.
maxss xmm0, xmm1
MAXSS xmm1, m32 Compare low single-precision value in xmm1 with 32-bit memory value; store the maximum in low dword of xmm1.
maxss xmm0, dword [rbx]

Description

MAXSS compares the low 32 bits of the destination xmm register with a 32-bit floating-point source. Bits 32–127 of the destination are preserved. The source may be another xmm register or a memory location. NaN propagation follows standard SSE scalar rules.

Flags

EFLAGS are unaffected by MAXSS.

Encoding Notes

  • Requires SSE.
  • Opcode: F3 0F 5F /r.
  • The F3 prefix selects scalar single-precision operation.
  • Only the low dword (bits 0–31) participates; bits 32–127 of the destination are preserved.

When to use

Use MAXSS for scalar float clamping, fast branchless max, or graphics/audio code working with 32-bit floating-point samples.

Example

; Clamp a float to a lower bound
movss   xmm1, [lower_bound]
maxss   xmm0, xmm1          ; xmm0 = max(xmm0, lower_bound)

; Select larger of two floats in memory
movss   xmm0, [a]
maxss   xmm0, [b]           ; xmm0 low = max(a, b)

See also

  • MINSS - Minimum Scalar Single-Precision Floating-Point
  • MAXSD - Maximum Scalar Double-Precision Floating-Point
  • ADDSS - Add Scalar Single-Precision Floating-Point
  • PBXB64 Compiler Help


MFENCE - Memory Fence - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MFENCE - Memory Fence

MFENCE performs a full memory-ordering fence, serializing all load and store operations that were issued before the fence relative to those issued after it.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MFENCE

Description

MFENCE performs a full memory-ordering fence, serializing all load and store operations that were issued before the fence relative to those issued after it.

Category: Memory Fence | Group: SSE2/Memory Ordering

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form Description Example
MFENCE No operands; all preceding memory accesses are globally visible before any subsequent memory accesses.
mfence

Description

MFENCE ensures that all memory loads and stores preceding the fence are globally visible before any loads or stores following the fence are executed. It is stronger than LFENCE (load-only) and SFENCE (store-only). This instruction is commonly used in lock-free data structures, producer-consumer queues, and memory-mapped I/O synchronization.

Flags

All arithmetic and status flags are unaffected.

Encoding Notes

  • Opcode: 0F AE /6 (modr/m byte with reg/opcode field = 110).
  • No memory operand; standalone fence instruction.
  • PBXB64 emits the 3-byte sequence 0F AE F0 (modr/m = F0).

When to use

Use MFENCE when you need a full memory barrier: store-store, load-load, load-store, and store-load ordering are all enforced. Prefer LFENCE or SFENCE if you only need load or store ordering.

Example

; Publish a message to a lock-free queue
mov     [msg_payload], rax
mov     [msg_ready], 1
mfence                      ; ensure payload is written before ready flag

See also

  • LFENCE - Load Fence
  • SFENCE - Store Fence
  • LOCK
  • PBXB64 Compiler Help


INST MINPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST MINPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

MINPD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MINPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST MINPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

MINPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MINSD - Minimum Scalar Double-Precision Floating-Point - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MINSD - Minimum Scalar Double-Precision Floating-Point

MINSD returns the smaller of two scalar double-precision (64-bit) floating-point values.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MINSD xmm1, xmm2/m64

Description

MINSD returns the smaller of two scalar double-precision (64-bit) floating-point values.

Category: SSE/AVX | Group: SSE2 Scalar Floating-Point

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form Description Example
MINSD xmm1, xmm2 Compare low double-precision value in xmm1 with low value in xmm2; store the minimum in low quadword of xmm1.
minsd xmm0, xmm1
MINSD xmm1, m64 Compare low double-precision value in xmm1 with 64-bit memory value; store the minimum in low quadword of xmm1.
minsd xmm0, qword [rbx]

Description

MINSD compares the low 64 bits of the destination xmm register against a 64-bit floating-point source. The smaller value is written to the low quadword of the destination; bits 64–127 of the destination are preserved. If either operand is NaN, the result follows SSE quiet/signaling NaN rules.

Flags

EFLAGS are unaffected by MINSD.

Encoding Notes

  • Requires SSE2.
  • Opcode: F2 0F 5D /r.
  • The F2 prefix selects scalar double-precision operation.
  • Only the low quadword (bits 0–63) participates; bits 64–127 of the destination are preserved.

When to use

Use MINSD for scalar double-precision clamping, branchless minimum selection, or any algorithm that requires the lesser of two 64-bit floats.

Example

; Clamp a double to an upper bound
movsd   xmm1, [upper_bound]
minsd   xmm0, xmm1          ; xmm0 = min(xmm0, upper_bound)

; Choose smaller of two doubles
movsd   xmm0, [x]
minsd   xmm0, [y]           ; xmm0 low = min(x, y)

See also

  • MAXSD - Maximum Scalar Double-Precision Floating-Point
  • MINSS - Minimum Scalar Single-Precision Floating-Point
  • ADDSD - Add Scalar Double-Precision Floating-Point
  • PBXB64 Compiler Help


MINSS - Minimum Scalar Single-Precision Floating-Point - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MINSS - Minimum Scalar Single-Precision Floating-Point

MINSS returns the smaller of two scalar single-precision (32-bit) floating-point values.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MINSS xmm1, xmm2/m32

Description

MINSS returns the smaller of two scalar single-precision (32-bit) floating-point values.

Category: SSE/AVX | Group: SSE Scalar Floating-Point

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form Description Example
MINSS xmm1, xmm2 Compare low single-precision value in xmm1 with low value in xmm2; store the minimum in low dword of xmm1.
minss xmm0, xmm1
MINSS xmm1, m32 Compare low single-precision value in xmm1 with 32-bit memory value; store the minimum in low dword of xmm1.
minss xmm0, dword [rbx]

Description

MINSS compares the low 32 bits of the destination xmm register with a 32-bit floating-point source. The smaller value is written to the low dword of the destination; bits 32–127 of the destination are preserved. NaN behavior follows SSE scalar rules.

Flags

EFLAGS are unaffected by MINSS.

Encoding Notes

  • Requires SSE.
  • Opcode: F3 0F 5D /r.
  • The F3 prefix selects scalar single-precision operation.
  • Only the low dword (bits 0–31) participates; bits 32–127 of the destination are preserved.

When to use

Use MINSS for scalar float clamping, branchless minimum selection, or signal-processing code that works with 32-bit floating-point values.

Example

; Clamp a float to an upper bound
movss   xmm1, [upper]
minss   xmm0, xmm1          ; xmm0 = min(xmm0, upper)

; Find smaller of two floats
movss   xmm0, [u]
minss   xmm0, [v]           ; xmm0 low = min(u, v)

See also

  • MAXSS - Maximum Scalar Single-Precision Floating-Point
  • MINSD - Minimum Scalar Double-Precision Floating-Point
  • ADDSS - Add Scalar Single-Precision Floating-Point
  • PBXB64 Compiler Help


INST MONITOR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST MONITOR

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

MONITOR keine (verwendet RAX/RCX/RDX)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MONITORX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST MONITORX

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

MONITORX keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MOV - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MOV

Copies data from source to destination. The most frequently used x86-64 instruction.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MOV dst, src

Description

Copies data from source to destination. The most frequently used x86-64 instruction.

Category: Data Movement | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
reg, reg | Register to register | mov rax, rbx
reg, mem | Memory to register | mov rax, [rbx]
mem, reg | Register to memory | mov [rbx], rax
reg, imm | Immediate to register | mov rax, 42
mem, imm | Immediate to memory | mov DWORD PTR [rbx], 42

Description

Copies the source operand to the destination operand. The source is not modified. The destination can be a register or memory location. The source can be a register, memory location, or immediate value.

Encoding Notes

  • 64-bit immediates are encoded as MOVABS (REX.W + B8+rd io) for registers.
  • Sign-extended 32-bit immediates to 64-bit registers use the standard mov reg64, imm32 encoding.
  • Memory operands use ModRM + SIB + displacement encoding.

Example

mov rax, 0x1234             ; immediate to register
mov rbx, [rbp-8]             ; load from stack
mov [rbp-16], rcx            ; store to stack
mov edx, eax                 ; 32-bit move (zero-extends to 64-bit implicitly)
mov al, [rsi]                ; 8-bit load

See also

  • Core GPR Mnemonics
  • SSE/SSE2/SSE3/SSSE3/SSE4 Mnemonics
  • PBXB64 - Assembly Language Reference
  • PBXB64 Compiler Help


INST MOVABS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST MOVABS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

MOVABS reg64, imm64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVAPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST MOVAPD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

MOVAPD xmm, xmm/mem128 / mem128, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MOVAPS - Move Aligned Packed Single-Precision Floating-Point - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MOVAPS - Move Aligned Packed Single-Precision Floating-Point

MOVAPS moves 128 bits of aligned packed single-precision floating-point data between two XMM registers or between an XMM register and a 16-byte aligned memory location.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MOVAPS xmm1, xmm2/m128
MOVAPS xmm1/m128, xmm2

Description

MOVAPS moves 128 bits of aligned packed single-precision floating-point data between two XMM registers or between an XMM register and a 16-byte aligned memory location.

Category: Data Movement | Group: SSE Packed Floating-Point

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form Description Example
MOVAPS xmm1, xmm2 Copy 128 bits from source XMM register to destination XMM register.
movaps xmm0, xmm1
MOVAPS xmm1, m128 Load 128 bits from a 16-byte aligned memory location into an XMM register.
movaps xmm0, oword [rbx]
MOVAPS m128, xmm1 Store 128 bits from an XMM register to a 16-byte aligned memory location.
movaps oword [rbx], xmm0

Description

MOVAPS transfers the entire 128-bit contents of an xmm register. The memory operand must be aligned on a 16-byte boundary; otherwise a general-protection exception (#GP) occurs. This instruction treats the bits as four packed single-precision floats, but no conversion or arithmetic is performed. It is the fastest way to move aligned 128-bit data when alignment can be guaranteed.

Flags

EFLAGS are unaffected by MOVAPS.

Encoding Notes

  • Requires SSE.
  • Opcode: 0F 28 /r (load/register move), 0F 29 /r (store).
  • Memory operands must be 16-byte aligned.
  • Use MOVUPS when alignment cannot be guaranteed.

When to use

Use MOVAPS for fast aligned 128-bit data transfers, saving/restoring SSE registers, or moving packed float vectors between XMM registers. Always ensure 16-byte alignment of the memory address.

Example

; Copy a full XMM vector
movaps  xmm0, xmm1

; Load an aligned SIMD vector
movaps  xmm2, oword [matrix_row]

; Store an aligned SIMD vector
movaps  oword [result], xmm0

See also

  • MOVUPS - Move Unaligned Packed Single-Precision Floating-Point
  • MOVSS - Move Scalar Single-Precision Floating-Point
  • ADDPS - Add Packed Single-Precision Floating-Point
  • PBXB64 Compiler Help


INST MOVBE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST MOVBE

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

MOVBE reg, mem / mem, reg

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MOVD - Move Doubleword - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MOVD - Move Doubleword

MOVD moves a 32-bit value between a general-purpose register or memory location and an MMX/SSE register, zero-extending into the upper bits of the SIMD register.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MOVD xmm1, r/m32
MOVD r/m32, xmm1
MOVD mm, r/m32
MOVD r/m32, mm

Description

MOVD moves a 32-bit value between a general-purpose register or memory location and an MMX/SSE register, zero-extending into the upper bits of the SIMD register.

Category: Data Movement | Group: MMX/SSE Integer Move

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form Description Example
MOVD xmm, r32 Move 32-bit general-purpose register into low 32 bits of XMM; upper 96 bits cleared to zero.
movd xmm0, eax
MOVD xmm, m32 Load 32-bit memory value into low 32 bits of XMM; upper 96 bits cleared.
movd xmm0, dword [rbx]
MOVD r32, xmm Extract low 32 bits of XMM into general-purpose register.
movd eax, xmm0
MOVD m32, xmm Store low 32 bits of XMM to memory.
movd dword [rbx], xmm0
MOVD mm, r32 Move 32-bit value into low 32 bits of MMX register; upper 32 bits cleared.
movd mm0, eax

Description

MOVD (Move Doubleword) transfers a 32-bit scalar value between the low bits of an SIMD register and a general-purpose register or memory. When writing to an XMM register, the upper 96 bits are zeroed. When writing to an MMX register, the upper 32 bits are zeroed. It does not perform any format conversion; the bits are simply copied.

Flags

EFLAGS are unaffected by MOVD.

Encoding Notes

  • Requires SSE2 for XMM forms, MMX for MMX forms.
  • SSE2 XMM opcode: 66 0F 6E /r (XMM <- r/m32), 66 0F 7E /r (r/m32 <- XMM).
  • MMX opcode: 0F 6E /r (MM <- r/m32), 0F 7E /r (r/m32 <- MM).
  • The 66 operand-size prefix distinguishes the XMM forms from the legacy MMX forms.

When to use

Use MOVD to marshal 32-bit integer values into or out of SIMD registers, to initialize an XMM register with a scalar integer, or to interface between integer and SSE code paths.

Example

; Move an integer into the low 32 bits of an XMM register
movd    xmm0, ecx

; Extract the low 32-bit integer result from XMM
movd    eax, xmm0

; Move a DWORD from memory into MMX (legacy 32-bit path)
movd    mm0, dword [count]

See also

  • MOVQ - Move Quadword
  • MOVAPS - Move Aligned Packed Single-Precision Floating-Point
  • cvtsi2sd - Convert Signed Integer to Scalar Double
  • PBXB64 Compiler Help


INST MOVDDUP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST MOVDDUP

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

MOVDDUP xmm, xmm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVDQ2Q - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST MOVDQ2Q

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

MOVDQ2Q mm, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVDQA - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST MOVDQA

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

MOVDQA xmm, xmm/mem128 / mem128, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVDQU - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST MOVDQU

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

MOVDQU xmm, xmm/mem128 / mem128, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVHLPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST MOVHLPS

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

MOVHLPS xmm, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVHPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST MOVHPD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

MOVHPD xmm, mem64 / mem64, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVHPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST MOVHPS

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

MOVHPS xmm, mem64 / mem64, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVLHPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST MOVLHPS

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

MOVLHPS xmm, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVLPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST MOVLPD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

MOVLPD xmm, mem64 / mem64, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVLPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST MOVLPS

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

MOVLPS xmm, mem64 / mem64, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVMSKPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST MOVMSKPD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

MOVMSKPD reg, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVMSKPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST MOVMSKPS

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

MOVMSKPS reg, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVNTDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST MOVNTDQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

MOVNTDQ mem128, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVNTDQA - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST MOVNTDQA

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

MOVNTDQA xmm, mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVNTI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST MOVNTI

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

MOVNTI mem32/64, reg

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVNTPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST MOVNTPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

MOVNTPD mem128, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVNTPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST MOVNTPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

MOVNTPS mem128, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MOVQ - Move Quadword - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MOVQ - Move Quadword

MOVQ moves a 64-bit value between an XMM/MMX register and a general-purpose register, memory location, or another SIMD register.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MOVQ xmm1, xmm2/m64
MOVQ xmm1/m64, xmm2
MOVQ mm1, mm2/m64
MOVQ mm1/m64, mm2

Description

MOVQ moves a 64-bit value between an XMM/MMX register and a general-purpose register, memory location, or another SIMD register.

Category: Data Movement | Group: MMX/SSE Integer Move

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form Description Example
MOVQ xmm1, xmm2 Copy low 64 bits from source XMM to destination XMM; upper 64 bits of destination cleared.
movq xmm0, xmm1
MOVQ xmm, m64 Load 64 bits from memory into low quadword of XMM; upper 64 bits cleared.
movq xmm0, qword [rbx]
MOVQ m64, xmm Store low 64 bits of XMM to memory.
movq qword [rbx], xmm0
MOVQ mm, r/m64 Move 64-bit value into MMX register (legacy).
movq mm0, rax
MOVQ r/m64, mm Move 64-bit value from MMX register to GPR/memory (legacy).
movq rax, mm0

Description

MOVQ (Move Quadword) transfers a 64-bit scalar value. In the SSE2/XMM forms, the destination's upper 64 bits are cleared to zero when the destination is an XMM register. The MMX forms move the full 64-bit MMX register. No format conversion is performed; the 64 bits are copied as-is. This instruction is commonly used to move scalar doubles, 64-bit integers, or pointers between GPR and XMM domains.

Flags

EFLAGS are unaffected by MOVQ.

Encoding Notes

  • Requires SSE2 for XMM forms, MMX for MMX forms.
  • SSE2 opcodes: F3 0F 7E /r (XMM <- xmm/m64), 66 0F D6 /r (xmm/m64 <- XMM).
  • MMX opcodes: 0F 6F /r (MM <- mm/m64), 0F 7F /r (mm/m64 <- MM).
  • When loading into XMM, the upper 64 bits are zeroed.

When to use

Use MOVQ to transfer 64-bit scalars between GPR and XMM registers, to zero the upper half of an XMM register, or to copy scalar double-precision values when the upper bits do not need to be preserved.

Example

; Load a 64-bit integer into the low quadword of an XMM register
movq    xmm0, rax

; Store the low 64 bits of an XMM register
movq    qword [result], xmm0

; Copy a scalar double between XMM registers (alias for movsd without preserving upper bits)
movq    xmm1, xmm0

See also

  • MOVD - Move Doubleword
  • MOVSD - Move Scalar Double-Precision Floating-Point
  • PBXB64 Compiler Help


INST MOVQ2DQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST MOVQ2DQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

MOVQ2DQ xmm, mm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MOVS - Move String - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MOVS - Move String

Moves a byte, word, dword, or qword from the memory location pointed to by RSI to the location pointed to by RDI, then updates the index registers.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MOVSB
MOVSW
MOVSD
MOVSQ

Description

Moves a byte, word, dword, or qword from the memory location pointed to by RSI to the location pointed to by RDI, then updates the index registers.

Category: String | Group: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

The operands are implicit: [RSI] is the source and [RDI] is the destination. RSI and RDI are adjusted by the operand size and the direction flag.

Description

Copies data from source to destination. The direction flag determines whether the index registers are incremented or decremented.

Flags

No flags are affected.

When to use

Use MOVS for block memory copies, especially inside loops or with the REP prefix.

Example

cld
mov rsi, source
mov rdi, dest
mov rcx, 64
rep movsq       ; copy 64 qwords

See also

  • REP
  • STOS - Store String
  • MOV
  • PBXB64 Compiler Help


MOVSD - Move Scalar Double-Precision Floating-Point - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MOVSD - Move Scalar Double-Precision Floating-Point

MOVSD moves a scalar double-precision (64-bit) floating-point value between the low quadwords of two XMM registers or between an XMM register and a 64-bit memory location.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MOVSD xmm1, xmm2/m64
MOVSD xmm1/m64, xmm2

Description

MOVSD moves a scalar double-precision (64-bit) floating-point value between the low quadwords of two XMM registers or between an XMM register and a 64-bit memory location.

Category: Data Movement | Group: SSE2 Scalar Floating-Point

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form Description Example
MOVSD xmm1, xmm2 Copy low 64 bits from source XMM to destination XMM; upper 64 bits of destination preserved.
movsd xmm0, xmm1
MOVSD xmm, m64 Load 64-bit double from memory into low quadword of XMM; upper 64 bits preserved.
movsd xmm0, qword [value]
MOVSD m64, xmm Store low 64 bits of XMM to 64-bit memory.
movsd qword [value], xmm0

Description

MOVSD (Move Scalar Double-Precision) transfers a single 64-bit IEEE-754 double-precision floating-point value. When the destination is an XMM register, the upper 64 bits of that register are preserved; only the low quadword is modified. When the destination is memory, the low 64 bits of the source XMM register are written. This instruction is the primary way to load/store scalar DOUBLE values in SSE code.

Flags

EFLAGS are unaffected by MOVSD.

Encoding Notes

  • Requires SSE2.
  • Opcode: F2 0F 10 /r (XMM <- xmm/m64), F2 0F 11 /r (xmm/m64 <- XMM).
  • The F2 prefix selects scalar double-precision operation.
  • Memory alignment is not required for scalar moves.

When to use

Use MOVSD whenever you need to move a single 64-bit floating-point value between memory and an XMM register or between XMM registers while preserving the upper 64 bits of the destination register.

Example

; Load a double from memory
movsd   xmm0, qword [pi]

; Store a double to memory
movsd   qword [result], xmm0

; Copy a scalar double between XMM registers
movsd   xmm1, xmm0

See also

  • MOVSS - Move Scalar Single-Precision Floating-Point
  • ADDSD - Add Scalar Double-Precision Floating-Point
  • cvtsd2si - Convert Scalar Double to Signed Integer
  • PBXB64 Compiler Help


INST MOVSHDUP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST MOVSHDUP

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

MOVSHDUP xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVSLDUP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST MOVSLDUP

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

MOVSLDUP xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MOVSS - Move Scalar Single-Precision Floating-Point - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MOVSS - Move Scalar Single-Precision Floating-Point

MOVSS moves a scalar single-precision (32-bit) floating-point value between the low dwords of two XMM registers or between an XMM register and a 32-bit memory location.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MOVSS xmm1, xmm2/m32
MOVSS xmm1/m32, xmm2

Description

MOVSS moves a scalar single-precision (32-bit) floating-point value between the low dwords of two XMM registers or between an XMM register and a 32-bit memory location.

Category: Data Movement | Group: SSE Scalar Floating-Point

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form Description Example
MOVSS xmm1, xmm2 Copy low 32 bits from source XMM to destination XMM; upper 96 bits of destination preserved.
movss xmm0, xmm1
MOVSS xmm, m32 Load 32-bit float from memory into low dword of XMM; upper 96 bits preserved.
movss xmm0, dword [value]
MOVSS m32, xmm Store low 32 bits of XMM to 32-bit memory.
movss dword [value], xmm0

Description

MOVSS (Move Scalar Single-Precision) transfers a single 32-bit IEEE-754 single-precision floating-point value. When the destination is an XMM register, bits 32–127 of the destination are preserved; only the low dword is modified. When the destination is memory, the low 32 bits of the source XMM register are written. This is the standard instruction for moving scalar SINGLE / FLOAT values.

Flags

EFLAGS are unaffected by MOVSS.

Encoding Notes

  • Requires SSE.
  • Opcode: F3 0F 10 /r (XMM <- xmm/m32), F3 0F 11 /r (xmm/m32 <- XMM).
  • The F3 prefix selects scalar single-precision operation.
  • Memory alignment is not required for scalar moves.

When to use

Use MOVSS to move a single 32-bit floating-point value between memory and an XMM register or between XMM registers while preserving the upper 96 bits of the destination register.

Example

; Load a float from memory
movss   xmm0, dword [scale]

; Store a float to memory
movss   dword [scale], xmm0

; Copy a scalar float between XMM registers
movss   xmm1, xmm0

See also

  • MOVSD - Move Scalar Double-Precision Floating-Point
  • ADDSS - Add Scalar Single-Precision Floating-Point
  • cvtss2sd - Convert Scalar Single to Scalar Double
  • PBXB64 Compiler Help


MOVZX / MOVSX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MOVZX / MOVSX

Copies a smaller operand into a larger register with zero or sign extension.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MOVZX reg, reg/mem           ; Move with zero-extension
MOVSX reg, reg/mem           ; Move with sign-extension
MOVSXD reg64, reg/mem32      ; Move with sign-extension (32-bit to 64-bit)

Description

Copies a smaller operand into a larger register with zero or sign extension.

Category: Data Movement | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

  • MOVZX: Copies the source to the destination and fills the upper bits with zeros. No sign extension.
  • MOVSX: Copies the source to the destination and sign-extends the upper bits.
  • MOVSXD: Sign-extends a 32-bit source to a 64-bit destination. This is the default behavior for 32-bit MOV to 64-bit register in x64.

Example

movzx rax, bl                ; zero-extend BL to RAX
movsx rax, bl                ; sign-extend BL to RAX
movsx eax, bx                ; sign-extend BX to EAX
movsxd rax, [rbx]            ; sign-extend 32-bit memory to 64-bit

See also

  • MOV
  • CQO / CDQE / CWD / CDQ
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST MOVSXD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST MOVSXD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

MOVSXD reg64, reg/mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MOVUPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST MOVUPD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

MOVUPD xmm, xmm/mem128 / mem128, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MOVUPS - Move Unaligned Packed Single-Precision Floating-Point - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MOVUPS - Move Unaligned Packed Single-Precision Floating-Point

MOVUPS moves 128 bits of packed single-precision floating-point data between XMM registers or between an XMM register and memory without requiring 16-byte alignment.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MOVUPS xmm1, xmm2/m128
MOVUPS xmm1/m128, xmm2

Description

MOVUPS moves 128 bits of packed single-precision floating-point data between XMM registers or between an XMM register and memory without requiring 16-byte alignment.

Category: Data Movement | Group: SSE Packed Floating-Point

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form Description Example
MOVUPS xmm1, xmm2 Copy 128 bits from source XMM register to destination XMM register.
movups xmm0, xmm1
MOVUPS xmm, m128 Load 128 bits from any memory address (aligned or not) into XMM.
movups xmm0, oword [unbuf]
MOVUPS m128, xmm Store 128 bits from XMM to any memory address.
movups oword [unbuf], xmm0

Description

MOVUPS is the unaligned counterpart to MOVAPS. It transfers the entire 128-bit contents of an xmm register without requiring the memory operand to be aligned on a 16-byte boundary. On older CPUs this may be slower than MOVAPS; on modern x64 CPUs the performance penalty is usually negligible for ordinary loads, but aligned stores may still split-cache-line operations. Use it when alignment cannot be guaranteed.

Flags

EFLAGS are unaffected by MOVUPS.

Encoding Notes

  • Requires SSE.
  • Opcode: 0F 10 /r (XMM <- xmm/m128), 0F 11 /r (xmm/m128 <- XMM).
  • No alignment requirement on memory operands.
  • On some older processors, crossing a cache-line boundary may incur a small penalty.

When to use

Use MOVUPS when copying 128-bit SIMD data whose memory address is not known to be 16-byte aligned. Prefer MOVAPS when you control allocation and can guarantee alignment for best performance.

Example

; Copy an unaligned 128-bit vector
movups  xmm0, oword [user_buffer]
movups  oword [out_buffer], xmm0

; Move between XMM registers (alignment irrelevant)
movups  xmm1, xmm0

See also

  • MOVAPS - Move Aligned Packed Single-Precision Floating-Point
  • MOVSS - Move Scalar Single-Precision Floating-Point
  • ADDPS - Add Packed Single-Precision Floating-Point
  • PBXB64 Compiler Help


INST MOVZX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST MOVZX

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

MOVZX reg, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MPSADBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST MPSADBW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

MPSADBW xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MUL - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MUL

Multiplies an implicit accumulator by the source operand.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MUL reg/mem

Description

Multiplies an implicit accumulator by the source operand.

Category: Arithmetic | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Multiplies the implicit accumulator (AL/AX/EAX/RAX) by the source operand. The double-width result is stored in AX/DX:AX/EDX:EAX/RDX:RAX.

Size | Multiplicand | Result
8-bit | AL | AX
16-bit | AX | DX:AX
32-bit | EAX | EDX:EAX
64-bit | RAX | RDX:RAX

Example

mul rbx                     ; RDX:RAX = RAX * RBX

See also

  • IMUL
  • DIV
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST MULPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST MULPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

MULPD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MULPS - Packed Single-Precision Floating-Point Multiply - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MULPS - Packed Single-Precision Floating-Point Multiply

Multiplies four single-precision floating-point values in parallel.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MULPS xmm1, xmm2/m128

Description

Multiplies four single-precision floating-point values in parallel.

Category: SSE/AVX | Group: Packed Floating-Point Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
MULPS xmm1, xmm2 | Multiply packed SP floats in two XMM registers. | mulps xmm0, xmm1
MULPS xmm1, m128 | Multiply packed SP floats from an XMM register and a 128-bit memory operand. | mulps xmm0, [rbx]

Description

MULPS (Multiply Packed Single-Precision) performs element-wise multiplication of four single-precision (32-bit) IEEE-754 floating-point values. The destination operand is an XMM register; the source may be another XMM register or a 128-bit memory location.

Each of the four pairs of floats is multiplied independently: DEST[i] = DEST[i] * SRC[i] for i = 0..3. There is no interaction between lanes. Denormals, NaNs, and signed zero are handled according to SSE semantics.

Flags

None affected.

Encoding Notes

  • Uses the 0F 59 /r opcode with a mandatory 0x66 prefix omitted (this is an XMM SSE1 instruction, not SSE2).
  • Requires a 128-bit aligned memory operand on older CPUs; unaligned memory should use MULUPS when available.
  • With VEX/EVEX prefixes the instruction becomes VMULPS and supports three-operand forms and YMM/ZMM widths; PBXB64 emits the legacy SSE form unless AVX is enabled.

When to use

Use MULPS for vectorized single-precision math, such as 3D coordinate scaling, color channel multiplication, or any SIMD kernel that processes four floats per instruction.

Example

; Multiply two arrays of four floats
movaps xmm0, [vecA]    ; load 4 SP floats
mulps  xmm0, [vecB]    ; xmm0 = vecA * vecB (element-wise)
movaps [result], xmm0

; Register-only packed multiply
movaps xmm2, xmm0
mulps  xmm2, xmm1      ; xmm2 = xmm0 * xmm1

See also

  • MULSS - Scalar Single-Precision Floating-Point Multiply
  • MULSD - Scalar Double-Precision Floating-Point Multiply
  • ADDPS - Add Packed Single-Precision Floating-Point
  • SUBPS - Subtract Packed Single-Precision Floating-Point Values
  • PBXB64 Compiler Help


MULSD - Scalar Double-Precision Floating-Point Multiply - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MULSD - Scalar Double-Precision Floating-Point Multiply

Multiplies the low double-precision floating-point value in two XMM operands.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MULSD xmm1, xmm2/m64

Description

Multiplies the low double-precision floating-point value in two XMM operands.

Category: SSE/AVX | Group: Scalar Floating-Point Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
MULSD xmm1, xmm2 | Multiply the low double-precision float in two XMM registers. | mulsd xmm0, xmm1
MULSD xmm1, m64 | Multiply the low double-precision float in an XMM register by a 64-bit memory operand. | mulsd xmm0, qword [rbx]

Description

MULSD (Multiply Scalar Double-Precision) multiplies only the low 64-bit double-precision floating-point value in the destination XMM register by the corresponding low value in the source. Bits 127:64 of the destination XMM register are preserved unchanged.

This is the primary instruction used by PBXB64 for DOUBLE multiplication in compiled PB code, as well as for scalar float64 operations in the C and B64 frontends.

Flags

None affected.

Encoding Notes

  • Opcode F2 0F 59 /r; the F2 REPNE prefix selects the scalar double-precision form.
  • The memory operand is 64 bits, not 128 bits.
  • Legacy SSE leaves the upper XMM bits unmodified. With VEX/EVEX the instruction becomes VMULSD and zeroes bits 127:64 of the result.

When to use

Use MULSD whenever you need a single IEEE-754 double-precision multiply. It is the SSE equivalent of the x87 FMUL instruction but integrates cleanly with XMM register code.

Example

; Double-precision multiply
movsd xmm0, [a]     ; load a (double)
mulsd xmm0, [b]     ; xmm0.low = a * b
movsd [result], xmm0

; Register scalar multiply
movsd xmm2, xmm0
mulsd xmm2, xmm1    ; xmm2.low = xmm0.low * xmm1.low

See also

  • MULSS - Scalar Single-Precision Floating-Point Multiply
  • MULPS - Packed Single-Precision Floating-Point Multiply
  • ADDSD - Add Scalar Double-Precision Floating-Point
  • SUBSD - Subtract Scalar Double-Precision Floating-Point Value
  • PBXB64 Compiler Help


MULSS - Scalar Single-Precision Floating-Point Multiply - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

MULSS - Scalar Single-Precision Floating-Point Multiply

Multiplies the low single-precision floating-point value in two XMM operands.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

MULSS xmm1, xmm2/m32

Description

Multiplies the low single-precision floating-point value in two XMM operands.

Category: SSE/AVX | Group: Scalar Floating-Point Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
MULSS xmm1, xmm2 | Multiply the low single-precision float in two XMM registers. | mulss xmm0, xmm1
MULSS xmm1, m32 | Multiply the low single-precision float in an XMM register by a 32-bit memory operand. | mulss xmm0, dword [rbx]

Description

MULSS (Multiply Scalar Single-Precision) multiplies only the low 32-bit single-precision floating-point value in the destination XMM register by the low value in the source. Bits 127:32 of the destination XMM register are preserved unchanged in legacy SSE.

This instruction is used for scalar FLOAT/SINGLE multiplication in PBXB64-compiled PB programs and for float32 operations in the C and B64 frontends.

Flags

None affected.

Encoding Notes

  • Opcode F3 0F 59 /r; the F3 REP prefix selects the scalar single-precision form.
  • The memory operand is 32 bits.
  • Legacy SSE leaves bits 127:32 unmodified. With VEX/EVEX the instruction becomes VMULSS and zeroes bits 127:32 of the result.

When to use

Use MULSS for scalar single-precision floating-point multiplication. Prefer MULPS when you can process four floats in parallel.

Example

; Single-precision multiply
movss xmm0, [x]     ; load x (float)
mulss xmm0, [y]     ; xmm0.low = x * y
movss [z], xmm0

; Register scalar multiply
movss xmm3, xmm0
mulss xmm3, xmm1    ; xmm3.low = xmm0.low * xmm1.low

See also

  • MULPS - Packed Single-Precision Floating-Point Multiply
  • MULSD - Scalar Double-Precision Floating-Point Multiply
  • ADDSS - Add Scalar Single-Precision Floating-Point
  • SUBSS - Subtract Scalar Single-Precision Floating-Point Value
  • PBXB64 Compiler Help


INST MULX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST MULX

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

MULX reg, reg, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MWAIT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST MWAIT

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

MWAIT keine (verwendet EAX/ECX)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST MWAITX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST MWAITX

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

MWAITX keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


NEG - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

NEG

Replaces the operand with its arithmetic negation (0 - operand).

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

NEG reg
NEG mem

Description

Replaces the operand with its arithmetic negation (0 - operand).

Category: Arithmetic | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Performs operand = 0 - operand. Sets OF, SF, ZF, AF, PF, CF. CF is set to 1 unless the operand is zero. OF is set if the result overflows.

Example

neg rax                     ; rax = -rax
neg DWORD PTR [rbx]

See also

  • SUB
  • NOT - Bitwise Logical NOT
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


NOP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

NOP

Does nothing. Occupies 1-9 bytes depending on the multi-byte encoding variant.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

NOP

Description

Does nothing. Occupies 1-9 bytes depending on the multi-byte encoding variant.

Category: Legacy/Compatibility | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Performs no operation. Does not modify registers, flags, or memory. Used for alignment padding, instruction timing, or as a placeholder for code patches.

Multi-Byte Encodings

Size | Encoding
1 byte | 90
2 bytes | 66 90
3 bytes | 0F 1F 00
5 bytes | 0F 1F 44 00 00
9 bytes | 66 0F 1F 84 00 00 00 00 00

Example

nop                          ; 1-byte alignment
nop [rax]                    ; 2-byte NOP with ModRM

See also

  • Core GPR Mnemonics
  • PBXB64 Compiler Help


NOT - Bitwise Logical NOT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

NOT - Bitwise Logical NOT

Performs a one's complement inversion of every bit in the operand.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

NOT r/m8
NOT r/m16
NOT r/m32
NOT r/m64

Description

Performs a one's complement inversion of every bit in the operand.

Category: Logical | Group: Unary Bitwise Operation

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
NOT r64 | Invert all bits of a 64-bit general-purpose register. | not rax
NOT r32 | Invert all bits of a 32-bit register; upper 32 bits of RAX are zeroed. | not eax
NOT r/m8 | Invert all bits of an 8-bit register or memory byte. | not byte [mask]

Description

NOT replaces each bit of the destination operand with its complement: 0 becomes 1 and 1 becomes 0. It is equivalent to the C/BASIC expression ~x. The operand may be a register or a memory location; there is no immediate form.

Unlike the two-operand logical instructions AND, OR, and XOR, NOT is a unary operation and does not require a source operand.

Flags

None affected.

Encoding Notes

  • Opcode F6 /2 for 8-bit operands, F7 /2 for 16/32/64-bit operands.
  • The REX prefix is required in 64-bit mode for operand-size promotion and for access to R8-R15 or SPL-BPL.

When to use

Use NOT for bit masks, flag toggling, and one's-complement calculations. Combine with AND to clear selected bits using an inverted mask.

Example

; Invert a bitmask
mov rax, 0x0F0F0F0F0F0F0F0F
not rax              ; rax = 0xF0F0F0F0F0F0F0F0

; Toggle all bits in a byte
not byte [flags]

; Two's complement short form
neg rax              ; 0 - rax
not rax              ; alternative: ~rax

See also

  • AND
  • OR
  • XOR
  • NEG
  • PBXB64 Compiler Help


INST NOTRACK - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Control Transfer PBXB64 Compiler Help

INST NOTRACK

Category: x64 assembler instruction

Chapter: Control Transfer

Syntax

NOTRACK F2-Präfix

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index

Back to top


OR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

OR

Performs bitwise OR of the source and destination, storing the result in the destination.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

OR dst, src

Description

Performs bitwise OR of the source and destination, storing the result in the destination.

Category: Logical | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Performs dst = dst | src. Sets OF=0, CF=0, SF, ZF, PF according to the result. CF is always cleared. Useful for setting bits.

Example

or rax, 0x10               ; set bit 4
or rax, rbx                ; bitwise OR

See also

  • AND
  • XOR
  • NOT - Bitwise Logical NOT
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST ORPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST ORPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

ORPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST OUT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST OUT

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

OUT DX/imm8, AL/AX/EAX

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PABSB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PABSB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PABSB xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PABSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PABSD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PABSD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PABSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PABSW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PABSW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PACKSSDW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PACKSSDW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PACKSSDW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PACKSSWB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PACKSSWB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PACKSSWB mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PACKUSDW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PACKUSDW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PACKUSDW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PACKUSWB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PACKUSWB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PACKUSWB mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PADDB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PADDB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PADDB mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PADDD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PADDD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PADDD mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PADDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PADDQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PADDQ xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PADDSB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PADDSB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PADDSB mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PADDSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PADDSW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PADDSW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PADDUSB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PADDUSB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PADDUSB mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PADDUSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PADDUSW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PADDUSW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PADDW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PADDW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PADDW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PALIGNR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PALIGNR

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PALIGNR xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PAND - Bitwise Logical AND for MMX/XMM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

PAND - Bitwise Logical AND for MMX/XMM

Performs a bitwise AND of packed integer operands in MMX or XMM registers.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

PAND mm1, mm2/m64
PAND xmm1, xmm2/m128

Description

Performs a bitwise AND of packed integer operands in MMX or XMM registers.

Category: MMX/Logical | Group: Packed Logical

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
PAND mm1, mm2 | Bitwise AND of two 64-bit MMX registers. | pand mm0, mm1
PAND xmm1, xmm2 | Bitwise AND of two 128-bit XMM registers. | pand xmm0, xmm1
PAND xmm1, m128 | Bitwise AND of an XMM register and 128-bit memory. | pand xmm0, [mask]

Description

PAND computes the bitwise AND of the destination and source packed integer operands. It is the SIMD equivalent of the integer AND instruction but operates on 64-bit MMX or 128-bit XMM values as a single bit field.

PBXB64 primarily uses the XMM form for 128-bit vector masks, boolean reduction, and clearing selected bits across an entire SSE register.

Flags

None affected.

Encoding Notes

  • Opcode 0F DB /r for both MMX and XMM encodings.
  • No operand-size prefix is needed for XMM; the presence of an XMM register in ModRM selects the 128-bit form.
  • With VEX/EVEX prefixes the instruction becomes VPAND; legacy SSE form is emitted by PBXB64 unless AVX is enabled.

When to use

Use PAND for SIMD masking, clearing bits, and vectorized boolean AND. Use PANDN when you need AND-NOT (mask with inverted destination).

Example

; Mask off upper bits of four 32-bit integers
movdqa xmm0, [values]
pand   xmm0, [low16_mask]  ; keep only low 16 bits of each dword

; MMX register mask
pand   mm0, mm1

See also

  • PANDN - Bitwise Logical AND-NOT for MMX/XMM
  • POR - Bitwise Logical OR for MMX/XMM
  • PXOR - Bitwise Logical XOR for MMX/XMM
  • AND
  • PBXB64 Compiler Help


PANDN - Bitwise Logical AND-NOT for MMX/XMM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

PANDN - Bitwise Logical AND-NOT for MMX/XMM

Inverts the destination and then ANDs it with the source packed integer operand.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

PANDN mm1, mm2/m64
PANDN xmm1, xmm2/m128

Description

Inverts the destination and then ANDs it with the source packed integer operand.

Category: MMX/Logical | Group: Packed Logical

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
PANDN mm1, mm2 | 64-bit MMX AND-NOT. | pandn mm0, mm1
PANDN xmm1, xmm2 | 128-bit XMM AND-NOT. | pandn xmm0, xmm1
PANDN xmm1, m128 | 128-bit XMM AND-NOT with memory. | pandn xmm0, [mask]

Description

PANDN performs a bitwise NOT on the destination operand and then ANDs the result with the source operand: DEST = (~DEST) & SRC. It is commonly used for masking operations where the mask is stored in the destination and the data in the source.

This instruction is useful for clearing bits that are set in the destination mask while preserving bits from the source where the mask was zero.

Flags

None affected.

Encoding Notes

  • Opcode 0F DF /r for both MMX and XMM encodings.
  • The destination register is both the mask and the result register; the source operand is not modified.
  • With VEX/EVEX prefixes the instruction becomes VPANDN.

When to use

Use PANDN when you need a combined NOT+AND in a single SIMD instruction, such as clearing selected lanes or constructing vector masks.

Example

; Clear bits selected by mask (mask in xmm0)
pandn xmm0, xmm1       ; xmm0 = ~xmm0 & xmm1

; Mask out high bits from a 128-bit value
movdqa xmm0, [keep_low]
pandn  xmm0, [data]

See also

  • PAND - Bitwise Logical AND for MMX/XMM
  • POR - Bitwise Logical OR for MMX/XMM
  • PXOR - Bitwise Logical XOR for MMX/XMM
  • PBXB64 Compiler Help


PAUSE - Spin Loop Hint - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

PAUSE - Spin Loop Hint

Provides a hint that the current code is in a busy-wait spin loop.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

PAUSE

Description

Provides a hint that the current code is in a busy-wait spin loop.

Category: System/Atomic | Group: Processor Hints

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
PAUSE | No operands; implied spin-loop hint. | pause

Description

PAUSE is a hint instruction introduced with SSE2. It tells the CPU that the current thread is executing a spin-wait loop, allowing the processor to optimize power consumption and reduce memory-order violation penalties on hyper-threaded and out-of-order cores.

PAUSE does not change program state, memory, or flags. It is typically placed at the bottom of a spin loop that repeatedly reads an atomic variable until another thread updates it.

Flags

None affected.

Encoding Notes

  • Two-byte opcode F3 90 (same bytes as REP NOP, often disassembled as repz nop).
  • Supported on Pentium 4 and later; executed as a NOP on older processors.

When to use

Use PAUSE inside tight spin loops in multi-threaded code, lock-free algorithms, and busy-waits on atomic flags. It improves performance on hyper-threaded CPUs and reduces power usage.

Example

; Atomic spin lock acquire
spin:
    lock bts [lock_var], 0
    jnc  acquired
    pause
    test dword [lock_var], 1
    jnz  spin
    jmp  spin
acquired:

See also

  • NOP
  • LOCK
  • CMPXCHG / CMPXCHG8B / CMPXCHG16B
  • PBXB64 Compiler Help


INST PBLENDVB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST PBLENDVB

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

PBLENDVB xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PBLENDW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST PBLENDW

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

PBLENDW xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PCLMULQDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PCLMULQDQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PCLMULQDQ xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PCMPEQB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PCMPEQB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PCMPEQB mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PCMPEQD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PCMPEQD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PCMPEQD mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PCMPEQQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PCMPEQQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PCMPEQQ xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PCMPEQW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PCMPEQW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PCMPEQW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PCMPESTRI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PCMPESTRI

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PCMPESTRI xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PCMPESTRM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST PCMPESTRM

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

PCMPESTRM xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PCMPGTB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PCMPGTB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PCMPGTB mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PCMPGTD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PCMPGTD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PCMPGTD mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PCMPGTQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PCMPGTQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PCMPGTQ xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PCMPGTW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PCMPGTW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PCMPGTW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PCMPISTRI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PCMPISTRI

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PCMPISTRI xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PCMPISTRM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST PCMPISTRM

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

PCMPISTRM xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PDEP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST PDEP

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

PDEP reg, reg, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PEXT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST PEXT

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

PEXT reg, reg, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PEXTRB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST PEXTRB

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

PEXTRB reg/mem8, xmm, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PEXTRD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PEXTRD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PEXTRD reg/mem32, xmm, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PEXTRQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PEXTRQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PEXTRQ reg/mem64, xmm, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PHADDD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PHADDD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PHADDD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PHADDSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PHADDSW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PHADDSW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PHADDW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PHADDW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PHADDW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PHMINPOSUW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PHMINPOSUW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PHMINPOSUW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PHSUBD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PHSUBD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PHSUBD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PHSUBSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PHSUBSW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PHSUBSW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PHSUBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PHSUBW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PHSUBW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PINSRB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST PINSRB

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

PINSRB xmm, reg/mem32, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PINSRD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PINSRD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PINSRD xmm, reg/mem32, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PINSRQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PINSRQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PINSRQ xmm, reg/mem64, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMADDUBSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST PMADDUBSW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

PMADDUBSW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMADDWD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMADDWD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMADDWD mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMAXSB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMAXSB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMAXSB xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMAXSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMAXSD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMAXSD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMAXSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMAXSW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMAXSW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMAXUB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMAXUB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMAXUB xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMAXUD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMAXUD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMAXUD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMAXUW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMAXUW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMAXUW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMINSB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST PMINSB

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

PMINSB xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMINSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMINSD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMINSD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMINSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMINSW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMINSW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMINUB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST PMINUB

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

PMINUB xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMINUD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMINUD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMINUD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMINUW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST PMINUW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

PMINUW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMOVMSKB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST PMOVMSKB

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

PMOVMSKB reg, mm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMOVSXBD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PMOVSXBD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PMOVSXBD xmm, xmm/mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMOVSXBQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PMOVSXBQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PMOVSXBQ xmm, xmm/mem16

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMOVSXBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PMOVSXBW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PMOVSXBW xmm, xmm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMOVSXDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PMOVSXDQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PMOVSXDQ xmm, xmm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMOVSXWD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST PMOVSXWD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

PMOVSXWD xmm, xmm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMOVSXWQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST PMOVSXWQ

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

PMOVSXWQ xmm, xmm/mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMOVZXBD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST PMOVZXBD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

PMOVZXBD xmm, xmm/mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMOVZXBQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PMOVZXBQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PMOVZXBQ xmm, xmm/mem16

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMOVZXBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST PMOVZXBW

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

PMOVZXBW xmm, xmm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMOVZXDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST PMOVZXDQ

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

PMOVZXDQ xmm, xmm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMOVZXWD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST PMOVZXWD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

PMOVZXWD xmm, xmm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMOVZXWQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST PMOVZXWQ

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

PMOVZXWQ xmm, xmm/mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMULDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMULDQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMULDQ xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMULHRSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMULHRSW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMULHRSW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMULHUW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMULHUW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMULHUW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMULHW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMULHW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMULHW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMULLD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMULLD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMULLD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMULLW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PMULLW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PMULLW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PMULUDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PMULUDQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PMULUDQ xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


POP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

POP

Loads the value at [RSP] into the operand and increments RSP by 8.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

POP reg
POP mem

Description

Loads the value at [RSP] into the operand and increments RSP by 8.

Category: Stack Operations | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Loads the value at [RSP] into the destination and increments RSP by 8 (in x64 mode). In x64, POP always operates on 64-bit values.

Example

pop rax
pop [rbx]

See also

  • PUSH
  • RET
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


POPA / POPAD - Pop All General-Purpose Registers - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

POPA / POPAD - Pop All General-Purpose Registers

Restores all general-purpose registers from the stack in a single instruction.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

POPA    ' 16-bit operands
POPAD   ' 32-bit operands

Description

Restores all general-purpose registers from the stack in a single instruction.

Kind: Instruction | Category: x64 Stack

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Operation

Pops values from the stack into DI, SI, BP, BX, DX, CX, AX (in that order for POPA). POPAD uses the 32-bit equivalents. These instructions are not available in 64-bit mode; use individual POP instructions instead.

Flags

No flags are affected.

When to use

Use POPA/POPAD in 16-bit or 32-bit code to restore register context. In x64 code, pop registers individually.

Example

FUNCTION PBMAIN() AS LONG
  ' Note: in x64 mode use individual pops
  ! pop rax
  ! pop rbx
  FUNCTION = 0
END FUNCTION

See also

  • PUSHA / PUSHAD - Push All General-Purpose Registers
  • POP
  • PUSH
  • PBXB64 Compiler Help


INST POPCNT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

INST POPCNT

Category: x64 assembler instruction

Chapter: Miscellaneous

Syntax

popcnt rax, rcx

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


POR - Bitwise Logical OR for MMX/XMM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

POR - Bitwise Logical OR for MMX/XMM

Performs a bitwise OR of packed integer operands in MMX or XMM registers.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

POR mm1, mm2/m64
POR xmm1, xmm2/m128

Description

Performs a bitwise OR of packed integer operands in MMX or XMM registers.

Category: MMX/Logical | Group: Packed Logical

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
POR mm1, mm2 | Bitwise OR of two 64-bit MMX registers. | por mm0, mm1
POR xmm1, xmm2 | Bitwise OR of two 128-bit XMM registers. | por xmm0, xmm1
POR xmm1, m128 | Bitwise OR of an XMM register and 128-bit memory. | por xmm0, [bits]

Description

POR computes the bitwise OR of the destination and source packed integer operands. It is the SIMD equivalent of the integer OR instruction, operating on 64-bit MMX or 128-bit XMM values as a single bit field.

This instruction is useful for combining bit masks, setting selected bits, and vectorized boolean OR operations.

Flags

None affected.

Encoding Notes

  • Opcode 0F EB /r for both MMX and XMM encodings.
  • With VEX/EVEX prefixes the instruction becomes VPOR.

When to use

Use POR for SIMD masking, setting bits, and vectorized boolean OR. It is often combined with PAND and PXOR for complex bit-field manipulation.

Example

; Set bits selected by mask
movdqa xmm0, [flags]
por    xmm0, [enable_mask]

; MMX OR
por    mm0, mm1

See also

  • PAND - Bitwise Logical AND for MMX/XMM
  • PANDN - Bitwise Logical AND-NOT for MMX/XMM
  • PXOR - Bitwise Logical XOR for MMX/XMM
  • OR
  • PBXB64 Compiler Help


INST PREFETCHH - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PREFETCHH

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PREFETCHH mem8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PREFETCHNTA - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PREFETCHNTA

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PREFETCHNTA mem8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PREFETCHT0 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PREFETCHT0

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PREFETCHT0 mem8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PREFETCHT1 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Cache / Prefetch PBXB64 Compiler Help

INST PREFETCHT1

Category: x64 assembler instruction

Chapter: Cache / Prefetch

Syntax

PREFETCHT1 mem8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PREFETCHT2 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PREFETCHT2

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PREFETCHT2 mem8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PREFETCHW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Cache / Prefetch PBXB64 Compiler Help

INST PREFETCHW

Category: x64 assembler instruction

Chapter: Cache / Prefetch

Syntax

PREFETCHW mem8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PREFETCHWT1 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Cache / Prefetch PBXB64 Compiler Help

INST PREFETCHWT1

Category: x64 assembler instruction

Chapter: Cache / Prefetch

Syntax

PREFETCHWT1 mem8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSADBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST PSADBW

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

PSADBW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSHUFB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSHUFB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSHUFB xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSHUFD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSHUFD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSHUFD xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSHUFHW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSHUFHW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSHUFHW xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSHUFLW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSHUFLW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSHUFLW xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSIGNB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSIGNB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSIGNB xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSIGND - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSIGND

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSIGND xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSIGNW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSIGNW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSIGNW xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSLLD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSLLD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSLLD mm, imm8/mm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSLLQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSLLQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSLLQ mm, imm8/mm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSLLW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSLLW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSLLW mm, imm8/mm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSRAD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSRAD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSRAD mm, imm8/mm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSRAW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSRAW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSRAW mm, imm8/mm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSRLD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSRLD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSRLD mm, imm8/mm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSRLQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSRLQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSRLQ mm, imm8/mm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSRLW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSRLW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSRLW mm, imm8/mm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSUBB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSUBB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSUBB mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSUBD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSUBD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSUBD mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSUBQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSUBQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSUBQ xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSUBSB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSUBSB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSUBSB mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSUBSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSUBSW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSUBSW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSUBUSB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSUBUSB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSUBUSB mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSUBUSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSUBUSW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSUBUSW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PSUBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PSUBW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PSUBW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PTEST - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PTEST

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PTEST xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PUNPCKHBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PUNPCKHBW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PUNPCKHBW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PUNPCKHDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PUNPCKHDQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PUNPCKHDQ mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PUNPCKHQDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PUNPCKHQDQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PUNPCKHQDQ xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PUNPCKHWD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PUNPCKHWD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PUNPCKHWD mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PUNPCKLBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PUNPCKLBW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PUNPCKLBW mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PUNPCKLDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PUNPCKLDQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PUNPCKLDQ mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PUNPCKLQDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PUNPCKLQDQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PUNPCKLQDQ xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST PUNPCKLWD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST PUNPCKLWD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

PUNPCKLWD mm, mm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PUSH - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

PUSH

Decrements RSP by 8 and stores the operand on the stack.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

PUSH reg
PUSH mem
PUSH imm

Description

Decrements RSP by 8 and stores the operand on the stack.

Category: Stack Operations | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Decrements RSP by 8 (in x64 mode) and stores the operand at [RSP]. In x64, PUSH always operates on 64-bit values. 32-bit and 16-bit PUSH are not encodable.

Example

push rax
push [rbx]
push 42

See also

  • POP
  • ENTER / LEAVE
  • leave - High Level Procedure Exit
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


PUSHA / PUSHAD - Push All General-Purpose Registers - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

PUSHA / PUSHAD - Push All General-Purpose Registers

Saves all general-purpose registers onto the stack in a single instruction.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

PUSHA    ' 16-bit operands
PUSHAD   ' 32-bit operands

Description

Saves all general-purpose registers onto the stack in a single instruction.

Kind: Instruction | Category: x64 Stack

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Operation

Pushes AX, CX, DX, BX, SP, BP, SI, DI onto the stack (in that order for PUSHA). PUSHAD uses the 32-bit equivalents. These instructions are not available in 64-bit mode; use individual PUSH instructions instead.

Flags

No flags are affected.

When to use

Use PUSHA/PUSHAD in 16-bit or 32-bit code to save register context. In x64 code, push registers individually.

Example

FUNCTION PBMAIN() AS LONG
  ' Note: in x64 mode use individual pushes
  ! push rax
  ! push rbx
  FUNCTION = 0
END FUNCTION

See also

  • POPA / POPAD - Pop All General-Purpose Registers
  • PUSH
  • POP
  • PBXB64 Compiler Help


INST PUSHQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST PUSHQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

PUSHQ imm32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PXOR - Bitwise Logical XOR for MMX/XMM - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

PXOR - Bitwise Logical XOR for MMX/XMM

Performs a bitwise XOR of packed integer operands in MMX or XMM registers.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

PXOR mm1, mm2/m64
PXOR xmm1, xmm2/m128

Description

Performs a bitwise XOR of packed integer operands in MMX or XMM registers.

Category: MMX/Logical | Group: Packed Logical

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
PXOR mm1, mm2 | Bitwise XOR of two 64-bit MMX registers. | pxor mm0, mm1
PXOR xmm1, xmm2 | Bitwise XOR of two 128-bit XMM registers. | pxor xmm0, xmm1
PXOR xmm1, m128 | Bitwise XOR of an XMM register and 128-bit memory. | pxor xmm0, [key]

Description

PXOR computes the bitwise XOR of the destination and source packed integer operands. It is the SIMD equivalent of the integer XOR instruction and is one of the most commonly used SSE instructions for clearing registers and combining data.

A classic idiom is pxor xmm0, xmm0, which zeroes an XMM register in fewer bytes and with fewer dependencies than mov from a zeroed memory location.

Flags

None affected.

Encoding Notes

  • Opcode 0F EF /r for both MMX and XMM encodings.
  • With VEX/EVEX prefixes the instruction becomes VPXOR.

When to use

Use PXOR for SIMD XOR, register zeroing, cryptography primitives, and toggling bits. It is the preferred way to zero an XMM register.

Example

; Clear an XMM register
pxor xmm0, xmm0

; XOR 128 bits of data with a key
movdqa xmm0, [plaintext]
pxor   xmm0, [key]
movdqa [ciphertext], xmm0

; MMX XOR
pxor mm0, mm1

See also

  • PAND - Bitwise Logical AND for MMX/XMM
  • PANDN - Bitwise Logical AND-NOT for MMX/XMM
  • POR - Bitwise Logical OR for MMX/XMM
  • XOR
  • PBXB64 Compiler Help


RCL/RCR/ROL/ROR - Rotate Instructions - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

RCL/RCR/ROL/ROR - Rotate Instructions

Rotates the bits of the destination operand left or right, optionally through the carry flag.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

ROL  r/m8, 1
ROL  r/m8, CL
ROL  r/m8, imm8
ROL  r/m16|32|64, 1
ROL  r/m16|32|64, CL
ROL  r/m16|32|64, imm8

ROR  r/m, ...      ; same forms as ROL
RCL  r/m, ...      ; same forms as ROL
RCR  r/m, ...      ; same forms as ROL

Description

Rotates the bits of the destination operand left or right, optionally through the carry flag.

Category: Shift/Rotate | Group: Rotate

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
ROL r64, 1 | Rotate 64-bit register left by 1 bit. | rol rax, 1
ROR r32, CL | Rotate 32-bit register right by count in CL. | ror eax, cl
RCL r8, imm8 | Rotate 8-bit register left through carry by immediate. | rcl al, 3
RCR m16, 1 | Rotate 16-bit memory right through carry by 1. | rcr word [val], 1

Description

The rotate instructions shift the bits of the destination operand circularly. Bits that leave one end re-enter the other end, so no information is lost.

  • ROL (Rotate Left): bits shift toward more-significant positions; the MSB wraps around to the LSB and to CF.
  • ROR (Rotate Right): bits shift toward less-significant positions; the LSB wraps around to the MSB and to CF.
  • RCL (Rotate through Carry Left): treats CF as a one-bit extension above the MSB. The operand and CF rotate together as a 9-, 17-, 33-, or 65-bit field.
  • RCR (Rotate through Carry Right): treats CF as a one-bit extension below the LSB. The operand and CF rotate together.

The shift count may be 1, the contents of the CL register, or an 8-bit immediate. For 64-bit operands the count is masked modulo the operand size.

Flags

CF is set to the last bit rotated out. OF is defined only for 1-bit rotates: it is set to the XOR of the two most-significant bits after a left rotate, or the XOR of the two most-significant bits after a right rotate. For multi-bit rotates OF is undefined. SF, ZF, AF, PF are unaffected for multi-bit rotates; for 1-bit rotates they are undefined.

Encoding Notes

  • ROL/RCL: opcode D0 /0 (8-bit, count=1), D1 /0 (16/32/64, count=1), D2 /0 (8-bit, CL), D3 /0 (16/32/64, CL), C0 /0 ib (8-bit, imm), C1 /0 ib (16/32/64, imm).
  • ROR/RCR: same opcodes with ModR/M reg field /1 instead of /0.
  • REX.W is required for 64-bit operand size.

When to use

Use ROL/ROR for bit permutations, hashing, and extracting bit fields without data loss. Use RCL/RCR for multi-precision shifts and algorithms that need to propagate carry through a chain of operands.

Example

; Rotate left by 1
rol rax, 1

; Rotate right by count in CL
mov cl, 4
ror ebx, cl

; 9-bit rotate through carry
stc
rcl al, 1        ; CF becomes old bit 7, bit 0 becomes old CF

; 65-bit rotate through carry
rcr rax, 1

See also

  • SHL
  • SHR
  • SAR
  • ADC - Add with Carry
  • PBXB64 Compiler Help


INST RCPPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST RCPPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

RCPPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST RCPSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST RCPSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

RCPSS xmm, xmm/mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST RCR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST RCR

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

RCR reg/mem, imm8/CL

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST RDFSBASE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST RDFSBASE

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

RDFSBASE reg64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST RDGSBASE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST RDGSBASE

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

RDGSBASE reg64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST RDMSR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST RDMSR

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

RDMSR keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST RDPMC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST RDPMC

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

RDPMC keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST RDSSP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST RDSSP

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

RDSSP reg64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


RDTSC - Read Time-Stamp Counter - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

RDTSC - Read Time-Stamp Counter

Reads the 64-bit processor time-stamp counter into EDX:EAX.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

RDTSC

Description

Reads the 64-bit processor time-stamp counter into EDX:EAX.

Category: System/Atomic | Group: System Instructions

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
RDTSC | No operands; reads the TSC into EDX:EAX. | rdtsc

Description

RDTSC (Read Time-Stamp Counter) loads the current value of the 64-bit time-stamp counter into the EDX:EAX register pair. EAX receives bits 31:0 of the TSC, and EDX receives bits 63:32. The TSC increments at a fixed rate (historically the processor's nominal frequency) and is commonly used for timing, profiling, and benchmarking.

On modern processors the TSC is invariant across cores and power states, but on older systems software serialization (e.g., CPUID before and after, or the RDTSCP instruction) may be required for accurate measurements across core migrations.

Flags

None affected.

Encoding Notes

  • Two-byte opcode 0F 31.
  • The instruction is not privileged unless the TSD bit (CR4.TSD) is set and CPL > 0; in normal user-mode code it executes without fault.
  • For 64-bit code the result is still placed in EDX:EAX; RDX and RAX are not truncated but the upper 32 bits of each are zeroed by the implicit 32-bit register write.

When to use

Use RDTSC for high-resolution timing, profiling hot loops, and seeding random number generators. For portable benchmarking, prefer RDTSCP or the QueryPerformanceCounter Windows API to avoid issues with out-of-order execution and core migration.

Example

; Simple timing of a code block
cpuid              ; serialize
rdtsc
mov  [tsc_start], eax
mov  [tsc_start+4], edx

; ... code to benchmark ...

cpuid              ; serialize
rdtsc
sub  eax, [tsc_start]
sbb  edx, [tsc_start+4]   ; edx:eax = elapsed TSC ticks

See also

  • CPUID - CPU Identification
  • PAUSE - Spin Loop Hint
  • int3 - Call to Interrupt 3 (Breakpoint)
  • PBXB64 Compiler Help


INST RDTSCP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST RDTSCP

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

RDTSCP keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


REP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

REP

Repeats a string instruction RCX times (or until condition met).

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

REP string_instruction
REPE / REPZ string_instruction
REPNE / REPNZ string_instruction

Description

Repeats a string instruction RCX times (or until condition met).

Category: String Operations | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

  • REP: Repeat until RCX=0. Used with MOVS, STOS.
  • REPE/REPZ: Repeat while equal/zero and RCX!=0. Used with CMPS, SCAS.
  • REPNE/REPNZ: Repeat while not equal/not zero and RCX!=0. Used with CMPS, SCAS.

Example

rep movsb                    ; copy RCX bytes from RSI to RDI
rep stosd                    ; fill RCX dwords with EAX
repne scasb                  ; scan for AL in [RDI]

See also

  • MOVS - Move String
  • STOS - Store String
  • INST SCAS
  • INST CMPS
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


RET - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

RET

Pops the return address from the stack and resumes execution at the caller.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

RET
RET imm16

Description

Pops the return address from the stack and resumes execution at the caller.

Category: Control Transfer | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Pops the return address from the stack (RSP is incremented by 8) and jumps to it. The optional immediate operand specifies additional bytes to pop from the stack (for cleaning up arguments in callee-cleanup conventions).

Example

ret
ret 32                    ; pop 32 extra bytes after return

See also

  • CALL
  • JMP
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST RETF - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST RETF

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

RETF keine / imm16

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST ROL - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST ROL

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

ROL reg/mem, imm8/CL

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST ROR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST ROR

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

ROR reg/mem, imm8/CL

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST RORX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST RORX

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

RORX reg, reg/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST ROUNDPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST ROUNDPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

ROUNDPD xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST ROUNDPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST ROUNDPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

ROUNDPS xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST ROUNDSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST ROUNDSD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

ROUNDSD xmm, xmm/mem64, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST ROUNDSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST ROUNDSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

ROUNDSS xmm, xmm/mem32, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST RSQRTPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST RSQRTPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

RSQRTPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST RSQRTSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST RSQRTSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

RSQRTSS xmm, xmm/mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST RSTORSSP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST RSTORSSP

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

RSTORSSP mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SAHF - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST SAHF

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

SAHF Speichern Sie AH im unteren RFLAGS-Byte

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SALC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST SALC

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

SALC keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SAR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

SAR

Shifts the operand right, preserving the sign bit (MSB).

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

SAR dst, imm8
SAR dst, CL

Description

Shifts the operand right, preserving the sign bit (MSB).

Category: Shift/Rotate | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Shifts bits right. The vacated high bits are filled with the original sign bit (bit 63 for 64-bit, bit 31 for 32-bit). Use for signed division by powers of 2.

Example

sar rax, 1                  ; signed divide by 2
sar eax, 2                  ; signed divide by 4 (32-bit)

See also

  • SHR
  • SHL
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST SARX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST SARX

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

SARX reg, reg/mem, reg

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SAVEPREVSSP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST SAVEPREVSSP

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

SAVEPREVSSP keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SBB - Subtract with Borrow - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

SBB - Subtract with Borrow

Subtracts the source operand and the carry flag (CF) from the destination operand.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

SBB dest, src

Description

Subtracts the source operand and the carry flag (CF) from the destination operand.

Category: Arithmetic | Group: Integer Binary Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
r/m64, r64 | Subtract register and CF from 64-bit r/m operand | sbb rax, rbx
r/m32, r32 | Subtract register and CF from 32-bit r/m operand | sbb eax, ecx
r/m16, r16 | Subtract register and CF from 16-bit r/m operand | sbb ax, dx
r/m8, r8 | Subtract register and CF from 8-bit r/m operand | sbb al, cl
r64, r/m64 | Subtract r/m and CF from 64-bit register | sbb rax, [rsi]
r32, r/m32 | Subtract r/m and CF from 32-bit register | sbb eax, [mem]
r/m64, imm32 | Subtract sign-extended immediate and CF | sbb rax, 1
r/m32, imm32 | Subtract immediate and CF | sbb eax, 100
r/m16, imm16 | Subtract 16-bit immediate and CF | sbb ax, 0x10
r/m8, imm8 | Subtract 8-bit immediate and CF | sbb bl, 5

Description

The SBB (Subtract with Borrow) instruction performs integer subtraction of the source operand and the carry flag from the destination operand. The result is stored in the destination. Mathematically, dest = dest - src - CF. It is designed for multi-precision (multi-word) subtraction where the borrow from a previous lower-order subtraction must be propagated into the next higher-order word.

For each operand size, the operation uses the natural width: 8, 16, 32, or 64 bits. When a 32-bit register destination is used in 64-bit mode, the upper 32 bits of the destination are zeroed.

Flags

Affects OF, SF, ZF, AF, PF, and CF according to the result. CF is set if a borrow is required (dest < src + CF), otherwise cleared.

Encoding Notes

  • Uses opcode 0x1B (reg from r/m), 0x19 (r/m from reg), or 0x1C/0x1D (accumulator immediate forms).
  • Immediate forms with small encodings prefer the short forms when dest is AL/AX/EAX/RAX.
  • REX prefix is required for 64-bit operand size and for extended registers (R8-R15).

When to use

Use SBB when performing extended-precision subtraction beyond the native register width, such as 128-bit integer arithmetic or big-number libraries. It is rarely used for ordinary scalar subtraction; use SUB instead when no borrow propagation is needed.

Example

; 128-bit subtraction: high:low = high:low - yh:yl
mov rax, [low]
mov rdx, [high]
sub rax, [yl]      ; subtract low parts
sbb rdx, [yh]      ; subtract high parts with borrow
mov [low], rax
mov [high], rdx

See also

  • SUB
  • ADC - Add with Carry
  • ADD - Add
  • PBXB64 Compiler Help


INST SCAS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

INST SCAS

Category: x64 assembler instruction

Chapter: Miscellaneous

Syntax

cld
mov al, 0
repne scasb

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SETcc - Set Byte on Condition - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

SETcc - Set Byte on Condition

Sets the destination byte to 1 if the specified condition is true, otherwise 0.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

SETcc r/m8

Description

Sets the destination byte to 1 if the specified condition is true, otherwise 0.

Category: Data Movement | Group: Conditional Byte Set

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
r/m8 | 8-bit register or memory location to receive 0 or 1 | sete al
r8 | Low byte of a general-purpose register | setnz bl
m8 | Byte in memory | setg [flag]

Description

The SETcc family stores a boolean byte (0 or 1) into the destination based on the current state of the EFLAGS register. The condition code cc is the same suffix used by conditional jumps (Jcc) and conditional moves. The destination is never modified beyond the low byte; high bytes of a 16/32/64-bit register are preserved.

Aliases covered by this page:

  • SETO, SETNO — overflow / not overflow
  • SETB, SETC, SETNAE / SETAE, SETNB, SETNC — carry / above-or-equal (unsigned)
  • SETE, SETZ / SETNE, SETNZ — equal / not equal
  • SETBE, SETNA / SETA, SETNBE — below-or-equal / above (unsigned)
  • SETS / SETNS — sign / not sign
  • SETP, SETPE / SETNP, SETPO — parity / not parity
  • SETL, SETNGE / SETGE, SETNL — less / greater-or-equal (signed)
  • SETLE, SETNG / SETG, SETNLE — less-or-equal / greater (signed)

Flags

None of the SETcc instructions modify EFLAGS.

Encoding Notes

  • Primary opcode is 0x0F 0x90 + cc, where cc is the 4-bit condition index.
  • Memory destinations use the standard ModR/M byte; REX prefix is required for extended registers or 64-bit-mode SPL/BPL/SIL/DIL.
  • There is no immediate or register-to-register short form; all forms are two-byte opcode + ModR/M.

When to use

Use SETcc when you need to materialize a comparison result as a 0/1 byte for storage, bit packing, or later arithmetic. It is the canonical way to convert flags into a C-style boolean value without branching.

Example

; Convert signed comparison result to a boolean byte
cmp eax, ebx
setg al          ; al = 1 if eax > ebx (signed), else 0

; Unsigned bounds check
movzx eax, byte [count]
cmp eax, 100
setbe [valid]    ; valid = 1 if count <= 100 (unsigned)

; Zero test without destroying operand
test rcx, rcx
setnz [has_data]

See also

  • Jcc
  • CMOVcc
  • CMP
  • TEST
  • PBXB64 Compiler Help


INST SETSSBSY - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST SETSSBSY

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

SETSSBSY keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SFENCE - Store Fence - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

SFENCE - Store Fence

Orders all preceding store operations before all subsequent store operations.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

SFENCE

Description

Orders all preceding store operations before all subsequent store operations.

Category: Memory Fence | Group: Memory Ordering Instructions

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
none | No operands; operates globally on memory ordering | sfence

Description

The SFENCE instruction guarantees that every store memory access that logically precedes the fence in program order is globally visible before any store that logically follows the fence. It is a store-to-store fence only; it does not order loads against stores or loads against loads.

On x86, ordinary stores already have strongly ordered visibility for cacheable memory, but non-temporal stores (such as those generated by MOVNT* streaming-store instructions) are weakly ordered. SFENCE is primarily required after non-temporal stores to ensure they become visible before subsequent stores. For ordinary locked or atomic operations, stronger fences (MFENCE or locked instructions) may be required.

Flags

No flags are affected.

Encoding Notes

  • Encoded as 0x0F 0xAE /7 with ModR/M byte 0xF8 (mod=11, reg=111, r/m=000).
  • Do not confuse with MFENCE (0F AE F0) or LFENCE (0F AE E8), which use different ModR/M reg fields.

When to use

Use SFENCE after non-temporal streaming stores or when you need to ensure store ordering without the full cost of MFENCE. For general inter-thread synchronization on x86, prefer locked atomic instructions (e.g., LOCK XADD, LOCK CMPXCHG) which provide full memory ordering.

Example

; Ensure streaming stores are visible before continuing
movntdq [rdi], xmm0
movntdq [rdi+16], xmm1
sfence

; Producer flag publication after a buffer fill
mov [buffer], rax
mov [ready], 1
sfence

See also

  • MFENCE - Memory Fence
  • LFENCE - Load Fence
  • LOCK
  • PBXB64 Compiler Help


INST SGDT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST SGDT

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

SGDT mem80 (Pseudo-Deskriptor)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SHA1MSG1 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST SHA1MSG1

Category: x64 assembler instruction

Chapter: Crypto

Syntax

SHA1MSG1 xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SHA1MSG2 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST SHA1MSG2

Category: x64 assembler instruction

Chapter: Crypto

Syntax

SHA1MSG2 xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SHA1NEXTE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST SHA1NEXTE

Category: x64 assembler instruction

Chapter: Crypto

Syntax

SHA1NEXTE xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SHA1RNDS4 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST SHA1RNDS4

Category: x64 assembler instruction

Chapter: Crypto

Syntax

SHA1RNDS4 xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SHA256MSG1 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST SHA256MSG1

Category: x64 assembler instruction

Chapter: Crypto

Syntax

SHA256MSG1 xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SHA256MSG2 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST SHA256MSG2

Category: x64 assembler instruction

Chapter: Crypto

Syntax

SHA256MSG2 xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SHA256RNDS2 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST SHA256RNDS2

Category: x64 assembler instruction

Chapter: Crypto

Syntax

SHA256RNDS2 xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SHL - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

SHL

Shifts the operand left by the specified number of bits, shifting in zeros from the right.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

SHL dst, imm8
SHL dst, CL

Description

Shifts the operand left by the specified number of bits, shifting in zeros from the right.

Category: Shift/Rotate | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Shifts bits left. The last bit shifted out goes into CF. The vacated low bits are filled with zeros. OF is set only for 1-bit shifts. SF, ZF, PF are set according to the result.

Example

shl rax, 1                  ; multiply by 2
shl rax, 3                  ; multiply by 8
shl rax, cl                 ; shift by CL

See also

  • SHR
  • SAR
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST SHLD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST SHLD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

SHLD reg/mem, reg, imm8/CL

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SHLX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST SHLX

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

SHLX reg, reg/mem, reg

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SHR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

SHR

Shifts the operand right by the specified number of bits, shifting in zeros from the left.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

SHR dst, imm8
SHR dst, CL

Description

Shifts the operand right by the specified number of bits, shifting in zeros from the left.

Category: Shift/Rotate | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Shifts bits right. The last bit shifted out goes into CF. The vacated high bits are filled with zeros. Use for unsigned division by powers of 2.

Example

shr rax, 1                  ; unsigned divide by 2
shr rax, 4                  ; unsigned divide by 16

See also

  • SAR
  • SHL
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST SHRD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST SHRD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

SHRD reg/mem, reg, imm8/CL

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SHRX - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST SHRX

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

SHRX reg, reg/mem, reg

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SHUFPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST SHUFPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

SHUFPD xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SHUFPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST SHUFPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

SHUFPS xmm, xmm/mem128, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SIDT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST SIDT

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

SIDT mem80

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SLDT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST SLDT

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

SLDT reg/mem16/64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SM3MSG1 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST SM3MSG1

Category: x64 assembler instruction

Chapter: Crypto

Syntax

SM3MSG1 xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SM3MSG2 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST SM3MSG2

Category: x64 assembler instruction

Chapter: Crypto

Syntax

SM3MSG2 xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SM4ENC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST SM4ENC

Category: x64 assembler instruction

Chapter: Crypto

Syntax

SM4ENC xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SM4ENC4 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST SM4ENC4

Category: x64 assembler instruction

Chapter: Crypto

Syntax

SM4ENC4 xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SMSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST SMSW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

SMSW reg/mem16/64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SQRTPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST SQRTPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

SQRTPD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SQRTPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST SQRTPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

SQRTPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SQRTSD - Scalar Double-Precision Floating-Point Square Root - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

SQRTSD - Scalar Double-Precision Floating-Point Square Root

Computes the square root of the low double-precision floating-point value.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

SQRTSD xmm1, xmm2/m64

Description

Computes the square root of the low double-precision floating-point value.

Category: SSE/AVX | Group: SSE2 Scalar Floating-Point Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
xmm, xmm | Source and destination are 128-bit XMM registers | sqrtsd xmm0, xmm1
xmm, m64 | Destination is XMM register; source is 64-bit memory | sqrtsd xmm0, [x]

Description

SQRTSD computes the square root of the low 64-bit double-precision floating-point value from the source operand and stores the result in the low quadword of the destination XMM register. The upper quadword (bits 64-127) of the destination is preserved. This is a scalar operation: only one double value is processed.

Special cases follow IEEE-754 rules: sqrt(+0)=+0, sqrt(-0)=-0, sqrt(+inf)=+inf, sqrt of a negative finite number returns a quiet NaN and sets the invalid operation exception flag.

Flags

No EFLAGS are affected. MXCSR flags (IE, DE, ZE, OE, UE, PE) may be updated according to the result.

Encoding Notes

  • SSE2 encoding: F2 0F 51 /r.
  • The F2 prefix selects scalar double-precision semantics.
  • VEX/EVEX forms (AVX/AVX-512) exist as VSQRTSD with three operands and merging/masking; PBXB64 targets the SSE2 base form.

When to use

Use SQRTSD for scalar double (64-bit) floating-point square roots, such as computing distances, norms, or any mathematical routine requiring sqrt(double). For single-precision scalar square roots use SQRTSS; for packed double-precision use SQRTPD.

Example

; Compute sqrt(x) where x is a double in memory
movsd xmm0, [x]
sqrtsd xmm0, xmm0
movsd [result], xmm0

; sqrt of one value into another register, preserving upper bits
movsd xmm2, xmm0
sqrtsd xmm1, xmm2     ; xmm1[63:0] = sqrt(xmm2[63:0]); upper bits unchanged

See also

  • SQRTSS - Scalar Single-Precision Floating-Point Square Root
  • ADDSD - Add Scalar Double-Precision Floating-Point
  • MULSD - Scalar Double-Precision Floating-Point Multiply
  • divsd - Divide Scalar Double-Precision Floating-Point Value
  • PBXB64 Compiler Help


SQRTSS - Scalar Single-Precision Floating-Point Square Root - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

SQRTSS - Scalar Single-Precision Floating-Point Square Root

Computes the square root of the low single-precision floating-point value.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

SQRTSS xmm1, xmm2/m32

Description

Computes the square root of the low single-precision floating-point value.

Category: SSE/AVX | Group: SSE Scalar Floating-Point Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
xmm, xmm | Source and destination are 128-bit XMM registers | sqrtss xmm0, xmm1
xmm, m32 | Destination is XMM register; source is 32-bit memory | sqrtss xmm0, [x]

Description

SQRTSS computes the square root of the low 32-bit single-precision floating-point value from the source operand and stores the result in the low dword of the destination XMM register. Bits 32-127 of the destination XMM register are preserved. This is a scalar operation: only one float value is processed.

IEEE-754 special-case behavior matches SQRTSD: positive zero and positive infinity are identity values, negative inputs produce a quiet NaN, and denormal inputs are handled according to the current MXCSR DAZ/FTZ settings.

Flags

No EFLAGS are affected. MXCSR exception flags may be updated.

Encoding Notes

  • SSE encoding: F3 0F 51 /r.
  • The F3 prefix selects scalar single-precision semantics.
  • Do not confuse with packed SQRTPS (0F 51 /r) which processes four floats.

When to use

Use SQRTSS for scalar float (32-bit) floating-point square roots. It is faster and smaller than converting to double, using SQRTSD, and converting back, when single precision is sufficient.

Example

; Compute sqrt(x) where x is a float in memory
movss xmm0, [x]
sqrtss xmm0, xmm0
movss [result], xmm0

; Scalar sqrt into a different register
sqrtss xmm1, xmm0    ; xmm1[31:0] = sqrt(xmm0[31:0]); upper bits unchanged

See also

  • SQRTSD - Scalar Double-Precision Floating-Point Square Root
  • ADDSS - Add Scalar Single-Precision Floating-Point
  • MULSS - Scalar Single-Precision Floating-Point Multiply
  • divss - Divide Scalar Single-Precision Floating-Point Value
  • PBXB64 Compiler Help


INST STC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST STC

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

STC Clear Carry Flag (CF=0)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


STC / CLC / CMC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

STC / CLC / CMC

Manipulates the Carry Flag (CF) directly.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

STC                          ; Set Carry Flag (CF=1)
CLC                          ; Clear Carry Flag (CF=0)
CMC                          ; Complement Carry Flag (CF=!CF)

Description

Manipulates the Carry Flag (CF) directly.

Category: Flag Control | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Directly manipulates the Carry Flag. Used before ADC/SBB to set up the carry-in, or after arithmetic operations to test/manipulate CF.

Example

clc
adc rax, rbx                 ; rax = rax + rbx + 0

stc
sbb rax, rbx                 ; rax = rax - rbx - 1

See also

  • ADC - Add with Carry
  • SBB - Subtract with Borrow
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


STD - Set Direction Flag - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

STD - Set Direction Flag

Sets the direction flag (DF = 1), causing string instructions to decrement their index registers.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

STD

Description

Sets the direction flag (DF = 1), causing string instructions to decrement their index registers.

Kind: Instruction | Category: x64 Flags

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Operation

DF = 1. After STD, string instructions such as MOVS, STOS, and SCAS decrement RSI/RDI, allowing reverse-direction processing.

Flags

DF is set; all other flags are unaffected.

When to use

Use STD when processing strings or buffers from high addresses down to low addresses. Always pair with CLD when done to restore the default forward direction.

Example

FUNCTION PBMAIN() AS LONG
  ! std
  ' Now string operations will auto-decrement
  FUNCTION = 0
END FUNCTION

See also

  • CLD - Clear Direction Flag
  • MOVS - Move String
  • STOS - Store String
  • PBXB64 Compiler Help


INST STMXCSR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST STMXCSR

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

STMXCSR MXCSR-Register laden

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


STOS - Store String - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

STOS - Store String

Stores the accumulator register (AL, AX, EAX, or RAX) to the memory location pointed to by RDI, then updates RDI.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

STOSB
STOSW
STOSD
STOSQ

Description

Stores the accumulator register (AL, AX, EAX, or RAX) to the memory location pointed to by RDI, then updates RDI.

Category: String | Group: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

The destination is implicit: [RDI]. The source is implicit in AL/AX/EAX/RAX.

Description

Writes the accumulator to memory and advances RDI according to the operand size and direction flag.

Flags

No flags are affected.

When to use

Use STOS to fill memory with a repeated value, such as zeroing buffers or initializing arrays.

Example

cld
mov rdi, buffer
mov rcx, 256
xor rax, rax
rep stosq       ; zero 256 qwords

See also

  • REP
  • MOVS - Move String
  • MOV
  • PBXB64 Compiler Help


INST STR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST STR

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

STR reg/mem16/64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SUB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

SUB

Subtracts the source operand from the destination operand and stores the result in the destination.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

SUB dst, src

Description

Subtracts the source operand from the destination operand and stores the result in the destination.

Category: Arithmetic | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Performs dst = dst - src. Sets OF, SF, ZF, AF, PF, CF according to the result. CF is set if a borrow is needed.

Example

sub rax, rbx                ; rax = rax - rbx
sub rax, 1                  ; decrement
sub [rbp-8], 10             ; subtract from stack

See also

  • ADD - Add
  • SBB - Subtract with Borrow
  • DEC
  • NEG
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST SUBPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST SUBPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

SUBPD xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SUBPS - Subtract Packed Single-Precision Floating-Point Values - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

SUBPS - Subtract Packed Single-Precision Floating-Point Values

Subtracts four packed single-precision floating-point values element-wise.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

SUBPS xmm1, xmm2/m128

Description

Subtracts four packed single-precision floating-point values element-wise.

Category: SSE/AVX | Group: SSE Packed Floating-Point Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
xmm, xmm | Two 128-bit XMM registers, each holding 4 floats | subps xmm0, xmm1
xmm, m128 | Destination XMM, source is 128-bit aligned memory | subps xmm0, [vec]

Description

SUBPS performs a SIMD (Single Instruction, Multiple Data) subtraction of four single-precision (32-bit) floating-point values in parallel. Each element of the source operand is subtracted from the corresponding element of the destination operand, and the four results are written back into the destination.

For each lane i in 0..3: dest[i] = dest[i] - src[i]. There is no cross-lane interaction. Special arithmetic follows IEEE-754 with MXCSR rounding and exception controls.

Flags

No EFLAGS are affected. MXCSR exception flags may be updated.

Encoding Notes

  • SSE encoding: 0F 5C /r.
  • The source memory operand should be 16-byte aligned for best performance on older CPUs; misaligned access may incur penalties or faults depending on the implementation and alignment-check settings.
  • Do not confuse with scalar SUBSS (F3 0F 5C /r) which only subtracts the low float.

When to use

Use SUBPS when subtracting corresponding components of 4-element float vectors, such as in 3D/4D graphics, audio processing, or scientific arrays. For scalar float subtraction, use SUBSS; for double-precision vectors, use SUBPD.

Example

; Subtract two 4-float vectors
movaps xmm0, [a]     ; a0 a1 a2 a3
movaps xmm1, [b]     ; b0 b1 b2 b3
subps xmm0, xmm1     ; xmm0 = a0-b0, a1-b1, a2-b2, a3-b3
movaps [result], xmm0

See also

  • SUBSS - Subtract Scalar Single-Precision Floating-Point Value
  • ADDPS - Add Packed Single-Precision Floating-Point
  • MULPS - Packed Single-Precision Floating-Point Multiply
  • divps - Divide Packed Single-Precision Floating-Point Values
  • PBXB64 Compiler Help


SUBSD - Subtract Scalar Double-Precision Floating-Point Value - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

SUBSD - Subtract Scalar Double-Precision Floating-Point Value

Subtracts the low double-precision floating-point value from another.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

SUBSD xmm1, xmm2/m64

Description

Subtracts the low double-precision floating-point value from another.

Category: SSE/AVX | Group: SSE2 Scalar Floating-Point Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
xmm, xmm | Source and destination are 128-bit XMM registers | subsd xmm0, xmm1
xmm, m64 | Destination is XMM register; source is 64-bit memory | subsd xmm0, [y]

Description

SUBSD subtracts the low 64-bit double-precision floating-point value of the source operand from the low double-precision value of the destination operand. The result is stored in the low quadword of the destination XMM register. The upper 64 bits of the destination are preserved. This is a scalar operation on one double value.

Computation is dest[63:0] = dest[63:0] - src[63:0]. IEEE-754 rounding and exception behavior is controlled by MXCSR.

Flags

No EFLAGS are affected. MXCSR exception flags may be updated.

Encoding Notes

  • SSE2 encoding: F2 0F 5C /r.
  • The F2 prefix selects scalar double-precision operation.
  • For AVX three-operand forms use VSUBSD; PBXB64 emits the base SSE2 form.

When to use

Use SUBSD for scalar double subtraction. It is the SSE-level primitive underlying double arithmetic in generated code and math libraries when SIMD vectorization is not applicable.

Example

; double result = a - b
movsd xmm0, [a]
subsd xmm0, [b]
movsd [result], xmm0

; xmm0 = xmm1 - xmm2, preserving upper bits of xmm0
movsd xmm0, xmm1
subsd xmm0, xmm2

See also

  • SUBSS - Subtract Scalar Single-Precision Floating-Point Value
  • SUBPS - Subtract Packed Single-Precision Floating-Point Values
  • ADDSD - Add Scalar Double-Precision Floating-Point
  • MULSD - Scalar Double-Precision Floating-Point Multiply
  • PBXB64 Compiler Help


SUBSS - Subtract Scalar Single-Precision Floating-Point Value - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

SUBSS - Subtract Scalar Single-Precision Floating-Point Value

Subtracts the low single-precision floating-point value from another.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

SUBSS xmm1, xmm2/m32

Description

Subtracts the low single-precision floating-point value from another.

Category: SSE/AVX | Group: SSE Scalar Floating-Point Arithmetic

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
xmm, xmm | Source and destination are 128-bit XMM registers | subss xmm0, xmm1
xmm, m32 | Destination is XMM register; source is 32-bit memory | subss xmm0, [y]

Description

SUBSS subtracts the low 32-bit single-precision floating-point value of the source operand from the low single-precision value of the destination operand. The result is stored in the low dword of the destination XMM register. Bits 32-127 of the destination are preserved. This is a scalar operation on one float value.

Computation is dest[31:0] = dest[31:0] - src[31:0]. Rounding and exception behavior follow MXCSR.

Flags

No EFLAGS are affected. MXCSR exception flags may be updated.

Encoding Notes

  • SSE encoding: F3 0F 5C /r.
  • The F3 prefix selects scalar single-precision operation.
  • Do not confuse with packed SUBPS (0F 5C /r) which subtracts four floats.

When to use

Use SUBSS for scalar float subtraction. It is the natural SSE instruction for 32-bit floating-point arithmetic when only one value is involved.

Example

; float result = a - b
movss xmm0, [a]
subss xmm0, [b]
movss [result], xmm0

; xmm0 = xmm1 - xmm2, preserving upper bits
movss xmm0, xmm1
subss xmm0, xmm2

See also

  • SUBPS - Subtract Packed Single-Precision Floating-Point Values
  • SUBSD - Subtract Scalar Double-Precision Floating-Point Value
  • ADDSS - Add Scalar Single-Precision Floating-Point
  • MULSS - Scalar Single-Precision Floating-Point Multiply
  • PBXB64 Compiler Help


INST SWAPGS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST SWAPGS

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

SWAPGS keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SYSCALL - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST SYSCALL

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

SYSCALL keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SYSENTER - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST SYSENTER

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

SYSENTER keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SYSEXIT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST SYSEXIT

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

SYSEXIT keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST SYSRET - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST SYSRET

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

SYSRET keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TEST - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

TEST

Performs bitwise AND and sets flags without storing the result.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

TEST dst, src

Description

Performs bitwise AND and sets flags without storing the result.

Category: Arithmetic | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Performs dst & src internally but does not store the result. Sets SF, ZF, PF. Clears OF and CF. Useful for testing if specific bits are set without modifying the destination.

Example

test rax, 0x01              ; test bit 0
jz bit_not_set
test rax, rax               ; test if zero (idiomatic, smaller than cmp rax, 0)

See also

  • CMP
  • AND
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST TPAUSE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST TPAUSE

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

TPAUSE reg, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST TZCNT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › BMI PBXB64 Compiler Help

INST TZCNT

Category: x64 assembler instruction

Chapter: BMI

Syntax

TZCNT reg, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index

Back to top


INST UCOMISD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST UCOMISD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

UCOMISD xmm, xmm/mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST UCOMISS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST UCOMISS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

UCOMISS xmm, xmm/mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST UD0 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST UD0

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

UD0 keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST UD1 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST UD1

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

UD1 reg, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UD2 - Undefined Instruction - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

UD2 - Undefined Instruction

Guarantees an invalid-opcode exception (#UD) when executed.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

UD2

Description

Guarantees an invalid-opcode exception (#UD) when executed.

Category: System/Atomic | Group: Control and Debug Instructions

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Operands

Form | Description | Example
none | No operands; always raises #UD | ud2

Description

UD2 is a defined instruction that produces an undefined-opcode (#UD) exception. It exists specifically to provide a reliable, documented way to trigger a processor exception for purposes such as deliberate program termination, code-path unreachable markers, or self-testing exception handlers.

Unlike an arbitrary invalid byte sequence, UD2 is guaranteed by the architecture to raise #UD on all x86-64 processors, and it is recognized by disassemblers and debuggers. Compilers often emit it after __builtin_unreachable(), unreachable IR, or assertions that should never fail.

Flags

No flags are affected; the instruction raises an exception before any architectural state change.

Encoding Notes

  • Encoded as 0F 0B.
  • Guaranteed not to become a valid instruction in future processors.
  • Some assemblers accept UD2A (the two-byte form) and UD2B (a ModR/M form 0F B9 /r), but UD2 alone is the canonical opcode.

When to use

Use UD2 to explicitly trap execution at unreachable or fatally-invalid code paths. Prefer it over a random invalid byte because it is self-documenting and stable across processor generations. In user code, avoid using it as a normal control-flow mechanism; it is intended for debugging and catastrophic failure paths.

Example

; Mark a switch default that should never be reached
switch_done:
    jmp table[rax*8]
default_case:
    ud2              ; crash immediately if reached

; Halt on critical invariant failure
cmp [initialized], 1
je  ok
ud2              ; panic if not initialized
ok:

See also

  • int3 - Call to Interrupt 3 (Breakpoint)
  • NOP
  • PBXB64 Compiler Help


INST UMONITOR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST UMONITOR

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

UMONITOR reg

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST UMWAIT - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST UMWAIT

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

UMWAIT reg, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST UNPCKHPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST UNPCKHPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

UNPCKHPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST UNPCKLPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST UNPCKLPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

UNPCKLPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VADDPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VADDPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VADDPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VADDPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VADDPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VADDPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VADDSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VADDSD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VADDSD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VADDSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VADDSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VADDSS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VADDSUBPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VADDSUBPD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VADDSUBPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VADDSUBPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VADDSUBPS

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VADDSUBPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VAESDEC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST VAESDEC

Category: x64 assembler instruction

Chapter: Crypto

Syntax

VAESDEC xmm/ymm/zmm, xmm/ymm/zmm, mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VAESDECLAST - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST VAESDECLAST

Category: x64 assembler instruction

Chapter: Crypto

Syntax

VAESDECLAST xmm/ymm/zmm, xmm/ymm/zmm, mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VAESENC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST VAESENC

Category: x64 assembler instruction

Chapter: Crypto

Syntax

VAESENC xmm/ymm/zmm, xmm/ymm/zmm, mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VAESENCLAST - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VAESENCLAST

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VAESENCLAST xmm/ymm/zmm, xmm/ymm/zmm, mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VAESIMC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST VAESIMC

Category: x64 assembler instruction

Chapter: Crypto

Syntax

VAESIMC xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VAESKEYGENASSIST - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST VAESKEYGENASSIST

Category: x64 assembler instruction

Chapter: Crypto

Syntax

VAESKEYGENASSIST xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VALIGND - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VALIGND

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VALIGND zmm, zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VALIGNQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VALIGNQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VALIGNQ zmm, zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VANDNPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VANDNPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VANDNPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VANDNPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VANDNPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VANDNPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VANDPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VANDPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VANDPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VANDPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VANDPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VANDPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VBLENDMPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VBLENDMPD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VBLENDMPD zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VBLENDMPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VBLENDMPS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VBLENDMPS zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VBLENDPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VBLENDPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VBLENDPD ymm/xmm, ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VBLENDPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VBLENDPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VBLENDPS ymm/xmm, ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VBLENDVPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VBLENDVPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VBLENDVPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VBLENDVPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VBLENDVPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VBLENDVPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VBROADCASTF128 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VBROADCASTF128

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VBROADCASTF128 ymm, mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VBROADCASTI128 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VBROADCASTI128

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VBROADCASTI128 ymm, mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VBROADCASTSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VBROADCASTSD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VBROADCASTSD ymm, mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VBROADCASTSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VBROADCASTSS

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VBROADCASTSS ymm/xmm, mem32

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCMPPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VCMPPD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VCMPPD ymm/xmm, ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCMPPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VCMPPS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VCMPPS ymm/xmm, ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCMPSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VCMPSD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VCMPSD xmm, xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCMPSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VCMPSS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VCMPSS xmm, xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCOMISD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VCOMISD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VCOMISD xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCOMISS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VCOMISS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VCOMISS xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCOMPRESS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VCOMPRESS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VCOMPRESS zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCOMPRESSB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VCOMPRESSB

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VCOMPRESSB zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCOMPRESSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VCOMPRESSD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VCOMPRESSD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCOMPRESSPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VCOMPRESSPD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VCOMPRESSPD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCOMPRESSPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VCOMPRESSPS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VCOMPRESSPS zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCOMPRESSQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VCOMPRESSQ

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VCOMPRESSQ zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCOMPRESSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VCOMPRESSW

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VCOMPRESSW zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCPH2PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VCPH2PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VCPH2PS ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTDQ2PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VCVTDQ2PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VCVTDQ2PD ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTDQ2PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VCVTDQ2PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VCVTDQ2PS ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTPD2DQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VCVTPD2DQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VCVTPD2DQ ymm/xmm, ymm/xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTPD2PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VCVTPD2PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VCVTPD2PS ymm/xmm, ymm/xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTPS2DQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VCVTPS2DQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VCVTPS2DQ ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTPS2PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VCVTPS2PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VCVTPS2PD ymm/xmm, ymm/xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTPS2PH - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VCVTPS2PH

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VCVTPS2PH xmm/mem, ymm/xmm, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTSD2SI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VCVTSD2SI

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VCVTSD2SI reg, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTSD2SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VCVTSD2SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VCVTSD2SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTSI2SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VCVTSI2SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VCVTSI2SD xmm, xmm, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTSI2SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VCVTSI2SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VCVTSI2SS xmm, xmm, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTSS2SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VCVTSS2SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VCVTSS2SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTSS2SI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VCVTSS2SI

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VCVTSS2SI reg, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTTPD2DQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VCVTTPD2DQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VCVTTPD2DQ ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTTPS2DQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VCVTTPS2DQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VCVTTPS2DQ ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTTSD2SI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VCVTTSD2SI

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VCVTTSD2SI reg, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VCVTTSS2SI - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VCVTTSS2SI

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VCVTTSS2SI reg, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VDBPSADBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VDBPSADBW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VDBPSADBW zmm, zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VDIVPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VDIVPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VDIVPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VDIVPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VDIVPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VDIVPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VDIVSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VDIVSD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VDIVSD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VDIVSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VDIVSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VDIVSS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VDPPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VDPPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VDPPD xmm, xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VDPPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VDPPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VDPPS ymm/xmm, ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VERR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST VERR

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

VERR reg/mem16

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VERW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST VERW

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

VERW reg/mem16

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VEXP2PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VEXP2PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VEXP2PD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VEXP2PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VEXP2PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VEXP2PS zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VEXPAND - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VEXPAND

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VEXPAND zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VEXPANDB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VEXPANDB

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VEXPANDB zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VEXPANDD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VEXPANDD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VEXPANDD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VEXPANDPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VEXPANDPD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VEXPANDPD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VEXPANDPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VEXPANDPS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VEXPANDPS zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VEXPANDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VEXPANDQ

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VEXPANDQ zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VEXPANDW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VEXPANDW

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VEXPANDW zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VEXTRACTF128 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VEXTRACTF128

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VEXTRACTF128 xmm/mem, ymm, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VEXTRACTI128 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VEXTRACTI128

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VEXTRACTI128 xmm/mem, ymm, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFIXUPIMMPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFIXUPIMMPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFIXUPIMMPD zmm, zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFIXUPIMMPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFIXUPIMMPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFIXUPIMMPS zmm, zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFIXUPIMMSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VFIXUPIMMSD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VFIXUPIMMSD xmm, xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFIXUPIMMSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VFIXUPIMMSS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VFIXUPIMMSS xmm, xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADD132PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMADD132PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMADD132PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADD132PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMADD132PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMADD132PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADD132SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFMADD132SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFMADD132SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADD132SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFMADD132SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFMADD132SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADD213PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMADD213PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMADD213PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADD213PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMADD213PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMADD213PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADD213SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFMADD213SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFMADD213SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADD213SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFMADD213SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFMADD213SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADD231PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMADD231PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMADD231PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADD231PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMADD231PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMADD231PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADD231SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFMADD231SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFMADD231SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADD231SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFMADD231SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFMADD231SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADDSUB132PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMADDSUB132PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMADDSUB132PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADDSUB132PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMADDSUB132PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMADDSUB132PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADDSUB213PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMADDSUB213PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMADDSUB213PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADDSUB213PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMADDSUB213PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMADDSUB213PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADDSUB231PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMADDSUB231PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMADDSUB231PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMADDSUB231PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMADDSUB231PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMADDSUB231PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMSUB132PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMSUB132PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMSUB132PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMSUB132PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMSUB132PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMSUB132PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMSUB132SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFMSUB132SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFMSUB132SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMSUB132SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFMSUB132SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFMSUB132SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMSUB213PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMSUB213PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMSUB213PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMSUB213PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMSUB213PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMSUB213PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMSUB213SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFMSUB213SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFMSUB213SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMSUB213SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFMSUB213SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFMSUB213SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMSUB231PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMSUB231PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMSUB231PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMSUB231PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFMSUB231PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFMSUB231PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMSUB231SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFMSUB231SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFMSUB231SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFMSUB231SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFMSUB231SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFMSUB231SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMADD132PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFNMADD132PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFNMADD132PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMADD132PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFNMADD132PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFNMADD132PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMADD132SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFNMADD132SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFNMADD132SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMADD132SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFNMADD132SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFNMADD132SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMADD213PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFNMADD213PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFNMADD213PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMADD213PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFNMADD213PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFNMADD213PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMADD213SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFNMADD213SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFNMADD213SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMADD213SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFNMADD213SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFNMADD213SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMADD231PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFNMADD231PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFNMADD231PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMADD231PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFNMADD231PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFNMADD231PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMADD231SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFNMADD231SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFNMADD231SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMADD231SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFNMADD231SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFNMADD231SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMSUB132PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFNMSUB132PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFNMSUB132PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMSUB132PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFNMSUB132PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFNMSUB132PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMSUB132SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFNMSUB132SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFNMSUB132SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMSUB132SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFNMSUB132SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFNMSUB132SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMSUB213PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFNMSUB213PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFNMSUB213PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMSUB213PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFNMSUB213PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFNMSUB213PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMSUB213SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFNMSUB213SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFNMSUB213SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMSUB213SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFNMSUB213SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFNMSUB213SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMSUB231PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFNMSUB231PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFNMSUB231PD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMSUB231PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VFNMSUB231PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VFNMSUB231PS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMSUB231SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFNMSUB231SD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFNMSUB231SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFNMSUB231SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VFNMSUB231SS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VFNMSUB231SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFPCLASSPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VFPCLASSPD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VFPCLASSPD zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VFPCLASSPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VFPCLASSPS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VFPCLASSPS zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGATHERDPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VGATHERDPD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VGATHERDPD ymm/xmm, mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGATHERDPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VGATHERDPS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VGATHERDPS ymm/xmm, mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGATHERPF0DPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VGATHERPF0DPD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VGATHERPF0DPD mem (VSIB)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGATHERPF0DPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VGATHERPF0DPS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VGATHERPF0DPS mem (VSIB)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGATHERPF1DPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VGATHERPF1DPD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VGATHERPF1DPD mem (VSIB)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGATHERPF1DPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VGATHERPF1DPS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VGATHERPF1DPS mem (VSIB)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGATHERQPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VGATHERQPD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VGATHERQPD ymm/xmm, mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGATHERQPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VGATHERQPS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VGATHERQPS ymm/xmm, mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGETEXPSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VGETEXPSD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VGETEXPSD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGETEXPSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VGETEXPSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VGETEXPSS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGETMANTPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VGETMANTPD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VGETMANTPD zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGETMANTPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VGETMANTPS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VGETMANTPS zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGETMANTSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VGETMANTSD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VGETMANTSD xmm, xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGETMANTSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VGETMANTSS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VGETMANTSS xmm, xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGF2P8AFFINEINVQB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VGF2P8AFFINEINVQB

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VGF2P8AFFINEINVQB zmm/xmm, zmm/xmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGF2P8AFFINEQB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VGF2P8AFFINEQB

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VGF2P8AFFINEQB zmm/xmm, zmm/xmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VGF2P8MULB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VGF2P8MULB

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VGF2P8MULB zmm/xmm, zmm/xmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VHADDPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VHADDPD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VHADDPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VHADDPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VHADDPS

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VHADDPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VHSUBPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VHSUBPD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VHSUBPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VHSUBPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VHSUBPS

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VHSUBPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VINSERTF128 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VINSERTF128

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VINSERTF128 ymm, ymm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VINSERTI128 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VINSERTI128

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VINSERTI128 ymm, ymm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMAXPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VMAXPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VMAXPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMAXPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VMAXPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VMAXPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMAXSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VMAXSD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VMAXSD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMAXSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VMAXSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VMAXSS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMCALL - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST VMCALL

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

VMCALL keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMCLEAR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST VMCLEAR

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

VMCLEAR mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMFUNC - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST VMFUNC

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

VMFUNC keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMINPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VMINPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VMINPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMINPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VMINPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VMINPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMINSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VMINSD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VMINSD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMINSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VMINSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VMINSS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMLAUNCH - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST VMLAUNCH

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

VMLAUNCH Virtuelle Maschine fortsetzen (nachfolgende Einträge)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVAPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVAPD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVAPD ymm/xmm, mem / mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVAPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VMOVAPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VMOVAPS ymm/xmm, mem / mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVD xmm, reg/mem / reg, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVDDUP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVDDUP

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVDDUP ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVDQA - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVDQA

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVDQA ymm/xmm, mem / mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVDQA32 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VMOVDQA32

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VMOVDQA32 zmm, mem / mem, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVDQA64 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VMOVDQA64

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VMOVDQA64 zmm, mem / mem, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVDQU - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVDQU

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVDQU ymm/xmm, mem / mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVDQU32 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VMOVDQU32

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VMOVDQU32 zmm, mem / mem, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVDQU64 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VMOVDQU64

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VMOVDQU64 zmm, mem / mem, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVHPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVHPD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVHPD xmm, xmm, mem64 / mem64, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVHPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVHPS

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVHPS xmm, xmm, mem64 / mem64, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVLPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVLPD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVLPD xmm, xmm, mem64 / mem64, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVLPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVLPS

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVLPS xmm, xmm, mem64 / mem64, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVNTDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VMOVNTDQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VMOVNTDQ mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVNTDQA - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Cache / Prefetch PBXB64 Compiler Help

INST VMOVNTDQA

Category: x64 assembler instruction

Chapter: Cache / Prefetch

Syntax

VMOVNTDQA ymm/xmm, mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVNTPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Cache / Prefetch PBXB64 Compiler Help

INST VMOVNTPD

Category: x64 assembler instruction

Chapter: Cache / Prefetch

Syntax

VMOVNTPD mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVNTPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VMOVNTPS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VMOVNTPS mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVQ

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVQ xmm, reg/mem / reg, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVSD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVSD xmm, xmm/mem / mem64, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVSHDUP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVSHDUP

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVSHDUP ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVSLDUP - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVSLDUP

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVSLDUP ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVSS

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVSS xmm, xmm/mem / mem32, xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVUPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVUPD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVUPD ymm/xmm, mem / mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMOVUPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VMOVUPS

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VMOVUPS ymm/xmm, mem / mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMPTRLD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST VMPTRLD

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

VMPTRLD mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMPTRST - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST VMPTRST

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

VMPTRST mem64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMREAD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST VMREAD

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

VMREAD reg, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMULPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VMULPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VMULPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMULPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VMULPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VMULPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMULSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VMULSD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VMULSD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMULSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VMULSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VMULSS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMWRITE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST VMWRITE

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

VMWRITE reg/mem, reg

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMXOFF - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VMXOFF

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VMXOFF keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VMXON - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VMXON

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VMXON mem64 (VMXON-Region ptr)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VORPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VORPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VORPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VORPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VORPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VORPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPABSB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPABSB

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPABSB ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPABSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPABSD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPABSD ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPABSQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPABSQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPABSQ zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPABSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPABSW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPABSW ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPADDB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPADDB

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPADDB ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPADDD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPADDD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPADDD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPADDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPADDQ

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPADDQ ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPADDW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPADDW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPADDW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPALIGNR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPALIGNR

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPALIGNR ymm/xmm, ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPAND - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPAND

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPAND ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPANDN - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPANDN

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPANDN ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPANDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPANDQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPANDQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPBLENDMD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPBLENDMD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPBLENDMD zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPBLENDMQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPBLENDMQ

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPBLENDMQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPBLENDVB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPBLENDVB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPBLENDVB ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPBLENDW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPBLENDW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPBLENDW ymm/xmm, ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPBROADCASTB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VPBROADCASTB

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VPBROADCASTB ymm/xmm, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPBROADCASTD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VPBROADCASTD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VPBROADCASTD ymm/xmm, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPBROADCASTQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VPBROADCASTQ

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VPBROADCASTQ ymm/xmm, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPBROADCASTW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VPBROADCASTW

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VPBROADCASTW ymm/xmm, reg/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPCLMULQDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Crypto PBXB64 Compiler Help

INST VPCLMULQDQ

Category: x64 assembler instruction

Chapter: Crypto

Syntax

VPCLMULQDQ xmm/ymm/zmm, xmm/ymm/zmm, mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPCMPEQB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPCMPEQB

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPCMPEQB ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPCMPEQD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPCMPEQD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPCMPEQD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPCMPEQQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPCMPEQQ

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPCMPEQQ ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPCMPEQW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPCMPEQW

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPCMPEQW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPCMPGTB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPCMPGTB

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPCMPGTB ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPCMPGTD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPCMPGTD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPCMPGTD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPCMPGTQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPCMPGTQ

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPCMPGTQ ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPCMPGTW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPCMPGTW

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPCMPGTW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPCOMPRESSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPCOMPRESSD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPCOMPRESSD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPCOMPRESSQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPCOMPRESSQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPCOMPRESSQ zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPCONFLICTD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPCONFLICTD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPCONFLICTD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPCONFLICTQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPCONFLICTQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPCONFLICTQ zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERM2F128 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPERM2F128

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPERM2F128 ymm, ymm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERM2I128 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPERM2I128

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPERM2I128 ymm, ymm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPERMB

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPERMB zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPERMD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPERMD ymm, ymm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMI2B - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPERMI2B

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPERMI2B zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMI2D - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPERMI2D

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPERMI2D zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMI2PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPERMI2PD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPERMI2PD zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMI2PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPERMI2PS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPERMI2PS zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMI2Q - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPERMI2Q

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPERMI2Q zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMI2W - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPERMI2W

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPERMI2W zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMIL2PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPERMIL2PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPERMIL2PD ymm/xmm, ymm/xmm, ymm/mem, imm4

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMIL2PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPERMIL2PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPERMIL2PS ymm/xmm, ymm/xmm, ymm/mem, imm4

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMILPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPERMILPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPERMILPD ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMILPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPERMILPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPERMILPS ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPERMPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPERMPD ymm, ymm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPERMPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPERMPS ymm, ymm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPERMQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPERMQ ymm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMT2B - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPERMT2B

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPERMT2B zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMT2D - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPERMT2D

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPERMT2D zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMT2PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPERMT2PD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPERMT2PD zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMT2PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPERMT2PS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPERMT2PS zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMT2Q - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPERMT2Q

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPERMT2Q zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPERMT2W - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPERMT2W

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPERMT2W zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPEXPANDD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPEXPANDD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPEXPANDD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPEXPANDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPEXPANDQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPEXPANDQ zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPEXTRB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VPEXTRB

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VPEXTRB reg/mem, xmm, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPEXTRD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VPEXTRD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VPEXTRD reg/mem, xmm, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPEXTRQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VPEXTRQ

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VPEXTRQ reg/mem, xmm, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPGATHERDD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPGATHERDD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPGATHERDD ymm/xmm, mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPGATHERDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPGATHERDQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPGATHERDQ ymm/xmm, mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPGATHERQD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPGATHERQD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPGATHERQD ymm/xmm, mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPGATHERQQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPGATHERQQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPGATHERQQ ymm/xmm, mem, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPHADDD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPHADDD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPHADDD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPHADDSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPHADDSW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPHADDSW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPHADDW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPHADDW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPHADDW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPHSUBD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPHSUBD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPHSUBD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPHSUBSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPHSUBSW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPHSUBSW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPHSUBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPHSUBW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPHSUBW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPINSRB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VPINSRB

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VPINSRB xmm, xmm, reg/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPINSRD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VPINSRD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VPINSRD xmm, xmm, reg/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPINSRQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VPINSRQ

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VPINSRQ xmm, xmm, reg/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPLZCNTD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPLZCNTD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPLZCNTD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPLZCNTQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPLZCNTQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPLZCNTQ zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMADD52HUQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMADD52HUQ

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMADD52HUQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMADD52LUQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMADD52LUQ

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMADD52LUQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMADDUBSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMADDUBSW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMADDUBSW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMADDWD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMADDWD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMADDWD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMASKMOVD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VPMASKMOVD

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VPMASKMOVD ymm/xmm, ymm/xmm, mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMASKMOVQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VPMASKMOVQ

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VPMASKMOVQ ymm/xmm, ymm/xmm, mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMAXSB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMAXSB

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMAXSB ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMAXSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMAXSD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMAXSD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMAXSQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMAXSQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMAXSQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMAXSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMAXSW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMAXSW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMAXUB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMAXUB

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMAXUB ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMAXUD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMAXUD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMAXUD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMAXUQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMAXUQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMAXUQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMAXUW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMAXUW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMAXUW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMINSB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMINSB

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMINSB ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMINSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMINSD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMINSD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMINSQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMINSQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMINSQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMINSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMINSW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMINSW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMINUB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMINUB

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMINUB ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMINUD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMINUD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMINUD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMINUQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMINUQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMINUQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMINUW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMINUW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMINUW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVB2M - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPMOVB2M

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPMOVB2M k, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVD2M - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPMOVD2M

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPMOVD2M k, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVDB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPMOVDB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPMOVDB mem, zmm / xmm, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVDW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPMOVDW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPMOVDW mem, zmm / xmm, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVM2B - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPMOVM2B

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPMOVM2B zmm, k

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVM2D - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPMOVM2D

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPMOVM2D zmm, k

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVM2Q - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPMOVM2Q

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPMOVM2Q zmm, k

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVM2W - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPMOVM2W

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPMOVM2W zmm, k

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVMSKB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Data Movement PBXB64 Compiler Help

INST VPMOVMSKB

Category: x64 assembler instruction

Chapter: Data Movement

Syntax

VPMOVMSKB reg, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVQ2M - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPMOVQ2M

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPMOVQ2M k, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVQB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPMOVQB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPMOVQB mem, zmm / xmm, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVQD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPMOVQD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPMOVQD mem, zmm / xmm, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVQW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPMOVQW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPMOVQW mem, zmm / xmm, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVSXBD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMOVSXBD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMOVSXBD ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVSXBQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMOVSXBQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMOVSXBQ ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVSXBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMOVSXBW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMOVSXBW ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVSXDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMOVSXDQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMOVSXDQ ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVSXWD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMOVSXWD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMOVSXWD ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVSXWQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMOVSXWQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMOVSXWQ ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVW2M - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPMOVW2M

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPMOVW2M k, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVWB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPMOVWB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPMOVWB mem, zmm / xmm, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVZXBD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMOVZXBD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMOVZXBD ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVZXBQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMOVZXBQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMOVZXBQ ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVZXBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMOVZXBW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMOVZXBW ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVZXDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMOVZXDQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMOVZXDQ ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVZXWD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMOVZXWD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMOVZXWD ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMOVZXWQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMOVZXWQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMOVZXWQ ymm/xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMULDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMULDQ

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMULDQ ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMULHRSW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMULHRSW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMULHRSW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMULHUW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMULHUW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMULHUW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMULHW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMULHW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMULHW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMULLD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMULLD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMULLD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMULLQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPMULLQ

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPMULLQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMULLW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMULLW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMULLW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMULTISHIFTQB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPMULTISHIFTQB

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPMULTISHIFTQB zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPMULUDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPMULUDQ

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPMULUDQ ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPOPCNTB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPOPCNTB

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPOPCNTB zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPOPCNTD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPOPCNTD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPOPCNTD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPOPCNTQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPOPCNTQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPOPCNTQ zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPOPCNTW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPOPCNTW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPOPCNTW zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPOR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPOR

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPOR ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPORQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPORQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPORQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSADBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPSADBW

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPSADBW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSHLDV - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPSHLDV

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPSHLDV zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSHLDVW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPSHLDVW

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPSHLDVW zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSHRDV - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPSHRDV

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPSHRDV zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSHRDVW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPSHRDVW

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPSHRDVW zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSHUFB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPSHUFB

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPSHUFB ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSHUFBITQMB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPSHUFBITQMB

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPSHUFBITQMB k, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSHUFD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPSHUFD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPSHUFD ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSHUFHW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPSHUFHW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPSHUFHW ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSHUFLW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VPSHUFLW

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VPSHUFLW ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSIGNB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPSIGNB

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPSIGNB ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSIGND - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSIGND

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSIGND ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSIGNW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSIGNW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSIGNW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSLLD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSLLD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSLLD ymm/xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSLLQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSLLQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSLLQ ymm/xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSLLVD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSLLVD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSLLVD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSLLVDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSLLVDQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSLLVDQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSLLVQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSLLVQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSLLVQ ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSLLVW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPSLLVW

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPSLLVW zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSLLW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSLLW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSLLW ymm/xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSRAD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSRAD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSRAD ymm/xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSRAVD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSRAVD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSRAVD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSRAVQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSRAVQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSRAVQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSRAVW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPSRAVW

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPSRAVW zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSRAW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSRAW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSRAW ymm/xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSRLD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSRLD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSRLD ymm/xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSRLQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSRLQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSRLQ ymm/xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSRLVD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSRLVD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSRLVD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSRLVDQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSRLVDQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSRLVDQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSRLVQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSRLVQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSRLVQ ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSRLVW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VPSRLVW

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VPSRLVW zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSRLW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPSRLW

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPSRLW ymm/xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSUBB - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPSUBB

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPSUBB ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSUBD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPSUBD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPSUBD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSUBQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPSUBQ

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPSUBQ ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPSUBW - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VPSUBW

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VPSUBW ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPTERNLOGD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPTERNLOGD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPTERNLOGD zmm, zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPTERNLOGQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPTERNLOGQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPTERNLOGQ zmm, zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPTEST - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VPTEST

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VPTEST ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPXOR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPXOR

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPXOR ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VPXORQ - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VPXORQ

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VPXORQ zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRANGESD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VRANGESD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VRANGESD xmm, xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRANGESS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VRANGESS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VRANGESS xmm, xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRCP14PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VRCP14PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VRCP14PD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRCP14PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VRCP14PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VRCP14PS zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRCP14SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VRCP14SD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VRCP14SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRCP14SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VRCP14SS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VRCP14SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRCP28PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VRCP28PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VRCP28PD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRCP28PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VRCP28PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VRCP28PS zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRCP28SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VRCP28SD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VRCP28SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRCP28SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VRCP28SS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VRCP28SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRCPPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VRCPPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VRCPPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRCPSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VRCPSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VRCPSS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VREDUCEPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VREDUCEPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VREDUCEPD zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VREDUCEPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VREDUCEPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VREDUCEPS zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VREDUCESD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VREDUCESD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VREDUCESD xmm, xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VREDUCESS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VREDUCESS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VREDUCESS xmm, xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRNDSCALEPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VRNDSCALEPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VRNDSCALEPD zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRNDSCALEPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VRNDSCALEPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VRNDSCALEPS zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRNDSCALESD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VRNDSCALESD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VRNDSCALESD xmm, xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRNDSCALESS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VRNDSCALESS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VRNDSCALESS xmm, xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VROUNDPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VROUNDPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VROUNDPD ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VROUNDPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VROUNDPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VROUNDPS ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VROUNDSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VROUNDSD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VROUNDSD xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VROUNDSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VROUNDSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VROUNDSS xmm, xmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRSQRT14PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VRSQRT14PD

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VRSQRT14PD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRSQRT14PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Arithmetic PBXB64 Compiler Help

INST VRSQRT14PS

Category: x64 assembler instruction

Chapter: Arithmetic

Syntax

VRSQRT14PS zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRSQRT28PD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VRSQRT28PD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VRSQRT28PD zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRSQRT28PS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VRSQRT28PS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VRSQRT28PS zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRSQRT28SD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VRSQRT28SD

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VRSQRT28SD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRSQRT28SS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VRSQRT28SS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VRSQRT28SS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRSQRTPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VRSQRTPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VRSQRTPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VRSQRTSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VRSQRTSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VRSQRTSS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSCALEFPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VSCALEFPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VSCALEFPD zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSCALEFPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VSCALEFPS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VSCALEFPS zmm, zmm, zmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSCATTERDPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VSCATTERDPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VSCATTERDPD mem, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSCATTERDPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VSCATTERDPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VSCATTERDPS mem, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSCATTERPF0DPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VSCATTERPF0DPD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VSCATTERPF0DPD mem (VSIB)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSCATTERPF0DPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VSCATTERPF0DPS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VSCATTERPF0DPS mem (VSIB)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSCATTERPF1DPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VSCATTERPF1DPD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VSCATTERPF1DPD mem (VSIB)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSCATTERPF1DPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VSCATTERPF1DPS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VSCATTERPF1DPS mem (VSIB)

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSCATTERQPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VSCATTERQPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VSCATTERQPD mem, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSCATTERQPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VSCATTERQPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VSCATTERQPS mem, zmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSHUFI32X4 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VSHUFI32X4

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VSHUFI32X4 zmm, zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSHUFI64X2 - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST VSHUFI64X2

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

VSHUFI64X2 zmm, zmm, zmm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSHUFPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VSHUFPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VSHUFPD ymm/xmm, ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSHUFPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VSHUFPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VSHUFPS ymm/xmm, ymm/xmm, ymm/mem, imm8

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSQRTPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VSQRTPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VSQRTPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSQRTPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VSQRTPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VSQRTPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSQRTSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VSQRTSD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VSQRTSD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSQRTSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VSQRTSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VSQRTSS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSUBPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VSUBPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VSUBPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSUBPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VSUBPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VSUBPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSUBSD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VSUBSD

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VSUBSD xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VSUBSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SSE / AVX PBXB64 Compiler Help

INST VSUBSS

Category: x64 assembler instruction

Chapter: SSE / AVX

Syntax

VSUBSS xmm, xmm, xmm/Speicher

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VTESTPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VTESTPD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VTESTPD ymm/xmm, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VTESTPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VTESTPS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VTESTPS ymm/xmm, ymm/xmm

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VUCOMISD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VUCOMISD

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VUCOMISD xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VUCOMISS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Compare / Flags PBXB64 Compiler Help

INST VUCOMISS

Category: x64 assembler instruction

Chapter: Compare / Flags

Syntax

VUCOMISS xmm, xmm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VUNPCKHPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VUNPCKHPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VUNPCKHPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VUNPCKHPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VUNPCKHPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VUNPCKHPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VUNPCKLPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VUNPCKLPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VUNPCKLPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VUNPCKLPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VUNPCKLPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VUNPCKLPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VXORPD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VXORPD

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VXORPD ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST VXORPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST VXORPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

VXORPS ymm/xmm, ymm/xmm, ymm/mem

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST WBINVD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST WBINVD

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

WBINVD keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST WFENCE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST WFENCE

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

WFENCE keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST WRFSBASE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST WRFSBASE

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

WRFSBASE reg64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST WRGSBASE - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST WRGSBASE

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

WRGSBASE reg64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST WRMSR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST WRMSR

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

WRMSR keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST WRSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Bit Operations PBXB64 Compiler Help

INST WRSS

Category: x64 assembler instruction

Chapter: Bit Operations

Syntax

WRSS mem64, reg64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST WRUSS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › SGX / VMX / CET PBXB64 Compiler Help

INST WRUSS

Category: x64 assembler instruction

Chapter: SGX / VMX / CET

Syntax

WRUSS mem64, reg64

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST XADD - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

INST XADD

Category: x64 assembler instruction

Chapter: Miscellaneous

Syntax

mov rax, 1
lock xadd qword ptr [counter], rax

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


XCHG - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

XCHG

Exchanges the contents of two operands.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

XCHG reg, reg/mem

Description

Exchanges the contents of two operands.

Category: Data Movement | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Swaps the contents of the two operands. If one operand is memory, the operation is implicitly locked (atomic).

Example

xchg rax, rbx                ; swap rax and rbx
xchg [rbx], eax              ; swap memory with register

See also

  • MOV
  • CMP
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST XGETBV - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST XGETBV

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

XGETBV keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


XOR - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Miscellaneous PBXB64 Compiler Help

XOR

Performs bitwise XOR of the source and destination, storing the result in the destination.

Chapter: Miscellaneous | Certification: [CERTIFIED TESTED]

Syntax

XOR dst, src

Description

Performs bitwise XOR of the source and destination, storing the result in the destination.

Category: Logical | Category: Core GPR Mnemonics

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Performs dst = dst ^ src. Sets OF=0, CF=0, SF, ZF, PF according to the result. The classic idiom xor reg, reg clears a register and sets ZF=1, with smaller encoding than mov reg, 0.

Example

xor rax, rax               ; clear register (idiomatic)
xor rax, rbx               ; toggle bits
xor rax, 0xFF              ; toggle lower 8 bits

See also

  • AND
  • OR
  • NOT - Bitwise Logical NOT
  • Core GPR Mnemonics
  • PBXB64 Compiler Help


INST XORPS - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › Shuffle / Permute PBXB64 Compiler Help

INST XORPS

Category: x64 assembler instruction

Chapter: Shuffle / Permute

Syntax

XORPS xmm, xmm/mem128

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INST XSETBV - PBXB64 Compiler Help

Home › x64 Assembly Reference › Instruction Set (by use) › System & Atomic PBXB64 Compiler Help

INST XSETBV

Category: x64 assembler instruction

Chapter: System & Atomic

Syntax

XSETBV keiner

Description

Category: x64 assembler instruction

V15 status

This page preserves the complete assembler instruction catalog. Actual acceptance and encoding are governed by the current assembler tables and ASM validation lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INSTANCE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

INSTANCE

Declare

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

INSTANCE variable [()] [AS type ] [, variable [()]]
INSTANCE variable [()] [, variable [()]] [, ...] AS type

Description

Declare

Kind: Statement | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

INSTANCE statements are used to declare instance variables for an object. A unique set of instance variables is created for every new object, which may only be referenced from within that object. INSTANCE statements may only be placed at the beginning of a CLASS/END CLASS block, preceding all INTERFACE blocks.

INSTANCE will optionally accept a list of variables, each of which are defined by the descriptor which follows it:

INSTANCE x as integer, y as long

INSTANCE will also accept a list of variables, all of which are defined by the single descriptor at the end of the list;

INSTANCE aaa, bbb, ccc AS INTEGER

INSTANCE vptr, aptr() AS LONG PTR

To declare an array as an instance variable, use an empty set of parentheses in the variable list: You can then use the DIM statement to dimension the array .

See also

  • GLOBAL
  • INTERFACE / END INTERFACE Block (Direct)
  • LOCAL
  • STATIC
  • THREADED
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


INSTR - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

INSTR

Search a string

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

y& = INSTR([ Position& ,] MainStr$ , [ANY] MatchStr$ )

Description

Search a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

INSTR returns the position of MatchStr$ within MainStr$ . The return value is indexed to one, while zero means "not found".

Position& specifies the character position to begin the search. If Position& is one or greater, MainStr$ is searched left to right. The value one starts at the first character, two the second, etc. If Position& is -1 or less, MainStr$ is searched from right to left. The value -1 starts at the last character, -2 the second to last, etc. If Position& is not given, the default value of +1 is assumed.

x& = INSTR("xyz", "y") ' returns 2

x& = INSTR("xyz", "a") ' returns 0

a$ = "My Dog" : b$ = " "

x& = INSTR(a$, b$) ' returns 3

It is important to note that in all cases, even when Position& is negative, the return value of INSTR() is the absolute position of the match, from left to right, starting with the first character.

If the ANY keyword is included, MatchStr$ specifies a list of single characters. INSTR searches for each of these characters individually. As soon as any one of these characters is found, INSTR returns the position of the match.

x& = INSTR(-2, "efcdef", ANY "ef") returns a result of 5

INSTR is case-sensitive, meaning that upper-case and lower-case letters must match exactly in MatchStr$ and MainStr$ .

Restrictions

Special search terms are evaluated in this sequence:

See also

  • EXTRACT$
  • LCASE$
  • LEFT$
  • LTRIM$
  • MID$
  • RIGHT$
  • RTRIM$
  • SHRINK$
  • TALLY
  • TRIM$
  • UCASE$
  • VERIFY
  • PBXB64 Compiler Help


INT - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

INT

Convert a numeric expression to an integral

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

y = INT( numeric_expression )

Description

Convert a numeric expression to an integral

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

INT rounds numeric_expression to the largest integral value that is less than or equal to numeric_expression .

Example

#COMPILE EXE
#DIM ALL
' math_int_basic
FUNCTION PBMAIN() AS LONG
  IF ((INT(1.9)) < (1.0000000000) - 0.0001) OR ((INT(1.9)) > (1.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((INT(-1.9)) < (-2.0000000000) - 0.0001) OR ((INT(-1.9)) > (-2.0000000000) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((INT(0.5)) < (0.0000000000) - 0.0001) OR ((INT(0.5)) > (0.0000000000) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • CEIL
  • CBYT
  • FIX
  • FRAC - Real Fractional Part
  • ROUND


INT128 / I128 - 128-bit Signed Integer - PBXB64 Compiler Help

Home › Data Types › Wide Integer Types PBXB64 Compiler Help

INT128 / I128 - 128-bit Signed Integer

A 128-bit signed integer with full inline arithmetic support. The range is approximately -1.7&times;1038 to +1.7&times;1038 (-2127 to 2127-1).

Chapter: Wide Integer Types | Certification: [CERTIFIED TESTED]

Description

A 128-bit signed integer with full inline arithmetic support. The range is approximately -1.7×1038 to +1.7×1038 (-2127 to 2127-1).

Kind: Data Type | Category: Numeric Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Declaration

LOCAL a AS INT128
LOCAL b AS I128

Size and Alignment

  • Size: 16 bytes (2 × 64-bit words)
  • Alignment: 16 bytes

Arithmetic Operations

All operations are inline native x64 code - no runtime library calls:

Operation | Implementation
ADD, SUB | Carry-chain across two 64-bit words using CMP_LT
AND, OR, XOR | Independent word-wise operations
SHL, SHR | Cross-word shift with carry propagation
MUL | UMULH/SMULH opcodes - schoolbook algorithm (lo×lo, MULH, cross-terms)
DIV, REM | Inline IR decomposition with __udivti3/__umodti3 local implementation
CMP | Lexicographic compare: signed MSB, unsigned lower word

Example

FUNCTION PBMAIN() AS LONG
  LOCAL a AS INT128
  LOCAL b AS INT128
  LOCAL c AS INT128

  a = 1000000000000000000000  ' 10^21
  b = 2000000000000000000000  ' 2×10^21
  c = a + b                 ' 3×10^21
  PRINT c

  c = a * b                 ' 2×10^42 — fits in 128 bits
  PRINT c

  FUNCTION = 0
END FUNCTION

See also

  • UINT128 / U128 - 128-bit Unsigned Integer
  • INT256 / I256 - 256-bit Signed Integer
  • INT512 / I512 - 512-bit Signed Integer
  • Long integers (&)
  • Quad integers (&&)
  • PBXB64 Compiler Help


INT256 / I256 - 256-bit Signed Integer - PBXB64 Compiler Help

Home › Data Types › Wide Integer Types PBXB64 Compiler Help

INT256 / I256 - 256-bit Signed Integer

A 256-bit signed integer with inline ADD/SUB/CMP/AND/OR/XOR/SHL and optimized runtime MUL/DIV/REM. The range is approximately &minus;5.8&times;1076 to +5.8&times;1076 (&minus;2255 to 2255&minus;1).

Chapter: Wide Integer Types | Certification: [CERTIFIED TESTED]

Description

A 256-bit signed integer with inline ADD/SUB/CMP/AND/OR/XOR/SHL and optimized runtime MUL/DIV/REM. The range is approximately −5.8×1076 to +5.8×1076 (−2255 to 2255−1).

Kind: Data Type | Category: Numeric Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Declaration

LOCAL a AS INT256
LOCAL b AS I256

Size and Alignment

  • Size: 32 bytes (4 × 64-bit words)
  • Alignment: 16 bytes
  • Stack slot: One 32-byte frame object

Arithmetic Operations

All operations are native x64 code. Simple operations (ADD, SUB, CMP, AND, OR, XOR, SHL) are emitted as inline instruction sequences. Multiplication and division use optimized C runtime helpers compiled into the user executable.

Operation | Implementation | Performance
ADD | Carry-chain across four 64-bit words using ADC (add-with-carry) | Inline, 4 instructions
SUB | Borrow-chain across four 64-bit words using SBB (subtract-with-borrow) | Inline, 4 instructions
AND, OR, XOR | Independent word-wise operations across four 64-bit words | Inline, 4 instructions each
SHL | Cross-word shift with carry propagation: word shift + bit shift | Inline, ~10 instructions
SHR | Arithmetic right shift: sign-fill propagation across words | Inline, ~10 instructions
CMP | Lexicographic compare: signed MSB word, then unsigned lower words | Inline, ~6 instructions
NEG | Two's complement: bitwise NOT + increment with carry | Inline, ~8 instructions
MUL | Schoolbook multiplication using unsigned __int128 (128-bit) accumulator for cross-terms; 4×4 word matrix | Runtime call bestof_i256_mul
DIV | Long division with bit-by-bit trial subtraction | Runtime call bestof_i256_div
REM | Same division algorithm, returns remainder | Runtime call bestof_i256_rem

Implementation Details

Addition and Subtraction

The compiler emits an inline carry-chain:

; ADD (a + b -> out)
mov  rax, [a+0]   ; load low word
add  rax, [b+0]   ; add low word
mov  [out+0], rax ; store low result
mov  rax, [a+8]
adc  rax, [b+8]   ; add-with-carry
mov  [out+8], rax
mov  rax, [a+16]
adc  rax, [b+16]
mov  [out+16], rax
mov  rax, [a+24]
adc  rax, [b+24]
mov  [out+24], rax

Multiplication

Multiplication uses a schoolbook algorithm. For each pair of 64-bit words a[i] × b[j], the 128-bit product is accumulated into a temporary 512-bit array, then the low 256 bits are stored as the result. The runtime function is bestof_i256_mul.

Division and Remainder

Division uses long division with trial subtraction. For signed division, the algorithm first converts both operands to unsigned (two's complement negation if negative), performs unsigned long division, then applies the correct sign to the quotient and remainder. The runtime functions are bestof_i256_div and bestof_i256_rem.

Performance Note: DIV and REM are the slowest operations. For divisions by powers of 2, use right-shift (SHR) instead, which is fully inline and much faster.

Limitations

  • Division by zero is not trapped by the compiler; it produces a zero quotient and zero remainder at runtime.
  • Right-shift (SHR) is arithmetic (sign-fill), consistent with signed integer semantics.
  • Only integer literal values that fit in the compiler's internal representation can be assigned at compile time. Very large values (over ~263) must be built up through arithmetic.

Example

FUNCTION PBMAIN() AS LONG
  LOCAL a AS INT256
  LOCAL b AS INT256
  LOCAL c AS INT256

  a = 1000000000000000000000000000000  ' 10^30
  b = 2000000000000000000000000000000  ' 2*10^30
  c = a + b                           ' 3*10^30
  PRINT c

  c = a - b                           ' -10^30
  PRINT c

  FUNCTION = 0
END FUNCTION

See also

  • INT128 / I128 - 128-bit Signed Integer
  • INT512 / I512 - 512-bit Signed Integer
  • UINT256 / U256 - 256-bit Unsigned Integer
  • Long integers (&)
  • Quad integers (&&)
  • PBXB64 Compiler Help


INT512 / I512 - 512-bit Signed Integer - PBXB64 Compiler Help

Home › Data Types › Wide Integer Types PBXB64 Compiler Help

INT512 / I512 - 512-bit Signed Integer

A 512-bit signed integer with inline ADD/SUB/CMP/AND/OR/XOR/SHL and optimized runtime MUL/DIV/REM. The range is approximately &minus;6.7&times;10153 to +6.7&times;10153 (&minus;2511 to 2511&minus;1).

Chapter: Wide Integer Types | Certification: [CERTIFIED TESTED]

Description

A 512-bit signed integer with inline ADD/SUB/CMP/AND/OR/XOR/SHL and optimized runtime MUL/DIV/REM. The range is approximately −6.7×10153 to +6.7×10153 (−2511 to 2511−1).

Kind: Data Type | Category: Numeric Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Declaration

LOCAL a AS INT512
LOCAL b AS I512

Size and Alignment

  • Size: 64 bytes (8 × 64-bit words)
  • Alignment: 32 bytes
  • Stack slot: One 64-byte frame object

Arithmetic Operations

All operations are native x64 code. Simple operations (ADD, SUB, CMP, AND, OR, XOR, SHL) are emitted as inline instruction sequences. Multiplication and division use optimized C runtime helpers compiled into the user executable.

Operation | Implementation | Performance
ADD | Carry-chain across eight 64-bit words using ADC (add-with-carry) | Inline, 8 instructions
SUB | Borrow-chain across eight 64-bit words using SBB (subtract-with-borrow) | Inline, 8 instructions
AND, OR, XOR | Independent word-wise operations across eight 64-bit words | Inline, 8 instructions each
SHL | Cross-word shift with carry propagation: word shift + bit shift | Inline, ~20 instructions
SHR | Arithmetic right shift: sign-fill propagation across words | Inline, ~20 instructions
CMP | Lexicographic compare: signed MSB word, then unsigned lower words | Inline, ~12 instructions
NEG | Two's complement: bitwise NOT + increment with carry | Inline, ~16 instructions
MUL | Schoolbook multiplication using unsigned __int128 (128-bit) accumulator for cross-terms; 8×8 word matrix | Runtime call bestof_i512_mul
DIV | Long division with bit-by-bit trial subtraction | Runtime call bestof_i512_div
REM | Same division algorithm, returns remainder | Runtime call bestof_i512_rem

Implementation Details

Addition and Subtraction

The compiler emits an inline carry-chain across eight 64-bit words. For addition, each word pair is added with carry propagation using the x86 ADC instruction. For subtraction, SBB (subtract-with-borrow) propagates the borrow across all eight words:

; ADD (a + b -> out) — 512-bit, 8 words
mov  rax, [a+0]   ; word 0
add  rax, [b+0]
mov  [out+0], rax
mov  rax, [a+8]   ; word 1
adc  rax, [b+8]
mov  [out+8], rax
; ... repeated for words 2 through 7
mov  rax, [a+56]  ; word 7
adc  rax, [b+56]
mov  [out+56], rax

Multiplication

Multiplication uses a schoolbook algorithm. For each pair of 64-bit words a[i] × b[j], the 128-bit product is accumulated into a temporary 1024-bit array (16 words), then the low 512 bits are stored as the result. The runtime function is bestof_i512_mul.

For an 8×8 word multiplication, this requires 64 individual 64×64 multiplications, each producing a 128-bit partial product that is accumulated into the result array with carry propagation.

Division and Remainder

Division uses long division with trial subtraction. For signed division, the algorithm first converts both operands to unsigned (two's complement negation if negative), performs unsigned long division, then applies the correct sign to the quotient and remainder. The runtime functions are bestof_i512_div and bestof_i512_rem.

The unsigned long division algorithm aligns the divisor to the most significant bit of the dividend, then iterates bit-by-bit, shifting the divisor right by one bit each iteration and subtracting when the current remainder is greater than or equal to the aligned divisor.

Performance Note: DIV and REM are the slowest operations for 512-bit values due to the large word count (8 words). For divisions by powers of 2, use right-shift (SHR) instead, which is fully inline and orders of magnitude faster.

Limitations

  • Division by zero is not trapped by the compiler; it produces a zero quotient and zero remainder at runtime.
  • Right-shift (SHR) is arithmetic (sign-fill), consistent with signed integer semantics.
  • Only integer literal values that fit in the compiler's internal representation can be assigned at compile time. Very large values (over ~263) must be built up through arithmetic or shift operations.
  • 512-bit variables occupy 64 bytes of stack space each. Functions with many 512-bit locals may exceed default stack limits.

Example

FUNCTION PBMAIN() AS LONG
  LOCAL a AS INT512
  LOCAL b AS INT512
  LOCAL c AS INT512

  a = 1000000000000000000000000000000000000000000000000  ' 10^48
  b = 2000000000000000000000000000000000000000000000000  ' 2*10^48
  c = a + b                                            ' 3*10^48
  PRINT c

  c = a - b                                            ' -10^48
  PRINT c

  FUNCTION = 0
END FUNCTION

See also

  • INT128 / I128 - 128-bit Signed Integer
  • INT256 / I256 - 256-bit Signed Integer
  • UINT512 / U512 - 512-bit Unsigned Integer
  • Long integers (&)
  • Quad integers (&&)
  • PBXB64 Compiler Help


Integers (%) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Integers (%)

To PowerBASIC, an Integer is a number with no decimal point (what mathematicians would call whole numbers) with a range of -32,768 to +32,767 ( -2^15 to 2^15 - 1). These values stem from the underlyin

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

To PowerBASIC, an Integer is a number with no decimal point (what mathematicians would call whole numbers) with a range of -32,768 to +32,767 ( -2^15 to 2^15 - 1). These values stem from the underlyin

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Integers are identified by following the variable name with a percent sign (eg: var% ), or by using the DEFINT statement. For example, if you use this declaration in your program code:

then all variables following this declaration that start with the letter I, J, or K will be an Integer by default. You can also declare an Integer variable using the INTEGER keyword with the DIM statement. For example:

Back to command index


INTERFACE / END INTERFACE Block (Direct) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

INTERFACE / END INTERFACE Block (Direct)

Declare a direct

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

INTERFACE interfacename [$GUID] [AS EVENT] [AS HIDDEN]
{METHOD | PROPERTY} name [([ arguments ])] [AS type ]]
END INTERFACE

Description

Declare a direct

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The first line in an Interface Block must be an INHERIT statement. INHERIT specifies the base class or the user interface upon which this new interface is built. It defines the base methods available, the optional user methods which are available, and the calling conventions which will apply. In the current version of PowerBASIC, the following may be used:

INHERIT IUnknown

This defines a Custom Interface with only direct access to the interface methods . OBJRESULT (an hResult value) is not supported. Return values are typically passed in CPU/FPU registers, just like a user defined FUNCTION . This is the format most often used for internal objects, as it offers access to more data types than the other forms. You may substitute the word CUSTOM for IUNKNOWN, as they are synonyms.

INHERIT IAutomation

This defines an Automation Interface with only direct access to the interface methods. OBJRESULT (an hResult value) is always supported. Return values are passed as a hidden, last parameter (automatically, by PowerBASIC). Parameters and return values are limited to COM data types. A User Defined Type used as a return value or parameter will be converted to a BYVAL DWORD. This is the format most often used for COM objects which do not require access to the IDispatch interface. You may substitute the word AUTOMATION for IAUTOMATION, as they are synonyms.

INHERIT IDispatch

This defines a Dual Interface, which offers both direct access and Dispatch access to the interface methods. OBJRESULT (an hResult value) is always supported. This interface inherits from IAutomation, so the calling conventions are identical to IAutomation when used for direct access. You may substitute the word DUAL for IDISPATCH, as they are synonyms.

INHERIT < UserClass >, < UserInterface >

This defines an inherited user-written interface, so the new interface implements the base class IUnknown, IDispatch, etc.) and all of the Methods and Properties, as well. It's necessary to specify both the class and the interface name to be inherited, because it's possible to have multiple implementations of any particular interface.

INTERFACE / END INTERFACE statements enclose the METHOD and PROPERTY definitions which constitute a class. There are two forms of the INTERFACE / END INTERFACE block. When it appears outside of a CLASS block, it is simply a declaration of the interface, much like DECLARE statements are used for functions:

INTERFACE name [$GUID] [AS EVENT]

INHERIT IUnknown

METHOD MyMethod(xyz AS LONG)

PROPERTY GET MyProp() AS STRING

END INTERFACE

The above form is used to declare an interface which is implemented in another .EXE or .DLL, but will be accessed here through COM services. It may also be used for added self-documentation of internal classes. If it appears within a CLASS block, it is the implementation of the Methods/Properties for the Class. The interface implementation must precisely match any prior interface declaration.

CLASS name [$GUID] [AS COM]

INTERFACE name [$GUID] [AS HIDDEN]

INHERIT iUnknown

METHOD MyMethod(xyz AS LONG)

[ statements ]

END METHOD

PROPERTY GET MyProp() AS STRING

[ statements ]

END PROPERTY

END INTERFACE

END CLASS

The name and optional $GUID are supplied by the programmer to uniquely identify the interface. The first entry in every INTERFACE block must be the base class upon which it is built. Every interface must ultimately inherit from IUnknown, which is a requirement.

By default, a class is considered private, so that the methods are accessible only from within the EXE or DLL where it is defined. The AS COM attribute to the CLASS statement makes the class available externally, to virtually any process which is COM-aware.

The optional AS HIDDEN attribute to the INTERFACE statement prevents the interface from being documented when the type library is created. When marked as hidden, any and all uses of the interface are hidden, even if they appear in multiple classes.

With an internal class, the $GUID on CLASS and INTERFACE statements may be freely omitted, as PowerBASIC can readily identify them by name. With a published COM class, you should insert a specific GUID of your choice. If omitted, a random GUID will be created by the compiler, but it will change every time you compile the program. This will be difficult to synchronize with other programs which wish to identify and access your object.

The following code defines a dual interface whose methods are available for both direct access and Dispatch access. This is the form you will typically use for COM objects, since it offers the best compatibility with varied client modules.

INTERFACE DispatchIface

INHERIT IDispatch

METHOD MethodDef()

[ statements ]

END METHOD

END INTERFACE

You should note that the IDispatch interface itself inherits from IUnknown, so that both interfaces are ultimately available. As an additional required base class, the IDispatch declaration is built into the PowerBASIC Compiler.

Every method and property in a dual interface needs a positive, long integer value to identify it. That integral value is known as a DispID (Dispatch ID), and it's used internally by COM services to call the correct function on a Dispatch interface. You can specify a particular DispID by enclosing it in angle brackets immediately following the Method/Property name in an Interface definition block.

INTERFACE DualIface

INHERIT IDispatch

METHOD MethodOne <76> ()

METHOD MethodTwo <77> ()

END INTERFACE

If you don't specify a DispID, PowerBASIC will assign a random value for you. This is fine for internal objects, but may cause a failure for published COM objects, as the DispID could change each time you compile your program. It is particularly important that you specify a DispID for each Method/Property in a COM Event Interface.

Inherited User-Written Interfaces

PowerBASIC offers Implementation Inheritance of user-written interfaces. That is, an interface can inherit all of the code in the methods and properties of a selected interface. You can then add additional methods and properties to the new interface. When you inherit a user-written interface, you must specify both the class name and the interface name, since COM allows you to have multiple implementations of any particular interface.

You can override an inherited method or property by coding a replacement which is preceded by the word OVERRIDE. It's possible to one or many override procedures, but they must appear in the same sequence as the ones they replace.

CLASS MyClass

INTERFACE MyFace

INHERIT IDispatch

METHOD aaa()

' code...

END METHOD

METHOD bbb()

' code...

END METHOD

METHOD ccc()

' code...

END METHOD

METHOD ddd()

' code...

END METHOD

END INTERFACE

END CLASS

CLASS TheClass

INTERFACE TheFace

INHERIT MyClass, MyFace

OVERRIDE METHOD bbb()

' new code...

END METHOD

OVERRIDE METHOD ddd()

' new code...

END METHOD

METHOD xxx()

' code...

END METHOD

END INTERFACE

END CLASS

Note that in the above example, the new interface "TheFace" first inherits all four methods from "MyFace" (aaa,bbb,ccc,ddd). However, because of the OVERRIDE statements, both bbb() and ddd() are replaced by newer versions of the methods. Because of the nature of Virtual Function Tables, the OVERRIDE procedures must remain in the original sequence. That is, bbb() must precede ddd(), and both must precede any added methods, such as xxx().

Because of the nature of code replacement necessary in implementation inheritance, the interface to be inherited must always physically precede the new, child interface.

See also

  • INTERFACE/END INTERFACE block (Dispatch)
  • CLASS/END CLASS
  • INSTANCE
  • ISINTERFACE
  • LET statement (with Objects)
  • ME pseudo-variable
  • METHOD / END METHOD statements
  • MYBASE pseudo-variable
  • PROPERTY / END PROPERTY
  • What Does an Interface Look Like?
  • What is inheritance?
  • PBXB64 Compiler Help


INTERFACE/END INTERFACE block (Dispatch) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

INTERFACE/END INTERFACE block (Dispatch)

Declare a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

INTERFACE IDBIND interfacename
MEMBER {CALL | GET | SET | LET} membername < dispid > ( [[OPTIONAL
[IN | OUT | INOUT]] paramname < dispid > [AS type ] [,...]] )
[AS { vartype | interface }]
[...]
END INTERFACE

Description

Declare a

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

In order to provide IDBinding services, PowerBASIC must be able to pre-construct the references to the DISPATCH COM interface members at compile-time. Without an interface definition block, only late-binding at run-time would be possible. Late-binding is less efficient than IDBinding.

You may list every Method/Property in the interface, or just the ones that are referenced in the code. They can appear in any sequence. Member names may contain (normally) reserved keywords such as INPUT or KILL , etc

The most important aspect of an interface block is that it clearly associates a dispid with the each Method/Property name. Named parameters in the paramname list also require an appropriate dispid value, as does any Property which returns an object to be used in a nested object reference. All dispid values must be enclosed in angle brackets (< and >), and may be expressed as hexadecimal or decimal numeric literals.

You can look up the dispid values of COM servers using an Object Browser , or by reading your object documentation. You can even insert additional information about the types and return value for your own reference, even though the compiler does not use them.

Previous versions of PowerBASIC compilers used an older style syntax of "INTERFACE DISPATCH interfacename " for this structure. It was updated to better reflect the nature of the description. While the older syntax will be recognized in this version, we suggest you update the word DISPATCH to IDBIND soon.

Restrictions

If the compiler cannot resolve the interface name definition specified in a DIM or LET statement, a compile-time error is generated accordingly.

interfacename must not be a PowerBASIC keyword. If a keyword conflict arises, the addition of an arbitrary prefix is acceptable. For example, INTERFACE IDBIND Shell() could be changed to INTERFACE IDBIND MyShell() and PowerBASIC will still resolve the interface correctly.

Method/Property membername items may freely use PowerBASIC keywords without concern for conflicts with normal code syntax. For example, MEMBER CALL Open() is a valid syntax for an interface method.

See also

  • DIM
  • ID Binding
  • INTERFACE / END INTERFACE Block (Direct)
  • ISINTERFACE
  • LET statement (with Objects)
  • Late Binding
  • LET statement (with Variants)
  • OBJACTIVE
  • OBJECT
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • What Is an Object Anyway?
  • What is DISPATCH?
  • PBXB64 Compiler Help


Intermixing ASM and BASIC code - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Intermixing ASM and BASIC code

There are special conditions with register preservation that apply when writing mixed assembler and BASIC code. PowerBASIC is a highly optimized compiler and among its optimizations are reductions in

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

There are special conditions with register preservation that apply when writing mixed assembler and BASIC code. PowerBASIC is a highly optimized compiler and among its optimizations are reductions in

Kind: Keyword | Category: Inline Assembler

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

This means that if your assembler algorithm uses any of the EBX, ESI, or EDI registers, you must preserve their original state from the last line of BASIC code that precedes the Inline Assembler code. This is, you must PUSH them before your ASM code, and POP them again right before the BASIC code commences.

This may appear to be more code than is necessary but it must be remembered that the internal structure of PowerBASIC does not duplicate the stack preservation that the application programmer must apply, so in terms of the stack overhead, the code is actually very efficient.

It should be noted that if your ASM code uses the EAX, ECX, or EDX registers, you should also preserve these as the internal execution of BASIC statements can also freely modify any of these three registers too.

The overall approach to preserving the registers around intermixed ASM and BASIC code is demonstrated in the following listing:

Back to command index


Internal representations of arrays - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Internal representations of arrays

PowerBASIC stores arrays in column-major order: Array (0,0) is first (lowest) in memory, then Array (1,0), then Array (2,0), and so on through all the rows of the array. After the rows are taken care

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

PowerBASIC stores arrays in column-major order: Array (0,0) is first (lowest) in memory, then Array (1,0), then Array (2,0), and so on through all the rows of the array. After the rows are taken care

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

While PowerBASIC supports lower boundary values that are non-zero, PowerBASIC generates the most efficient code if the lower boundary parameter is omitted (i.e., the array uses the default lower boundary of zero).

Array boundary values can be obtained at run-time via the LBOUND and UBOUND functions. Descriptive attributes of an array can be retrieved with the ARRAYATTR function. These attributes include such information as the data type and the number of dimensions , etc.

Back to command index


IS - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Operators PBXB64 Compiler Help

IS

Category: PowerBASIC compatibility reference

Chapter: Operators

Syntax

result = expr1 IS expr2
CASE IS comparison_expression

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ISFALSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ISFALSE

Return the logical truth or falsity of a given expression.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ISFALSE expr
ISTRUE expr

Description

Return the logical truth or falsity of a given expression.

Kind: Operator | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ISTRUE returns -1 (TRUE) when expr evaluates as non-zero; otherwise, it returns zero (FALSE). ISFALSE returns -1 when expr evaluates as 0 (FALSE); otherwise, it returns zero.

Truth table

operator

Result

ISTRUE

ISTRUE

ISFALSE

ISFALSE

PowerBASIC's NOT operator serves a double duty: it returns the one's-complement of an integer class expression and "reverses" the value of a TRUE/FALSE (Boolean) expression. Usually, these two functions do not conflict, but since PowerBASIC accepts any non-zero value as TRUE, the following condition can arise:

test1 = 0 ' test1 is FALSE (zero)

IF NOT test1 THEN ' TRUE (-1 is non-zero)

[ statements ]

test2 = 1 ' test2 is TRUE (1 is non-zero)

IF NOT test2 THEN ' still TRUE (-2 is non-zero)

[ statements ]

In this case, NOT does not reverse the TRUE/FALSE value of test2. ISFALSE ensures that the test is performed exactly as you would expect:

test2 = 1 ' test2 is TRUE (non-zero)

IF ISFALSE test2 THEN ' ISFALSE detects test2 is

[ statements ] ' TRUE so the IF test fails

This problem does not exist when you're testing for logical truth. PowerBASIC considers that an expression is TRUE in every case except when the expression is zero. However, ISTRUE converts all non-zero values to the "most true" value, -1, which provides the most consistent results with both boolean and arithmetic expressions.

Restrictions

ISTRUE and ISFALSE operators evaluate the "whole" expression following the keyword, subject to their Operator Precedence level. For example, parentheses contained within the expression are regarded as an integral part of the expression, and do not act as delimiters for the ISTRUE and ISFALSE operators.

With this in mind, combining a logical test result into a further expression means that the expressions must be separated to ensure the correct evaluation.

Consider the following statement:

IF ISTRUE (x&) + y& THEN

PowerBASIC evaluates the entire expression (x&) + y& and then calculates the logical truth from the overall result of that expression. That is, the parentheses around the first part of the expression do not stop ISTRUE from evaluating the whole expression. To demonstrate this, the statement can be rewritten to concisely demonstrate the scope of the logical evaluation:

IF ISTRUE (x& + 2) THEN

or it could be simplified even further:

IF ISTRUE x& + 2 THEN

If you wish to utilize the numeric result of the logical test in a further expression, parentheses must be added to separate the expressions correctly:

IF (ISTRUE x&) + 2 THEN

See also

  • Arithmetic Operators
  • NOT
  • IF/END IF
  • PBXB64 Compiler Help


ISFALSE and ISTRUE Operators - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ISFALSE and ISTRUE Operators

Boolean truthiness operators.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Boolean truthiness operators.

Kind: Conceptual | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


ISFILE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ISFILE

Determine whether or not a file exists.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FileExists& = ISFILE( FileName )

Description

Determine whether or not a file exists.

Kind: Function | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The file subsystem is checked to determine whether the file specified by FileName currently exists. If it is found in any form (hidden, system, read-only, etc.), the value true (-1) is returned. Otherwise, the value false (0) is returned.

Filename is an unambiguous file name, which may not contain an asterisk (*) or query (?). If it contains one or more of those characters, the function always returns false (0).

See also

  • DIR$
  • DISPLAY BROWSE
  • DISPLAY OPENFILE
  • DISPLAY SAVEFILE
  • ISFOLDER
  • PATHSCAN$
  • PBXB64 Compiler Help


ISFOLDER - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ISFOLDER

Determine whether or not a folder exists.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FolderExists& = ISFOLDER( FolderName )

Description

Determine whether or not a folder exists.

Kind: Function | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The file subsystem is checked to determine whether the folder specified by FolderName currently exists. If it is found in any form (hidden, system, read-only, etc.), the value true (-1) is returned. Otherwise, the value false (0) is returned.

The root directory (for example, "C:\") is considered to be a folder, and returns the value true (-1).

FolderName is an unambiguous file name, which may not contain an asterisk (*) or query (?). If it contains one or more of those characters, the function always returns false (0).

See also

  • DIR$
  • DISPLAY BROWSE
  • DISPLAY OPENFILE
  • DISPLAY SAVEFILE
  • ISFILE
  • PATHSCAN$
  • PBXB64 Compiler Help


ISINTERFACE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ISINTERFACE

Determine whether an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

IfaceValid = ISINTERFACE( ObjectVar , InterfaceName )

Description

Determine whether an

Kind: Function | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The object referenced by the parameter ObjectVar is tested to determine if the specified InterfaceName is supported. If so, the value true (-1) is returned. Otherwise, the value false (0) is returned.

See also

  • CLASS/END CLASS
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


ISMISSING - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ISMISSING

Determine whether an optional parameter

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ParamStatus = ISMISSING( ParamVar )

Description

Determine whether an optional parameter

Kind: Function | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The ISMISSING function may be used to test certain optional parameters to determine whether or not the parameter was actually passed by the calling code. It may be used to test ByVal/ByRef VARIANT parameters, or other variable types passed ByRef. An attempt to test a ByVAL parameter other than VARIANT will generate an error 579 (BYREF variable or BYVAL/BYREF variant expected) to be generated during compilation.

A ByRef parameter is considered to be missing when the pointer has the value zero. A variant parameter is considered to be missing when it has a type of %VT_ERROR and an error value of %DISP_E_PARAMNOTFOUND.

If the specified optional parameter is missing, the value true (-1) is returned. Otherwise, the value false (0) is returned.

Restrictions

The ISMISSING function may only be used within the procedure which uses the specified optional parameter.

See also

  • DECLARE
  • FUNCTION/END FUNCTION statements
  • METHOD / END METHOD statements
  • PROPERTY / END PROPERTY
  • SUB/END SUB statements
  • PBXB64 Compiler Help


ISNOTHING - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ISNOTHING

Determine the current status of a given

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

oStatus = ISNOTHING( objectvar )

Description

Determine the current status of a given

Kind: Function | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ISNOTHING is particularly useful in determining the success or failure of a LET statement. It returns TRUE (-1) if the object variable contains nothing, or FALSE (0) if it contains a valid current reference to an object interface.

ISNOTHING is the complement to the ISOBJECT function.

Restrictions

objectvar mu st be an Interface or IDispatch object variable.

See also

  • DIM
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ISOBJECT
  • LET statement (with Objects)
  • OBJECT
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


ISNOTNULL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ISNOTNULL

Determine if a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ResultVar& = ISNOTNULL( StrgExpr )

Description

Determine if a string

Kind: Function | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The StrgExpr is examined to determine if it is null, or if it contains one or more characters. The value true (-1) is returned if the StrgExpr contains characters, or false (0) if it is null (zero-length).

The complementary function is ISNULL .

See also

  • ISNULL
  • PBXB64 Compiler Help


ISNULL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ISNULL

Determine if a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ResultVar& = ISNULL( StrgExpr )

Description

Determine if a string

Kind: Function | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The StrgExpr is examined to determine whether it is null (has zero characters). The value true (-1) is returned if the StrgExpr is null, or false (0) if it contains characters.

The complementary function is ISNOTNULL .

See also

  • ISNOTNULL
  • PBXB64 Compiler Help


ISOBJECT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ISOBJECT

Determine the current status of a given

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

oStatus = ISOBJECT( objectvar )

Description

Determine the current status of a given

Kind: Function | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ISOBJECT is particularly useful in determining the success or failure of a LET (with Objects) statement. It returns TRUE (-1) if the object variable contains a valid current reference to an object interface, or FALSE (0) if it contains nothing.

ISOBJECT is the complement to the ISNOTHING function.

Restrictions

objectvar must be an interface or IDispatch object variable.

See also

  • DIM
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ISNOTHING
  • LET statement (with Objects)
  • OBJECT
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


ISPRIME - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ISPRIME

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

flag = ISPRIME( n )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ISFALSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ISFALSE

Return the logical truth or falsity of a given expression.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ISFALSE expr
ISTRUE expr

Description

Return the logical truth or falsity of a given expression.

Kind: Operator | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ISTRUE returns -1 (TRUE) when expr evaluates as non-zero; otherwise, it returns zero (FALSE). ISFALSE returns -1 when expr evaluates as 0 (FALSE); otherwise, it returns zero.

Truth table

operator

Result

ISTRUE

ISTRUE

ISFALSE

ISFALSE

PowerBASIC's NOT operator serves a double duty: it returns the one's-complement of an integer class expression and "reverses" the value of a TRUE/FALSE (Boolean) expression. Usually, these two functions do not conflict, but since PowerBASIC accepts any non-zero value as TRUE, the following condition can arise:

test1 = 0 ' test1 is FALSE (zero)

IF NOT test1 THEN ' TRUE (-1 is non-zero)

[ statements ]

test2 = 1 ' test2 is TRUE (1 is non-zero)

IF NOT test2 THEN ' still TRUE (-2 is non-zero)

[ statements ]

In this case, NOT does not reverse the TRUE/FALSE value of test2. ISFALSE ensures that the test is performed exactly as you would expect:

test2 = 1 ' test2 is TRUE (non-zero)

IF ISFALSE test2 THEN ' ISFALSE detects test2 is

[ statements ] ' TRUE so the IF test fails

This problem does not exist when you're testing for logical truth. PowerBASIC considers that an expression is TRUE in every case except when the expression is zero. However, ISTRUE converts all non-zero values to the "most true" value, -1, which provides the most consistent results with both boolean and arithmetic expressions.

Restrictions

ISTRUE and ISFALSE operators evaluate the "whole" expression following the keyword, subject to their Operator Precedence level. For example, parentheses contained within the expression are regarded as an integral part of the expression, and do not act as delimiters for the ISTRUE and ISFALSE operators.

With this in mind, combining a logical test result into a further expression means that the expressions must be separated to ensure the correct evaluation.

Consider the following statement:

IF ISTRUE (x&) + y& THEN

PowerBASIC evaluates the entire expression (x&) + y& and then calculates the logical truth from the overall result of that expression. That is, the parentheses around the first part of the expression do not stop ISTRUE from evaluating the whole expression. To demonstrate this, the statement can be rewritten to concisely demonstrate the scope of the logical evaluation:

IF ISTRUE (x& + 2) THEN

or it could be simplified even further:

IF ISTRUE x& + 2 THEN

If you wish to utilize the numeric result of the logical test in a further expression, parentheses must be added to separate the expressions correctly:

IF (ISTRUE x&) + 2 THEN

See also

  • Arithmetic Operators
  • NOT
  • IF/END IF
  • PBXB64 Compiler Help


ISWIN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ISWIN

Determine whether a Control

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

DialogExists& = ISWIN( hDlg& )
ControlExists& = ISWIN( hParentDlg& , Ident& )

Description

Determine whether a Control

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Window subsystem is checked to determine whether the specified Dialog or Control currently exists. This function may be used for a wide range of purposes, but it's particularly valuable when you want to be sure that a CONTROL was created successfully with the control add statement.

If you use a single parameter, it must specify the handle of a Window, Dialog, or Control you are checking. If you use two parameters, you would specify the handle of the parent and the identifier of the Control you are checking.

If the target of the function currently exists, TRUE (-1) is returned. If it does not exist, the return value is FALSE (0).

See also

  • CONTROL HANDLE
  • DIALOG NEW
  • PBXB64 Compiler Help


ITERATE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ITERATE

Start an immediate iteration of a loop

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ITERATE [DO | LOOP | FOR]

Description

Start an immediate iteration of a loop

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ITERATE is just like using a GOTO to the line immediately before the NEXT statement (of a FOR...NEXT loop), the LOOP statement (of a DO...LOOP loop), or the WEND statement (of a WHILE..WEND loop). For example, the following code fragments are equivalent:

FOR ix = 1 TO 100

[ statements ]

ITERATE FOR

[ statements ]

FOR ix = 1 TO 100

[ statements ]

GOTO iterateForLoop

[ statements ]

iterateForLoop:

If you do not specify DO, LOOP, or FOR, ITERATE will iterate the most recently executed structure. For example:

FOR ix = 1 TO 10

DO UNTIL x > 10

[ statements ]

ITERATE ' will iterate the DO LOOP

[ statements ]

ITERATE DO and ITERATE LOOP are interchangeable.

Use this statement...

To iterate this kind of loop

ITERATE FOR

FOR/NEXT

ITERATE DO, ITERATE LOOP

DO/LOOP, WHILE/WEND

See also

  • DO/LOOP statements
  • EXIT
  • FOR EACH/NEXT statements
  • FOR/NEXT statements
  • WHILE/WEND statements
  • PBXB64 Compiler Help


JOIN$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JOIN$

Return a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

A$ = JOIN$( array() , { delim$ | BINARY})

Description

Return a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

JOIN$ requires a delimiter string delim$ which may be any length.

If the delimiter expression is a null (zero-length) string, no separators are inserted between the string sections. If the delimiter expression is the 3-byte value of "," (which may be expressed in your source code as the string literal ""","""), a leading and trailing double-quote is added to each string section. This ensures that the returned string contains standard, comma-delimited quoted fields that can be easily parsed.

The array specified by array() may be any data type.

BINARY

If the array consists of fixed size elements (numeric , Nul-Terminated Strings , etc.), the returned string consists of an exact memory image of the array data in internal format. If the array contains variable length data (Dynamic string, Field string ), it is stored in PowerBASIC and/or Visual Basic packed string format: If a string is shorter than 65535 bytes, it starts with a 2-byte length WORD followed by the string data. Otherwise, it will start with a 2-byte value of 65535, followed by a DWORD indicating the string length, then finally the string data itself.

The JOIN$ function is the natural complement to the PARSE statement.

See also

  • BUILD$
  • PARSE$
  • PARSECOUNT
  • PBXB64 Compiler Help


JS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JS

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

#JS
// source text
#ENDJS

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONFREE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONFREE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

status = JSONFREE(handle)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONGETBOOL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONGETBOOL

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

value = JSONGETBOOL(handle, path$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONGETFLOAT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONGETFLOAT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

value## = JSONGETFLOAT(handle, path$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONGETINT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONGETINT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

value = JSONGETINT(handle, path$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONGETSTR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONGETSTR

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

value$ = JSONGETSTR(handle, path$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONNEW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONNEW

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

handle = JSONNEW(type)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONPARSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONPARSE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

handle = JSONPARSE(jsonText$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONREMOVE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONREMOVE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

status = JSONREMOVE(handle, path$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONSETBOOL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONSETBOOL

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

status = JSONSETBOOL(handle, path$, value)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONSETFLOAT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONSETFLOAT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

JSONSETFLOAT json&, name$, value#

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONSETINT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONSETINT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

status = JSONSETINT(handle, path$, value)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONSETNULL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONSETNULL

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

status = JSONSETNULL(handle, path$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONSETSTRING - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONSETSTRING

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

status = JSONSETSTRING(handle, path$, value$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONSTRINGIFY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONSTRINGIFY

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text$ = JSONSTRINGIFY$(handle, pretty)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


JSONTYPE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

JSONTYPE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

type$ = JSONTYPE$(handle)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Just what is COM? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Just what is COM?

COM is an acronym. It represents the words "Component Object Model".

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

COM is an acronym. It represents the words "Component Object Model".

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The short answer is that COM defines a way to communicate between modules of code. The slightly longer answer follows.

You should know that every object created or defined in PowerBASIC is fully compatible with the COM specification. Many popular compilers are not able to make that claim accurately. The COM specification defines a standardized method of communication between modules of code (frequently called components ), regardless of the platform or the tool used to create them. COM components are reusable chunks of code and associated data, which may be accessed by other "COM-Aware" components and applications.

One of the most frustrating things about this technology has been the ever-changing list of buzz-words used to describe it. We've evolved through OLE, VBX, and OCX, to COM, ActiveX, and more. Though nuances of difference abound, the important thing to remember is that COM and ActiveX describe a means of accessing code and data located outside of the current module. COM+ refers to some extensions which are specific to Win2000, WinXP, and WinVista. Throughout this discussion, we'll use the terms COM Object and ActiveX Object to describe components: reusable chunks of code and associated data.

Prior versions of PowerBASIC introduced client COM services, which were accessible through the COM DISPATCH interface. While the DISPATCH interface is very flexible and easy-to-use, that very flexibility adds a level of overhead which is unacceptable for many applications. This version of PowerBASIC adds the capability to create and access COM objects through a DIRECT INTERFACE or a DISPATCH INTERFACE .

Back to command index


KEYSTAT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

KEYSTAT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result& = KEYSTAT(vk&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


KEYSTATE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

KEYSTATE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result& = KEYSTATE(vk&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Keyword Reference - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Keyword Reference

This section contains an alphabetical listing of all of the PowerBASIC keywords. Each entry goes into specific detail about each command, and is cross-references to other relevant commands. The Progra

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

This section contains an alphabetical listing of all of the PowerBASIC keywords. Each entry goes into specific detail about each command, and is cross-references to other relevant commands. The Progra

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The commands can be classified into four primary categories, according to their syntactic class: functions, statements, system variables, and metastatements:

These are predefined PowerBASIC functions, as opposed to user-defined functions. Functions generally return either a s tring or a numeric value, and these can be used within a more complex expression. Most functions require the program pass one or more arguments to them; these arguments being numeric or string, or combinations thereof, depending on the function. For example:

Back to command index


KILL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

KILL

Delete a disk file.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

KILL filespec

Description

Delete a disk file.

Kind: Statement | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

filespec is a string expression specifying the file or files to be deleted, and can include a path name and/or "wildcard" characters. filespec may be either a Short File Name (SFN) or a Long File Name (LFN). For example:

KILL "TEST.DOC"

KILL "C:\MY APPLICATION DATA\INCOME.?87"

MyFile$ = "*.BAS"

KILL MyFile$ ' Potentially dangerous!

If filespec does not exist, Error 53 ("File not found") is generated. If filespec is read only, Error 70 ("Permission denied") occurs. You should not attempt to KILL an open file.

Files with the HIDDEN or SYSTEM attribute can not be deleted with KILL. An attempt to do so is ignored, with no error generated.

KILL is analogous to the DOS "DEL" and "ERASE" commands. KILL cannot delete a directory - use RMDIR instead, after first deleting all the files in the directory.

See also

  • FILEATTR
  • FILECOPY
  • FILENAME$
  • GETATTR
  • NAME
  • RMDIR
  • SETATTR
  • SETEOF
  • PBXB64 Compiler Help


LAGUERRE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LAGUERRE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = LAGUERRE( degree, x )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Late Binding - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Late Binding

The standard methodology of DISPATCH is called "Late Binding", because nothing is done in advance. No method definitions. No Interface signatures. You can pretty much just start writing code:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The standard methodology of DISPATCH is called "Late Binding", because nothing is done in advance. No method definitions. No Interface signatures. You can pretty much just start writing code:

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

LOCAL DispVar AS IDISPATCH

LET DispVar = NEWCOM "DispProgID"

OBJECT CALL DispVar.Method1(x&, y$)

It's just that easy. The first line declares an object variable which assumes the DISPATCH interface , while the second line creates an object and assigns a reference to DispVar. The third line just executes a method on the new object.

Back to command index


LBETA - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LBETA

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = LBETA( x, y )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LBOUND - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LBOUND

Return the smallest possible

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

y& = LBOUND( array [( dimension )])
y& = LBOUND( array , dimension )

Description

Return the smallest possible

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

LBOUND can be used in combination with UBOUND to determine the size of an array. LBOUND of an undimensioned array returns zero. The LBOUND function has the following parts:

Name of the array of interest.

dimension

An integer indicating which dimension's lower bound is returned. If not specified, the first dimension is assumed.

Restrictions

LBOUND cannot be used on arrays within User-Defined Types .

See also

  • ARRAYATTR
  • DIM
  • REDIM
  • UBOUND
  • PBXB64 Compiler Help


LCASE$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

LCASE$

Return a lowercase version of a string

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

s$ = LCASE$( string_expression [,ANSI | OEM])

Description

Return a lowercase version of a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

LCASE$ returns a string equivalent to string_expression , except that uppercase letters in string_expression are converted to lowercase. The optional ANSI or OEM parameter specifies whether the conversion is made using the ANSI charset for the system, or the original IBM OEM charset. If no charset is specified, PowerBASIC for Windows uses the system ANSI charset, while PB/CC uses the IBM OEM charset. Only "International" characters in the range of CHR$ (128) to CHR$(255) are affected by this parameter.

The OEM charset is based upon the original IBM OEM charset to ensure compatibility with programs written for all previous versions of the PowerBASIC compiler.

See also

  • MCASE$
  • UCASE$
  • PBXB64 Compiler Help


LCM - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LCM

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

m = LCM( a, b )
text = LCM$( a, b )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LEFT$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

LEFT$

Return the left-most

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

s$ = LEFT$( string _ expression , n& )

Description

Return the left-most

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

n& is a Long-integer expression and specifies the number of characters in string_expression to be returned.

LEFT$ returns a string consisting of the left most n& characters of its string argument. If n& is greater than or equal to the length of string_expression , all of string_expression is returned. If n& is zero, LEFT$ returns an empty string. If the length value parameter is negative, it is interpreted as LEN ( string_expression )- ABS ( n& ). For example, LEFT$("1234567890",-2) returns "12345678".

See also

  • EXTRACT$
  • INSTR
  • LTRIM$
  • MID$
  • RIGHT$
  • RTRIM$
  • SPLIT
  • TALLY
  • TRIM$
  • VERIFY
  • PBXB64 Compiler Help


LEGENDRE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LEGENDRE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = LEGENDRE( degree, x )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LEN - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

LEN

Return the logical length of a

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

y& = LEN( target )

Description

Return the logical length of a

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If target is a string variable or a string expression , LEN returns a value from 0 to the current string length, representing the number of characters in target. If target is a fixed-length string , the length of the fixed buffer is returned. If target is an nul-terminated string, the length of the data stored in the nul-terminated string is returned, not the maximum size of the nul-terminated string. Use SIZEOF to determine the maximum size of an nul-terminated string.

When used with pointers , LEN returns a value of 4, since a pointer is always stored as a DWORD . You can use LEN with the target of a pointer to return the size of target. If the target is a dynamic string , you will receive the length of the string, not the length of the handle.

target can also be any other variable type, including numeric and User-Defined Types (defined with TYPE/END TYPE ). In that case, PowerBASIC will return the number of bytes needed to store a variable of that type.

When measuring the size of a padded (aligned) UDT structure with the LEN (or SIZEOF) statement, the measured length includes any padding that was added to the structure. For example, the following UDT structure:

TYPE LengthTestType DWORD

a AS INTEGER

END TYPE

' code here

DIM abc AS LengthTestType

x& = LEN(abc)

Returns a length of 4 bytes in x& , since the UDT was padded with 2 additional bytes to enforce DWORD alignment. Note that the LEN of individual UDT members returns the true size of the member without regard to padding or alignment. In the previous example, LEN(abc.a) returns 2.

See also

  • CHRBYTES
  • SIZEOF
  • PBXB64 Compiler Help


LET - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LET

Assign a value to a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

[LET] variable = expression
[LET] variable += expression
[LET] variable -= expression
[LET] variable *= expression
[LET] variable /= expression
[LET] variable \= expression
[LET] variable &= expression
[ LET] variable AND= expression
[LET] variable OR= expression
[LET] variable EQV= expression
[LET] variable IMP= expression
[LET] variable MOD= expression
[LET] variable XOR= expression

Description

Assign a value to a

Kind: Statement | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Simple assignment

variable is a string or numeric variable, and expression is of a suitable type (that is, a string expression for string variables and numeric expression for numeric variables).

The word LET is optional in assignment statements. It is allowed to provide compatibility BASIC source files written for early versions of BASIC. In practice, the word LET is very rarely used.

To allow easy conversion, PowerBASIC allows a User-Defined Type in a string expression . The User-Defined Type is simply copied, byte for byte, into the expression. However, to assign a string back to a User-Defined Type, you should use the TYPE SET statement.

DIM abc as MyType

MyString$ = abc

Please refer to the following sections of the LET statement for special information regarding assignment using Object variables, Variant variables, and User-Defined Type variables.

Compound assignment

A compound assignment statement combines a binary arithmetic operator , a binary bitwise operator , or a binary string operator (concatenation) as an integral part of the assignment. This offers the programmer a "shortcut" in your source code, and can even result in more efficient code generation. That's because the target variable is evaluated only once, even if an array or pointer calculation could have a side effect which changes it.

Compound assignments are available for the standard arithmetic operations of add, subtract, multiply, divide, int-divide, and modulo (+ - * / \ MOD ), the bitwise operations ( AND , OR , XOR , EQV , IMP ), and the concatenation operators (+ &). Each are represented by one of the following tokens:

Each of the following pairs of code are functionally identical:

x = x + 1

x += 1

x = x / y

x /= y

x = x XOR 3

x XOR= 3

x(7) = x(7) AND 5

x(7) AND= 5

x$ = x$ + y$

x$ += y$

See also

  • BUILD$
  • JOIN$
  • LET statement (with Objects)
  • LET statement (with Variants)
  • LET statement (with Types)
  • TYPE SET
  • PBXB64 Compiler Help


LET statement (with Objects) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LET statement (with Objects)

Assign an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

[LET] objvar = object expression

Description

Assign an

Kind: Statement | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The LET Statement, and its implied form (without using the word LET), may be used to assign an object reference to an object variable. After you declare an object variable as a particular interface , you must create an object and or assign an object reference to it before you can use the objects members ( methods , properties , etc.).

If an object creation or assignment fails for any reason, the objvar is set to NOTHING . If this statement fails, no errors are generated, nor is an OBJRESULT set. You should test for success of the operation with ISOBJECT ( objvar ) before trying to use the object or execute its methods.

LET objvar = CLASS ClassName$

The term ClassName must be specified as a quoted string literal , which is the name of a class implemented within the program. Since the class is internal (the name is known at compile-time), you may not use a string variable or expression . Upon execution, a new object is created, and a reference to that object is assigned to the object variable objvar. The interface requested is determined by the original declaration of objvar. If InterfaceName is DISPATCH, you can reference it with the OBJECT statement -- otherwise, regular Method and Property references are used.

LET objvar = NEWCOM PrgID$

LET objvar = GETCOM PrgID$

LET objvar = ANYCOM PrgID$

This form of the LET statement is used to obtain an object reference external to the program using the COM facilities of Windows. If the requested object is in a DLL (in-process server), you will always use the NEWCOM option, as you're asking for a new object. If the request is successful, the object reference is assigned to the objvar .

If the requested object is in an EXE (out-of-process server), you may use any of the three options. If the director word NEWCOM is specified, a new instance of a COM application is created. With GETCOM, an interface will be opened on an existing, running application, which has been registered as the active automation object for its class. With ANYCOM, the compiler will first try to use an existing, running application if available, or a new instance if not.

The string expression ProID$ evaluates to a ProgID name on an external COM server. If the InterfaceName is DISPATCH, you can reference it with the OBJECT statement -- otherwise, regular Method and Property references are used instead.

LET objvar = NEWCOM CLSID ClassID$

LET objvar = GETCOM CLSID ClassID$

LET objvar = ANYCOM CLSID ClassID$

This form also obtains a COM object , just as the examples in the above section. There is always a one-to-one relationship between a ProgID and a CLSID (Class ID). An object can be identified by either of these tokens, as long as they are both available. In some instances, you may encounter an object which has no ProgID published. You can substitute the clause "CLSID ClassID$ " for the PrgID$ . It works exactly as the usual form above, except that it describes the requested object by its 16-byte GUID which is the CLSID (Class ID) of the object.

LET objvar = NEWCOM CLSID ClassID$ LIB DLLPath$

PowerBASIC offers the unique ability to create and reference COM objects without any reference to the registry at all. As long as you know the CLSID (Class ID) and the file path/name of the DLL to be accessed, you can do so with no registry access at all. You don't need a special type of COM server. This technique can be used with any server, whether created by PowerBASIC or another compiler. By using this method of object creation, there is simply no need for the server to be registered at all. That allows you to keep local copies of the COM servers you use, with no chance they will be altered or replaced by another application. You use the above form, where the clause "CLSID ClassID$ " identifies the 16-byte Class ID, and the clause "LIB DllPath$ " identifies the file path and file name of the COM Server. Once you've obtained the COM object reference in objvar , it is used exactly as you would with a traditional object.

LET objvar1 = objvar2

If both object variables have been declared as the same object type (the same interface name), the source variable ( objvar2 ) is copied to the destination variable ( objvar1 ), and the reference count of the object is incremented. If the object variables are of different object types, a new interface (of the type implied by objvar1 ) is opened on objvar2 , and a reference to it is assigned to objvar1 .

LET objvar = objmethod ( params )

It is assumed that the METHOD or GET PROPERTY specified by objmethod returns an object of the type of objvar . The objmethod is evaluated, and the object reference which it returns is assigned to objvar .

LET objvar = ME

This form may only be used within a METHOD or PROPERTY. A new interface (of the type implied by objvar ) is opened on the current object, and a reference to it is assigned to objvar .

LET objvar = NOTHING

This destroys an object variable, discontinuing its association with a specific object. This in turn releases all system and memory resources associated with the object when no more object variables refer to it.

LET objvar = vrnt

Attempts to open an interface of the specified class for objvar on the object of vrnt , and assigns a reference to objvar . It assumes that vrnt contains a reference to an object of type %VT_UNKNOWN or %VT_DISPATCH. If the desired interface can not be opened, the object variable objvar is set to NOTHING.

LET vrnt = objvar

This may be used to assign an object reference from an object variable to a variant variable. It attempts to open an IDispatch interface, else an IUnknown interface on the object of objvar , and assigns that reference to vrnt . Variant variables can not contain references to custom interfaces, only IDispatch or IUnknown. If the assignment is successful, VARIANTVT ( vrnt ) will return either %VT_UNKNOWN or %VT_DISPATCH. If it is unsuccessful, vrnt is set to %VT_EMPTY.

Previous versions of PowerBASIC Compilers used the SET statement for creation of objects. LET now includes all the functionality of the old SET statement, so you should plan to remove all SET statements as soon as possible. This involves nothing more than changing every SET to LET, or simply deleting every SET.

See also

  • LET
  • LET statement (with Variants)
  • LET statement (with Types)
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • Just what is COM?
  • ME pseudo-variable
  • OBJECT
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


LET statement (with Types) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LET statement (with Types)

Assign data to a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

[LET] TypeVar = TypeVar
[LET] TypeVar = VARIANT$( VrntVar )

Description

Assign data to a

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Typevar is a user-defined type variable. In order to perform direct assignment of data from one user-defined type variable to another, they must be dimensioned to the same type. To assign data between two different types, you should use the TYPE SET statement instead.

The word LET is optional in assignment statements. It is allowed to provide compatibility BASIC source files written for early versions of BASIC. In practice, the word LET is very rarely used.

When User-Defined Type data is stored in a variant variable, it may be extracted as in the second syntax example. The Variant$() function understands that UDT data is stored as a byte string.

To allow easy conversion, PowerBASIC allows a User-Defined Type in a string expression . The User-Defined Type is simply copied, byte for byte, into the expression. To assign a string back to a User-Defined Type, you may also use the TYPE SET statement. Generally speaking, if a UDT is used in a WIDE string expression (Unicode), it will give unpredictable results from the character conversions.

DIM abc as MyType

MyString$ = abc

See also

  • LET
  • LET statement (with Objects)
  • LET statement (with Variants)
  • TYPE SET
  • VARIANT$/VARIANT$$
  • PBXB64 Compiler Help


LET statement (with Variants) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LET statement (with Variants)

Assign a value or an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

[LET] VariantVar = variant expression
[LET] VariantVar = TypeVar AS STRING

Description

Assign a value or an

Kind: Statement | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Although notoriously lacking in efficiency, Variant variables are commonly used as COM Object parameters due to their flexibility. They also prove valuable in a situation where a procedure must run properly with parameters of multiple data types (a Collection would be a good example). You can think of a Variant as a kind of container, which can hold a variable of most any data type, nu meric , string , object, or even a UDT or an entire array . This simplifies the process of calling procedures in a COM Object Server, as there is little need to worry about the myriad of possible data types for each parameter.

This flexibility comes at a great price in performance, so PowerBASIC limits their use to data storage and parameters only. You may assign a numeric value, a string value, a UDT, an object, or even an entire array to a Variant with the LET statement, or its implied equivalent. In the same way, you may assign one Variant value to another Variant variable, or even assign an array contained in a Variant to a compatible PowerBASIC array, or the reverse.

You may extract a scalar value from a Variant with VARIANT# (for numeric values), VARIANT$ (for ANSI byte strings or user-defined types), or VARIANT$$ (for wide Unicode strings). When you assign string data to a variant variable, ANSI strings are automatically converted to wide Unicode characters, as this is the accepted standard for variants. However, when you assign UDT data to a variant variable, it is stored as a dynamic string of bytes. When you retrieve that UDT data (with Variant$), PowerBASIC understands the content and handles it accurately. However, other programming languages may not, so the use of this technique should be limited to PowerBASIC applications.

LET VrntVar = vrntvar

This form duplicates the contents of one variant variable, assigning it to a second variant variable.

LET VrntVar = expression [AS vartype ]

The numeric or string expression is evaluated, and the result is stored in the variant variable. PowerBASIC will choose an appropriate numeric or string data type to use. However, you can specify a preferred format by adding an optional AS vartype clause. This can be BYTE , WORD , DWORD , INTEGER , LONG , QUAD , SINGLE , DOUBLE , CURRENCY , or WSTRING . Strings in a variant are always stored in wide Unicode , regardless of whether you add AS WSTRING or not. PowerBASIC handles the conversion automatically, if it is needed.

In prior versions of PowerBASIC, the term AS STRING was interpreted to mean AS WSTRING for wide Unicode. However, with the new support for Unicode data types, this can no longer be allowed. All references to AS STRING with variants must be changed to AS WSTRING.

LET VrntVar = TypeVar AS STRING

The data contained in the User-Defined Type variable (UDT) is stored in the variant variable. It is stored internally as a dynamic string of bytes (vt_bstr). When you retrieve that UDT data (with Variant$), PowerBASIC understands the content and handles it accurately. However, other programming languages may not understand this technique, so it should generally be limited to PowerBASIC applications.

In prior versions of PowerBASIC, the AS STRING clause was not a requirement, as it is currently. Although it represents a change, it was a necessary restriction to confirm that the conversion to string is your intention.

LET VrntVar = EMPTY

The variant variable is set to %VT_EMPTY, which means it contains no value of any kind.

LET VrntVar = ERROR numr

This form assigns a specific COM error number, which is usually a COM specific error, such as %E_NOINTERFACE, etc.

LET VrntVar = array()

An entire PowerBASIC array is assigned to a variant variable. In the case of a string array , PowerBASIC automatically handles Unicode conversions needed for the COM specification. Array assignment is limited to the following data types: BYTE, WORD, DWORD, INTEGER, LONG, QUAD, SINGLE, DOUBLE, CURRENCY, or STRING, as Windows does not support all PowerBASIC data forms.

LET array() = vrntvar

An entire array is assigned from a variant variable to a PowerBASIC array. In the case of a string array , PowerBASIC automatically handles Unicode conversions. You can not assign an array with more than eight dimensions to a PowerBASIC array.

LET VrntVar = BYREF variable

This form is used to allow a variant to contain a typed pointer to a specific variable. Any changes to the variant will cause the variable to be changed, as it is the target of the pointer. The variable may be of any data type which is supported by variants and COM objects: Byte, Word, Dword, Integer, Long, Quad, Single, Double, Currency, Variant, String, and WString. If you attempt to use an unsupported variable type (like Extended , Bit , STRINGZ , etc.), PowerBASIC will generate an error 482 (Data Type Mismatch). Further, you may not use a register variable (automatic or explicit), or an error 491 (Invalid Register Variable) will be generated. Note that strings used with COM objects are expected to be in Unicode format, rather than ANSI. The ACODE$ and UCODE$ functions may be used to convert the strings as necessary. You should exercise caution with a BYREF ANSI string, as it may not be recognized accurately by other code which expects only Unicode strings.

LET objvar = vrnt

Attempts to open an interface of the specified class for objvar on the object of vrnt , and assigns a reference to objvar . It assumes that vrnt contains a reference to an object of type %VT_UNKNOWN or %VT_DISPATCH. If the desired interface can not be opened, the object variable objvar is set to NOTHING. You can test for success/failure with the ISOBJECT ( objvar ) function.

LET vrnt = objvar

This may be used to assign an object reference from an object variable to a variant variable. It attempts to open an IDispatch interface, else an IUnknown interface on the object of objvar , and assigns that reference to vrnt . Variant variables can not contain references to custom interfaces, only IDispatch or IUnknown. If the assignment is successful, VARIANTVT ( vrnt ) will return either %VT_UNKNOWN or %VT_DISPATCH. If it is unsuccessful, vrnt is set to %VT_EMPTY.

See also

  • Just what is COM?
  • LET
  • LET statement (with Objects)
  • LET statement (with Types)
  • VARIANT$/VARIANT$$
  • VARIANTVT
  • PBXB64 Compiler Help


LGAMMA - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LGAMMA

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(LGAMMA(5.0) - 3.1780538303) > 0.001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LIB - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Variables & Scope PBXB64 Compiler Help

LIB

Category: PowerBASIC compatibility reference

Chapter: Variables & Scope

Syntax

DECLARE FUNCTION ProcName LIB "module.dll" ALIAS "ExportName" (...) AS Type

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LibMain - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LibMain

In addition to the functions you want to export (plus any supporting private routines), a DLL can contain an optional function called LIBMAIN (or its synonyms DLLMAIN and PBLIBMAIN ). Windows calls LI

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

In addition to the functions you want to export (plus any supporting private routines), a DLL can contain an optional function called LIBMAIN (or its synonyms DLLMAIN and PBLIBMAIN ). Windows calls LI

Kind: Keyword | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Creating a Dynamic Link Library

Private and Exported Procedures

Back to command index


DLLMAIN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

DLLMAIN

LIBMAIN (or its synonym DLLMAIN) is an optional user-defined function called by Windows each time a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FUNCTION { LIBMAIN | DLLMAIN } ( _
BYVAL hInstance AS DWORD, _
BYVAL lReason AS LONG, _
BYVAL lReserved AS LONG ) AS LONG

Description

LIBMAIN (or its synonym DLLMAIN) is an optional user-defined function called by Windows each time a

Kind: Function | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Return value: If LIBMAIN is called with %DLL_PROCESS_ATTACH, your LIBMAIN function should return a zero (0) if any part of your initialization process fails, or a one (1) if no errors were encountered. If a zero is returned, Windows will abort and unload the DLL from memory. When LIBMAIN is called with any other value than %DLL_PROCESS_ATTACH, the return value is ignored.

The LIBMAIN / DLLMAIN function provides the following parameters:

hInstance

The unique instance handle of the DLL. This handle is used by the calling application to identify the DLL. The instance handle value is commonly used to load resources embedded within the DLL, and to obtain the actual file name of the DLL (via the GetModuleFilename API function). In these cases, it is common to copy the hInstance value to a global variable, allowing the instance handle value to be utilized elsewhere in the DLL.

lReason

This flag indicates why the DLL entry-point is being called. It can be one of the following values (as defined in WIN32API.INC ):

%DLL_PROCESS_ATTACH

Indicates that the DLL is being loaded by a process (another DLL or EXE is loading the DLL). DLLs can use this opportunity to initialize any instance or global data, such as arrays . lReserved is zero if the DLL is being loaded explicitly (run-time linking) using LoadLibrary(), or non-zero if the DLL is being loaded implicitly (load-time linking) during process initialization.

%DLL_PROCESS_DETACH

Indicates that the DLL is being cleanly unloaded or detached from the calling application. DLLs can take this opportunity to clean up all resources for all threads attached and known to the DLL. This is functionally equivalent to the WEP function in 16-bit DLLs. lReserved is zero if LIBMAIN was executed via the FreeLibrary API and the DLLs reference count reached zero (no further instances of the DLL are loaded), or non-zero if LIBMAIN is executed during process termination. A %DLL_PROCESS_DETACH does not generate %DLL_THREAD_DETACH for active threads.

%DLL_THREAD_ATTACH

Indicates that the DLL is being loaded by a new thread in the calling application. DLLs can use this opportunity to initialize any Thread Local Storage (TLS). This execution occurs in the context of the new thread.

%DLL_THREAD_DETACH

Indicates that the thread is exiting cleanly. If the DLL has allocated any thread-specific storage (Thread Local Storage or TLS), it should be released. This may occur even if there was no matching %DLL_THREAD_ATTACH call. A %DLL_PROCESS_DETACH does not generate %DLL_THREAD_DETACH for active threads.

lReserved

The lReserved parameter specifies further aspects of the DLL initialization and cleanup. If lReason is %DLL_PROCESS_ATTACH, lReserved is zero (0) for explicit (dynamic) loads and non-zero for implicit loads. If lReason is %DLL_PROCESS_DETACH, lReserved is zero if LIBMAIN has been called by using the FreeLibrary API call, and non-zero if LIBMAIN has been called during process termination.

Return value

If LIBMAIN is called with %DLL_PROCESS_ATTACH, your LIBMAIN function should return a zero (0) if any part of your initialization process fails, or a one (1) if no errors were encountered. If a zero is returned, Windows will abort and unload the DLL from memory. When LIBMAIN is called with any other value than %DLL_PROCESS_ATTACH, the return value is ignored.

Restrictions

Note that Windows does not guarantee that LIBMAIN will be called in a "balanced" manner. For example, a %DLL_PROCESS_ATTACH is not followed by a %DLL_THREAD_ATTACH for the primary thread. In some conditions, %DLL_THREAD_DETACH may not occur at all. Further discussion on these Windows traits are beyond the scope of this documentation; however, an excellent source of information can be found in "Win32 Programming", Rector/Newcomer, ISBN 0-201-63492-9.

At the point where a DLL is loaded into memory during process startup, Windows only guarantees that the KERNEL32.DLL system library will be loaded in memory. On this basis, API calls made from within LIBMAIN must be restricted to the range of API functions present in KERNEL32.DLL, with the exception of the LoadLibrary, LoadLibraryEx, and FreeLibrary API functions.

In addition, code within LIBMAIN must not call API functions in any other DLL (for example, USER32.DLL, SHELL32.DLL, ADVAPU32.DLL, GDI32.DLL, etc), because some API functions in those DLLs may attempt to load other libraries via LoadLibrary, etc. For example, never call the MessageBox API function from within LIBMAIN, nor use the related MSGBOX function or MSGBOX statement.

Failure to observe these restrictions will result in Access Violation or General Protection Faults (GPFs), typically caused by the execution of code in DLLs that has yet to be initialized.

See also

  • PBLIBMAIN
  • PBMAIN
  • THREAD CREATE
  • WINMAIN
  • PBXB64 Compiler Help


LIKE - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Operators PBXB64 Compiler Help

LIKE

Status: implemented and covered by tests/e2e/pb/test_stage9_like.pb.

Chapter: Operators

Syntax

result = text LIKE pattern

Description

Status: implemented and covered by tests/e2e/pb/test_stage9_like.pb.

Example

IF "hello" LIKE "h*o" THEN PRINT "matched"


LINE - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › File I/O PBXB64 Compiler Help

LINE

Category: PowerBASIC compatibility reference

Chapter: File I/O

Syntax

LINE INPUT [prompt,] string_variable
LINE INPUT # filenum, string_variable

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LINE INPUT# - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LINE INPUT#

Read line(s) from a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

LINE INPUT # filenum& , string_variable
LINE INPUT # filenum& , Arr$() [RECORDS rcds ] [TO count ]

Description

Read line(s) from a

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

filenum& is the file number , or variable containing a file number, given when the file was opened . string_variable is the string variable to be loaded with the data read from the file.

string_variable may be a fixed-length , nul-terminated , or dynamic string. For fixed-length and nul-terminated strings, data that is longer than the string is truncated to fit into the string. Dynamic strings receive the data without truncation. string_variable may not be a UDT variable, although fixed-length and nul-terminated UDT member variables are supported.

LINE INPUT# is intended for use with text files composed of lines terminated by CR/LF ( $CRLF or CHR$ (13,10)) sequences. It reads a line from the file and returns it, minus the CR/LF delimiter. Commas, quotation marks and other characters have no special meaning for LINE INPUT#, and are treated like any other text.

If the file consists of comma-delimited data items, INPUT# is likely to be more suitable then LINE INPUT#.

The second syntax definition of LINE INPUT# reads a file opened for INPUT, assigning full lines of text to each element of the array .

It is assumed the data is standard text, delimited by a CR/LF ($CRLF) or EOF (1A hex or $EOF ). LINE INPUT# attempts to read the number of lines specified in the RECORDS rcds option, or the number of elements in the array, whichever is smaller.

The actual number of lines read is assigned to the variable specified in the optional TO count clause. FILESCAN is useful in conjunction, to determine the dimensioned size of the string array. EOF is set just as with single Line Input.

See also

  • EOF
  • FILESCAN
  • INPUT#
  • PRINT#
  • PBXB64 Compiler Help


Line numbers and Labels - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Line numbers and Labels

Line numbers are integers in the range 1 to 65535, which serve to identify program lines. PowerBASIC takes a relaxed stance toward line numbers. They can be freely interspersed with labels, and used i

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Line numbers are integers in the range 1 to 65535, which serve to identify program lines. PowerBASIC takes a relaxed stance toward line numbers. They can be freely interspersed with labels, and used i

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Return value: The following is illegal, however: ExitPoint: a = a + 1 ' a label must be on a line by itself Finally, it should be noted that symbol names must be unique: a label may not share the name of any other symbol ( Sub name, Function name, Method name, Property name, user-defined type or union definition, variable name, etc), and they are local to the Sub, Function, Method, or Property in which they appear.

While line numbers and labels serve the same purpose, their usage is slightly different. Line numbers are just a concession to compatibility with Interpretive BASIC. Line numbering can lead to bad programming style. Since the numbers themselves can be in any order, they give a false sense of structure to a program. We recommend that you avoid line numbers, and use labels instead.

Using labels instead of numbers allows you to make the flow of your program much more readable. For example:

tells you much more than

Back to command index


#LINK - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Procedures & Scope PBXB64 Compiler Help

#LINK

LINK a pre-compiled

Chapter: Procedures & Scope | Certification: [CERTIFIED TESTED]

Syntax

#LINK " filespec.SLL "
#LINK " filespec.PBLIB "

Description

LINK a pre-compiled

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The #LINK metastatement is used to link pre-compiled Unit files (SLL or PBLIB) into your primary host program. The host program must compile to an EXE or DLL module. You cannot link a unit file into another unit file.

If a specified SLL unit file (or a component SLL in a PBLIB) is not needed by other compiled code, it is ignored entirely. This allows the host program to be compiled to the smallest possible size.

The filespec may include an optional path name, and must include the extension ".SLL" or ".PBLIB". The #LINK metastatement may be placed at any location in your source file, as long as it is outside of any block structure, such as Sub , Function , Method , Class , etc.

#LINK shares the file search path with #INCLUDE . If filespec does not include a path, the compiler scans the search path for each #LINK file before checking the current (default) directory. For the IDE, the search path can be set in the Compiler Preferences tab in the Options dialog. The search path can also be specified when compiling from the command-line by using the /I Include option. The search path can contain one path or multiple paths to scan. If multiple paths are used, they are separated by a semicolon (;).

See also

  • COMPILE Metastatement
  • #EXPORT
  • PBXB64 Compiler Help


LISTBOX ADD - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LISTBOX ADD

Manipulate a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

LISTBOX ADD hDlg , id& , StrExpr [TO datav& ]
LISTBOX DELETE hDlg , id& , item&
LISTBOX FIND hDlg , id& , item& , StrExpr TO datav&
LISTBOX FIND EXACT hDlg , id& , item& , StrExpr TO datav&
LISTBOX GET COUNT hDlg , id& TO datav&
LISTBOX GET SELCOUNT hDlg , id& TO datav&
LISTBOX GET SELECT hDlg , id& [, item& ] TO datav&
LISTBOX GET STATE hDlg , id& , item& TO datav&
LISTBOX GET TEXT hDlg , id& [, item& ] TO txtv$
LISTBOX GET USER hDlg , id& , item& TO datav&
LISTBOX INSERT hDlg , id& , item& , StrExpr [TO datav& ]
LISTBOX RESET hDlg , id&
LISTBOX SELECT hDlg , id& , item&
LISTBOX SET TEXT hDlg , id& , item& , StrExpr
LISTBOX SET USER hDlg , id& , item& , NumExpr
LISTBOX UNSELECT hDlg , id& [, item& ]

Description

Manipulate a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

In each of the following samples and descriptions, the LISTBOX control which is the subject of the statement is identified by the handle of the dialog that owns the LISTBOX ( hDlg ), and the unique control identifier you gave it upon creation in CONTROL ADD LISTBOX.

The value item& refers to the position of the string data item in the LISTBOX, and is always indexed to one. The first string is position 1, the second is position 2, and so forth.

LISTBOX ADD hDlg , id& , StrExpr [TO datav& ]

The string value specified by StrExpr is added to the LISTBOX control. If the LISTBOX has the %LBS_SORT style, the new string is inserted in alphanumeric order; otherwise it is added to the end of the existing list. If the optional TO clause is included, the index position of the added string is assigned to the variable represented by datav& . The index is one for the first string, two for the second, etc. If the index is less than one, an error occurred and no string was added.

LISTBOX DELETE hDlg , id& , item&

The string at the position specified by item& is deleted from the LISTBOX. The parameter item& is indexed to one (1 for the first string, 2 for the second, and so on).

LISTBOX FIND hDlg , id& , item& , StrExpr TO datav&

Strings in the LISTBOX are searched to find the first string which begins with the data in StrExpr , regardless of any characters which follow. Comparisons are not case-sensitive. Strings are searched beginning with the string specified by item& , and ending with the last string in the LISTBOX. Searching does not wrap to the beginning of the list. The item number ( item& ) is indexed to 1 (1=first, 2=second, etc.). To search the entire LISTBOX starting with the first string, item& should be set to one (1). If a matching string is found, the index value of the match is assigned to the variable specified by datav& . If no match is found, the value zero (0) is assigned to it.

LISTBOX FIND EXACT hDlg , id& , item& , StrExpr TO datav&

Strings in the LISTBOX are searched to find the first string which exactly matches the data in StrExpr . Comparisons are not case-sensitive. Strings are searched beginning with the string specified by item& , and ending with the last string in the LISTBOX. Searching does not wrap to the beginning of the list. The item number ( item& ) is indexed to 1 (1=first, 2=second, etc.). To search the entire LISTBOX starting with the first string, item& should be set to one (1). If a matching string is found, the index value of the match is assigned to the variable specified by datav& . If no match is found, the value zero (0) is assigned to it.

LISTBOX GET COUNT hDlg , id& TO datav&

The number of items in the LISTBOX is retrieved, and assigned to the long integer variable specified by datav& .

LISTBOX GET SELCOUNT hDlg , id& TO datav&

The number of selected items in the LISTBOX is retrieved, and assigned to the long integer variable specified by datav& .

LISTBOX GET SELECT hDlg , id& [, item& ] TO datav&

The LISTBOX is searched to find the first selected item. If the item& parameter is included, searching starts at that position to facilitate retrieving multiple selected items. If item& is omitted, the search starts at the first data item. The index number of the selected item is assigned to the variable designated by datav& . If no item is selected, the value zero (0) is assigned to it.

LISTBOX GET STATE hDlg , id& , item& TO datav&

A data item is checked to see if it is currently selected. The numeric value item& specifies which user value is to be checked, 1 for the first item, 2 for the second item, etc. If the item is selected, -1 ( true ) is assigned to the variable specified by datav& . Otherwise, 0 ( false ) is assigned to it.

LISTBOX GET TEXT hDlg , id& [, item& ] TO txtv$

Text is retrieved from the LISTBOX and assigned to the string variable specified by txtv$ . If the numeric expression item& is included, it determines which text string is returned, 1 for the first item, 2 for the second item, etc.

The parameter item& may be omitted, or contain the value zero (0). In the case of a single-selection listbox, the current selected text (if any) is retrieved and assigned to txtv$ . With a multiple-selection listbox ( %LBS_MULTIPLESEL or %LBS_EXTENDEDSEL style), the text of the first (base) selected item is assigned to txtv$ . To retrieve additional selected text items from a multiple-selection listbox, use LISTBOX GET SELECT to retrieve selected item numbers. Then apply the item numbers with LISTBOX GET TEXT to retrieve the string data.

LISTBOX GET USER hDlg , id& , item& TO datav&

Each item in a LISTBOX may have a long integer user value associated with it at the discretion of the programmer. This user value is retrieved with LISTBOX GET USER. The numeric value item& specifies which user value is requested, 1 for the first item, 2 for the second item, etc. The returned user value is assigned to the long integer variable specified by datav& . LISTBOX user values are assigned with the LISTBOX SET USER statement. In addition to these LISTBOX user values, every DDT control offers an additional eight user values which can be accessed with CONTROL GET USER and CONTROL SET USER .

LISTBOX INSERT hDlg , id& , item& , StrExpr [TO datav& ]

The text for a new data item, specified by StrExpr , is inserted at the location given by item& . The value of item& = 1 for the first item, 2 for the second item, etc. The list of data items is not re-sorted, even if the LISTBOX was created with the style %LBS_SORT . If you wish to sort all of the items, use LISTBOX ADD instead. If the optional TO clause is included, the index position of the inserted string is assigned to the variable represented by datav& . The index is one for the first string, two for the second, etc. If the index is less than one, an error occurred and no string was inserted.

LISTBOX RESET hDlg , id&

Delete all contents of the specified LISTBOX.

LISTBOX SELECT hDlg , id& , item&

The string data item specified by item& is chosen as selected text for the LISTBOX control, and the selected text is scrolled into a visible position. The value of item& = 1 for the first item, 2 for the second item, etc. If the value of item& = 0 with a multiple selection listbox, then all string data items are selected. LISTBOX SELECT may be used with both single and multiple selection listboxes.

LISTBOX SET TEXT hDlg , id& , item& , StrExpr

The text for the data item specified by item& is replaced with the new text in StrExpr . The value of item& = 1 for the first item, 2 for the second item, etc. The list of data items is not re-sorted, even if the LISTBOX was created with the style %LBS_SORT. If you wish to sort the items, use LISTBOX DELETE followed by LISTBOX ADD instead.

LISTBOX SET USER hDlg , id& , item& , NumExpr

Each item in a LISTBOX may have a long integer user value associated with it at the discretion of the programmer. This user value is assigned with LISTBOX SET USER, and retrieved with LISTBOX GET USER. The numeric value item& specifies which user value is to be accessed, 1 for the first item, 2 for the second item, etc. The value specified by NumExpr is saved for later retrieval. In addition to these LISTBOX user values, every DDT control offers an additional eight user values which can be accessed with CONTROL GET USER and CONTROL SET USER.

LISTBOX UNSELECT hDlg , id& [, item& ]

The string value specified by item& is set to an unselected state for the LISTBOX control. The value of item& = 1 for the first item, 2 for the second item, etc. If item& is missing, or has the value zero, all items are set to an unselected state. LISTBOX UNSELECT may be used with both single and multiple selection listboxes.

Restrictions

Under Windows 95/98/ME, a list box is limited to 32,767 items. In all versions of Windows, the actual string data contained by the list box is limited only by available memory.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD LISTBOX
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • PBXB64 Compiler Help


LISTVIEW DELETE COLUMN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LISTVIEW DELETE COLUMN

Manipulate a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

LISTVIEW DELETE COLUMN hDlg , id& , col&
LISTVIEW DELETE ITEM hDlg , id& , item&
LISTVIEW FIND hDlg , id& , item& , StrExpr TO datav&
LISTVIEW FIND EXACT hDlg , id& , item& , StrExpr TO datav&
LISTVIEW FIT CONTENT hDlg , id& , col&
LISTVIEW FIT HEADER hDlg , id& , col&
LISTVIEW GET COLUMN hDlg , id& , col& TO datav&
LISTVIEW GET COUNT hDlg , id& TO datav&
LISTVIEW GET HEADER hDlg , id& , col& TO txtv$
L ISTVIEW GET HEADERID hDlg , id& TO hLV , idv&
LISTVIEW GET MODE hDlg , id& TO datav&
LISTVIEW GET SELCOUNT hDlg , id& TO datav&
L ISTVIEW GET SELECT hDlg , id& [, item& ] TO datav&
LISTVIEW GET STATE hDlg , id& , item& , col& TO datav&
LISTVIEW GET STYLEXX hDlg , id& TO datav&
LISTVIEW GET TEXT hDlg , id& , item& , col& TO txtv$
LISTVIEW GET USER hDlg , id& , item& TO datav&
LISTVIEW INSERT COLUMN hDlg , id& , col& , StrExpr , ColWidth& , format&
LISTVIEW INSERT ITEM hDlg , id& , item& , image& , StrExpr
LISTVIEW RESET hDlg , id&
LISTVIEW SELECT hDlg , id& , item& [, col& ]
LISTVIEW SET COLUMN hDlg , id& , col& , NumExpr
LISTVIEW SET HEADER hDlg , id& , col& , StrExpr
LISTVIEW SET IMAGE hDlg , id& , item& , NumExpr
LISTVIEW SET IMAGE2 hDlg , id& , item& , NumExpr
LISTVIEW SET IMAGELIST hDlg , id& , hLst , NumExpr
LISTVIEW SET MODE hDlg , id& , NumExpr
LISTVIEW SET OVERLAY hDlg , id& , item& , NumExpr
LISTVIEW SET STYLEXX hDlg , id& , NumExpr
LISTVIEW SET TEXT hDlg , id& , item& , col& , StrExpr
LISTVIEW SET USER hDlg , id& , item& , NumExpr

Description

Manipulate a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

There are 4 general display modes available with a LISTVIEW control. The initial display mode is established at the time the control is created, as a part of the control style parameter. It may be changed from time to time with LISTVIEW SET MODE.

Mode 0

Icon Mode - String data items are displayed left to right, wrapped to multiple lines as necessary. If a small icon IMAGELIST is attached to the LISTVIEW control, images from that list are displayed with each data item.

Mode 1

Report Mode - String data items are displayed as a list, top to bottom, one item per line. The control may have one or more columns, with header text to describe each of them. Additional sub-items may be displayed in each column, by specifying a column number greater than one. This is the most frequently used ListView mode, and the default mode if not specified at the time the control is created. In this mode, it's often convenient to think of the item number as a row number. If a small icon IMAGELIST is attached to the LISTVIEW control, images from that list are displayed with each data item.

Mode 2

Small Icon Mode - String data items are displayed left to right, wrapped to multiple lines as necessary. If a small icon IMAGELIST is attached to the LISTVIEW control, images from that list are displayed with each data item.

Mode 3

List Mode - String data items are displayed as a list, top to bottom, one item per line. This mode is very similar in appearance to a standard LISTBOX control. In this mode, it's often convenient to think of the item number as a row number. If a small icon IMAGELIST is attached to the LISTVIEW control, images from that list are displayed with each data item.

In all of the following descriptions, the LISTVIEW control which is the subject of the statement is identified by the handle of the dialog that owns the LISTVIEW ( hDlg ), and the unique control identifier ( id& ) you gave it upon creation in CONTROL ADD LISTVIEW.

Each data item (or sub-item) is referenced by a combination of its item number ( item& ) and its column number ( col& ). A primary data item always has a column number of 1, while sub-items always have a column number greater than 1. Sub-items are only displayed in Report Mode. In all other display modes, they are hidden from view.

It's important to note that both primary item numbers ( item& ) and sub-item column numbers ( col& ) start at 1. The first=1, the second=2, and so forth.

LISTVIEW DELETE COLUMN hDlg , id& , col&

The column specified by col& , including its associated header text (if any), is deleted from the LISTVIEW control. The column number ( col& ) is indexed to 1 (1=first, 2=second, etc.). Column one of a list-view control cannot be deleted. If you must delete column one, insert a zero length dummy column one and delete column two and above. This is a limitation of the Microsoft Windows Listview control and not a PowerBASIC limitation.

LISTVIEW DELETE ITEM hDlg , id& , item&

The data item specified by item& is deleted from the LISTVIEW control. The row number ( item& ) is indexed to 1 (1=first, 2=second, etc.).

LISTVIEW FIND hDlg , id& , item& , StrExpr TO datav&

Strings in the first column of a LISTVIEW are searched to find the first string which begins with the data in StrExpr , regardless of any characters which follow. Comparisons are not case-sensitive. Strings are searched beginning with the string specified by item& , and ending with the last string in the LISTVIEW. Searching does not wrap to the beginning of the list. The row number ( item& ) is indexed to 1 (1=first, 2=second, etc.). To search the entire LISTVIEW starting with the first string, item& should be set to one (1). If a matching string is found, the index value of the match is assigned to the variable specified by datav& . If no match is found, the value zero (0) is assigned to it.

LISTVIEW FIND EXACT hDlg , id& , item& , StrExpr TO datav&

Strings in the first column of a LISTVIEW are searched to find the first string which exactly matches the data in StrExpr . Comparisons are not case-sensitive. Strings are searched beginning with the string specified by item& , and ending with the last string in the LISTVIEW. Searching does not wrap to the beginning of the list. The row number ( item& ) is indexed to 1 (1=first, 2=second, etc.). To search the entire LISTVIEW starting with the first string, item& should be set to one (1). If a matching string is found, the index value of the match is assigned to the variable specified by datav& . If no match is found, the value zero (0) is assigned to it.

LISTVIEW FIT CONTENT hDlg , id& , col&

The width of the column specified by col& is adjusted to fit the width of the data items displayed in that column. The column number ( col& ) is indexed to 1 (1=first, 2=second, etc.).

LISTVIEW FIT HEADER hDlg , id& , col&

The width of the column specified by col& is adjusted to fit the width of the rows displayed in that column, and the header text at the top of that column. The column number ( col& ) is indexed to 1 (1=first, 2=second, etc.). If the specified column is the last column, its width is set to fill the remaining width of the list-view control.

LISTVIEW GET COLUMN hDlg , id& , col& TO datav&

The width of the designated column is retrieved from the ListView and assigned to the variable specified by datav& . The width is specified in either pixels or dialog units , depending upon which was used at creation. The value col& specifies the column number (1=first, 2=second, etc.).

LISTVIEW GET COUNT

hDlg , id& TO datav&

The number of rows in the LISTVIEW is retrieved, and assigned to the long integer variable specified by datav& .

LISTVIEW GET HEADER hDlg , id& , col& TO txtv$

Column header text is retrieved from the LISTVIEW and assigned to the string variable specified by txtv$ . The value col& specifies the column number (1=first, 2=second, etc.).

LISTVIEW GET HEADERID hDlg , id& TO hLV , idv&

The handle of the LISTVIEW control and the ID of HEADER control (a child of the LISTVIEW) are retrieved and assigned to the variables represented by hLV and idv& respectively. These two items may then be used with the HEADER statement for advanced handling of the header control which is embedded in the LISTVIEW.

LISTVIEW GET MODE hDlg , id& TO datav&

The display mode of the specified LISTVIEW control is retrieved and assigned to the variable designated by datav& . Possible mode values are 0=icon mode, 1=report mode, 2=small icon mode, 3=list mode.

LISTVIEW GET SELCOUNT hDlg , id& TO datav&

The LISTVIEW is interrogated to determine the number of primary data items which are currently selected. This count is assigned to the long integer variable specified by datav& . To determine the count of sub-items selections, you must execute LISTVIEW GET STATE on every active sub-item.

LISTVIEW GET SELECT hDlg , id& [, item& ] TO datav&

The LISTVIEW is interrogated to determine the next primary data item which is currently selected. The parameter item& specifies the starting item number for the search, to facilitate retrieving multiple selected items. To start at the beginning, use an item& of one (1), or just omit that parameter. The selected item number is assigned to the long integer variable specified by datav& . If no selected items are found, the value zero (0) is returned. To find selected sub-items, you must execute LISTVIEW GET STATE on remaining active sub-items.

LISTVIEW GET STATE hDlg , id& , item& , col& TO datav&

A data item is tested to see if it is currently selected. The values of item& / col& specify the position of the data item (1=first, 2=second, etc.). If the item is selected, -1 ( true ) is assigned to the variable specified by datav& . Otherwise, 0 ( false ) is assigned to it.

LISTVIEW GET STYLEXX hDlg , id& TO datav&

ListView controls offer a number of optional additional style attributes which are unique and specific to a ListView. This statement retrieves the current setting of this special extended style, and assigns it to the long integer variable specified by datav& . A list of the available extended styles can be found under LISTVIEW SET STYLEXXX. This special extended style is named STYLEXX to distinguish it from the primary style and extended style specified in CONTROL ADD LISTVIEW.

LISTVIEW GET TEXT hDlg , id& , item& , col& TO txtv$

A string data item is retrieved from the LISTVIEW control and assigned to the string variable specified by txtv$ . The values of item& / col& specify the position of the data item (1=first, 2=second, etc.).

LISTVIEW GET USER hDlg , id& , item& TO datav&

Each row in a LISTVIEW may have a long integer user value associated with it at the discretion of the programmer. This user value is retrieved with LISTVIEW GET USER. The numeric value item& specifies which user value is requested, 1 for the first row, 2 for the second row, etc. The returned user value is assigned to the long integer variable specified by datav& . LISTVIEW user values are assigned with the LISTVIEW SET USER statement. In addition to these LISTVIEW user values, every DDT control offers an additional eight user values which can be accessed with CONTROL GET USER and CONTROL SET USER .

LISTVIEW INSERT COLUMN hDlg , id& , col& , StrExpr , ColWidth& , format&

A new vertical column is defined for Report Mode of this LISTVIEW control. The value col& specifies the column number (1=first, 2=second, etc.). StrExpr describes the text name of the column header. The value ColWidth& specifies the width of the column in either dialog units or pixels, depending upon which was specified at creation. The value format& describes the format and justification of the text: 0=left, 1=right, 2=center. Column 1 is always left-justified, regardless of what is requested here. When inserting a new column 1, the contents of the original column 1 are copied to the new column 1. This only occurs when inserting a new left most column, when inserting other columns, no data is copied to the new column. This is a limitation of the Microsoft Windows Listview control and not a PowerBASIC limitation.

LISTVIEW INSERT ITEM hDlg , id& , item& , image& , StrExpr

A new row is added to this LISTVIEW control. The value item& specifies the row number (1=first, 2=second, etc.), and StrExpr tells the text to be displayed in the first column. The remaining columns are empty, but you can fill them by executing LISTVIEW SET TEXT. If an IMAGELIST has been attached to this control, the parameter image& specifies which image should be displayed (1=first, 2=second, etc.). If no image is needed, the value 0 should be used.

LISTVIEW RESET hDlg , id&

All data items are deleted from the specified LISTVIEW control. Any columns, and their associated headers, which may have been defined for Report Display mode are retained without change.

LISTVIEW SELECT hDlg , id& , item& [, col& ]

The string data item specified by item& / col& is chosen as selected text for the LISTVIEW control and the item is highlighted. The values of item& / col& = 1 for the first item, 2 for the second item, etc. If the optional parameter col& is not given, the default value of 1 is used to select the primary data item.

LISTVIEW SET COLUMN hDlg , id& , col& , NumExpr

The width of a LISTVIEW column is changed to that designated by the NumExpr . The value is specified in either dialog units or pixels, depending upon which was used at creation. The value col& specifies the column number (1=first, 2=second, etc.). If NumExpr is -1, then the column width is adjusted to fit the data items in that column. If NumExpr is -2, the column width is adjusted to fit both the data items and the header text. These options are functionally identical to LISTVIEW FIT CONTENT and LISTVIEW FIT HEADER.

LISTVIEW SET HEADER hDlg , id& , col& , StrExpr

New column header text is displayed above the specified column on the LISTVIEW control. The string expression StrExpr specifies the new header text, while the value col& specifies the column number (1=first, 2=second, etc.).

LISTVIEW SET IMAGE hDlg , id& , item& , NumExpr

The image specified by NumExpr (1=first, 2=second, etc.) is displayed next to the item specified by item& . If no IMAGELIST is attached to the LISTVIEW, nothing is displayed.

LISTVIEW SET IMAGE2 hDlg , id& , item& , NumExpr

The image specified by NumExpr (1=first, 2=second, etc.) is displayed as a secondary "status" image next to the primary image. If NumExpr evaluates to zero, no secondary image is displayed. A secondary image is usually used to specify item status, with an image such as a check mark. Secondary images are generally not displayed in either of the icon modes. If no Status Image List is attached to the LISTVIEW (using the LISTVIEW IMAGELIST statement), nothing is displayed. A maximum of 15 status images are supported, so NumExpr must evaluate in the range of 1-15.

LISTVIEW SET IMAGELIST hDlg , id& , hLst , NumExpr

The IMAGELIST specified by hLst is attached to this LISTVIEW control. The value of NumExpr specifies the type of IMAGELIST:

%LVSIL_NORMAL

Large icons

%LVSIL_SMALL

Small icons

%LVSIL_STATE

Status images

Up to three IMAGELIST structures may be attached to each LISTVIEW to display images as needed with each data item. Depending upon the mode in effect, icons are extracted from either the large icon or small icon list for that purpose. If a status image list is also attached, the LISTVIEW SET IMAGE2 statement may be used to display a secondary image. When the LISTVIEW control is destroyed, any attached IMAGELIST is automatically destroyed unless the %LVS_SHAREIMAGELISTS style was specified at the time the LISTVIEW was created.

LISTVIEW SET MODE hDlg , id& , NumrExpr

The display mode of the specified LISTVIEW control is changed to that designated by the value of NumExpr . The possible mode values are 0=icon mode, 1=report mode, 2=small icon mode, 3=list mode.

LISTVIEW SET OVERLAY hDlg , id& , item& , NumExpr

The overlay image specified by NumExpr (1=first, 2=second, etc.) is displayed on top of the image specified by item& . If NumExpr evaluates to zero, or if no IMAGELIST is attached to the LISTVIEW, no overlay is displayed.

LISTVIEW SET STYLEXX hDlg , id& , NumExpr

ListView controls offer a number of optional additional style attributes which are unique and specific to a ListView. This statement allows you to alter the current setting of this special extended style. This special extended style is named STYLEXX to distinguish it from the primary style and extended style specified in CONTROL ADD LISTVIEW. NumExpr defines the new style from any combination of the following extended styles:

%LVS_EX_GRIDLINES

Grid lines added in report mode

%LVS_EX_SUBITEMIMAGES

Icons added to sub-items in report mode

%LVS_EX_CHECKBOXES

Enables checkboxes to items

%LVS_EX_TRACKSELECT

Enables hot track selection

%LVS_EX_HEADERDRAGDROP

Enables drag-drop reordering of columns in report mode

%LVS_EX_FULLROWSELECT

Selection highlights full row in report mode

%LVS_EX_ONECLICKACTIVATE

Notification sent on single click

%LVS_EX_TWOCLICKACTIVATE

Notification sent on double click

%LVS_EX_FLATSB

Enables flat scroll bars

%LVS_EX_REGIONAL

Sets ListView region to icons and text

%LVS_EX_INFOTIP

Listview does InfoTips for you

%LVS_EX_UNDERLINEHOT

Hot items have underlined text

%LVS_EX_UNDERLINECOLD

Non-hot items have underlined text

%LVS_EX_MULTIWORKAREAS

Will not auto-arrange until work areas defined

%LVS_EX_LABELTIP

Listview unfolds partly hidden labels

%LVS_EX_BORDERSELECT

Border selection style instead of highlight

%LVS_EX_DOUBLEBUFFER

Paints via double-buffering and reduces flicker

%LVS_EX_HIDELABELS

Hides labels in Icon and Small Icon mode

%LVS_EX_SINGLEROW

Display a single row

%LVS_EX_SNAPTOGRID

Icons automatically snap to grid

%LVS_EX_SIMPLESELECT

Changes overlay rendering to top right

LISTVIEW SET TEXT hDlg , id& , item& , col& , StrExpr

The text, if any, for the specified data item is replaced by the new text in StrExpr . You must keep in mind that this statement does not create a new item (horizontal row), but changes existing text, if any, to new text. To create a new data item (horizontal row), use LISTVIEW INSERT ITEM instead. The values of item&/col& specify the position of the data item (1=first, 2=second, etc.).

LISTVIEW SET USER hDlg , id& , item& , NumExpr

Each row in a LISTVIEW may have a long integer user value associated with it at the discretion of the programmer. This user value is assigned with LISTVIEW SET USER, and retrieved with LISTVIEW GET USER. The numeric value item& specifies which user value is to be accessed, 1 for the first item, 2 for the second item, etc. The value specified by NumExpr is saved for later retrieval. In addition to these LISTVIEW user values, every DDT control offers an additional eight user values which can be accessed with CONTROL GET USER and CONTROL SET USER.

Restrictions

Under Windows 95/98/ME, a ListView is limited to 32,767 items. In all versions of Windows, the actual string data contained by the ListView is limited only by available memory.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD LISTVIEW
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • HEADER GET COUNT
  • IMAGELIST ADD BITMAP
  • PBXB64 Compiler Help


LO - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LO

Extract the least significant (low-order) portion of an integral

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

result = LO( DataType , value )

Description

Extract the least significant (low-order) portion of an integral

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The value returned by LO is unsigned if DataType is BYTE , WORD , or DWORD , and signed if DataType is INTEGER or LONG . value may be up to twice the size of the data type specified by DataType . In the following example, n may be up to a 16-bit value (twice the size of a BYTE):

b = LO(BYTE, n )

Restrictions

LO replaces LOBYT, LOWRD, and LOINT. Note that those functions are no longer supported, so update your code to use the new syntax.

See also

  • HI
  • MAK
  • PBXB64 Compiler Help


LOC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LOC

Determine the current

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

qResult&& = LOC([#] filenum& )

Description

Determine the current

Kind: Function | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

LOC is provided for compatibility with older BASICs. It is recommended that code is modified to use the SEEK function instead. The Number symbol (#) is optional, but recommended for clarity.

See also

  • FILEATTR
  • SEEK
  • PBXB64 Compiler Help


LOCAL - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Declarations PBXB64 Compiler Help

LOCAL

Declare local

Chapter: Declarations | Certification: [CERTIFIED TESTED]

Syntax

LOCAL variable [()] [AS type ] [, variable [()]] [...]
LOCAL variable [()] [, variable [()]] [, ...] AS type

Description

Declare local

Kind: Statement | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The LOCAL statement is valid only inside a Sub, Function, Method, or Property. Local variables lose their values when the procedure ends. Storage space for local variables is allocated on the stack , and each local variable is initialized to zero (or, for string variables, an empty string) each time the enclosing procedure is called.

To declare an array as a local variable, use an empty set of parentheses in the variable list: You can then use the DIM statement to dimension the array .

LOCAL MyArray%()

LOCAL StringArray() AS STRING

The LOCAL statement may, optionally, accept a list of variables, all of which are defined by the type descriptor keyword that follows them. For example:

LOCAL aaa, bbb, ccc AS INTEGER

LOCAL vptr, aptr() AS LONG PTR

Restrictions

DEF type has no effect on variables defined by a LOCAL statement.

See also

  • DIM
  • GLOBAL
  • INSTANCE
  • STATIC
  • THREADED
  • PBXB64 Compiler Help


LOCATE - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › File I/O PBXB64 Compiler Help

LOCATE

Category: PowerBASIC compatibility reference

Chapter: File I/O

Syntax

LOCATE [Zeile][,[Spalte][,[Cursor][,[Start][,Stop]]]]

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOCK - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LOCK

Lock part or all of an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

LOCK [#] filenum& [, { record&& | startbyte&& TO endbyte&& }]

Description

Lock part or all of an

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

LOCK prevents another process from accessing a record, range of records, byte, or range of bytes in a file opened as file number filenum& .

If the file was opened in random-access mode, record&& , startbyte&& , and endbyte&& specify record numbers. When used with binary mode files, record&& , startbyte&& , and endbyte&& specify byte positions, starting from either zero or one (the default).

If a record is specified, only that record (or byte) is locked. Otherwise, a range of records (or bytes) is locked, from startbyte&& to endbyte&& .

If no records are specified, or if the file was opened in sequential mode, the entire file is locked.

All records (or bytes) to be locked must be subsequently unlocked using the UNLOCK statement. Multiple locks may be placed on a file, and locks may be unlocked in any order. However, the parameters used for each UNLOCK statement must exactly match those used for the previous corresponding LOCK statement.

All locked records (or bytes) must be unlocked using the UNLOCK statement before the file can be closed.

If a lock attempt fails, PowerBASIC sets the ERR system variable to reflect a run-time Error 70 ("Permission denied"), or Error 75 ("Path/file access error").

See also

  • OPEN
  • UNLOCK
  • PBXB64 Compiler Help


LOF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LOF

Return the length of an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

y&& = LOF([#] filenum& )

Description

Return the length of an

Kind: Function | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

filenum& is the file number with which the file was opened. LOF returns the size of the indicated file in bytes , in the Quad-integer range 0 to 2^63-1. The Number symbol (#) is optional, but recommended for clarity.

See also

  • FILEATTR
  • LOC
  • SEEK
  • PBXB64 Compiler Help


LOG - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

LOG

Return a logarithm using the natural, base-2, or base-10 base.

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

y = LOG( numeric_expression )
y = LOG2( numeric_expression )
y = LOG10( numeric_expression )

Description

Return a logarithm using the natural, base-2, or base-10 base.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A logarithm of a number is the power to which the base would have to be raised to yield the number. Thus:

logarithm (base b) of n = x if b^x = n

(base)^log(n) = n

The EXP functions complement the LOG functions. For example, if s = LOG(t) , then t = EXP(s) .

By definition, the logarithm (any base) of 1 is 0. LOG returns the natural logarithm (base e , where e = 2.718282...) of its argument. LOG2 and LOG10 return the logarithm for base 2 and 10, respectively.

numeric_expression must be a value greater than zero.

LOG, LOG2, and LOG10 return Extended-precision values.

In PBXB64, LOG, LOG2, and LOG10 also accept INT128, UINT128, INT256, UINT256, INT512, UINT512, and UNL values through their existing command names. The typed path returns a floating result; UNL values are handled internally without a new command.

Example

#COMPILE EXE
#DIM ALL
' math_log_basic
FUNCTION PBMAIN() AS LONG
  IF ((LOG(1.0)) < (0.0000000000) - 0.0001) OR ((LOG(1.0)) > (0.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((LOG(2.0)) < (0.6931471806) - 0.0001) OR ((LOG(2.0)) > (0.6931471806) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((LOG(10.0)) < (2.3025850930) - 0.0001) OR ((LOG(10.0)) > (2.3025850930) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • EXP
  • EXP2
  • EXP10
  • SQR
  • Arithmetic Operators


LOG1P - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LOG1P

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(LOG1P(1.0) - 0.6931471806) > 0.0001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOG2 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LOG2

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

y = LOG2( numeric_expression )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOG10 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LOG10

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

y = LOG10( numeric_expression )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGISTIC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LOGISTIC

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = LOGISTIC( x )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGIT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LOGIT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = LOGIT( p )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO ABS - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO ABS

Category: Logo command

Chapter: LOGO Math

Syntax

ABS

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO BK - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Turtle Motion PBXB64 Compiler Help

LOGO BK

Category: Logo command

Chapter: LOGO Turtle Motion

Syntax

BK

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO BUTFIRST - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Lists PBXB64 Compiler Help

LOGO BUTFIRST

Category: Logo command

Chapter: LOGO Lists

Syntax

BUTFIRST

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO BUTLAST - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Lists PBXB64 Compiler Help

LOGO BUTLAST

Category: Logo command

Chapter: LOGO Lists

Syntax

BUTLAST

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO CLEAN - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Screen State PBXB64 Compiler Help

LOGO CLEAN

Category: Logo command

Chapter: LOGO Screen State

Syntax

CLEAN

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO COLON WORD - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Variables PBXB64 Compiler Help

LOGO COLON WORD

Category: Logo command

Chapter: LOGO Variables

Syntax

:name

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO COS - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO COS

Category: Logo command

Chapter: LOGO Math

Syntax

COS

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO CS - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Screen State PBXB64 Compiler Help

LOGO CS

Category: Logo command

Chapter: LOGO Screen State

Syntax

CS

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO CT - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Console PBXB64 Compiler Help

LOGO CT

Category: Logo command

Chapter: LOGO Console

Syntax

CT

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO DIFFERENCE - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO DIFFERENCE

Category: Logo command

Chapter: LOGO Math

Syntax

DIFFERENCE

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO END - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Procedures PBXB64 Compiler Help

LOGO END

Category: Logo command

Chapter: LOGO Procedures

Syntax

END

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO EQUALP - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO EQUALP

Category: Logo command

Chapter: LOGO Math

Syntax

EQUALP

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO FD - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Turtle Motion PBXB64 Compiler Help

LOGO FD

Category: Logo command

Chapter: LOGO Turtle Motion

Syntax

FD

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO FILL - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Drawing PBXB64 Compiler Help

LOGO FILL

Category: Logo command

Chapter: LOGO Drawing

Syntax

FILL

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO FIRST - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Lists PBXB64 Compiler Help

LOGO FIRST

Category: Logo command

Chapter: LOGO Lists

Syntax

FIRST

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO FPUT - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Lists PBXB64 Compiler Help

LOGO FPUT

Category: Logo command

Chapter: LOGO Lists

Syntax

FPUT

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO FULLSCREEN - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Screen State PBXB64 Compiler Help

LOGO FULLSCREEN

Category: Logo command

Chapter: LOGO Screen State

Syntax

FULLSCREEN

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO GREATERP - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO GREATERP

Category: Logo command

Chapter: LOGO Math

Syntax

GREATERP

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO HOME - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Turtle Motion PBXB64 Compiler Help

LOGO HOME

Category: Logo command

Chapter: LOGO Turtle Motion

Syntax

HOME

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO HT - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Screen State PBXB64 Compiler Help

LOGO HT

Category: Logo command

Chapter: LOGO Screen State

Syntax

HT

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO IF - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Control Flow PBXB64 Compiler Help

LOGO IF

Category: Logo command

Chapter: LOGO Control Flow

Syntax

IF

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO IFELSE - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Control Flow PBXB64 Compiler Help

LOGO IFELSE

Category: Logo command

Chapter: LOGO Control Flow

Syntax

IFELSE

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO INT - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO INT

Category: Logo command

Chapter: LOGO Math

Syntax

INT

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO ITEM - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Lists PBXB64 Compiler Help

LOGO ITEM

Category: Logo command

Chapter: LOGO Lists

Syntax

ITEM

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO LABEL - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Drawing PBXB64 Compiler Help

LOGO LABEL

Category: Logo command

Chapter: LOGO Drawing

Syntax

LABEL

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO LAST - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Lists PBXB64 Compiler Help

LOGO LAST

Category: Logo command

Chapter: LOGO Lists

Syntax

LAST

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO LESSP - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO LESSP

Category: Logo command

Chapter: LOGO Math

Syntax

LESSP

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO LIST - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Lists PBXB64 Compiler Help

LOGO LIST

Category: Logo command

Chapter: LOGO Lists

Syntax

LIST

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO LOCAL - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Variables PBXB64 Compiler Help

LOGO LOCAL

Category: Logo command

Chapter: LOGO Variables

Syntax

LOCAL

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO LPUT - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Lists PBXB64 Compiler Help

LOGO LPUT

Category: Logo command

Chapter: LOGO Lists

Syntax

LPUT

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO LT - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Turtle Motion PBXB64 Compiler Help

LOGO LT

Category: Logo command

Chapter: LOGO Turtle Motion

Syntax

LT

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO MAKE - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Variables PBXB64 Compiler Help

LOGO MAKE

Category: Logo command

Chapter: LOGO Variables

Syntax

MAKE

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO OUTPUT - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Procedures PBXB64 Compiler Help

LOGO OUTPUT

Category: Logo command

Chapter: LOGO Procedures

Syntax

OUTPUT

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO PD - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Pen State PBXB64 Compiler Help

LOGO PD

Category: Logo command

Chapter: LOGO Pen State

Syntax

PD

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO PENREVERSE - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Pen State PBXB64 Compiler Help

LOGO PENREVERSE

Category: Logo command

Chapter: LOGO Pen State

Syntax

PENREVERSE

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO PENSIZE - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Pen State PBXB64 Compiler Help

LOGO PENSIZE

Category: Logo command

Chapter: LOGO Pen State

Syntax

PENSIZE

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO POWER - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO POWER

Category: Logo command

Chapter: LOGO Math

Syntax

POWER

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO PRINT - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Console PBXB64 Compiler Help

LOGO PRINT

Category: Logo command

Chapter: LOGO Console

Syntax

PRINT

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO PRODUCT - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO PRODUCT

Category: Logo command

Chapter: LOGO Math

Syntax

PRODUCT

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO PU - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Pen State PBXB64 Compiler Help

LOGO PU

Category: Logo command

Chapter: LOGO Pen State

Syntax

PU

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO QUOTE WORD - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Variables PBXB64 Compiler Help

LOGO QUOTE WORD

Category: Logo command

Chapter: LOGO Variables

Syntax

"name

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO QUOTIENT - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO QUOTIENT

Category: Logo command

Chapter: LOGO Math

Syntax

QUOTIENT

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO RANDOM - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO RANDOM

Category: Logo command

Chapter: LOGO Math

Syntax

RANDOM

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO REMAINDER - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO REMAINDER

Category: Logo command

Chapter: LOGO Math

Syntax

REMAINDER

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO REPEAT - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Control Flow PBXB64 Compiler Help

LOGO REPEAT

Category: Logo command

Chapter: LOGO Control Flow

Syntax

REPEAT

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO ROUND - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO ROUND

Category: Logo command

Chapter: LOGO Math

Syntax

ROUND

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO RT - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Turtle Motion PBXB64 Compiler Help

LOGO RT

Category: Logo command

Chapter: LOGO Turtle Motion

Syntax

RT

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO SETBG - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Screen State PBXB64 Compiler Help

LOGO SETBG

Category: Logo command

Chapter: LOGO Screen State

Syntax

SETBG

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO SETH - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Turtle Motion PBXB64 Compiler Help

LOGO SETH

Category: Logo command

Chapter: LOGO Turtle Motion

Syntax

SETH

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO SETPC - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Pen State PBXB64 Compiler Help

LOGO SETPC

Category: Logo command

Chapter: LOGO Pen State

Syntax

SETPC

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO SETPOS - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Turtle Motion PBXB64 Compiler Help

LOGO SETPOS

Category: Logo command

Chapter: LOGO Turtle Motion

Syntax

SETPOS

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO SETSCRUNCH - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Screen State PBXB64 Compiler Help

LOGO SETSCRUNCH

Category: Logo command

Chapter: LOGO Screen State

Syntax

SETSCRUNCH

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO SETXY - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Turtle Motion PBXB64 Compiler Help

LOGO SETXY

Category: Logo command

Chapter: LOGO Turtle Motion

Syntax

SETXY

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO SIN - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO SIN

Category: Logo command

Chapter: LOGO Math

Syntax

SIN

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO SPLITSCREEN - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Screen State PBXB64 Compiler Help

LOGO SPLITSCREEN

Category: Logo command

Chapter: LOGO Screen State

Syntax

SPLITSCREEN

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO SQRT - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO SQRT

Category: Logo command

Chapter: LOGO Math

Syntax

SQRT

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO ST - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Screen State PBXB64 Compiler Help

LOGO ST

Category: Logo command

Chapter: LOGO Screen State

Syntax

ST

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO STOP - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Procedures PBXB64 Compiler Help

LOGO STOP

Category: Logo command

Chapter: LOGO Procedures

Syntax

STOP

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO SUM - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Math PBXB64 Compiler Help

LOGO SUM

Category: Logo command

Chapter: LOGO Math

Syntax

SUM

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO TEXTSCREEN - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Screen State PBXB64 Compiler Help

LOGO TEXTSCREEN

Category: Logo command

Chapter: LOGO Screen State

Syntax

TEXTSCREEN

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO TO - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Procedures PBXB64 Compiler Help

LOGO TO

Category: Logo command

Chapter: LOGO Procedures

Syntax

TO

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOGO WHILE - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › LOGO Control Flow PBXB64 Compiler Help

LOGO WHILE

Category: Logo command

Chapter: LOGO Control Flow

Syntax

WHILE

Description

Category: Logo command

V15 status

This documented Logo command belongs to the 62-topic V14 object contract. Object compilation is qualified; runtime qualification is tracked separately.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Long integers (&) - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Data Types & Variables PBXB64 Compiler Help

Long integers (&)

Like regular Integers , Long integers cannot contain decimal points. However, they span a much greater range, from -2,147,483,648 to +2,147,483,647 ( -2^31 to 2^31 - 1) yet occupy just 4 bytes (32-bit

Chapter: Data Types & Variables | Certification: [CERTIFIED TESTED]

Description

Like regular Integers , Long integers cannot contain decimal points. However, they span a much greater range, from -2,147,483,648 to +2,147,483,647 ( -2^31 to 2^31 - 1) yet occupy just 4 bytes (32-bit

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Long integers are identified by following the variable name with an ampersand (i.e., var& ) or by using the DEFLNG statement as described in the previous discussion of Integers. You can also declare Long-integer variables using the LONG keyword with the DIM statement. For example:

Long integers are the most efficient numeric data type in PowerBASIC and should be used in all cases where speed is important and a greater numeric range is not required. (Using Byte and Integer variables in FOR/NEXT loops is actually slower than using a Long integer.)

A PowerBASIC Long-integer variable is equivalent to the BOOL data type (in capital letters) commonly used by C/C++ compilers. Note that a bool (lowercase) is a non-traditional data type, equivalent to a Byte in PowerBASIC. Be aware that some older C compilers may freely interchange bool and BOOL keywords.

Example

#COMPILE EXE
#DIM ALL
' numeric_type_long
FUNCTION PBMAIN() AS LONG
  LOCAL a AS LONG
  a = 10
  IF (a) <> (10) THEN FUNCTION = 1: EXIT FUNCTION
  a = a + 5
  IF (a) <> (15) THEN FUNCTION = 2: EXIT FUNCTION
  a = a * 2
  IF (a) <> (30) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION
Back to top


Long lines - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Long lines

The underscore character ( _ ) can be used to split "logical" lines of source code, across physical lines in the source code file. The underscore character must be preceded by at least one white space

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The underscore character ( _ ) can be used to split "logical" lines of source code, across physical lines in the source code file. The underscore character must be preceded by at least one white space

Kind: Keyword | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The effect of using a line continuation character is for "visual" appearance only - the compiler itself treats lines split this way as only one contiguous line of code.

For example, if we take the following line of code:

DECLARE FUNCTION Call32& LIB "CALL32.DLL" ALIAS "Call32" (Param1 AS ANY, BYVAL id&)

We could rewrite this line to place its component parts on separate lines of code for clarity:

Back to command index


LOOP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LOOP

Close a DO loop

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

LOOP [{WHILE | UNTIL} condition]

Description

Close a DO loop

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The LOOP statement marks the end of a DO loop body. With no clause, it jumps unconditionally back to the matching DO. LOOP WHILE and LOOP UNTIL test the condition at the bottom, guaranteeing at least one iteration.

Generated Assembly

Compile with:

PBXB64 example.pb --asmout example.asm
pb_do_body_PBMAIN_0:
    mov r10, [rbp-32]
    mov rbx, r10
    mov r10, [rbp-24]
    add rbx, r10
    mov [rbp-32], rbx
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, 1
    mov [rbp-24], rbx
pb_do_cond_PBMAIN_1:
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 5
    setle r10
    mov rbx, r10
    test rbx, rbx
    jne pb_do_body_PBMAIN_0
    jmp pb_do_end_PBMAIN_2
pb_do_end_PBMAIN_2:

Notes

Bottom-tested loops run the body once before the first condition check.

Example

FUNCTION PBMAIN () AS LONG
    LOCAL n AS LONG
    LOCAL sum AS LONG
    n = 1
    sum = 0
    DO
        sum = sum + n
        n = n + 1
    LOOP WHILE n <= 5
    FUNCTION = sum
END FUNCTION

See also

  • DO
  • WHILE
  • EXIT
  • ITERATE
  • BASIC Control Flow


LPRINT$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LPRINT$

Syntax

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

device$ = LPRINT$

Description

Syntax

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

LPRINT$ returns the name of the currently attached printer device used by the LPRINT statement. If there is no attached device, an empty string is returned.

LPRINT$ is primarily used to detect if an LPRINT ATTACH operation was successful.

See also

  • LPRINT ATTACH
  • LPRINT CLOSE
  • LPRINT FLUSH
  • LPRINT FORMFEED
  • XPRINT PRINT
  • XPRINT ATTACH
  • PBXB64 Compiler Help


LPRINT ATTACH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LPRINT ATTACH

Connect to a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

LPRINT ATTACH device$

Description

Connect to a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

LPRINT ATTACH attempts a direct connection to the specified [line] printer device. A line printer is one that will accept standard ASCII text and any device-specific control codes, such as CR, LF, and FF.

A line printer is named by the port to which it is attached (LPT1, etc.) because the data is sent directly to the port, not through a device driver. That is, LPRINT communicates directly with the attached line printer device, bypassing the spooler and printer driver. Therefore, any settings such as "work offline" in the Printer Properties dialog will be ignored.

Once the printer is attached by LPRINT ATTACH, print data can be sent to it with the LPRINT statement.

LPRINT ATTACH allows you to change the printer device used by LPRINT operation. When executed, the current connection (if any) is closed and the new connection is established. No colon is used in the device name. For example, to connect to LPT2:

LPRINT ATTACH "LPT2"

or to a printer on a network server:

LPRINT ATTACH "\\SERVER\HPLJ5"

device$ must be a valid device name and cannot exceed 32 characters in length. In some circumstances, such as with the Novell network client, LPRINT ATTACH with a UNC name may be rejected, and the LPRINT ATTACH will be unsuccessful, and a subsequent LPRINT$ test will return an empty string.

If LPRINT ATTACH is not successful, an Error 68 ("Device unavailable") is generated and LPRINT$ returns a nul (empty) string . If no LPRINT ATTACH is ever executed (successful or not), PowerBASIC will attempt to connect to the line printer at LPT1. Once any LPRINT ATTACH is attempted, no default to LPT1 will be presumed.

Care must be used with line printers in Windows, since if there is no available printer attached to the port, program execution may be suspended, with no errors. So, it is wise to use LPRINT ATTACH to explicitly connect the intended printer device, and test for the successful connection by the examination of LPRINT$ and ERR . For example:

ERRCLEAR

LPRINT ATTACH "LPT3"

IF ERR OR LPRINT$ = "" THEN PRINT "Connection failed"

Once all the data has been sent to the printer, detach the printer so other applications can use it., with the LPRINT CLOSE statement

Note : The Win32 API call EnumPrinters can give you a list of all valid printers and print devices, or you can enumerate the list of printers with the PRINTERCOUNT and PRINTER$ functions.

Restrictions

If device$ is an empty string, the current connection (if any) is detached. This is equivalent to the LPRINT CLOSE statement.

See also

  • LPRINT$
  • LPRINT CLOSE
  • LPRINT FLUSH
  • LPRINT FORMFEED
  • XPRINT PRINT
  • XPRINT ATTACH
  • PBXB64 Compiler Help


LPRINT CLOSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LPRINT CLOSE

Disconnect the current

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

LPRINT CLOSE

Description

Disconnect the current

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

LPRINT CLOSE detaches the currently selected printer connection (established with the LPRINT ATTACH statement) from LPRINT operations, allowing the spooler subsystem to commence print operations. Once a connection is closed, LPRINT$ will return an empty printer device name string until a new connection is established.

LPRINT CLOSE is equivalent to using LPRINT ATTACH with an empty printer device name string.

Restrictions

LPRINT CLOSE is an essential step in the print process. To ensure the printer device is available to other applications, printers should always be closed when not in use. Failing to close a connection may cause significant delays before printing commences. In some cases, some or all of the print data may be lost.

See also

  • LPRINT$
  • LPRINT ATTACH
  • LPRINT FLUSH
  • LPRINT FORMFEED
  • XPRINT PRINT
  • XPRINT ATTACH
  • PBXB64 Compiler Help


LPRINT FLUSH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LPRINT FLUSH

Flush any remaining

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

LPRINT FLUSH

Description

Flush any remaining

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

LPRINT FLUSH forces the operating system to flush any buffered data and begin printing. Use LPRINT FLUSH to ensure print data is submitted to the printer as soon as possible, rather than waiting for any timeout period to elapse first. Depending upon the printer and its drivers, printing may begin immediately, or it may be delayed until execution of an LPRINT CLOSE statement.

Typically, an LPRINT FLUSH statement is preceded with a FORMFEED statement, so ensure that the print job is ejected normally from the printer device.

See also

  • LPRINT$
  • LPRINT ATTACH
  • LPRINT CLOSE
  • LPRINT FORMFEED
  • XPRINT PRINT
  • XPRINT ATTACH
  • PBXB64 Compiler Help


LPRINT FORMFEED - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LPRINT FORMFEED

Send a formfeed (page eject) character to an attached

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

LPRINT FORMFEED

Description

Send a formfeed (page eject) character to an attached

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

For direct connections, LPRINT FORMFEED sends a form-feed character ( ASCII character 12, $FF, or CHR$ (12)) to the attached line printer device, to ensure the current page will be ejected. For host-based connections, PowerBASIC signals to the printing subsystem to perform the page eject operation.

Typically, an LPRINT FORMFEED is performed before a LPRINT FLUSH and LPRINT CLOSE .

See also

  • LPRINT$
  • LPRINT ATTACH
  • LPRINT CLOSE
  • LPRINT FLUSH
  • XPRINT PRINT
  • XPRINT ATTACH
  • PBXB64 Compiler Help


LSET$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

LSET$

Return a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

result_var = LSET$( string_expression , strlen& [USING ustring_expression ])

Description

Return a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

LSET$ left-aligns the string string_expression into a string of strlen& characters.

If ustring_expression is null (empty) or is not specified, LSET$ pads string_expression with space characters. Otherwise, LSET$ pads the string with the first character of ustring_expression .

If string_expression is shorter then strlen& , LSET$ left-justifies string_expression within result_var, padding the right side as described above; otherwise, LSET$ returns the left-most strlen& bytes of string_expression .

See also

  • CSET$
  • GET
  • LET
  • PUT
  • RESET
  • RSET$
  • STRINSERT$
  • TYPE SET
  • PBXB64 Compiler Help


LTRIM$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

LTRIM$

Return a copy of a string

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

x$ = LTRIM$( MainString [, [ANY] MatchString ])

Description

Return a copy of a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

MainString is the string expression from which to remove characters, and MatchString is the string expression containing the characters to remove.

If MatchString is not specified, LTRIM$ removes leading spaces. LTRIM$ returns a sub-string of MainString , from the first non- MatchString (or non-space) to the end of the string. If MatchString (or a space) is not present at the beginning of MainString , all of MainString is returned.

If the ANY keyword is included, MatchString specifies a list of single characters to be searched for individually. A match on any one of these as a leading character will cause the character to be removed from the result.

LTRIM$ is case sensitive.

See also

  • CLIP$
  • EXTRACT$
  • INSTR
  • LEFT$
  • MID$
  • REMOVE$
  • REPLACE
  • RIGHT$
  • RTRIM$
  • SHRINK$
  • STRDELETE$
  • STRINSERT$
  • STRREVERSE$
  • TALLY
  • TRIM$
  • UNWRAP$
  • VERIFY
  • PBXB64 Compiler Help


MACRO/END MACRO - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MACRO/END MACRO

Define a single or multi-line text substitution block.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MACRO macroname [( prm1 , prm2 , ...)] = replacementtext
MACRO macroname [( prm1 , prm2 , ...)]
[MACROTEMP ident1 [, ident2 , ...]]
DIM ident1 AS type [, ident2 AS type , ...]]
{ replacementtext }
[EXIT MACRO]
END MACRO
MACRO FUNCTION macroname [( prm1 , prm2 , ...)]
[MACROTEMP ident1 [, ident2 , ...]
{replacementtext}
END MACRO = returnexpression

Description

Define a single or multi-line text substitution block.

Kind: Keyword | Category: Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Macro is a powerful text substitution construct that may take a single-line or multi-line format. It generates absolutely no executable code unless it is referenced, and effectively allows the programmer to design a part of the PowerBASIC language to his/her own needs and requirements. For example, a simple single-line macro can allow PowerBASIC to emulate the CONST syntax used in Visual Basic - see the box-out below for more information.

A macro must always be defined before it is referenced, and the parameter count must always match the definition. When a macro is referenced, the occurrence of the name is replaced by the defined replacement text, expanded with parameter substitution. The first line of a MACRO definition is termed the macro prototype, and this line may not be split into multiple logical lines with the underscore (_) line continuation character. Likewise, the END MACRO = returnexpression may not be split with underscores either. A Macro also cannot end with a line continuation character.

Macros may be nested, and may forward-reference other macros. However, care should be exercised to avoid circular references.

A single-line macro or a macro function may be referenced at any source code position which, when expanded, will be syntactically correct (also see the Restrictions section below). Consider the following simplistic example:

MACRO concatenate(prm1,prm2) = prm1 & $SPC & prm2

' more code here

A$ = concatenate("Hello","World")

During compilation, PowerBASIC would internally expand this code to become:

A$ = "Hello" & $SPC & "World"

A multi-line macro, while more powerful in terms of coding, may be referenced only in the "statement" position, which is the first position on a line. That single reference is internally expanded into multiple lines of inline code to perform a complex task. For example:

MACRO Display6times(prm1)

CALL Display(prm1) : CALL Display(prm1)

CALL Display(prm1) : CALL Display(prm1)

CALL Display(prm1) : CALL Display(prm1)

END MACRO

' more code here

Display6times("This is very cool...")

The single-line MACRO offers a cunning way to retain the CONST syntax used in MSBASIC and Visual Basic in your PowerBASIC code, while maintaining the low overhead advantage of PowerBASIC. For example:

MACRO CONST = MACRO

' more code here

CONST Version = 1&

CONST AppTitle = "My Application"

' more code here

a$ = AppTitle & " v" & FORMAT$(Version)

During compilation, the CONST keyword is replaced by the MACRO keyword, dynamically creating a new macro that, in turn, defines a numeric or string literal . When the real macro name is referenced in the code, the literal is substituted directly.

MACROTEMP

The MACROTEMP statement may be used to specify a list of one or more identifiers, each of which is automatically made unique to each expansion of a multi-line macro. This is done by internally appending the digits 0001, 0002, etc, to the identifier upon each expansion of the macro.

A text identifier may represent a variable , label , or any other word, which expands appropriately to avoid a duplicate name conflict in your code.

MACROTEMP just creates a symbol name. If this symbol is a variable name, the variable must still be formally declared with an appropriate DIM (or LOCAL ) statement. For example:

MACRO CopyUntilNul(ptr1,ptr2)

MACROTEMP LoopPoint, ByteVar

DIM ByteVar AS BYTE

LoopPoint:

ByteVar = @ptr1

@ptr2 = ByteVar

INCR ptr1

INCR ptr2

IF ByteVar <> 0 THEN LoopPoint

END MACRO

Using that MACRO definition, the code "CopyUntilNul(Source, Dest)" would expand to something like this:

DIM ByteVar0001 AS BYTE

LoopPoint0001:

ByteVar0001 = @Source

@Dest = ByteVar0001

INCR Source

INCR Dest

IF ByteVar0001 <> 0 THEN LoopPoint0001

If the MACROTEMP statement were not used, serious naming conflicts would occur most any time that a macro was expanded more than once in a program. MACROTEMP statements may appear 0, 1, or more times in a macro definition, but they must always precede any other text in the macro.

MACROTEMP statements should be used with any label in a macro that may be expanded more than once in a program, and with any variable that should not be shared with any other expansion of the macro.

EXIT MACRO

EXIT MACRO may be used to terminate execution of code in the current macro expansion. It is functionally identical to the imaginary concept of GOTO END-MACRO.

END MACRO

A macro function block can return a value with the END MACRO = returnexpression statement.

Restrictions

A macro definition may contain replacement text up to approximately 4000 characters. Macros may specify up to 240 parameters, which may occupy up to approximately 2000 bytes total expanded space per macro.

Macro Function substitutions are limited to an expanded total of approximately 16000 characters per line of original source code.

Macro parameters are substituted directly, so whitespace characters in the passed macro parameters may cause unexpected problems if the expanded code is syntactically incorrect with the additional whitespace. For example, this can be important when specifying UDT variables as macro parameters. Consider the following code:

TYPE MyType

lCount AS LONG

szText AS ASCIIZ * 256

END TYPE

MACRO PresetUDT(u)

u.lCount = 1

u.szText = SPACE$(256)

END MACRO

FUNCTION PBMAIN

DIM x AS MyType

PresetUDT(x)

PresetUDT(x ) ' This line causes an Error 526

END FUNCTION

In the code above, the second macro expansion fails to compile because the trailing space in the passed macro parameter becomes part of the expanded code. In this situation, this additional space character breaks the syntax of the UDT variable reference within the expanded macro, triggering a compile-time Error 526 ("Period not allowed"). If we examine how the two expanded macro statements would appear, the problem becomes immediately obvious:

x .lCount = 1

x .szText = SPACE$(256)

(Please note that the caret symbols (^) above have been added purely to illustrate the exact position of the problem)

When using single-line macros that contain numeric expressions, use parentheses around the macro body to guard against unexpected order of precedence problems when the macro is used within an expression. For example, consider the following macro and expansion:

MACRO Calculate(p1, p2, p3) = (p1 * p2) \ p3

' more code here

x = Calculate(a,b,c) ^ 3

When this macro is expanded, the expression would be calculated as follows:

x = (a * b) \ c ^ 3

However, if the macro body was enclosed in parentheses:

MACRO Calculate(p1, p2, p3) = ((p1 * p2) \ p3)

then the expanded expression would be calculated thus:

x = ((a * b) \ c) ^ 3

MACRO prototypes (those beginning with the MACRO keyword) and END MACRO = returnexpression lines must be constructed on a single line of source code. That is, they may not be split across multiple lines of source code with line continuation characters, since these interfere with the text substitution process. For example, the following prototype is invalid:

MACRO FUNCTION MyMacro1(sParam1, sParam2, sParam3, sParam4)

If a macro expands directly to a Function call, the macro can be called using the SUB -style syntax, automatically discarding the function return value. For example:

MACRO sm(Msg) = SendMessage(a, Msg, b, c)

can be called like this (if the return value is not required):

A macro cannot expand directly to a REMark, because REM and ' are processed before the macro is assigned. So, MACRO hello = REM winds up as an invalid, blank macro.

Finally, it should be noted that the Integrated Debugger appears to step over macro references as if they were conventional BASIC statements. This occurs because macro expansion takes place during the compilation process and the original source code is not affected or altered by the compile-time expansion.

See also

  • EXIT
  • FUNCTION/END FUNCTION statements
  • METHOD / END METHOD statements
  • PROPERTY / END PROPERTY
  • SUB/END SUB statements
  • PBXB64 Compiler Help


MAK - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MAK

Create an integral class

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

resultvar = MAK( datatype , loworderval , highorderval )

Description

Create an integral class

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Create an integral class value of a specified data type ( WORD , DWORD , PTR , INTEGER , LONG , QUAD ) from a low-order and a high-order part.

The complements to this function are the HI and LO functions, which may be used to split a single 32-bit value into two 16-bit components.

Restrictions

MAK supercedes the MAKWRD, MAKDWD, and MAKPTR functions. Those functions are no longer supported, so update your code to use the new syntax.

See also

  • HI
  • LO
  • PBXB64 Compiler Help


MAT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MAT

To simplify Matrix Algebra calculations.

Chapter: General Reference

Syntax

MAT a1() = CON 'Set all elements of a1() to one
MAT a1() = CON( expr ) 'Set all elements of a1() to value of expr
MAT a1() = IDN 'Establish a1() as an identity matrix
MAT a1() = ZER 'Set all elements of a1() to zero
MAT a1() = a2() + a3() 'Addition
MAT a1() = a2() 'Assignment
MAT a1() = INV( a2() ) 'Inversion
MAT a1() = ( expr ) * a2() 'Scalar Multiplication
MAT a1() = a2() - a3() 'Subtraction
MAT a1() = a2() * a3() 'Multiplication
MAT a1() = TRN( a2() ) 'Transposition

Description

To simplify Matrix Algebra calculations.

Kind: Statement | Category: General

PBXB64 Status: PARTIAL

PBXB64 Certification: [PARTIAL - see implementation notes]

Description

Array names with the MAT statements may optionally include a set of empty parentheses. The following are both equally valid, but the inclusion of the parentheses improves clarity of the code:

MAT a1 = CON

MAT a1() = CON

PBXB64 implementation

The current executable MAT runtime is limited to fixed DOUBLE arrays, except for the dynamic source-operand forms noted below. Fixed arrays support CON, CON(expr), IDN, ZER, copy, addition, subtraction, multiplication, in-place TRN, source-operand TRN(source), in-place INV, and source-operand INV(source). In-place TRN and INV require square arrays.

CON(expr) requires exactly one numeric parenthesized expression and supports fixed and dynamic DOUBLE arrays. Source-operand TRN(source) and INV(source) support matching fixed arrays or two dynamic DOUBLE arrays; dynamic descriptors and matrix shapes are validated at run time.

The historical multi-type claims below are PowerBASIC 11 reference material, not current PBXB64 support. Fixed and dimensioned two-dimensional dynamic DOUBLE arrays support binary MAT READ # and MAT WRITE #, plus text MAT PRINT #; MAT INPUT # remains explicitly unsupported.

The following size/type guidance is historical PowerBASIC 11 reference material. PBXB64 validates the supported fixed and dynamic forms described above, and rejects unsupported element types and unsafe shape combinations instead of reinterpreting their storage as DOUBLE values.

Every scalar value denoted here as 'expr' must be enclosed in parentheses. Although Matrix operations tend to imply a two-dimensional array , unless otherwise noted (such as with MAT IDN, *, TRN), MAT may be used with arrays of one to eight dimensions. It is permissible to specify one array for multiple MAT parameters.

Back to command index


MAT PRINT/READ/WRITE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MAT PRINT/READ/WRITE

Display or transfer the entire contents of a matrix array.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MAT PRINT array()
MAT PRINT #fNum&, array()
MAT READ array()
MAT READ #fNum&, array()
MAT WRITE #fNum&, array()

Description

Display or transfer the entire contents of a matrix array.

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE for fixed and two-dimensional dynamic DOUBLE arrays

PBXB64 Certification: [CERTIFIED TESTED]

Description

MAT PRINT

Writes all elements of array() to the console, one row per line.

MAT PRINT #fNum&

Writes all elements of a fixed or dimensioned two-dimensional dynamic DOUBLE array() to the already-open file or device identified by fNum&, one space-separated row followed by CRLF.

MAT READ array()

Reads enough values from the current DATA statements to fill array().

MAT READ #fNum&, array()

Reads raw binary DOUBLE values into a fixed or dimensioned two-dimensional dynamic DOUBLE array() from a file opened with OPEN ... FOR BINARY. The file position advances by rows * columns * 8 bytes. A short or failed read sets ERR = 5 and leaves the destination array unchanged.

MAT WRITE #fNum&, array()

Writes raw binary DOUBLE values from a fixed or dimensioned two-dimensional dynamic DOUBLE array() to a file opened with OPEN ... FOR BINARY. The file position advances by rows * columns * 8 bytes.

Restrictions

The array must already be dimensioned to the desired size. No implicit redimensioning is performed. Dynamic file I/O requires a contiguous rank-two DOUBLE descriptor; zero and nonzero lower bounds are supported. Other element types and invalid descriptor shapes set ERR = 5. MAT INPUT # is not implemented.

See also

  • MAT
  • PRINT#
  • GET
  • PUT
  • PBXB64 Compiler Help


MAX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MAX

Return the argument with the largest (maximum) value.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

y = MAX( arg [, arg ] ...)
y& = MAX&( arg& [, arg& ] ...)
y$ = MAX$( arg$ [, arg$ ] ...)

Description

Return the argument with the largest (maximum) value.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

These functions take any number of arguments and return the argument with the largest (maximum) value. MAX handles arguments of any numeric type.

MAX& handles arguments which evaluate to Long-integers (MAX& is more efficient than MAX).

MAX$ handles string arguments.

If any arguments of MAX& are outside of the range of Long-integers, the result is undefined. Any floating point arguments of MAX& will be rounded to Long-integers before the comparison begins.

MAX% is recognized as a valid synonym for MAX&.

Example

#COMPILE EXE
#DIM ALL
' math_min_max_int
FUNCTION PBMAIN() AS LONG
  IF (MIN(1, 2)) <> (1) THEN FUNCTION = 1: EXIT FUNCTION
  IF (MAX(1, 2)) <> (2) THEN FUNCTION = 2: EXIT FUNCTION
  IF (MIN(5, 3)) <> (3) THEN FUNCTION = 3: EXIT FUNCTION
  IF (MAX(5, 3)) <> (5) THEN FUNCTION = 4: EXIT FUNCTION
  IF (MIN(-1, -5)) <> (-5) THEN FUNCTION = 5: EXIT FUNCTION
  IF (MAX(-1, -5)) <> (-1) THEN FUNCTION = 6: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • CHOOSE
  • IIF
  • MIN
  • SWITCH


MCASE$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MCASE$

Return a mixed case version of its string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = MCASE$( string_expression [,ANSI | OEM])

Description

Return a mixed case version of its string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

MCASE$ returns a string equivalent to string_expression , except that the first letter of each word is capitalized, while the remaining characters are forced to lowercase. A word is considered to be a consecutive series of letters. The optional ANSI or OEM parameter specifies whether the conversion is made using the ANSI charset for the system, or the original IBM OEM charset. If no charset is specified, PowerBASIC for Windows uses the system ANSI charset, while PB/CC uses the IBM OEM charset. Only "International" characters in the range of CHR$ (128) to CHR$(255) are affected by this parameter.

The OEM charset is based upon the original IBM OEM charset to ensure compatibility with programs written for all previous versions of the PowerBASIC compiler.

See also

  • LCASE$
  • UCASE$
  • PBXB64 Compiler Help


MD5 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MD5

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

digest$ = MD5$(text$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ME pseudo-variable - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ME pseudo-variable

A pseudo

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ME. Method1 ( param )

Description

A pseudo

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ME is a pseudo-variable, which PowerBASIC automatically defines in every Method and Property . It is treated as a reference to the current object. Using ME, it's possible to call any other Method or Property which is a member of the class: var = ME. Method1 ( param )

ME can also be assigned to an appropriate object variable, or used as a Sub / Function /Method/Property parameter.

See also

  • CLASS/END CLASS
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • METHOD / END METHOD statements
  • PROPERTY / END PROPERTY
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


MEMORY COPY - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Memory & Pointers PBXB64 Compiler Help

MEMORY COPY

Copy, Swap, or Fill blocks of memory.

Chapter: Memory & Pointers | Certification: [CERTIFIED TESTED]

Syntax

MEMORY COPY Source& , Dest& , Count&
MEMORY SWAP Source& , Dest& , Count&
MEMORY FILL Dest& , Count& , BYTE|WORD|DWORD IntegralExpr
MEMORY FILL Dest& , Count& , StrgExpr

Description

Copy, Swap, or Fill blocks of memory.

Kind: Statement | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The MEMORY statement may be used to copy, swap, or fill a block of memory with very high efficiency. PowerBASIC will automatically take into account the possibility that the source and destination blocks overlap and avoid corruption from that fact.

In the first form, Count& bytes of memory at the address specified by Source& is copied to the address specified by Dest& . In the second form, Count& bytes of memory at the address specified by Source& is exchanged with the data at the address specified by Dest& .

In the third form, Count& bytes of memory at Dest& are filled with one or more copies of the BYTE, WORD, or DWORD value specified by the value of IntegralExpr .

In the fourth form, Count& bytes of memory at Dest& are filled with one or more copies of the string StrgExpr .

See also

  • GLOBALMEM ALLOC
  • PEEK
  • POKE
  • STRPTR
  • VARPTR
  • PBXB64 Compiler Help
Back to top


MENU ADD POPUP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MENU ADD POPUP

Add a popup child

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MENU ADD POPUP, hMenu , txt$ , hPopup [AS id ], state& [, AT [BYCMD] position& ]

Description

Add a popup child

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A popup menu is a small window that "pops up" when a menu item is highlighted. This allows nesting, and gives the user an opportunity to choose from "sub-menu" items.

Handle of the parent menu which holds the popup.

Text displayed in the parent menu. An ampersand (&) may be used in the string to make the following letter into a control accelerator (hot-key). The letter appears underscored to signify that it is an accelerator.

hPopup

Handle of the child popup menu to be added.

If the option AS ID is included, id is a unique numeric identifier for this popup menu. id may be used later with a BYCMD option to reference this popup. id is an integral numeric value in the range of -32768 to +32767.

state&

The initial state of the menu item. It can be one of the following:

%MFS_DISABLED

Disable the item so that it cannot be selected.

%MFS_ENABLED

Enable the item so that it can be selected.

position&

Indicates the position in the parent menu where the popup child menu is to be inserted. If the BYCMD option is used, the popup menu is inserted prior to the menu item ID specified by position& . Otherwise, the popup menu is inserted at the physical position& within the parent menu, where position& = 1 for the first position, position& = 2 for the second, and so on. If position is not specified then the popup menu is appended to the end of the menu.

See also

  • Dynamic Dialog Tools (DDT)
  • ACCEL ATTACH
  • Menus
  • MENU ADD STRING
  • MENU ATTACH
  • MENU CONTEXT
  • MENU DELETE
  • MENU DRAW BAR
  • MENU GET STATE
  • MENU GET TEXT
  • MENU NEW BAR
  • MENU NEW POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • PBXB64 Compiler Help


MENU ADD STRING - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MENU ADD STRING

Add a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MENU ADD STRING, hMenu , txt$ , id& , state& [, AT [BYCMD] position& ] [, CALL callback ]

Description

Add a string

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A string may contain an optional command accelerator key, and also describe an equivalent keyboard accelerator combination.

Handle of the parent menu to which the string should be added.

Text to display in the parent menu. An ampersand (&) may be used in the string to make the following letter into a command accelerator (hot-key). The letter is underscored to signify that it is an accelerator. To create a horizontal separator instead of a text string, set txt$ = "-", id& = 0, state& = 0.

Keyboard accelerators, as described in the ACCEL ATTACH statement, can be indicated in the text of a menu item, for the reference of the user. To include a keyboard accelerator description in a menu string, separate it from the menu item text with a $TAB { CHR$ (9)} character. For example:

MENU ADD STRING, hMenu, "Cu&t" & $TAB & "CTRL+X", id&, mstate&

The unique numeric identifier for the menu item. When a menu item is selected, id& is sent to the parent dialog Callback Function to notify the dialog which option was selected.

state&

The initial state of the menu item. It can be one or more of the following, combined together with the OR operator to form a bitmask:

%MFS_CHECKED

Place a checkmark next to the item.

%MFS_DEFAULT

The default menu item, displayed in bold. Only one item may be the default.

%MFS_DISABLED

Disable the menu item so that it cannot be selected.

%MFS_ENABLED

Enable the menu item so that it can be selected.

%MFS_GRAYED

Disable the menu item so that it cannot be selected, and draw it in a "grayed" state to indicate this.

%MFS_HILITE

Highlight the menu item.

%MFS_UNCHECKED

Do not place a checkmark next to the item.

%MFS_UNHILITE

Item is not highlighted.

A state value of zero (0) provides %mfs_enabled, %mfs_unchecked, and %mfs_unhilite.

position&

Optional position in the parent menu, where the menu item should be inserted. If the BYCMD option is used, the menu item is inserted prior to the menu item ID specified by position& . Otherwise, the menu item is inserted at the physical position& within the parent menu, where position& = 1 for the first position, position& = 2 for the second, and so on. If position is not specified then the popup menu is appended to the end of the menu.

callback

Optional name of a Callback Function that will be called when the menu item is selected. This callback will be ignored when used with MENU CONTEXT as it returns the id of the selected menu item.

Restrictions

The application must call the MENU DRAW BAR statement whenever a menu changes, whether or not the menu is in a displayed dialog.

See also

  • Dynamic Dialog Tools (DDT)
  • ACCEL ATTACH
  • Menus
  • MENU ADD POPUP
  • MENU ATTACH
  • MENU CONTEXT
  • MENU DELETE
  • MENU DRAW BAR
  • MENU GET STATE
  • MENU GET TEXT
  • MENU NEW BAR
  • MENU NEW POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • PBXB64 Compiler Help


MENU ATTACH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MENU ATTACH

Attach a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MENU ATTACH hMenu , hDlg

Description

Attach a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Attaches a menu to a dialog, replacing any existing menu. The dialog is redrawn to accommodate the new menu.

Handle of the menu to be attached.

Handle of the dialog which holds the menu.

See also

  • Dynamic Dialog Tools (DDT)
  • ACCEL ATTACH
  • Menus
  • MENU ADD POPUP
  • MENU ADD STRING
  • MENU DELETE
  • MENU DRAW BAR
  • MENU GET STATE
  • MENU GET TEXT
  • MENU NEW BAR
  • MENU NEW POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • PBXB64 Compiler Help


MENU CONTEXT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MENU CONTEXT

Create a floating context

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MENU CONTEXT hContext , x& , y& , flags& TO CmdVar

Description

Create a floating context

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A context menu is a floating popup menu which is shown until the user makes a selection or dismisses it. It can appear anywhere on the screen.

hContext

Handle of a menu created with MENU NEW POPUP .

x&, y&

The parameters x& and y& specify the location of the context menu, in pixels , relative to the upper left corner of the desktop .

flags&

May be combined, as appropriate, to specify the characteristics of the context menu.

%TPM_LEFTBUTTON

Tracks the left button.

%TPM_RIGHTBUTTON

Tracks the right button.

%TPM_LEFTALIGN

Left side of the menu is aligned with x& .

%TPM_CENTERALIGN

Centers horizontally with x& .

%TPM_RIGHTALIGN

Right side of the menu is aligned with x& .

%TPM_TOPALIGN

Top of the menu is aligned with y& .

%TPM_VCENTERALIGN

Centers vertically with y&.

%TPM_BOTTOMALIGN

Bottom of the menu is aligned with y& .

CmdVar

Long integer variable where the id of the selected menu item is returned. If an optional callback is defined for a menu item with MENU ADD STRING it will be ignored when used with MENU CONTEXT.

PBXB64 implementation: The form lowers to the native Win32 popup-menu route with TPM_RETURNCMD. A dismissed menu or an invalid handle returns zero.

See also

  • Dynamic Dialog Tools (DDT)
  • Menus
  • MENU ADD STRING
  • MENU ADD POPUP
  • MENU NEW POPUP
  • PBXB64 Compiler Help


MENU DELETE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MENU DELETE

Delete a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MENU DELETE hMenu , [BYCMD] position&

Description

Delete a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If the menu item is a popup child menu, the menu is destroyed and its memory is released.

Handle of the menu holding the item you are deleting.

position&

Position of the item within the menu. If BYCMD is specified, position& refers to the unique menu identifier. Otherwise, position& is the position of the menu item, where position& = 1 for the first position, position& = 2 for the second, and so on.

See also

  • Dynamic Dialog Tools (DDT)
  • Menus
  • MENU ADD POPUP
  • MENU ADD STRING
  • MENU ATTACH
  • MENU DRAW BAR
  • MENU GET STATE
  • MENU GET TEXT
  • MENU NEW BAR
  • MENU NEW POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • PBXB64 Compiler Help


MENU DRAW BAR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MENU DRAW BAR

Redraw the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MENU DRAW BAR hDlg

Description

Redraw the

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This operation should be performed when a menu is altered dynamically after the dialog has been initially created, without regard to the visible state of the dialog.

Handle of the dialog that owns the menu to be redrawn.

See also

  • Dynamic Dialog Tools (DDT)
  • Menus
  • MENU ADD POPUP
  • MENU ADD STRING
  • MENU ATTACH
  • MENU DELETE
  • MENU GET STATE
  • MENU GET TEXT
  • MENU NEW BAR
  • MENU NEW POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • PBXB64 Compiler Help


MENU GET STATE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MENU GET STATE

Return the state of a specified

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MENU GET STATE hMenu , [BYCMD] position& TO state&

Description

Return the state of a specified

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Retrieves the menu flags associated with the specified menu item.

Handle of the menu containing the item to examine.

position&

Position within the menu of the menu item to examine. If the BYCMD option is specified, position& specifies the unique menu item identifier of the item to examine. Otherwise, position& indicates the physical position of the menu item within the menu, where position& = 1 for the first position, position& = 2 for the second position, and so on.

state&

Long integer variable where the menu state will be placed. If the item does not exist, the result is -1. Otherwise the result is a bitmask containing one or more of the following, combined together with the OR operator to form the bitmask:

%MFS_CHECKED

Menu item has a checkmark next to it.

%MFS_DEFAULT

Menu item is the default item.

%MFS_DISABLED

Menu item is disabled and cannot be selected.

%MFS_ENABLED

Menu item is enabled and can be selected.

%MFS_GRAYED

Menu item is disabled and cannot be selected, and is drawn in a "grayed" state.

%MFS_HILITE

Menu item is highlighted.

%MFS_UNCHECKED

Menu item does not have a checkmark next to it.

%MFS_UNHILITE

Menu item is not highlighted.

See also

  • Dynamic Dialog Tools (DDT)
  • Menus
  • MENU ADD POPUP
  • MENU ADD STRING
  • MENU ATTACH
  • MENU DELETE
  • MENU DRAW BAR
  • MENU GET TEXT
  • MENU NEW BAR
  • MENU NEW POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • PBXB64 Compiler Help


MENU GET TEXT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MENU GET TEXT

Return the text associated with a given

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MENU GET TEXT hMenu , [BYCMD] position& TO txt$

Description

Return the text associated with a given

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Return the text displayed in the menu item identified by position& .

Handle of the menu that contains the menu item to be examined.

position&

Position of the menu item to examine. If BYCMD is specified, position& refers to the unique menu item identifier of the item to examine. Otherwise, position& indicates the physical position of the menu item within the menu, where position& = 1 for the first position, position& = 2 for the second position, and so on.

variable where the text from the menu item will be placed.

See also

  • Dynamic Dialog Tools (DDT)
  • Menus
  • MENU ADD POPUP
  • MENU ADD STRING
  • MENU ATTACH
  • MENU DELETE
  • MENU DRAW BAR
  • MENU GET STATE
  • MENU NEW BAR
  • MENU NEW POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • PBXB64 Compiler Help


MENU NEW BAR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MENU NEW BAR

Create a new

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MENU NEW BAR TO hMenu

Description

Create a new

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Items may be added to the menu using the MENU ADD POPUP and MENU ADD STRING statements.

Double-word or Long-integer variable where the handle of the new menu bar will be placed.

See also

  • Dynamic Dialog Tools (DDT)
  • Menus
  • MENU ADD POPUP
  • MENU ADD STRING
  • MENU ATTACH
  • MENU DELETE
  • MENU DRAW BAR
  • MENU GET STATE
  • MENU GET TEXT
  • MENU NEW POPUP
  • MENU SET STATE
  • MENU SET TEXT
  • PBXB64 Compiler Help


MENU NEW POPUP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MENU NEW POPUP

Create a new popup

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MENU NEW POPUP TO hPopup

Description

Create a new popup

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Once created, items may be added to the popup menu using the MENU ADD POPUP and MENU ADD STRING statements.

hPopup

Double-word or Long-integer variable where the handle of the new popup menu will be placed.

See also

  • Dynamic Dialog Tools (DDT)
  • Menus
  • MENU ADD POPUP
  • MENU ADD STRING
  • MENU ATTACH
  • MENU CONTEXT
  • MENU DELETE
  • MENU DRAW BAR
  • MENU GET STATE
  • MENU GET TEXT
  • MENU NEW BAR
  • MENU SET STATE
  • MENU SET TEXT
  • PBXB64 Compiler Help


MENU SET STATE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MENU SET STATE

Set the state of a specified

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MENU SET STATE hMenu , [BYCMD] position& , state&

Description

Set the state of a specified

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Change the state of the menu item identified by position& .

Double-word or Long-integer variable containing the handle of the menu that contains the item to change.

position&

Position within the menu, of the menu item to be changed. If the BYCMD option is specified, position& refers to the unique menu item identifier of the item. Otherwise, position& indicates the physical position of the menu item within the menu, where position& = 1 for the first position, position& = 2 for the second position, and so on.

state&

The new state of the menu item. This must be one or more of the following items, combined together with the OR operator to form a bitmask:

%MFS_CHECKED

Place a checkmark next to the item.

%MFS_DEFAULT

The default menu item, displayed in bold. Only one item may be the default.

%MFS_DISABLED

Disable the menu item so that it cannot be selected.

%MFS_ENABLED

Enable the menu item so that it can be selected.

%MFS_GRAYED

Disable the menu item so that it cannot be selected, and draw it in a "grayed" state to indicate this.

%MFS_HILITE

Highlight the menu item.

%MFS_UNCHECKED

Removes any checkmark next to the item.

%MFS_UNHILITE

Removes the highlight from the item.

See also

  • Dynamic Dialog Tools (DDT)
  • Menus
  • MENU ADD POPUP
  • MENU ADD STRING
  • MENU ATTACH
  • MENU CONTEXT
  • MENU DELETE
  • MENU DRAW BAR
  • MENU GET STATE
  • MENU GET TEXT
  • MENU NEW BAR
  • MENU NEW POPUP
  • MENU SET TEXT
  • PBXB64 Compiler Help


MENU SET TEXT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MENU SET TEXT

Set the text of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MENU SET TEXT hMenu , [BYCMD] position& , txt$

Description

Set the text of a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Set the text of the menu item identified by position& .

Handle of the menu that contains the menu item to change.

position&

Position within the menu, of the menu item to be changed. If the BYCMD option is used, position& specifies the unique menu item identifier of the item to change. Otherwise, position& indicates the physical position of the menu item within the menu, where position& = 1 for the first position, position& = 2 for the second position, and so on.

The new text for the menu item.

See also

  • Dynamic Dialog Tools (DDT)
  • Menus
  • MENU ADD POPUP
  • MENU ADD STRING
  • MENU ATTACH
  • MENU CONTEXT
  • MENU DELETE
  • MENU DRAW BAR
  • MENU GET STATE
  • MENU GET TEXT
  • MENU NEW BAR
  • MENU NEW POPUP
  • MENU SET STATE
  • PBXB64 Compiler Help


Menu Example - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Menu Example

In the following code example, we create a dialog with a menu, outlining the concepts discussed in this chapter. Feel free to use this code as a base for your own DDT projects. This example is also av

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

In the following code example, we create a dialog with a menu, outlining the concepts discussed in this chapter. Feel free to use this code as a base for your own DDT projects. This example is also av

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

'===========================================================

' Simple example of an application that has a menu and

' requires absolutely no API calls!

Back to command index


Menus - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Menus

Just like regular GUI windows and dialog boxes , DDT dialogs can use menus too. With just a handful of statements, you can create a menu and add or remove items, depending on the context of your appli

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Just like regular GUI windows and dialog boxes , DDT dialogs can use menus too. With just a handful of statements, you can create a menu and add or remove items, depending on the context of your appli

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

A menu bar is positioned just below the caption bar of a dialog box. From this menu bar, popup menus (or sub-menus as they are also known) can be displayed, each containing commands. Popup menus may contain even deeper levels of popup menus.

Menus are constructed in a hierarchical manner: the top-most level is positioned on the menu bar, and the lower levels of the menu are the popup portions. The items on the menu bar are always visible, but the popup menus are never visible until a menu bar item is either clicked by the mouse, or activated by a command accelerator (hot-key) which is indicated by an underscored character in the menu item text.

Please note that command accelerators differ slightly from keyboard accelerators. The latter are configured and described in the ACCEL ATTACH statement topic.

Typically, a popup menu contains a range of associated commands. For example, a FILE popup menu usually contains a range of commands to permit the opening, saving and closing of files, etc.

Back to command index


Menu State - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Menu State

The MENU ADD statements provide for an ItemState& parameter. For popup menus, this may be either %MFS_ENABLED or %MFS_DISABLED. For menu items, the state may be one of %MFS_ENABLED, %MFS_DISABLED, %MF

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The MENU ADD statements provide for an ItemState& parameter. For popup menus, this may be either %MFS_ENABLED or %MFS_DISABLED. For menu items, the state may be one of %MFS_ENABLED, %MFS_DISABLED, %MF

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

A DDT menu requires the parent DDT dialog to contain at least one child control for the menu to operate correctly. This control may be a BUTTON or LABEL , etc, and the control may be located out of the visible client area of the dialog if necessary.

In addition to creating menus dynamically, DDT provides a rich set of additional menu functions to allow you to manipulate your menus at run-time. The following is a brief summary of these functions:

Back to command index


Menu Walkthrough - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Menu Walkthrough

In order to create an example menu for our DDT dialog, we will need one Double-word variable to hold the handle of the menu, and one for each of the popup menu levels that our menu will contain. In th

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

In order to create an example menu for our DDT dialog, we will need one Double-word variable to hold the handle of the menu, and one for each of the popup menu levels that our menu will contain. In th

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

To begin creating our menu, we use the MENU NEW BAR statement:

MENU NEW BAR TO hMenu

Back to command index


#MESSAGES - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#MESSAGES

Specify which messages should be sent to a Control Callback Function.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#MESSAGES COMMAND
#MESSAGES NOTIFY

Description

Specify which messages should be sent to a Control Callback Function.

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

#MESSAGES COMMAND specifies that only %WM_COMMAND messages be sent to Control Callback Functions, just as in earlier versions of PowerBASIC

#MESSAGES NOTIFY specifies that %WM_NOTIFY messages (as well as %WM_COMMAND messages) be sent to Control Callback Functions. This is the default condition, and need not be explicitly stated.

There are two general types of CallBack Functions. The first is the DIALOG CALLBACK , which is specified with the CALL DLGPROC clause of the DIALOG SHOW statement. It receives all messages which are directed to the dialog , including certain messages regarding its child controls. Specifically, this would include both %WM_COMMAND and %WM_NOTIFY messages. The second is the CONTROL CALLBACK, which is specified with the CALL CTLPROC clause of the CONTROL ADD statement. If specified, it receives all %WM_COMMAND and %WM_NOTIFY messages sent to the parent dialog.

Prior to version 9.0 of PowerBASIC for Windows, Control Callback Functions received only %WM_COMMAND messages. Beginning with PB 9.0, %WM_NOTIFY messages are sent as well. There are many situations where these added messages will prove to be very important to you. If your existing callback functions are written with complete error checking (ensuring that CB.MSG = %WM_COMMAND), this minor addition will cause no problems. It just presents additional information which can be acted upon, or just ignored. However, if callbacks were written without complete error checking, some ambiguity is possible. In this case, you should either update your Control Callback code, or suppress %WM_NOTIFY messages with a #MESSAGES Command metastatement.

See also

  • Callbacks
  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • FUNCTION/END FUNCTION statements
  • PBXB64 Compiler Help


Metastatements - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Metastatements

The following functions control compiler and debugger behavior:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following functions control compiler and debugger behavior:

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Align the next instruction to a boundary.

Determine if an equate has been previously defined.

Back to command index


METHOD / END METHOD statements - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

METHOD / END METHOD statements

Define a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

[CLASS|OVERRIDE] METHOD name [< DispID >] [ALIAS " altname "] (var AS type ...) [THREADSAFE] [AS type ]
[ statements ]
METHOD = expression
END METHOD

Description

Define a

Kind: Statement | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

METHOD/END METHOD is used to define a METHOD procedure within a class. Standard methods can only be called through a virtual function table on a valid object .

A METHOD is a block of code, very similar to a user-defined function. Optionally, it can return a value, like a FUNCTION , or merely act as a subroutine, like a SUB . If the optional "AS type" is included, the method returns a value set by " Method = expr ", or defaults to a return value of zero (0) or nul string , depending upon the type. METHOD parameters may be any variable type, including VARIANT variables. Methods may be called using any of the five following forms:

DIM ObjVar AS MyInterface

LET ObjVar = NEWCOM Prgid$

1. ObjVar.Method1(param)

2. CALL ObjVar.Method1(param)

3. ObjVar.Method1(param) TO var

4. CALL ObjVar.Method1(param) TO var

5. var = ObjVar.Method1(param)

Forms 1 and 2 assume that the Method does not return a value, or you simply wish to discard it. Forms 3, 4, and 5 require that the Method return a value compatible with the type of variable specified as var . Parentheses enclosing parameters are optional in forms 1 and 3.

Methods may be declared (using AS type ...) to return a string, any of the numeric types, a specific class of object variable (AS MyClass), a Variant, or a user defined Type .

Type Libraries only support the following data types: BYTE , WORD , DWORD , INTEGER , LONG , QUAD , SINGLE , DOUBLE , CURRENCY , OBJECT , STRING , and VARIANT . If any Methods or Properties use data types not supported by Type Libraries, you will receive a Error 581 - Type Library creation error , when using the #COM TLIB ON metastatement.

In addition to the explicit return value which you declare, all Methods and Properties on an IAutomation or IDispatch interface have another "Hidden Return Value", which is cryptically named hResult. While the name would imply a handle for a result, it's really not a handle at all, but just a long integer value, used to indicate success or failure of the Method. After calling a Method or Property, you can retrieve the hResult value with the PowerBASIC function OBJRESULT . The most significant bit of the value is known as the severity bit. That bit is 0 (value is positive) for success, or 1 (value is negative) for failure. The remaining bits are used to convey error codes and additional status information. If you call any object Method/Property (either Dispatch or Direct ), and the severity bit of hResult is set, PowerBASIC generates Run-Time error 99 : Object error. When you create a Method or Property, PowerBASIC automatically returns an hResult of zero, which implies success. You can return a non-zero hResult value by executing a METHOD OBJRESULT = expr within a Method, or PROPERTY OBJRESULT = expr within a Property.

Class Methods

A CLASS METHOD is one which is private to the class in which it is located. That is, it may only be called from a METHOD or PROPERTY in the same class. The CLASS METHOD must be located within a CLASS block, but outside of any INTERFACE blocks. This shows it is a direct member of the class, rather than a member of an interface .

CLASS MyClass

INSTANCE MyVar AS LONG

CLASS METHOD MyClassMethod(BYVAL param AS LONG) AS STRING

METHOD = "My" + STR$(param + MyVar)

END METHOD

INTERFACE MyInterface

INHERIT IUNKNOWN

METHOD MyMethod()

Result$ = ME.MyClassMethod(66)

END METHOD

END INTERFACE

END CLASS

In the above example, MyClassMethod() is a CLASS METHOD, and is always accessed using the pseudo-object ME (in this case ME.MyClassMethod). Class methods are never accessible from outside a class, nor are they ever described or published in a type library. By definition, there is no reason to have a private PROPERTY, so PowerBASIC does not offer a CLASS PROPERTY structure.

Constructors and Destructors

There are two special class methods which you may optionally add to a class. They meet a very specific need: automatic initialization when an object is created, and cleanup when an object is destroyed. Technically, they are known as constructor and destructor methods, and can perform almost any functionality needed by your object: initialization of variables, reading/writing data to/from disk, etc. You do not call these methods directly from your code. If they are present in your class, PowerBASIC automatically calls them each time an object of that class is created or destroyed. If you choose to use them, these special class methods must be named CREATE and DESTROY. They may take no parameters, and may not return a result. They are defined at the class level, so they may never appear within an INTERFACE definition.

CLASS MyClass

INSTANCE MyVar AS LONG

CLASS METHOD CREATE()

' Do initialization

END METHOD

CLASS METHOD Destroy()

' Do cleanup

END METHOD

INTERFACE MyInterface

INHERIT IUNKNOWN

METHOD MyMethod()

' Do things

END METHOD

END INTERFACE

END CLASS

As displayed above, CREATE and DESTROY must be placed at the class level, but outside of any interface block. You should note that it's not possible to name any standard method (one that's accessible through an interface) as CREATE or DESTROY. That's just to help you remember the rules for a constructor or destructor. However, you may use these names as needed to describe a method external to your program.

A very important caution: You must never create an object of the current class in a CREATE method. To do so will cause CREATE to be executed again and again until all available memory is consumed. This is a fatal error, from which recovery is impossible.

Override Methods

You can add to, or replace, the functionality of a particular method or property of an inherited base class by coding a replacement which is preceded by the word OVERRIDE. The overriding method must have the same name and signature (parameters, return value, etc.) as the one it replaces.

Dispatch ID

Every method and property in a dual interface needs a positive, long integer value to identify it. That integer value is known as a DispID (Dispatch ID), and it's used internally by COM services to call the correct function on a Dispatch interface. You can optionally specify a particular DispID by enclosing it in angle brackets immediately following the Method/Property name:

METHOD MethodOne <76> ()

If you don't specify a DispID, PowerBASIC will assign a random value for you. This is fine for internal objects, but may cause a failure for published COM objects, as the DispID could change each time you compile your program. It is particularly important that you specify a DispID for each Method/Property in a COM Event Interface .

BYREF and BYVAL attributes

Just like a SUB or FUNCTION, PowerBASIC uses BYREF parameters as the default form, unless you specify a BYVAL override. Either key word can be placed before the parameter name, along with IN, OUT, and INOUT, as described later.

A copy of the data value is placed on the stack as a parameter. The copy is destroyed when the METHOD ends. BYVAL parameters default to an IN parameter, if no explicit direction is specified.

A pointer to the data is placed on the stack as a parameter. If the data is a variable, any changes to the parameter are passed back to the caller in the variable. If the data is an expression, it is destroyed when the METHOD ends. BYREF parameters default to an INOUT parameter, if no explicit direction is specified.

Direction attributes

METHOD parameters may also specify the direction in which data is passed between the caller and callee:

Data is passed from the caller to the METHOD. Generally speaking, you'll find that almost all IN parameters are passed BYVAL, and that is highly recommended. However, it is possible to pass them BYREF if necessary.

Data is passed from the METHOD back to the caller. All OUT parameters must be passed BYREF.

Data is passed from the caller to the METHOD, and results are returned to the caller in the same parameter. All INOUT parameters must be passed BYREF.

In many cases, the direction of a parameter can be inferred directly from the BYVAL/BYREF attribute (BYVAL=IN, BYREF=OUT). However, we recommend that you include the direction attribute as an added means of self-documentation. Each METHOD parameter name may be preceded by one of BYVAL/BYREF, and one of IN/OUT/INOUT, in any sequence.

You should note an interesting rule of COM objects: IN parameters are read-only. They may not be altered.

IN parameters are considered by COM rules to be "constant" which may not be altered, because they are values which are not returned to the caller. However, since this is not a rule normally applied to a standard SUB or FUNCTION, it can allow programming bugs which are most difficult to find and correct. For this reason, PowerBASIC automatically protects you from this issue with no action needed on your part. When writing METHOD or PROPERTY code in PowerBASIC, you may freely assign new values to BYVAL/IN parameters. They will simply be discarded when the METHOD exits. Of course, not every programming language protects you in this way, so you must use caution if you create a COM METHOD in another compiler.

Using OPTIONAL/OPT

METHOD statements may specify one or more parameters as optional by preceding the parameter with either the keyword OPTIONAL (or the abbreviation OPT). When a parameter is declared optional, all subsequent parameters in the declaration are optional as well, whether or not they specify an explicit OPTIONAL or OPT directive.

VARIANT variables are particularly well suited for use as an optional parameter. If the calling code omits an optional VARIANT parameter, (BYVAL or BYREF), PowerBASIC (and most other compilers) substitute a variant of type %VT_ERROR which contains an error value of %DISP_E_PARAMNOTFOUND (&H80020004). In this case, you can check for this value directly, or use the ISMISSING function to determine whether the parameter was physically passed or not.

When optional parameters (other than VARIANT) are omitted from the calling code, the stack area normally reserved for those parameters is zero-filled.

If the parameter is defined as a BYVAL parameter, it will have the value zero. For TYPE or UNION variables passed BYVAL, the compiler will pass a string of binary zeroes of length SIZEOF ( Type_or_union_var ).

If the parameter is defined as a BYREF parameter, VARPTR ( Varname ) will equal zero; when this is true, any attempt to use Varname in your code will result in a General Protection Fault or memory corruption. You should use the ISMISSING() function first to determine whether it is safe to access the parameter.

THREADSAFE Option Descriptor

If you include the option THREADSAFE, PowerBASIC automatically establishes a semaphore which allows only one thread to execute it at a time. Others must wait until the first thread exits the THREADSAFE procedure before they are allowed to begin.

See also

  • #COM
  • CLASS/END CLASS
  • INSTANCE
  • INTERFACE / END INTERFACE Block (Direct)
  • ISMISSING
  • Just what is COM?
  • ME pseudo-variable
  • PROPERTY / END PROPERTY
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


METRICS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

METRICS

Retrieves information or dimensions of system elements.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MetricVar = METRICS( MetricName )

Description

Retrieves information or dimensions of system elements.

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]


MID$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

MID$

Replace characters in a string

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

MID$( StringVar , Start& [, Count& ]) = replacement
M ID$( StringVar , Start& TO End& = replacement

Description

Replace characters in a string

Kind: Statement | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The MID$ statement replaces characters in a string variable. The first form tells the number of characters to replace, while the second form tells the start and end position instead. Both forms provide the same functionality, so the choice is just a matter of programmer convenience.

Start& and End& are positions in the string, starting with 1 as the first character. Count& tells the number of characters to replace.

If Count& is omitted, or there aren't enough characters in StringVar , all remaining characters are replaced. If there are no characters at the Start& position, no operation is performed.

If Start& or End& are negative, the positions are counted backwards from the end of the string (-1 is the last character). If Count& is negative, it is interpreted as LEN( string_expression )-ABS( Count& ).

The replacement will never extend past the end of StringVar . In other words, MID$ cannot alter the length of a string.

Restrictions

If Start& evaluates to a position outside of the string on either side, or if Start& is zero, no operation is performed.

See also

  • BUILD$
  • INSTR
  • LTRIM$
  • REMOVE$
  • REPLACE
  • RTRIM$
  • TALLY
  • TRIM$
  • VERIFY
  • PBXB64 Compiler Help


MIN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MIN

Return the argument with the smallest (minimum) value.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

y = MIN( arg , arg [, arg ] ...)
y& = MIN&( arg& , arg& [, arg& ] ...)
y$ = MIN$( arg$ , arg$ [, arg$ ] ...)

Description

Return the argument with the smallest (minimum) value.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

These functions take any number of arguments and return the argument with the smallest (minimum) value. MIN handles arguments of any numeric type.

MIN& handles arguments that evaluate to Integers and Long-integers (MIN& is more efficient than MIN).

MIN$ handles string arguments.

If any arguments of MIN& are outside of the range of Long-integers, the result is undefined. Any numeric arguments of MIN& will be rounded to Long-integers before the comparison begins.

MIN% is recognized as a valid synonym for MIN&.

Example

#COMPILE EXE
#DIM ALL
' math_min_max_int
FUNCTION PBMAIN() AS LONG
  IF (MIN(1, 2)) <> (1) THEN FUNCTION = 1: EXIT FUNCTION
  IF (MAX(1, 2)) <> (2) THEN FUNCTION = 2: EXIT FUNCTION
  IF (MIN(5, 3)) <> (3) THEN FUNCTION = 3: EXIT FUNCTION
  IF (MAX(5, 3)) <> (5) THEN FUNCTION = 4: EXIT FUNCTION
  IF (MIN(-1, -5)) <> (-5) THEN FUNCTION = 5: EXIT FUNCTION
  IF (MAX(-1, -5)) <> (-1) THEN FUNCTION = 6: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • CHOOSE
  • IIF
  • MAX
  • SWITCH


Misc Operations - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Misc Operations

Miscellaneous functions:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Miscellaneous functions:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Identify an assembly-language statement.

Rounds up the instruction location to a power of two address

Back to command index


MKBYT$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MKBYT$

.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

AnsiStringVar$ = MKBYT$( byte_expr )
AnsiStringVar$ = MKCUR$( currency_expr )
AnsiStringVar$ = MKCUX$( extended_currency_expr )
AnsiStringVar$ = MKD$( double_precision_expr )
AnsiStringVar$ = MKDWD$( double_word_expr )
AnsiStringVar$ = MKE$( extended_precision_expr )
AnsiStringVar$ = MKI$( integer_expr )
AnsiStringVar$ = MKL$( long_integer_expr )
AnsiStringVar$ = MKQ$( quad_integer_expr )
AnsiStringVar$ = MKS$( single_precision_expr )
AnsiStringVar$ = MKWRD$( word_expr )

Description

.

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The MKx functions return the binary representations of a number as a set of bytes in an ANSI string. Do not confuse these functions with the STR$ or FORMAT$ functions, which return a printable string.

In all but the most extreme cases, the returned string should only be stored as an ANSI string or UDT which consist of single bytes. WIDE (Unicode) strings consist of a series of 2-byte words which will generally yield undefined results.

The CV x functions are complementary to the MK x functions. They convert the binary representation in a string to an actual numeric value:

Function

Converts to

MKBYT$

1-byte string

MKCUR$

8-byte string

Currency

MKCUX$

8-byte string

Extended-currency

8-byte string

Double-precision

MKDWD$

4-byte string

Double-word

10-byte string

Extended-precision

2-byte string

Integer

4-byte string

Long-integer

8-byte string

Quad-integer

4-byte string

Single-precision

MKWRD$

2-byte string

See also

  • CVBYT
  • PBXB64 Compiler Help


MKDIR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MKDIR

Create a subdirectory/folder (like the DOS MKDIR command).

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MKDIR path$

Description

Create a subdirectory/folder (like the DOS MKDIR command).

Kind: Statement | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

path$ is a string expression describing the directory to be created.

MKDIR (make directory) creates the subdirectory specified by path$ . If you try to create a directory that already exists, a run-time Error 75 occurs ("Path/file access error"). If path$ includes an parent folder that does not exist, a run-time Error 76 occurs ("Path not found").

MKDIR can use Long File

Names (LFNs).

See also

  • CHDIR
  • RMDIR
  • PBXB64 Compiler Help


MMX registers - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MMX registers

According to the Intel documentation, all MMX registers require parentheses around the register number. These were compulsory in early versions of PowerBASIC, but the parentheses are now optional.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

According to the Intel documentation, all MMX registers require parentheses around the register number. These were compulsory in early versions of PowerBASIC, but the parentheses are now optional.

Kind: Keyword | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

! PXOR mm(7), mm(7) ' PB/DLL 5.0, PB/CC 1.0 format

! PXOR mm7, mm7 ' PB/DLL/WIN 6.0+, PB/CC 2.0+ format

Back to command index


Mnemonics and Operands - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Mnemonics and Operands

An assembly code instruction (statement) consists of a mnemonic (pronounced "nih-MON-ick"), and between zero and three operands. For a logical or arithmetic mnemonic with two operands, the right opera

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

An assembly code instruction (statement) consists of a mnemonic (pronounced "nih-MON-ick"), and between zero and three operands. For a logical or arithmetic mnemonic with two operands, the right opera

Kind: Keyword | Category: Inline Assembler

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

[ASM|!] mnemonic destination, source

Back to command index


MOD - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Operators PBXB64 Compiler Help

MOD

Return the remainder of the division between two numbers.

Chapter: Operators | Certification: [CERTIFIED TESTED]

Syntax

p MOD q

Description

Return the remainder of the division between two numbers.

Kind: Operator | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The MOD operator divides the two operands, p and q , and returns the remainder of that division. The result of the initial division is truncated to an integral value, before the remainder is calculated. See the example below.

The remainder may be a floating point value. MOD is often considered to complement integral division.

Example

#COMPILE EXE
#DIM ALL
' numeric_mod_0_1
FUNCTION PBMAIN() AS LONG
  IF (0 MOD 1) <> (0) THEN FUNCTION = 245: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • LET


Modal vs. Modeless - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Modal vs. Modeless

To support the different ways that applications use dialog boxes, PowerBASIC provides two types of dialog box: modal and modeless .

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

To support the different ways that applications use dialog boxes, PowerBASIC provides two types of dialog box: modal and modeless .

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

A modal dialog box requires the user to supply information, or cancel the dialog box, before allowing the application to continue. Applications use modal dialog boxes in conjunction with commands that require additional information before they can proceed.

A modeless dialog box allows the user to supply information and return to the previous task without closing the dialog box. Modal dialog boxes are simpler to manage than modeless dialogs because they are displayed, perform their task, and are destroyed by calling a single DIALOG SHOW MODAL statement.

In the above example, we display the dialog as modal. The DIALOG SHOW MODAL statement displays the dialog and waits until your code calls DIALOG END (or if there is a Close box in the caption, the dialog will end when the Close box is clicked). When Windows displays a modal dialog box, it disables the parent window to keep the user focused on the dialog. When the dialog box is closed, the parent window is automatically re-enabled.

By comparison, a modeless dialog box does not cause your code to stop and wait while the dialog is displayed. An example of a modeless dialog box is the "Cancel" dialog displayed by many programs that print long documents on the printer. The application code sits in a loop sending data to the printer. The "Cancel" dialog allows the user to cancel printing at any time. The following is a simplistic example of this process:

Back to command index


MODINV - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MODINV

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

r = MODINV( wert, modulus )
text = MODINV$( wert, modulus )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MODPOW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MODPOW

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

r = MODPOW( basis, exponent, modulus )
text = MODPOW$( basis, exponent, modulus )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MODULE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MODULE

Status: lexer-recognized and registered in the current validation matrix.

Chapter: General Reference

Syntax

MODULE name
  ' declarations
END MODULE

Description

Status: lexer-recognized and registered in the current validation matrix.

This topic documents the currently recognized module declaration syntax. Treat unsupported forms as compiler diagnostics; do not rely on historical PowerBASIC module behavior unless it is covered by a PBXB64 test.


MONTHNAME$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MONTHNAME$

Converts a Month number to the associated name.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = MONTHNAME$( MonthNumber& )

Description

Converts a Month number to the associated name.

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The MONTHNAME$ function converts a Month number into a string representing its associated name. The argument must be in the range of 1 through 12, representing the names January, February, etc.

See also

  • DATE$ system variable
  • DAYNAME$
  • IPowerTime.AddDays method
  • PBXB64 Compiler Help


More on the Menu - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

More on the Menu

When adding new menu items to a menu, additional parameters may be included in the following statements:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

When adding new menu items to a menu, additional parameters may be included in the following statements:

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

MENU ADD POPUP, hMenu , txt$ , hPopup , state& [, AT [BYCMD] position& ]

MENU ADD STRING, hMenu , txt$ , hPopup , state& [, AT [BYCMD] position& ] [, CALL callback ]

An optional position parameter that allows the programmer to specify an absolute position of the menu item within the popup menu, inserted immediately before the value of position& . Omitting this parameter causes the menu item to be appended to the menu at the "current position". Position values are indexed to 1. For example:

Back to command index


MOUSEPTR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MOUSEPTR

Change the mouse pointer (cursor) to a new shape.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MOUSEPTR style [TO var& ]

Description

Change the mouse pointer (cursor) to a new shape.

Kind: Statement | Category: Utilities

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]


MSGBOX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MSGBOX

Display a message box containing a text string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MSGBOX txt$ [, [ style% ], title$ ]
?     txt$ [, [ style% ], title$ ]   ' ALIAS for MSGBOX

Description

Display a message box containing a text string

Kind: Statement | Category: Utilities

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The MSGBOX statement comprises the following elements:

txt$

Text to display within the message box.

style&

Optional parameter which determines the appearance of the message box. Some styles may be combined ( OR 'ed together) to specify the button and icon displayed in the message box. If style& is omitted, PowerBASIC substitutes %MB_OK. The following are some of the more common styles used with the MSGBOX statement (also see the MSGBOX function for more information):

%MB_OK

Display OK button (default)

%MB_ICONERROR

Display Error icon (stop sign)

%MB_ICONINFORMATION

Display Information icon ("i")

%MB_ICONWARNING

Display Warning icon (exclamation)

%MB_APPLMODAL

Application Modal - Despite the name, the user can continue to interact with other dialogs without dismissing the MSGBOX.

%MB_SYSTEMMODAL

System Modal - Operates identically to %MB_APPLMODAL, except the MSGBOX is given the %WS_EX_TOPMOST style so that it remains above all other windows and dialogs.

%MB_TASKMODAL

Task Modal - All top-level windows belonging to the current application are disabled until the MSGBOX is dismissed. %MB_TASKMODAL is commonly used to display a truly modal MSGBOX. (default)

Additional styles may be found in WIN32API.INC , in the section prefixed with %MB_. If you are interested in which button the user selects, use a MSGBOX function rather than a MSGBOX statement.

title$

Determines the title to be displayed in the caption of the message box. If title$ is not specified, "PowerBASIC" is used automatically.

Alias: The MSGBOX statement may be represented by the query (?) character as a shortcut. This is similar to the behavior in the PowerBASIC Console Compiler (PB/CC), where the query character is recognized as a synonym for the PRINT statement. This can simplify the creation of certain test code, since the query character provides similar functionality in both compilers.

Restrictions

Strings displayed by the MSGBOX function are displayed only up to the first $NUL character, if any.

See also

  • INPUTBOX$
  • TBOX
  • TXT pseudo-object
  • PBXB64 Compiler Help


Multidimensional arrays - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Multidimensional arrays

Arrays can have one or more dimensions, up to a maximum of eight. A one-dimensional array such as payments is a simple list of values. A two-dimensional array represents a table of numbers with rows a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Arrays can have one or more dimensions, up to a maximum of eight. A one-dimensional array such as payments is a simple list of values. A two-dimensional array represents a table of numbers with rows a

Kind: Keyword | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

DIM one!(15) ' a one-dimensional list

DIM two!(15,20) ' a two-dimensional table

DIM three!(7,9,1) ' an 8 by 10 game board with room in the third

' dimension for 2 items: piece type and color

Back to command index


MYBASE pseudo-variable - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MYBASE pseudo-variable

A pseudo

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

MYBASE. Method1 ( param )

Description

A pseudo

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

MYBASE is a pseudo-variable, which PowerBASIC automatically defines in every Method and Property on an inherited interface . It is treated as a reference to the original, inherited object. Using MYBASE, it's possible to call the original Methods and Properties so you can modify or build upon them in the derived interface.

MYBASE may not be assigned to an object variable, nor may it be used as a Sub / Function /Method/Property parameter.

See also

  • CLASS/END CLASS
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ME pseudo-variable
  • METHOD / END METHOD statements
  • PROPERTY / END PROPERTY
  • What Is an Object Anyway?
  • What is inheritance?
  • PBXB64 Compiler Help


NAME - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

NAME

Rename a file or a directory (like the DOS REN command).

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

NAME filespec1$ AS filespec2$

Description

Rename a file or a directory (like the DOS REN command).

Kind: Statement | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The NAME statement comprises the following elements:

filespec1$

The current name of a file or directory. The file must not be currently opened or locked . filespec1$ may be either a Short File Name (SFN) or a Long File Name (LFN).

filespec2$

The desired name of the file or directory, and may use Long File Name (LFN) naming conventions.

Each filespec may contain drive and path specifications as well as a file or directory name.

If filespec1 does not exist, run-time Error 53 ("File not found") occurs. If filespec2 already exists, run-time Error 58 occurs ("File already exists"). If filespec1 has been opened or locked by your application and not closed, an Error 51 can occur ("Internal system error"). You should never rename a file that has been opened by your code and not (yet) closed.

Restrictions

It is possible to move a file from one directory, drive, or partition, to another. It is not possible to move directories between drives or partitions. Wildcard characters are not permitted in the file names.

Back to command index


Nesting User-Defined Types - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Nesting User-Defined Types

The fields within a User-Defined Type can be made up of other User-Defined Types. Just like a set of Chinese boxes, with each box containing a smaller box, you can nest one User-Defined Type within an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The fields within a User-Defined Type can be made up of other User-Defined Types. Just like a set of Chinese boxes, with each box containing a smaller box, you can nest one User-Defined Type within an

Kind: Keyword | Category: Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Instead of storing the student names as two separate fields, we could instead define a Type called NameRec as follows:

Back to command index


NEW - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Variables & Scope PBXB64 Compiler Help

NEW

Category: PowerBASIC compatibility reference

Chapter: Variables & Scope

Syntax

objectVar = NEW PROGID("Class.Name")
objectVar = NEW ClassName

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


NEXT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

NEXT

Close a FOR loop

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

NEXT [counter [, counter ...]]

Description

Close a FOR loop

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The NEXT statement marks the end of a FOR loop body. It increments the loop counter by the STEP value (or 1) and jumps back to the top-of-loop condition test.

The optional counter name is not required in PBXB64 but is accepted for compatibility with PowerBASIC syntax. Nested loops can list multiple counters.

Generated Assembly

The NEXT keyword is not a separate instruction in the backend; it becomes the step-and-branch block at the bottom of the loop:

pb_for_step_PBMAIN_0:
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, 1
    mov [rbp-24], rbx
    jmp pb_for_cond_PBMAIN_0

Example

FUNCTION PBMAIN () AS LONG
    LOCAL i AS LONG
    FOR i = 1 TO 3
        PRINT i
    NEXT i
END FUNCTION

See also

  • FOR
  • EXIT
  • ITERATE
  • BASIC Control Flow


NORMCDF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

NORMCDF

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

probability = NORMCDF( x, mean, sigma )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


NORMINV - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

NORMINV

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

x = NORMINV( probability, mean, sigma )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


NORMPDF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

NORMPDF

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

density = NORMPDF( x, mean, sigma )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


NOT - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Operators PBXB64 Compiler Help

NOT

The NOT operator works as a bitwise

Chapter: Operators | Certification: [CERTIFIED TESTED]

Syntax

NOT p

Description

The NOT operator works as a bitwise

Kind: Operator | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

PowerBASIC's NOT operator returns the one's-complement of an integral expression. When dealing with the absolute values 0 and -1, the NOT operator "reverses" the two values, performing a Boolean-like operation.

PowerBASIC accepts any non-zero value as a logical TRUE value; therefore, subtle logic problems can arise in a program when the NOT operator is used to perform Boolean logic tests with operand values that are not limited to just 0 and -1.

Consider the following two test conditions:

test1 = 0 ' test1 is FALSE (zero)

IF NOT test1 THEN ' TRUE (-1 is non-zero)

test2 = 1 ' test2 is TRUE (1 is non-zero)

IF NOT test2 THEN ' still TRUE (-2 is non-zero)

Because NOT performs a bitwise operation on test2 , it does not reverse the logical TRUE/FALSE value of test2 , rather, it returns -2 (the one's-complement of 1) and this is evaluated as a logical TRUE value.

In cases where a proper logical (Boolean) evaluation is required, and the operand may be a value other than 0 and -1, the ISFALSE operator should be used in place of the NOT operator:

test3 = 1 ' test3 is TRUE (non-zero)

IF ISFALSE test3 THEN ' ISFALSE detects test3 is

[ statements ] ' TRUE so the IF test fails

The two's-complement of a value can be obtained with the following algorithm:

y = (NOT x) + 1

Using NOT as a logical operator

NOT returns 0 (FALSE) if and only if its operand is exactly -1 (TRUE). Generally, you should use the ISFALSE operator instead of NOT, when you are testing for logical falsity.

Truth table

Example

#COMPILE EXE
#DIM ALL
' numeric_logical_1
FUNCTION PBMAIN() AS LONG
  IF NOT (((5 > 3) AND (2 < 4)) = TRUE) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • Arithmetic Operators
  • AND
  • EQV
  • IMP
  • ISFALSE and ISTRUE Operators
  • OR
  • IF/END IF
  • XOR


NUL$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

NUL$

Return a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

sResult$ = NUL$( count )

Description

Return a string

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

NUL$ returns a count character string of $NUL characters.

See also

  • CHR$
  • REPEAT$
  • SPACE$
  • STRING$
  • PBXB64 Compiler Help


Data Types - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Data Types

The care of numbers constitutes an important part of every programming system. Fortunately, PowerBASIC allows you to ignore most technical considerations about internal number handling. If you never g

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The care of numbers constitutes an important part of every programming system. Fortunately, PowerBASIC allows you to ignore most technical considerations about internal number handling. If you never g

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

For efficiency, PowerBASIC stores and processes data in different forms. It supports eleven unique numeric types, three string types, and also pointers. The following tables summarize the most important features and distinctions of these data types. The rest of this section explains these features in detail.

Numeric Data storage requirements and ranges

Back to command index


Numeric Equates - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Numeric Equates

PowerBASIC allows you to refer to numeric constants by name. Be aware that equates have global scope ; that is, they are visible throughout your program. Unlike variables , you can use an equate on th

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

PowerBASIC allows you to refer to numeric constants by name. Be aware that equates have global scope ; that is, they are visible throughout your program. Unlike variables , you can use an equate on th

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

%Q = (1& OR 2&) + (NOT 0)

Back to command index


Numeric Operations - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Numeric Operations

The following functions manipulate and manage numeric data:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following functions manipulate and manage numeric data:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Return the absolute value of a numeric expression

AND works as both a logical and a bitwise arithmetic operator

Example

#COMPILE EXE
#DIM ALL
' numeric_arith_plus_0_0
FUNCTION PBMAIN() AS LONG
  IF (0 + 0) <> (0) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


OBJACTIVE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

OBJACTIVE

Return

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

lResult& = OBJACTIVE( prgid$ )

Description

Return

Kind: Function | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Return value: TRUE / FALSE as an indication of the running state of an initialized COM object (EXE based). Syntax lResult& = OBJACTIVE( prgid$ )

OBJACTIVE can provide information that may prove useful in determining whether to use the NEWCOM or GETCOM options with the LET (with Objects) statement. OBJACTIVE may only be used on COM objects that are in EXE format, not DLL/OCX/etc. In the latter case, OBJACTIVE returns FALSE (0).

prgid$

The registered program ID string for the COM object. For example, "Word.Application.8", or a version-independent program ID such as "Word.Application". A valid program ID string can be obtained from a 16-byte class ID string using the PROGID$ function, or derived from a 38 character GUID string using PROGID$ and GUID$ .

See also

  • DIM
  • CLSID$
  • GUID$
  • GUIDTXT$
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ISNOTHING
  • ISOBJECT
  • Just what is COM?
  • LET statement (with Objects)
  • OBJECT
  • OBJEQUAL
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • What Is a COM Component?
  • PBXB64 Compiler Help


OBJECT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

OBJECT

Communicate with a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

OBJECT GET interface . member [. member .] [([[ paramname =] param1 [, ...]])] TO ResultVar
OBJECT LET interface . member [. member .] [([[ paramname =] param1 [, ...]])] = ValueVar
OBJECT SET interface . member [. member .] [([[ paramname =] param1 [, ...]])] = ValueVar
OBJECT CALL interface . member [. member .] [([[ paramname =] param1 [, ...]])] [TO ResultVar ]
OBJECT RAISEEVENT [ interface .] member [([[ paramname =] param1 [, ...]])]

Description

Communicate with a

Kind: Statement | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

There are five general forms of the OBJECT statement which are used to communicate through a Dispatch interface to an object .

OBJECT GET

Retrieve or read the value of an Interface member Property . This is similar to retrieving the value of a variable .

OBJECT LET

Assign or write a value to an Interface member Property. This is similar to assigning a value to a variable.

OBJECT SET

Assign or write a value to an Interface member Property that contains a reference to an object. For example, a reference to another Interface.

OBJECT CALL

Call or execute a member Method of an Interface. This is equivalent to calling a Sub or Function .

OBJECT RAISEEVENT

Call or execute a member Method of a Dispatch event Interface . Because the Dispatch event interface is pre-defined, you are not required to specify the interface name in this form of the statement. However, including it aids in self-documentation of your program. If your program is using a Direct, V-Table event handler you should use the RAISEEVENT statement instead. See the EVENT SOURCE statement for an OBJECT RAISEEVENT example.

All parameters, return values, and assignment values must be in the form of COM -compatible variables. Literals and expressions are not allowed. COM-compatible variables include BYTE , WORD , DWORD , INTEGER , LONG , QUAD , SINGLE , DOUBLE , CURRENCY , POINTER , and VARIANT . You should use caution passing string data since COM Objects require that unicode format be used. When string data is contained in a VARIANT variable, conversion to/from unicode is automatic, and no intervention is needed from the programmer. However, if you pass data in a dynamic string variable, you must use the ACODE$ () and UCODE$ () functions to convert the data to an appropriate format. For this reason, we recommend that string data be passed using VARIANT variables.

Dispatch OBJECT Method calls may be bound at run-time using late binding , which requires no declaration of Properties and Methods . However, for this very reason, the validity of these references can not be verified by PowerBASIC at the time the program is compiled.

The OBJECT statement can use both positional and named parameters, but you should keep in mind that not all COM Dispatch Servers support named parameters. Positional parameters are universally supported.

A positional parameter is simply a variable containing an appropriate value. It is identified by its position in the parameter list, just as in a traditional SUB or FUNCTION. A named parameter consists of a parameter identifier (a name), an equal (=) sign, and a variable containing an appropriate value. Positional parameters must precede any and all named parameters, but named parameters may be specified in any sequence.

Each time you call a Method or Property using the OBJECT statement, a status code is returned in a hidden parameter to indicate the success or failure of the operation. You can retrieve information about this status code with the OBJRESULT function, and also by using the IDISPINFO Dispatch Information Object. If the failure was severe, then a PowerBASIC error 99 (Object Error) is also generated and the ERR system variable is set. You can find more information about these items by referring to OBJRESULT, IDISPINFO, and ERR. This information can be very useful for both debugging and handling run-time errors .

Restrictions

All parameters, return values, and assignment values must be in the form of COM-compatible variables. Use of the wrong member mode (GET/LET/SET/CALL/RAISEEVENT) can sometimes result in unexpected and fatal run-time errors. So, it's usually prudent to test the result code in OBJRESULT after every OBJECT statement.

See also

  • ACODE$
  • DIM
  • CLASS/END CLASS
  • CLSID$
  • EVENT SOURCE
  • IDISPINFO pseudo-object
  • GUID$
  • GUIDTXT$
  • ID Binding
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • Just what is COM?
  • Late Binding
  • LET statement (with Objects)
  • METHOD / END METHOD statements
  • OBJACTIVE
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • PROPERTY / END PROPERTY
  • UCODE$
  • What Is an Object Anyway?
  • What is DISPATCH?
  • PBXB64 Compiler Help


OBJEQUAL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

OBJEQUAL

Check if

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

Result = OBJEQUAL( ObjectVar1 , ObjectVar2 )

Description

Check if

Kind: Function | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Compares two object variables to determine if they refer to the same object. It returns true (-1) if both refer to the same object (or both refer to NOTHING); otherwise it returns false (0).

If the two object variables refer to the same class, but not the same specific object, false (0) is returned.

See also

  • BITSE
  • PBXB64 Compiler Help


OBJPTR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

OBJPTR

Return an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ObjectPointer??? = OBJPTR( objectvar )

Description

Return an

Kind: Function | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

OBJPTR returns the object pointer as a Double-word ( DWORD ) value.

See also

  • DIM
  • CLSID$
  • GUID$
  • GUIDTXT$
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • LET statement (with Objects)
  • OBJECT
  • OBJACTIVE
  • OBJEQUAL
  • OBJRESULT
  • PROGID$
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


OBJRESULT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

OBJRESULT

Returns a status code (hResult) to describe the success or failure of the most recent

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

lResult& = OBJRESULT

Description

Returns a status code (hResult) to describe the success or failure of the most recent

Kind: Function | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

An Automation procedure is a METHOD or PROPERTY on an IAUTOMATION , IDISPATCH , or DUAL interface. By definition, an Automation procedure always returns a hidden result code which is cryptically called an hResult . OBJRESULT the most recent hResult generated by the program, and can be used to identify the success or failure of an operation.

If an Automation procedure fails with a severe error, the ERR system variable is set to an appropriate PowerBASIC error code. This is usually Error 99 ("Object error"). In such cases, you can use the OBJRESULT function to return the result (hResult&) of the last run-time OBJECT statement or direct METHOD/PROPERTY reference.

Numeric equates for most OBJRESULT errors can be found in the WIN32API.INC file, and are mostly prefixed with %E_, %CO_, %OLE_, and %DISP_. The following list includes the most common codes that may be returned by a direct call of a Method or Property:

%S_OK = &H0

%S_FALSE = &H1

%E_UNEXPECTED = &H8000FFFF&

%E_NOTIMPL = &H80004001&

%E_NOINTERFACE = &H80004002&

%E_POINTER = &H80004003&

%E_ABORT = &H80004004&

%E_FAIL = &H80004005&

%E_ACCESSDENIED = &H80070005&

%E_HANDLE = &H80070006&

%E_OUTOFMEMORY = &H8007000E&

%E_INVALIDARG = &H80070057&

This list tells the most common status codes which may be returned by a DISPATCH call using the OBJECT statement:

%S_OK = &H0

%DISP_E_ARRAYISLOCKED = &H8002000D

%DISP_E_BADINDEX: = &H8002000B

%DISP_E_BADPARAMCOUNT = &H8002000E

%DISP_E_BADVARTYPE = &H80020008

%DISP_E_EXCEPTION = &H80020009

%DISP_E_MEMBERNOTFOUND = &H80020003

%DISP_E_NONAMEDARGS = &H80020007

%DISP_E_OVERFLOW = &H8002000A

%DISP_E_PARAMNOTFOUND = &H80020004

%DISP_E_TYPEMISMATCH = &H80020005

%DISP_E_UNKNOWNINTERFACE = &H80020001

%DISP_E_UNKNOWNLCID = &H8002000C

%DISP_E_UNKNOWNNAME = &H80020006

%DISP_E_PARAMNOTOPTIONAL = &H8002000F

If the status code %DISP_E_EXCEPTION is returned, you can use the IDISPINFO object to secure much additional information about the status. This includes a more specific error code, a description, help file information, etc. If the status code %DISP_E_PARAMNOTFOUND or %DISP_E_TYPEMISMATCH, you can use IDISPINFO.PARAM to determine which parameter actually caused the problem. Please refer to the IDISPINFO section for more details.

As can be seen from the above lists, a large numeric status code can be cryptic. However, you can translate the OBJRESULT code into a descriptive message using the OBJRESULT$ function. This can be most helpful, especially during application development and debugging .

Restrictions

Methods and Properties on a custom interface (a direct interface based upon IUnknown rather than IDispatch) do not support OLE Automation, and do not return an OBJRESULT (hResult).

See also

  • DIM
  • CLASS/END CLASS
  • CLSID$
  • IDISPINFO pseudo-object
  • GUID$
  • GUIDTXT$
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • LET statement (with Objects)
  • METHOD / END METHOD statements
  • PROPERTY / END PROPERTY
  • OBJECT
  • OBJACTIVE
  • OBJEQUAL
  • OBJPTR
  • OBJRESULT$
  • PROGID$
  • What Is an HRESULT?
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


OBJRESULT$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › COM & Objects PBXB64 Compiler Help

OBJRESULT$

Returns a string which describes an

Chapter: COM & Objects | Certification: [CERTIFIED TESTED]

Syntax

text$ = OBJRESULT$([ nexp& ])

Description

Returns a string which describes an

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This function returns a text string which describes the hResult code specified by nexp&. If the parameter nexp& is omitted, it is replaced by the most recent OBJRESULT value. That is, OBJRESULT$() is identical to OBJRESULT$(OBJRESULT).

See also

  • DIM
  • CLASS/END CLASS
  • CLSID$
  • IDISPINFO pseudo-object
  • GUID$
  • GUIDTXT$
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • LET statement (with Objects)
  • METHOD / END METHOD statements
  • PROPERTY / END PROPERTY
  • OBJECT
  • OBJACTIVE
  • OBJPTR
  • OBJRESULT
  • PROGID$
  • What Is an HRESULT?
  • What Is an Object Anyway?
  • PBXB64 Compiler Help
Back to top


OCT$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

OCT$

Convert an integral value to an octal string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = OCT$( IntVal [, Digits , LeadSpaces , TrailSpaces ])

Description

Convert an integral value to an octal string

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

IntVal is a integral expression in the range of a 64-bit Quad Integer (-9223372036854775808 to +9223372036854775807). Any fractional part of the value is rounded. The result string is always formatted as an integral number using all the significant digits in IntVal. It is never expressed in scientific notation.

If Digits is 0 (or not given), no leading characters will be added to the numeric field. If Digits is a positive number greater than 0, the result string will be prepended with leading zeros to achieve the desired length. If Digits is a negative number, leading spaces are added to reach the absolute length. Digits may be in the range of -22 to +22.

LeadSpaces specifies additional leading spaces to be prepended, regardless of the length of the numeric portion of the string.

TrailSpaces specifies additional trailing spaces to be appended to the end of the string.

See also

  • BIN$
  • DEC$
  • FORMAT$
  • HEX$
  • STR$
  • TRIM$
  • USING$
  • VAL
  • PBXB64 Compiler Help


ODE_RK4 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ODE_RK4

Scalar ODE solvers using explicit Runge-Kutta methods (RK2 through RK5).

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

result = ODE_RK2(t0, y0, h, CODEPTR(deriv))
result = ODE_RK3(t0, y0, h, CODEPTR(deriv))
result = ODE_RK4(t0, y0, h, CODEPTR(deriv))
result = ODE_RK5(t0, y0, h, CODEPTR(deriv))

Description

Scalar ODE solvers using explicit Runge-Kutta methods (RK2 through RK5).

Kind: Builtin Functions | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Parameters

Parameter | Type | Description
t0 | DOUBLE | Initial time value.
y0 | DOUBLE | Initial state value at t0.
h | DOUBLE | Step size (time increment).
CODEPTR(deriv) | function pointer | Address of a PB FUNCTION that computes dy/dt.

Description

Each function performs a single explicit Runge-Kutta integration step for a scalar ordinary differential equation:

dy/dt = f(t, y)

The callback function deriv must have the signature:

FUNCTION deriv(t AS DOUBLE, y AS DOUBLE) AS DOUBLE
  deriv = ...  ' return dy/dt
END FUNCTION

Use CODEPTR(deriv) to pass the function address to the solver. The Win64 calling convention ensures that PB FUNCTION parameters and return values are compatible with C function pointers.

Available Methods

Function | Stages | Order | Typical Error (h=0.1)
ODE_RK2 | 2 | 2nd | O(h³) ~ 10⁻⁴
ODE_RK3 | 3 | 3rd | O(h⁴) ~ 10⁻⁶
ODE_RK4 | 4 | 4th | O(h⁵) ~ 10⁻⁸
ODE_RK5 | 6 | 5th | O(h⁶) ~ 10⁻¹⁰

Return Value

Returns DOUBLE — the state value at t0 + h.

Notes

  • The callback function must be a top-level FUNCTION (not a SUB or GOSUB).
  • The callback signature is strictly FUNCTION name(t AS DOUBLE, y AS DOUBLE) AS DOUBLE.
  • Multiple steps can be chained in a loop for time-domain simulation.
  • RK4 is the recommended general-purpose choice (good balance of accuracy and speed).
  • RK5 provides higher accuracy for long simulations where error accumulates.

Example

#COMPILE EXE
#DIM ALL
FUNCTION deriv(t AS DOUBLE, y AS DOUBLE) AS DOUBLE
  deriv = 0 - y   ' dy/dt = -y  (exponential decay)
END FUNCTION

FUNCTION PBMAIN() AS LONG
  LOCAL r2 AS DOUBLE, r3 AS DOUBLE, r4 AS DOUBLE, r5 AS DOUBLE
  r2 = ODE_RK2(0.0, 1.0, 0.1, CODEPTR(deriv))
  r3 = ODE_RK3(0.0, 1.0, 0.1, CODEPTR(deriv))
  r4 = ODE_RK4(0.0, 1.0, 0.1, CODEPTR(deriv))
  r5 = ODE_RK5(0.0, 1.0, 0.1, CODEPTR(deriv))
  PRINT "RK2="; r2
  PRINT "RK3="; r3
  PRINT "RK4="; r4
  PRINT "RK5="; r5
  PBMAIN = 0
END FUNCTION

See also

  • DEC128
  • RATIONAL
  • BASIC Math Functions
  • PBXB64 Compiler Help


OemToChr$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

OemToChr$

Translates a byte string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

a$ = OemToChr$( OemExpr$ )
a$$ = OemToChr$(GRAPHIC, OemExpr$ )

Description

Translates a byte string

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

OemExpr$ contains a series of byte (8-bit) characters in OEM format. OemToChr$ translates it into either ANSI multi-byte equivalent characters or WIDE (16-bit) Unicode characters, depending upon the context of the source code. PowerBASIC will always choose the correct form with no intervention needed by the programmer. Control codes, CHR$(0) to CHR$(31) and CHR$(127), are handled uniquely, as they are normally considered to be non-printing characters. By default, they are just copied, without any translation.

GRAPHIC

If the option GRAPHIC is included, it indicates you want to convert control codes into the codes which will display the graphic symbols defined in the original IBM OEM character set. Most of these codes are only available as wide Unicode characters.

See also

  • ChrToOem$
  • ChrToUtf8$
  • Utf8ToChr$
  • PBXB64 Compiler Help


ON - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ON

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

ON ERROR GOTO handler

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ON ERROR - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Error Handling PBXB64 Compiler Help

ON ERROR

Specify an

Chapter: Error Handling | Certification: [CERTIFIED TESTED]

Syntax

ON ERROR GOTO { label | line_number }
ON ERROR RESUME NEXT
ON ERROR GOTO 0

Description

Specify an

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

label or line_number identifies the first line of the error trapping routine. Once error handling has been turned on with this statement, all run-time errors result in a jump to your error handling code. When the error handler begins execution, additional error trapping is temporarily suspended. When your error handling is complete, you must use the RESUME statement (any form) to continue execution. RESUME reactivates the temporary suspension of error trapping.

You must use additional care when you trap an error within a GOSUB block of code, because a RETURN address has been saved on the system stack . If you use a form of RESUME which re-enters the GOSUB block, a RETURN will still be executed later, and the stack will be balanced. However, if RESUME <Label> or RESUME FLUSH redirects execution elsewhere, you must use RETURN FLUSH to remove the return address from the stack.

To disable error trapping, use ON ERROR GOTO 0 or ON ERROR RESUME NEXT. You can use this technique if an error occurs for which you have not defined a recovery path; you can also choose to display the contents of ERR or ERRCLEAR at this time.

The default for error trapping is disabled. If an error occurs while error trapping is disabled, the error code is placed into the ERR system variable, and execution continues. Errors can still be trapped by checking the value of the ERR or ERRCLEAR variable with IF ERR THEN or SELECT CASE ERR statements.

Error trapping is local to each Sub , Function , Method , and Property . PowerBASIC does not support global error trapping.

Numeric errors such as Divide-by-zero, Overflow and Underflow are not trapped. Array out-of-bounds and null-pointer trapping are only enabled if #DEBUG ERROR ON is used.

If you're running a program with error trapping turned off, a run-time error may cause a General Protection Fault (GPF). A GPF cannot be trapped with ON ERROR.

It is not possible to branch to an error handler from within an expression. The compiler tests for an error only after the statement is completed. This means that a statement such as:

ON ERROR GOTO ErrorHandlerLabel

IF GETATTR( sFile ) THEN

' Do something

END IF

will generate an Error 53 when sFile does not exist, but will not branch to the ErrorHandlerLabel . This is because the GETATTR ( sFile ) is an expression in the IF/ END IF block. You could do a

ON ERROR GOTO ErrorHandlerLabel

a& = GETATTR(sFile)f

IF a& THEN

' Do something

END IF

which will branch to the ErrorHandlerLabel if sFile does not exists. You could also check the value of the ERR variable or use a TRY/ END TRY block to see if an error occurred when checking for errors that occur during an expression.

See also

  • #DEBUG DISPLAY
  • #DEBUG ERROR
  • ERR system variable
  • ERROR$
  • Error Overview
  • Error Trapping
  • RESUME
  • PBXB64 Compiler Help


ON GOSUB - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ON GOSUB

Call one of several subroutines according to the value of a numeric expression.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ON n GOSUB { label | line_number } [, { label | line_number }] ...

Description

Call one of several subroutines according to the value of a numeric expression.

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

n is a numeric expression ranging from 1 to 255, and each label or line number identifies a statement to branch to. When this statement is encountered, the n th label in the list is branched to; for example, if n equals 4, the fourth label in the list receives control. If n is less than one or greater than the number of labels, no branch occurs, and PowerBASIC continues execution with the statement immediately following the ON GOSUB statement.

Each subroutine should end with RETURN , which causes execution to resume with the statement immediately following the ON GOSUB statement. ON GOSUB can only branch to labels or line numbers that have the same scope as the ON GOSUB statement.

The SELECT and IF blocks also perform multiple branching and are more flexible than ON GOSUB.

Note that ON GOSUB (and ON GOTO ) have been internally optimized to produce greater run-time performance than was possible with previous versions of PowerBASIC.

See also

  • GOSUB
  • FUNCTION/END FUNCTION statements
  • IF/END IF
  • METHOD / END METHOD statements
  • ON GOTO
  • PROPERTY / END PROPERTY
  • RETURN
  • SELECT CASE/END SELECT
  • SUB/END SUB statements
  • PBXB64 Compiler Help


ON GOTO - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ON GOTO

Send program flow to one of several possible destinations based on the value of a boolean

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ON n GOTO { label | line_number } [, { label | line_number }] ...

Description

Send program flow to one of several possible destinations based on the value of a boolean

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

n is a numeric expression ranging from 1 to 255, and label or line_number identifies a statement in the program to branch to. The n th label is branched to; for example, if n equals 4, the fourth label in the list receives control. If n is less than one or greater than the number of labels in the list, program execution continues with the statement that immediately follows the ON GOTO statement.

ON GOTO behaves exactly like ON GOSUB , except that it performs a GOTO rather than a GOSUB. This means that the program retains no memory of where the branch originated. ON GOTO can only branch to labels or line numbers that have the same scope as the ON GOTO statement.

The SELECT and IF blocks also perform multiple branching, and are more flexible than ON GOTO. See the GOTO entry for a discussion of ways to avoid using GOTOs in your programs.

Note that ON GOTO (and ON GOSUB) have been internally optimized to produce greater run-time performance than was possible with previous versions of PowerBASIC.

See also

  • GOTO
  • IF/END IF
  • ON GOSUB
  • SELECT CASE/END SELECT
  • PBXB64 Compiler Help


ON KEY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ON KEY

Register a keyboard event hook that calls a PB subroutine on key down or key up.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ON KEY DOWN CALL SubName
ON KEY UP   CALL SubName
ON KEY DOWN CALL SubName(BYVAL vk AS LONG)
ON KEY UP   CALL SubName(BYVAL vk AS LONG)
ON KEY DOWN CALL SubName(BYVAL vk AS LONG, BYVAL ascCode AS LONG)
ON KEY UP   CALL SubName(BYVAL vk AS LONG, BYVAL ascCode AS LONG)

Description

Register a keyboard event hook that calls a PB subroutine on key down or key up.

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

DOWN

Installs a low-level keyboard hook that calls SubName whenever a key is pressed.

UP

Installs a low-level keyboard hook that calls SubName whenever a key is released.

SubName

The name of a PB SUB defined in the same module. The SUB may be parameterless, or accept one or two BYVAL AS LONG parameters:

  • 0 parameters - backward-compatible parameterless handler. No key information is passed.
  • 1 parameter - receives the Windows virtual-key code (VK code) of the pressed or released key. For example, 65 for the A key, 32 for Space, and 112 for F1.
  • 2 parameters - first parameter receives the VK code, second parameter receives the ASCII/character code converted from the VK code using the current keyboard layout. For letter and digit keys the two values coincide (e.g. both are 65 for unshifted A), but for shifted keys the second parameter reflects the shifted character (e.g. 33 for '!' when Shift+1 is pressed). Special keys (arrows, function keys, etc.) that have no ASCII equivalent return 0 in the second parameter.

The conversion from VK code to ASCII is performed internally by the runtime using MapVirtualKeyA with the current keyboard layout. Dead keys return 0 in the second parameter.

Parameterless handlers are still supported for backward compatibility. In that case, use global or shared state if the handler needs to communicate with the rest of the program.

The hook is installed during program startup and remains active until the process exits. Because the callback runs on a system thread, keep the handler short and do not perform blocking operations inside it.

Restrictions

Only a single handler per direction is supported. Registering a second handler for the same direction replaces the previous one.

The callback SUB, if it has parameters, must declare them as BYVAL AS LONG (or a compatible integer type: INTEGER, DWORD, BYTE, WORD, QUAD). BYREF parameters are not allowed.

See also

  • ON GOTO
  • ON GOSUB
  • EVENTS
  • RAISEEVENT
  • PBXB64 Compiler Help


ON MOUSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ON MOUSE

Register a low-level mouse hook that calls a PB subroutine on mouse events.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ON MOUSE CALL SubName
ON MOUSE MOVE CALL SubName
ON MOUSE DOWN CALL SubName
ON MOUSE UP CALL SubName
ON MOUSE WHEEL CALL SubName
ON MOUSE CALL SubName(BYVAL x AS LONG)
ON MOUSE CALL SubName(BYVAL x AS LONG, BYVAL y AS LONG)
ON MOUSE CALL SubName(BYVAL x AS LONG, BYVAL y AS LONG, BYVAL event AS LONG)

Description

Register a low-level mouse hook that calls a PB subroutine on mouse events.

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

MOVE

Calls SubName whenever the mouse cursor moves.

DOWN

Calls SubName whenever any mouse button is pressed (left, right, or middle). The event parameter tells you which button.

UP

Calls SubName whenever any mouse button is released. The event parameter tells you which button.

WHEEL

Calls SubName whenever the mouse wheel is scrolled.

no direction

ON MOUSE CALL SubName without a direction keyword catches all mouse events: move, all button down/up, and wheel.

SubName

The name of a PB SUB defined in the same module. The SUB may be parameterless or accept 1, 2, or 3 BYVAL AS LONG parameters:

  • 0 parameters — no mouse information is passed.
  • 1 parameter — receives the X screen coordinate of the mouse cursor.
  • 2 parameters — first receives X, second receives the Y screen coordinate.
  • 3 parameters — first = X, second = Y, third = event code. Event codes are:
    • 1 = MOVE
    • 2 = LBUTTONDOWN
    • 3 = LBUTTONUP
    • 4 = RBUTTONDOWN
    • 5 = RBUTTONUP
    • 6 = MBUTTONDOWN
    • 7 = MBUTTONUP
    • 8 = WHEEL

Coordinates are in screen pixels (not client-relative). The hook is installed during program startup and remains active until the process exits. Because the callback runs on a system thread, keep the handler short and do not perform blocking operations inside it.

Restrictions

Only a single handler is supported. Registering a second handler replaces the previous one.

The callback SUB, if it has parameters, must declare them as BYVAL AS LONG (or a compatible integer type: INTEGER, DWORD, BYTE, WORD, QUAD). BYREF parameters are not allowed.

See also

  • ON KEY
  • ON GOTO
  • ON GOSUB
  • PBXB64 Compiler Help


Opcodes and Mnemonics - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Opcodes and Mnemonics

At the hardware level in an Intel or compatible processor, instructions are built directly into the CPU circuitry and these are represented by opcodes .

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

At the hardware level in an Intel or compatible processor, instructions are built directly into the CPU circuitry and these are represented by opcodes .

Kind: Keyword | Category: Inline Assembler

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

While assembly code can be written at the Byte level, it is a particularly complex method of writing code since it involves memorizing a very large number of opcodes. Additionally, such program code must use the Intel numeric ( little-endian ) data format. With little-endian, multi-byte numeric values are stored in reverse order to usual human representation.

For example, to copy the 32-bit value &H56A700FE into the EAX register (MOV EAX, &H56A700FE), you must first find the opcode for the MOV EAX mnemonic (&HA1) followed by the data in reverse order (&HFE, &H00, &HA7, and &H56).

In hex format, the whole instruction would look like this:

Back to command index


OPEN - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › File I/O PBXB64 Compiler Help

OPEN

Prepare a

Chapter: File I/O | Certification: [CERTIFIED TESTED]

Syntax

OPEN filespec [FOR mode ] [ACCESS access ] [LOCK lock ] AS _
[#] filenum& [LEN = record_size ] [BASE = base ] [CHR = ANSI|WIDE]
OPEN HANDLE filehandle [FOR mode ] [ACCESS access ] [LOCK lock ] AS _

Description

Prepare a

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The main function of OPEN is to associate a file number ( filenum& ) with a file or physical device and to prepare that device for reading and/or writing. This file number is then used, rather than its name, in every statement that refers to the file. The FREEFILE function can be used to determine the next unused file number, or you can pick one yourself. An OPEN statement is usually balanced by a matching CLOSE statement. The OPEN statement comprises the following elements:

filespec

A string expression specifying the name of the file to be opened, and may optionally include a drive and/or path specification. filespec may be either a Short File Name (SFN) or a Long File Name (LFN). filespec has a limit of 259 characters (%MAX_PATH - 1), although the file name portion of filespec may be no more than 255 characters (%MAX_FNAME - 1).

Specifies the file organization and style of access ( sequential , random access , or binary ) for reading, writing (or both), or appending. If mode is not specified, the default is RANDOM access.

File type

Action

Sequential

Read from

OUTPUT

Sequential

Write to

APPEND

Sequential

Append to

BINARY

Binary

Reading or writing

RANDOM

Random

Reading or writing (default)

access

Specifies the type of access this process will have to the file. By default, the file may be written to and read from.

Access

Description

Only read operations allowed

Only write operations allowed

READ WRITE

Both read and write operations allowed (default)

Note that APPEND mode requires READ/WRITE access.

Specifies the type of access other processes will have to the file. If a LOCK clause is not specified in the OPEN statement, the default LOCK READ WRITE mode is applied. This mode ensures exclusive access to the file, and enables PowerBASIC to optimize its internal buffering for utmost I/O performance. If other processes or threads are to be permitted WRITE access to the file (LOCK SHARED or LOCK READ), internal buffering is disabled. Whilst performance may be marginally lower, it ensures that data read from the file is completely up-to-date.

Description

SHARED

Both read and write operations allowed

Prevent write operations

Prevent read operations

READ WRITE

Neither read nor write operations allowed (default)

To open a text file for OUTPUT and allow other processes to only read the file, use the following:

OPEN "MYFILE.TXT" FOR OUTPUT LOCK WRITE AS #1

It is possible for an application to open more than one copy of a given file at the same time. In this case, each OPEN statement must use a unique file number, and LOCK READ WRITE mode should not be used.

filenum&

A unique integer value identifying the file, in the range 1 to 32767. Typically, this value is obtained from the FREEFILE function.

record_size

Specifies the size of each record of a random access file. The default record length is 128 if not specified. If record_size is specified for a sequential file, it instructs PowerBASIC to use internal buffering to improve I/O performance. A random access file is limited to 32768 bytes per record, to ensure consistent behavior across all Win32 platforms.

Specifies the number of the first record in a random access file, or the number of the first byte in a sequential or binary file. It can be either zero (0) or one (1). The default value for base is 1, if not specified.

Specifies the character mode for this file: ANSI or WIDE (Unicode). Since sequential files consist of text alone, the selected mode is enforced by PowerBASIC. All data read or written to the file is automatically forced to the selected mode, regardless of the type of variables or expressions used. With binary or random files, this specification has no effect, but it may be included in your code for self-documentation purposes.

ANSI characters in the U.S. range of CHR$ (0) to CHR$(127) are known as ASCII , and are always represented by a single byte. International ANSI characters in the range of CHR$(128) to CHR$(255) may be followed by one or more additional bytes in order to accurately represent non-U.S. characters. The exact definition of these characters depends upon the character set in use. WIDE characters are always represented by two bytes per character. If the Chr option is not specified, the default mode is ANSI.

HANDLE

The HANDLE option allows you to access files that have already been opened by another process, DLL, or API function. The filehandle specified here must be a valid Win32 operating system file handle.

When PowerBASIC closes a file opened with OPEN HANDLE, the Win32 handle is simply detached from the internal PowerBASIC handle table. The file is not physically closed since PowerBASIC did not originally open it. In PowerBASIC, the FILEATTR function can be used to obtain the operating system file handle for a file opened with the OPEN statement.

Restrictions

Attempting to OPEN a file for INPUT that does not exist causes a run-time Error 53 ("File not found"). Attempting to open a file that is locked can result in either an Error 70 ("Permission denied"), or an Error 75 ("Path/file access error"). Similarly, attempting to OPEN a file using a file number that is already in use will result in a run-time Error 55 ("File is already open "). For this reason, programs that use hard-coded file numbers should take special care to close files before the file number is used again. In addition, code that may be used by more than one thread should use FREEFILE and avoid hard-coded file numbers.

If you try to open a nonexistent file for OUTPUT, APPEND, RANDOM, or BINARY operations, a new file is automatically created. For this reason, files on Read-only network drives may only be opened in INPUT mode.

See also

  • CLOSE
  • FILEATTR
  • FILENAME$
  • FILESCAN
  • FREEFILE
  • TCP OPEN
  • UDP OPEN
  • PBXB64 Compiler Help


Opening a communications port - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Opening a communications port

Before we can actually open a communications port , we must first obtain a PowerBASIC file number so we may manage input and output to the communications port. The best method of obtaining a file numb

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Before we can actually open a communications port , we must first obtain a PowerBASIC file number so we may manage input and output to the communications port. The best method of obtaining a file numb

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The general way of opening a communications port in a PowerBASIC program is with a COMM OPEN statement. The syntax is similar to a simple random-access file OPEN, where n is the communications port number

COMM OPEN "COMn" AS #hComm

Back to command index


Opening a type-library - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Opening a type-library

The PowerBASIC COM Browser supports opening both registered an unregistered Type Libraries . A registered type library can be opened from the Registered Type Library view or by clicking the Open butto

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The PowerBASIC COM Browser supports opening both registered an unregistered Type Libraries . A registered type library can be opened from the Registered Type Library view or by clicking the Open butto

Kind: Statement | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The PowerBASIC COM Browser User Interface

Saving the Source Code

What is an object, anyway?

Back to command index


Operating System - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Operating System

The following functions manipulate file and operating system features:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following functions manipulate file and operating system features:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Change the current (default) directory on a given drive.

Change the current default drive.

Back to command index


Operator Precedence - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Operator Precedence

For example, the expression 3+6 / 3 evaluates to 5, not 3. Division has a higher priority than addition, so the division operation (6 / 3) is performed first. Even though the compiler will not get con

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

For example, the expression 3+6 / 3 evaluates to 5, not 3. Division has a higher priority than addition, so the division operation (6 / 3) is performed first. Even though the compiler will not get con

Kind: Operator | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

To handle operations of the same priority, PowerBASIC proceeds from left to right. For example, in the expression 4 - 3 + 6, the subtraction (4 - 3) is performed before the addition (3 + 6), producing the intermediate expression 1 + 6.

Operations inside parentheses are of the highest priority and are always evaluated first. Within parentheses, standard precedence is used. Use parentheses like garlic: generously, but not to excess.

Another example of the effect of Order of Precedence on an expression follows:

Example

#COMPILE EXE
#DIM ALL
' numeric_precedence_0
FUNCTION PBMAIN() AS LONG
  IF (1 + 2 * 3) <> (7) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


#OPTIMIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#OPTIMIZE

Choose the optimization which should be applied to your program.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#OPTIMIZE CODE [ON | OFF]
#OPTIMIZE {SIZE | SPEED}

Description

Choose the optimization which should be applied to your program.

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The #OPTIMIZE metastatement is used to tell the compiler your preferences in regards to the optimization of generated code. You can specify optimization for either execution speed or smaller code size.

The first form of the directive (CODE) tells the compiler whether unreferenced code should be removed from the compiled program to minimize the executable file size. This option defaults to ON as there are few reasons to disable it (other than curiosity as to the effectiveness). Regardless of the compiled module type ( SLL , DLL , or EXE), PowerBASIC removes every unneeded:

Function

FastProc

Method

Property

String Literal

Numeric Literal

Static Link Library

Extraction is always performed on a procedure basis, not an entire class. If you have a CLASS with 50 Methods, but only one is ever called, the other 49 are removed entirely. This level of granularity is particularly important with your personal code library of general purpose functions. You can include them all, and PowerBASIC will use just the minimum necessary. If you generate a log file (using the /L command line option), a list of the extracted procedures, classes, and SLL modules is provided.

The second form of the directive (SIZE/SPEED) tells the compiler whether you want additional optimization for execution speed or smaller total code size. If not used, the default is to choose faster code speed.

If you choose the SPEED option, one of the primary actions of the compiler is to align heavily used code sections on an address boundary which is most beneficial to the CPU/FPU.

In some cases, the speed of loop mechanisms ( FOR/NEXT , DO/UNTIL ...) can be improved by as much as 100%, and occasionally even more.

Restrictions

#OPTIMIZE SIZE | SPEED can only be executed once and must precede all executable code. If #OPTIMIZE is omitted, the default condition is #OPTIMIZE SPEED.

See also

  • #ALIGN
  • ASM
  • PBXB64 Compiler Help


#OPTION - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Preprocessor & Metastatements PBXB64 Compiler Help

#OPTION

Establish various compiler options.

Chapter: Preprocessor & Metastatements | Certification: [CERTIFIED TESTED]

Syntax

#OPTION {LARGEMEM32 | VERSION3 | VERSION4 | VERSION5 | WIN95 | ANSIAPI}

Description

Establish various compiler options.

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

#OPTION LARGEMEM32

For 32-bit Windows applications, this option sets the "Large Memory Model" flag. This allows your application to use more than the original limit of 2 Gigabytes of memory. Depending upon the version of Windows in use, and the installed memory, the exact increase may vary from computer to computer. In most cases, you will likely be limited to a total of approximately 3 Gigabytes.

#OPTION VERSION3, VERSION4, VERSION5

When the #OPTION metastatement is used with any one of the VERSION directives, it controls the "minimum Windows version" tag that is written into your compiled code. If the version you select is equal or lower to the version of Windows that is running, the application will be executed. In turn, Windows will tailor the messages it sends to your program according to this version number, so your program will not need to handle messages from a later Windows version. The version tag may also affect the appearance and behavior of Windows common dialogs.

Conversely, if the version tag you select is higher than the version of Windows that is running, Windows will display an error message instead of running your application. For example, running a VERSION5 application on a VERSION4 platform would fail. It is your responsibility to make sure that your program only uses the Windows features that are present in the specified version of Windows. For example, don't call an API that's present only in Windows XP, if you want your program to run under Windows 98.

#OPTION VERSION3

Use #OPTION VERSION3 to make the compiled output file require a minimum of Windows 95 or NT 3.1. That includes Windows 95, 98, ME, Windows NT 3.1-4.0, Windows 2000, XP, Windows 2003, Windows Vista, Windows 7, and later.

#OPTION VERSION4

Use #OPTION VERSION4 (default) to make the compiled output file require a minimum of Windows 95 or NT4. That includes Windows 95, 98, ME, Windows NT 4.0, Windows 2000, XP, Windows 2003, Windows Vista, Windows 7, and later.

#OPTION VERSION5

Use #OPTION VERSION5 to make the compiled output file require a minimum of Windows 2000. That includes Windows 2000, XP, Windows 2003, Windows Vista, Windows 7, and later.

#OPTION WIN95

Windows95, Windows98, and Windows ME do not offer Unicode support for Windows API functions. Normally, that would make it possible to execute your compiled programs on these operating systems, as this version of PowerBASIC offers complete support for Wide Unicode text. However, if you specify #OPTION WIN95 in your source code, PowerBASIC will include a complete Unicode emulation package in your executable or DLL to allow them to run properly on these operating systems, This option will cause your code to be a bit larger, so it should only be used where necessary.

#OPTION ANSIAPI

This version of PowerBASIC offers complete support for Wide Unicode text, so it follows that the internal runtime library would call Unicode versions of functions in the Windows API. In some fairly rare cases, this could cause an incompatibility with code you have written, if your code calls ANSI functions in the Windows API. If you specify #OPTION ANSIAPI in your source code, PowerBASIC will call only ANSI versions of these functions. This option will cause your code to be a bit larger, so it should only be used when needed.

Back to command index


OPTION EXPLICIT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

OPTION EXPLICIT

Force explicit declaration of all

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

OPTION EXPLICIT

Description

Force explicit declaration of all

Kind: Statement | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Using OPTION EXPLICIT in a program has the same effect as using the #DIM ALL metastatement. That is, it requires that all variables be declared before they are used.

When this option is used, the compiler generates a compile-time error if a variable or array is used without being explicitly declared.

See also

  • DIM
  • PBXB64 Compiler Help


Options Dialog - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Options Dialog

This topic describes the options available to customize the output of the source code generated by the PowerBASIC COM Browser.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

This topic describes the options available to customize the output of the source code generated by the PowerBASIC COM Browser.

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Always use an Interface Prefix

This option prefixes all Interface names with the text specified in the Interface Prefix textbox. This is useful when using multiple type libraries in a project and there are conflicts with duplicate Interface names.

Only When the Interface contains an illegal name

This option prefixes Interface names, only when they contain illegal characters or conflict with a reserved keyword.

Back to command index


OR - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Operators PBXB64 Compiler Help

OR

The OR operator works as both a logical and a bitwise

Chapter: Operators | Certification: [CERTIFIED TESTED]

Syntax

p OR q

Description

The OR operator works as both a logical and a bitwise

Kind: Operator | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Using OR as a logical operator

OR returns TRUE (non-zero) if and only if either or both of its operands is TRUE. Here is OR's truth table:

Truth table

x OR y

Example

#COMPILE EXE
#DIM ALL
' numeric_logical_1
FUNCTION PBMAIN() AS LONG
  IF NOT (((5 > 3) AND (2 < 4)) = TRUE) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • Arithmetic Operators
  • AND
  • EQV
  • IMP
  • ISFALSE and ISTRUE Operators
  • LET
  • NOT
  • XOR


#PAGE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#PAGE

Sets a page boundary for the PowerBASIC

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#PAGE

Description

Sets a page boundary for the PowerBASIC

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]


Parameters passed by reference or by copy - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Parameters passed by reference or by copy

When a parameter is passed by reference (the default method), PowerBASIC passes a 32-bit pointer on the stack . That pointer is the actual 32-bit offset, or memory location, of the variable to be util

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

When a parameter is passed by reference (the default method), PowerBASIC passes a 32-bit pointer on the stack . That pointer is the actual 32-bit offset, or memory location, of the variable to be util

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

SUB MyProc(xyz&) ' This will increment the

' parameter variable by one

Back to command index


PARSE$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

PARSE$

Return a delimited field from a

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

a$ = PARSE$( string_expr [, {[ANY] string_delimiter | BINARY }] , index& )

Description

Return a delimited field from a

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

PARSE$ uses the following parameters:

string_expr

The string to parse. If string_expr is empty (a null string) or contains no delimiter character(s), the string is considered to contain exactly one field. In this case, PARSE$ will return string_expr.

string_delimiter

Contains delimiter character(s). A delimiter is a character, list of characters, or string, that is used to mark the end of a field in string_expr . For example, if you consider a sentence to be a list of words, the delimiter between the works is a space (or perhaps punctuation). Text files typically consist of lines that are delimited by CR/LF ( $CRLF or CHR$ (13,10)) characters; a database file may consist of items separated by commas; etc. A delimiter is not considered part of a field, but as the divider between fields, so the delimiter is never returned by PARSE$.

If delim$ is not specified or is null (zero-length), standard comma-delimited (optionally quoted) fields are presumed. In this case only, the following parsing rules apply. If a standard field is enclosed in optional quotes, they are removed. If any characters appear between a quoted field and the next comma delimiter, they are discarded. If no leading quote is found, any leading or trailing blank spaces are trimmed before the field is returned.

Delimiters are case-sensitive, so capitalization may be a consideration.

If the ANY keyword is used, string_delimiter contains a set of characters, any of which may act as a delimiter character. If the ANY keyword is omitted, the entire string_delimiter string acts as a single delimiter.

BINARY

The BINARY option presumes that string_expr was created with the JOIN$/BINARY function, or its equivalent, which creates a string as a binary image or in the PowerBASIC and/or Visual Basic packed string format: If a string is shorter than 65535 bytes, it starts with a 2-byte length WORD followed by the string data. Otherwise it will start a 2-byte value of 65535, followed by a DWORD indicating the string length, then finally the string data itself.

index&

An integral variable or expression that specifies the delimited field number to return. The first field is 1, and so on up to the maximum number of fields contained in string_expr, which may be determined with the PARSECOUNT function. If index& is negative, string_expr is parsed from right to left. In this case, index& = -1 returns the last field in string_expr, -2 returns the second to last, etc. If index& evaluates to zero, or is outside of the actual field count, an empty string is returned.

See also

  • JOIN$
  • PARSECOUNT
  • PATHNAME$
  • PATHSCAN$
  • PBXB64 Compiler Help


PARSECOUNT - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

PARSECOUNT

Return the count of delimited strings in a

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

x& = PARSECOUNT( string_expr [, {[ANY] string_delimiter | BINARY}])

Description

Return the count of delimited strings in a

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

PARSECOUNT uses the same rules as PARSE$ in the determination of fields within string_expr . Individual fields within string_expr are evaluated, and the tally of the fields forms the result value.

It is important to note that PARSECOUNT may only be used with string data which contains variable length sub-fields, each of which is separated by a delimiter. To determine the count of fixed length data, divide the StringExpr length by the sub-field length. If this function is used with fixed length data, the results are undefined.

string_expr

This is the string to examine and parse. If StringExpr is empty (a null string) or contains no delimiter character(s), the string is considered to contain exactly one sub-field. In this case, PARSECOUNT returns the value 1.

string_delimiter

This defines one or more characters to use as a delimiter. To be valid, the entire delimiter must match exactly, but the delimiter itself is never returned as part of the field.

If string_delimiter is not specified, or contains an empty string, special rules apply. The delimiter is assumed to be a comma. Fields may optionally be enclosed in quotes, and are ignored before the result string is returned. Any characters that appear between a quote mark and the next comma delimiter character are discarded. If no leading quote is found, any leading or trailing quotes are trimmed before the result string is returned.

If the ANY keyword is used, string_delimiter contains a set of characters, any of which may act as a delimiter character. If the ANY keyword is omitted, the entire string_delimiter string acts as a single delimiter.

BINARY

The BINARY option returns the number of sub-fields and presumes that StringExpr was created with the JOIN$/BINARY function, or its equivalent, which creates a string in the PowerBASIC and/or Visual Basic packed string format: If a string is shorter than 65535 bytes, it starts with a 2-byte length WORD followed by the string data. Otherwise it will start with a 2-byte value of 65535, followed by a DWORD indicating the string length, then the actual string data.

See also

  • JOIN$
  • PARSE$
  • PATHNAME$
  • PATHSCAN$
  • PBXB64 Compiler Help


Passing arrays - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Passing arrays

Each array in your program has an associated array descriptor . This descriptor is saved in a proprietary format, which may change from version to version of PowerBASIC. Since most of the information

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Each array in your program has an associated array descriptor . This descriptor is saved in a proprietary format, which may change from version to version of PowerBASIC. Since most of the information

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

In addition to the LBOUND and UBOUND functions, the ARRAYATTR function can be used to obtain array attributes and information on a given array.

Back to command index


Passing dynamic strings - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Passing dynamic strings

A dynamic string variable is defined as a 32-bit data item, which contains a pointer (or offset) to the string characters. When passed by value , the parameter is actually a 32-bit offset of the data.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A dynamic string variable is defined as a 32-bit data item, which contains a pointer (or offset) to the string characters. When passed by value , the parameter is actually a 32-bit offset of the data.

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

! MOV EBX, abc$ ; EBX is a pointer to the string handle

! MOV EBX, [EBX] ; EBX is now a pointer to string data

Back to command index


Passing parameters - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Passing parameters

PowerBASIC 32-bit compilers pass all parameters to procedures by pushing them in sequence from right to left. This is always the case when a procedure uses the default calling conventions of SDECL (an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

PowerBASIC 32-bit compilers pass all parameters to procedures by pushing them in sequence from right to left. This is always the case when a procedure uses the default calling conventions of SDECL (an

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

By default, PowerBASIC passes parameters by reference: a 32-bit pointer to the data. You can also pass most parameters by value , by declaring with the optional BYVAL keyword. When a parameter is passed by value, the actual value of the parameter is pushed on the stack.

Fixed-length strings , nul-terminated strings , and User-Defined Types / Unions may also be passed as BYVAL or OPTIONAL parameters, now. Try to avoid passing large items BYVAL, as it?s terribly inefficient, and there is a maximum size limit of 64 Kb for a given parameter list. Arrays cannot be passed BYVAL.

PowerBASIC automatically sets up a local "stack frame" at the beginning of each procedure in your program. As per standard conventions, the EBP register is used to address the parameters. The lowest parameter can be found at EBP+8, and subsequent parameters will be found in adjacent locations on the stack.

In assembler routines, it is easier and safer to access parameters by name rather than calculating their locations on the stack. However, it is important to remember the difference in accessing parameters passed by value and parameters passed by reference .

Back to command index


PATHNAME$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PATHNAME$

Parse a path/file name to extract component parts

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

fil$ = PATHNAME$( director , filespec$ )

Description

Parse a path/file name to extract component parts

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The PATHNAME$ function evaluates a text path/file text name, and returns a requested part of the name. The functionality is strictly one of string parsing alone. No attempt is made to find the file on disk. If you wish to scan for a particular file on disk, you should use the companion function PATHSCAN$ .

director

This is one of the following words which is used to specify the requested part:

Returns the full path/file name, just as given in the filespec$ parameter. This is really a non-operation, but is included for symmetry with the companion function PATHSCAN$.

Returns the path portion of the path/file name. That is the text up to and including the last backslash (\) or colon (:).

Return the name portion of the path/file name. That is the text to the right of the last backslash (\) or colon (:), ending just before the last period (.).

Returns the extension portion of the path/file name. That is the last period (.) in the string plus the text to the right of it.

Returns the NAME and the EXTN parts combined.

filespec$

A path/file name which does not necessarily exist on disk.

See also

  • DIR$
  • EXE.Inst member
  • PATHSCAN$
  • PARSE$
  • PARSECOUNT
  • PBXB64 Compiler Help


PATHSCAN$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PATHSCAN$

Find a file on disk and return the path and/or file name parts.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

fil$ = PATHSCAN$( director , filespec$ [, pathspec$ ])

Description

Find a file on disk and return the path and/or file name parts.

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The PATHSCAN$ function scans specified directories to find a particular file. If the file is found, it returns either the full path/file name, or a selected part of it. If the file is not found, a nul (zero-length) string is returned. If you wish to simply parse a text file name, without regard to its validation on disk, you should use the companion function PATHNAME$ .

director

This is one of the following words which is used to specify the requested part:

Return the full drive/path/file name.

Return the path portion of the path/file name. That is the text up to and including the last backslash (\).

Return the name portion of the path/file name. That is the text to the right of the last backslash (\), ending just before the last period (.) in the string.

Return the extension portion of the path/file name. That is the last period (.) in the string plus the text to the right of it.

Return the NAME and the EXTN parts combined.

filespec$

A file name which is expected to exist on disk. It must not be an ambiguous name -- that is, it may not include a query (?) or an asterisk (*) character.

pathspec$

An optional path string which includes one or more paths to be searched to find filespec$. If multiple path names are included in this string, they must each be separated by a semicolon (;) delimiter. If pathspec$ is not given, or it is a nul (zero-length) string, the following directories are searched:

See also

  • DIR$
  • EXE.Inst member
  • PATHNAME$
  • PARSE$
  • PARSECOUNT
  • PBXB64 Compiler Help


PB - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PB

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

#PB
PRINT "PB"
#ENDPB

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


%PB_COMPILETIME numeric equate - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

%PB_COMPILETIME numeric equate

Helps to determine the date/time of compilation.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Helps to determine the date/time of compilation.

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Each time you compile your program, this equate is filled with the current date and time of the compilation in PowerTime binary format. You can use the PowerTIME Class to convert it to a text equivalent for use in your application.

Helps to determine the date/time of compilation.

Each time you compile your program, this equate is filled with the current date and time of the compilation in PowerTime binary format. You can use the PowerTIME Class to convert it to a text equivalent for use in your application.

Back to command index


#PBFORMS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#PBFORMS

Compiler directive to mark named blocks of generated

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Compiler directive to mark named blocks of generated

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

#PBFORMS metastatements are generated by the PowerBASIC Forms? visual design tool, and placed automatically into the generated source code. #PBFORMS metastatements identify named blocks of code that have special meaning to both the compiler and the PowerBASIC Forms? visual design tool.

#PBFORMS metastatements should not be removed or utilized - they should only be created and positioned by PowerBASIC Forms? . For more information, please refer to the documentation supplied with PowerBASIC Forms? .

PowerBASIC Forms? is a visual design environment that enables rapid visual design of GUI application dialogs. PowerBASIC Forms generates compilable Dynamic Dialog Tools ( DDT ) source code, directly from the dialogs created in the designer. PowerBASIC Forms product information can be found at http://www.powerbasic.com/products/pbforms .

An example PowerBASIC Forms? template and completed project can be found in the PB\SAMPLES\DDT\INTERFACE EXPLORER folder installed with PowerBASIC for Windows.

Back to command index


PBLIBMAIN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PBLIBMAIN

PBLIBMAIN performs a similar task to

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FUNCTION PBLIBMAIN [()] [AS LONG]

Description

PBLIBMAIN performs a similar task to

Kind: Function | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

See LIBMAIN / DLLMAIN for more information.

See also

  • DLLMAIN
  • PBMAIN
  • THREAD CREATE
  • WINMAIN
  • PBXB64 Compiler Help


PBMAIN - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Procedures & Scope PBXB64 Compiler Help

PBMAIN

PBMAIN is a user-defined function called by Windows to begin running an executable application. Every PowerBASIC executable (EXE) must contain either a PBMAIN or a

Chapter: Procedures & Scope | Certification: [CERTIFIED TESTED]

Syntax

FUNCTION PBMAIN [()] [AS LONG]

Description

PBMAIN is a user-defined function called by Windows to begin running an executable application. Every PowerBASIC executable (EXE) must contain either a PBMAIN or a

Kind: Function | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Return value: The return value of PBMAIN has an effective range of 0 to 255. Batch files may act on the result through the IF [NOT] ERRORLEVEL batch command.

Either a PBMAIN or WINMAIN function is required in every PowerBASIC application (.EXE). If you use PBMAIN, no parameters are passed, and you cannot directly obtain the instance handle of your application or the pointer to any command-line parameters.

However, you can use COMMAND$ to get the command-line passed to your program, and the GetModuleHandle API function to get the application instance handle.

Restrictions

DLLs created with PowerBASIC should contain a DLLMAIN , LIBMAIN , or PBLIBMAIN function instead of PBMAIN/WINMAIN.

See also

  • COMMAND$
  • DLLMAIN
  • PBLIBMAIN
  • WINMAIN
  • PBXB64 Compiler Help


Config_Clear - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Config_Clear

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Config_Clear() AS LONG

Description

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Config_Clear is a normal underscore BASIC command in the Config family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP equivalent: in-process provider/configuration contract

Side-effect class: configuration. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Config family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Config_Clear(0)
  FUNCTION = 0
END FUNCTION


Config_Export - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Config_Export

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Config_Export(optional name AS STRING) AS STRING

Description

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Config_Export is a normal underscore BASIC command in the Config family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP equivalent: in-process provider/configuration contract

Side-effect class: configuration. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Config family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Config_Export("{}")
  FUNCTION = 0
END FUNCTION


Config_Has - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Config_Has

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Config_Has(name AS STRING) AS LONG

Description

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Config_Has is a normal underscore BASIC command in the Config family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP equivalent: in-process provider/configuration contract

Side-effect class: configuration. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Config family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Config_Has(0)
  FUNCTION = 0
END FUNCTION


Config_Import - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Config_Import

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Config_Import(value AS STRING) AS LONG

Description

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Config_Import is a normal underscore BASIC command in the Config family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP equivalent: in-process provider/configuration contract

Side-effect class: configuration. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Config family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Config_Import(0)
  FUNCTION = 0
END FUNCTION


Config_ProviderCount - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Config_ProviderCount

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Config_ProviderCount() AS LONG

Description

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Config_ProviderCount is a normal underscore BASIC command in the Config family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP equivalent: in-process provider/configuration contract

Side-effect class: configuration. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Config family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Config_ProviderCount(0)
  FUNCTION = 0
END FUNCTION


Config_ProviderName - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Config_ProviderName

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Config_ProviderName(optional name AS STRING) AS STRING

Description

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Config_ProviderName is a normal underscore BASIC command in the Config family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP equivalent: in-process provider/configuration contract

Side-effect class: configuration. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Config family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Config_ProviderName("{}")
  FUNCTION = 0
END FUNCTION


Config_Remove - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Config_Remove

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Config_Remove(name AS STRING) AS LONG

Description

Kind: Function | Family: Config | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Config_Remove is a normal underscore BASIC command in the Config family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and provider configuration modules: local configuration boundary

MCP equivalent: in-process provider/configuration contract

Side-effect class: configuration. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Config family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Config_Remove(0)
  FUNCTION = 0
END FUNCTION


File_AppendText - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

File_AppendText

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION File_AppendText(path AS STRING, value AS STRING) AS LONG

Description

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

File_AppendText is a normal underscore BASIC command in the File family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FileTools source modules: local file and path adapter boundary

MCP equivalent: local filesystem operation

Side-effect class: filesystem. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the File family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_AppendText(0)
  FUNCTION = 0
END FUNCTION


File_AppendUtf8 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

File_AppendUtf8

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION File_AppendUtf8(path AS STRING, value AS STRING) AS LONG

Description

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

File_AppendUtf8 is a normal underscore BASIC command in the File family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FileTools source modules: local file and path adapter boundary

MCP equivalent: local filesystem operation

Side-effect class: filesystem. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the File family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_AppendUtf8(0)
  FUNCTION = 0
END FUNCTION


File_CopyReplace - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

File_CopyReplace

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION File_CopyReplace(path AS STRING, value AS STRING) AS LONG

Description

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

File_CopyReplace is a normal underscore BASIC command in the File family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FileTools source modules: local file and path adapter boundary

MCP equivalent: local filesystem operation

Side-effect class: filesystem. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the File family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_CopyReplace(0)
  FUNCTION = 0
END FUNCTION


File_IsDirectory - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

File_IsDirectory

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION File_IsDirectory(path AS STRING) AS LONG

Description

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

File_IsDirectory is a normal underscore BASIC command in the File family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FileTools source modules: local file and path adapter boundary

MCP equivalent: local filesystem operation

Side-effect class: filesystem. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the File family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_IsDirectory(0)
  FUNCTION = 0
END FUNCTION


File_MakeDirectory - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

File_MakeDirectory

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION File_MakeDirectory(path AS STRING) AS LONG

Description

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

File_MakeDirectory is a normal underscore BASIC command in the File family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FileTools source modules: local file and path adapter boundary

MCP equivalent: local filesystem operation

Side-effect class: filesystem. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the File family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_MakeDirectory(0)
  FUNCTION = 0
END FUNCTION


File_MoveReplace - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

File_MoveReplace

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION File_MoveReplace(path AS STRING, value AS STRING) AS LONG

Description

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

File_MoveReplace is a normal underscore BASIC command in the File family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FileTools source modules: local file and path adapter boundary

MCP equivalent: local filesystem operation

Side-effect class: filesystem. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the File family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_MoveReplace(0)
  FUNCTION = 0
END FUNCTION


File_NormalizePath - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

File_NormalizePath

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION File_NormalizePath(path AS STRING) AS STRING

Description

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

File_NormalizePath is a normal underscore BASIC command in the File family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The command resolves a local path with the Windows canonical path routine. It does not create, open, or delete the target. An empty input or an unresolvable path returns an empty string and sets the command error.

Source and MCP mapping

Source mapping: FileTools source modules: local file and path adapter boundary

MCP equivalent: local filesystem operation

Side-effect class: filesystem. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the File family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = File_NormalizePath("{}")
  FUNCTION = 0
END FUNCTION


File_ReadBytes - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

File_ReadBytes

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION File_ReadBytes(path AS STRING) AS STRING

Description

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

File_ReadBytes is a normal underscore BASIC command in the File family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FileTools source modules: local file and path adapter boundary

MCP equivalent: local filesystem operation

Side-effect class: filesystem. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the File family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = File_ReadBytes("{}")
  FUNCTION = 0
END FUNCTION


File_RemoveDirectory - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

File_RemoveDirectory

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION File_RemoveDirectory(path AS STRING) AS LONG

Description

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

File_RemoveDirectory is a normal underscore BASIC command in the File family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FileTools source modules: local file and path adapter boundary

MCP equivalent: local filesystem operation

Side-effect class: filesystem. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the File family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_RemoveDirectory(0)
  FUNCTION = 0
END FUNCTION


File_TempName - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

File_TempName

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION File_TempName(path AS STRING) AS STRING

Description

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

File_TempName is a normal underscore BASIC command in the File family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FileTools source modules: local file and path adapter boundary

MCP equivalent: local filesystem operation

Side-effect class: filesystem. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the File family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = File_TempName("{}")
  FUNCTION = 0
END FUNCTION


File_Timestamp - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

File_Timestamp

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION File_Timestamp(value AS STRING) AS LONG

Description

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

File_Timestamp is a normal underscore BASIC command in the File family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FileTools source modules: local file and path adapter boundary

MCP equivalent: local filesystem operation

Side-effect class: filesystem. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the File family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_Timestamp(0)
  FUNCTION = 0
END FUNCTION


File_WriteBytes - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

File_WriteBytes

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION File_WriteBytes(path AS STRING, value AS STRING) AS LONG

Description

Kind: Function | Family: File | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

File_WriteBytes is a normal underscore BASIC command in the File family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The write uses a temporary sibling file and an atomic replacement, so a failed write does not intentionally truncate the previous target. Local reads and writes are bounded to 64 MiB per operation; the command returns zero on failure.

Source and MCP mapping

Source mapping: FileTools source modules: local file and path adapter boundary

MCP equivalent: local filesystem operation

Side-effect class: filesystem. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the File family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = File_WriteBytes(0)
  FUNCTION = 0
END FUNCTION


HTTP_Execute - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_Execute

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, VALIDATED HTTP ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_Execute(method AS STRING, url AS STRING, body AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, VALIDATED HTTP ADAPTER

Description

HTTP_Execute sends one bounded HTTP/1.1 request and returns the response body as a UTF-8 STRING. It is the explicit network counterpart to HTTP_Request, which only constructs a deterministic local request value.

Behavior

The adapter accepts http:// URLs, resolves the host, connects with a ten-second send and receive timeout, sends Connection: close, and limits the response to 8 MiB. A successful 2xx response clears the command error. The request body is sent verbatim and is normally JSON.

Errors and limitations

  • Invalid methods, hosts, ports, paths, connection failures, timeouts, non-2xx status, incomplete headers, and oversized responses return an empty string and set the command error.
  • HTTPS/TLS is rejected explicitly until a certificate-validating transport is available. Proxy negotiation, redirects, and authentication are not performed. Chunked transfer encoding is decoded strictly: hexadecimal sizes, CRLF delimiters, optional trailer fields, and the 8 MiB decoded-body limit are enforced.
  • Do not pass secrets in URLs or diagnostic text.

Related commands

Use MCP_RemoteCall for a validated JSON-RPC MCP request over this transport. Use HTTP_Request when no network side effect is wanted.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL response AS STRING
  response = HTTP_Execute("POST", "http://127.0.0.1:55457/echo", "{" + CHR$(34) + "ok" + CHR$(34) + ":true}")
  IF INSTR(response, CHR$(34) + "ok" + CHR$(34)) = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


HTTP_RequestBody - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_RequestBody

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_RequestBody(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_RequestBody is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_RequestBody("{}")
  FUNCTION = 0
END FUNCTION


HTTP_RequestClone - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_RequestClone

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_RequestClone(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_RequestClone is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_RequestClone("{}")
  FUNCTION = 0
END FUNCTION


HTTP_RequestHeaders - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_RequestHeaders

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_RequestHeaders(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_RequestHeaders is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_RequestHeaders("{}")
  FUNCTION = 0
END FUNCTION


HTTP_RequestMethod - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_RequestMethod

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_RequestMethod(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_RequestMethod is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_RequestMethod("{}")
  FUNCTION = 0
END FUNCTION


HTTP_RequestSerialize - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_RequestSerialize

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_RequestSerialize(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_RequestSerialize is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_RequestSerialize("{}")
  FUNCTION = 0
END FUNCTION


HTTP_RequestUrl - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_RequestUrl

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_RequestUrl(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_RequestUrl is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_RequestUrl("{}")
  FUNCTION = 0
END FUNCTION


HTTP_ResponseContentType - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_ResponseContentType

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_ResponseContentType(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_ResponseContentType is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_ResponseContentType("{}")
  FUNCTION = 0
END FUNCTION


HTTP_ResponseCreate - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_ResponseCreate

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_ResponseCreate(status AS LONG, optional body AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_ResponseCreate is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_ResponseCreate(0)
  FUNCTION = 0
END FUNCTION


HTTP_ResponseHeader - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_ResponseHeader

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_ResponseHeader(response AS STRING, name AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_ResponseHeader is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_ResponseHeader("{}")
  FUNCTION = 0
END FUNCTION


HTTP_ResponseIsSuccess - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_ResponseIsSuccess

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_ResponseIsSuccess(value AS STRING) AS LONG

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_ResponseIsSuccess is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = HTTP_ResponseIsSuccess(0)
  FUNCTION = 0
END FUNCTION


HTTP_ResponseJson - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_ResponseJson

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_ResponseJson(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_ResponseJson is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_ResponseJson("{}")
  FUNCTION = 0
END FUNCTION


HTTP_SseData - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_SseData

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_SseData(event AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_SseData is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The command extracts the data field from an HTTP_SseEvent JSON value or from a raw SSE frame. Multiple data lines are joined with a single newline and line terminators are removed.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_SseData("{}")
  FUNCTION = 0
END FUNCTION


HTTP_SseId - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_SseId

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_SseId(event AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_SseId is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The command extracts the id field from an HTTP_SseEvent JSON value or from a raw SSE frame. CRLF and LF line endings are accepted. Missing fields return an empty string.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_SseId("{}")
  FUNCTION = 0
END FUNCTION


HTTP_SseParse - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_SseParse

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_SseParse(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_SseParse is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The parser accepts either the JSON object emitted by HTTP_SseEvent or an SSE frame with CRLF/LF lines. The optional field selects a field such as id, event, or data; repeated data lines are joined with a newline. It performs no network I/O.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_SseParse("{}")
  FUNCTION = 0
END FUNCTION


HTTP_StatusText - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_StatusText

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_StatusText(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_StatusText is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_StatusText("{}")
  FUNCTION = 0
END FUNCTION


HTTP_UrlHost - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_UrlHost

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_UrlHost(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_UrlHost is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_UrlHost("{}")
  FUNCTION = 0
END FUNCTION


HTTP_UrlPath - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_UrlPath

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_UrlPath(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_UrlPath is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_UrlPath("{}")
  FUNCTION = 0
END FUNCTION


HTTP_UrlPort - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_UrlPort

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_UrlPort(value AS STRING) AS LONG

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_UrlPort is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = HTTP_UrlPort(0)
  FUNCTION = 0
END FUNCTION


HTTP_UrlQuery - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_UrlQuery

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_UrlQuery(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_UrlQuery is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_UrlQuery("{}")
  FUNCTION = 0
END FUNCTION


HTTP_UrlScheme - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTP_UrlScheme

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: HTTP

Syntax

FUNCTION HTTP_UrlScheme(value AS STRING, optional extra AS STRING) AS STRING

Description

Kind: Function | Family: HTTP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

HTTP_UrlScheme is a normal underscore BASIC command in the HTTP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: INT_Top_APIs_*.inc and HTTP/SSE source modules: request, response, URL, and event adapter boundary

MCP equivalent: local HTTP/SSE descriptor contract; no network I/O

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the HTTP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = HTTP_UrlScheme("{}")
  FUNCTION = 0
END FUNCTION


JSON_AddElement - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_AddElement

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_AddElement(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_AddElement is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_AddElement(0)
  FUNCTION = 0
END FUNCTION


JSON_AddProperty - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_AddProperty

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_AddProperty(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_AddProperty is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_AddProperty(0)
  FUNCTION = 0
END FUNCTION


JSON_AppendString - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_AppendString

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_AppendString(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_AppendString is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_AppendString(0)
  FUNCTION = 0
END FUNCTION


JSON_Base64UrlDecode - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Base64UrlDecode

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Base64UrlDecode(value AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Base64UrlDecode is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_Base64UrlDecode("{}")
  FUNCTION = 0
END FUNCTION


JSON_Base64UrlEncode - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Base64UrlEncode

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Base64UrlEncode(value AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Base64UrlEncode is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_Base64UrlEncode("{}")
  FUNCTION = 0
END FUNCTION


JSON_ByteLength - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ByteLength

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ByteLength(value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ByteLength is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ByteLength(0)
  FUNCTION = 0
END FUNCTION


JSON_CharAt - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_CharAt

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_CharAt(value AS STRING, index AS LONG) AS STRING

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_CharAt is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works on UTF-8 text. The index is a zero-based Unicode scalar index, so a four-byte emoji is returned as one complete string rather than as an individual byte. Invalid UTF-8 reports failure and returns an empty result.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_CharAt(0)
  FUNCTION = 0
END FUNCTION


JSON_ChildPath - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ChildPath

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ChildPath(h AS LONG, path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ChildPath is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ChildPath(0)
  FUNCTION = 0
END FUNCTION


JSON_ClearError - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ClearError

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ClearError() AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ClearError is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ClearError(0)
  FUNCTION = 0
END FUNCTION


JSON_CloneRoot - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_CloneRoot

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_CloneRoot(h AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_CloneRoot is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_CloneRoot(0)
  FUNCTION = 0
END FUNCTION


JSON_CompactObject - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_CompactObject

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_CompactObject(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_CompactObject is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_CompactObject(0)
  FUNCTION = 0
END FUNCTION


JSON_ConcatString - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ConcatString

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ConcatString(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ConcatString is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ConcatString(0)
  FUNCTION = 0
END FUNCTION


JSON_ConstantTimeEqual - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ConstantTimeEqual

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ConstantTimeEqual(leftValue AS STRING, rightValue AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ConstantTimeEqual is a normal underscore BASIC command in the JSON.Crypto family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Crypto family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ConstantTimeEqual(0)
  FUNCTION = 0
END FUNCTION


JSON_CopyPath - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_CopyPath

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_CopyPath(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_CopyPath is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_CopyPath(0)
  FUNCTION = 0
END FUNCTION


JSON_CountBy - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_CountBy

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_CountBy(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_CountBy is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The document root must be an array of objects. The options value is the counting field; the result is an object mapping each scalar field value to its numeric occurrence count.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_CountBy(0)
  FUNCTION = 0
END FUNCTION


JSON_DecrementBy - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_DecrementBy

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_DecrementBy(h AS LONG, path AS WSTRING, optional amount AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_DecrementBy is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DecrementBy(0)
  FUNCTION = 0
END FUNCTION


JSON_DeepCopy - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_DeepCopy

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_DeepCopy(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_DeepCopy is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DeepCopy(0)
  FUNCTION = 0
END FUNCTION


JSON_DeepMerge - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_DeepMerge

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_DeepMerge(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_DeepMerge is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DeepMerge(0)
  FUNCTION = 0
END FUNCTION


JSON_DeleteAt - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_DeleteAt

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_DeleteAt(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_DeleteAt is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DeleteAt(0)
  FUNCTION = 0
END FUNCTION


JSON_Depth - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Depth

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Depth(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Depth is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Depth(0)
  FUNCTION = 0
END FUNCTION


JSON_DivideBy - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_DivideBy

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_DivideBy(h AS LONG, path AS WSTRING, optional amount AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_DivideBy is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DivideBy(0)
  FUNCTION = 0
END FUNCTION


JSON_DocumentCapacity - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_DocumentCapacity

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_DocumentCapacity() AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_DocumentCapacity is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DocumentCapacity(0)
  FUNCTION = 0
END FUNCTION


JSON_DocumentCount - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_DocumentCount

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_DocumentCount() AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_DocumentCount is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DocumentCount(0)
  FUNCTION = 0
END FUNCTION


JSON_DocumentReset - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_DocumentReset

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_DocumentReset(h AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_DocumentReset is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_DocumentReset(0)
  FUNCTION = 0
END FUNCTION


JSON_ErrorHas - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ErrorHas

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ErrorHas() AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ErrorHas is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ErrorHas(0)
  FUNCTION = 0
END FUNCTION


JSON_ExcludeFields - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ExcludeFields

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ExcludeFields(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ExcludeFields is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

Returns a new serialized document after removing object fields named by the comma-separated options list. Arrays are preserved and nested objects are filtered recursively.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ExcludeFields(0)
  FUNCTION = 0
END FUNCTION


JSON_FilterArray - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_FilterArray

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_FilterArray(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_FilterArray is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The document root must be an array. Pass an options object such as {"field":"enabled","equals":true}; matching object elements are copied into a new result array.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FilterArray(0)
  FUNCTION = 0
END FUNCTION


JSON_FindAll - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_FindAll

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_FindAll(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_FindAll is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FindAll(0)
  FUNCTION = 0
END FUNCTION


JSON_FindByKey - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_FindByKey

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_FindByKey(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_FindByKey is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FindByKey(0)
  FUNCTION = 0
END FUNCTION


JSON_FindByValue - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_FindByValue

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_FindByValue(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_FindByValue is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FindByValue(0)
  FUNCTION = 0
END FUNCTION


JSON_FromCsv - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_FromCsv

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_FromCsv(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_FromCsv is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The document root must be a JSON string containing a header row and comma-separated data rows. The result is a JSON array of objects with string field values. Invalid handles or non-string roots fail explicitly.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FromCsv(0)
  FUNCTION = 0
END FUNCTION


JSON_FromLines - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_FromLines

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_FromLines(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_FromLines is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The document root must be a string containing LF or CRLF-separated lines. Each valid JSON line is parsed; a non-JSON line becomes a JSON string element. The result is a new array.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FromLines(0)
  FUNCTION = 0
END FUNCTION


JSON_FromQueryString - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_FromQueryString

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_FromQueryString(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_FromQueryString is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The document root must be a URL query string. Percent-encoded names and values are decoded into a new JSON object; values are retained as strings so conversion is lossless.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_FromQueryString(0)
  FUNCTION = 0
END FUNCTION


JSON_FromXml - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_FromXml

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_FromXml(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED LOCAL ADAPTER

Description

JSON_FromXml is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

JSON_FromXml parses the deterministic typed XML vocabulary emitted by JSON_ToXml and returns canonical JSON text. The XML must have a json root. A supplied non-empty options string is treated as the XML input; otherwise the command reads XML from a string-valued document handle. The parser accepts the XML declaration, nested member/item nodes, escaped entities, and explicit scalar types.

This is deliberately not a general-purpose XML-to-JSON heuristic. Unknown types, malformed tags, invalid entities, malformed numbers or booleans, and mismatched closing tags fail closed.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • Malformed or non-typed XML produces an empty string and sets JSON_LastError().
  • An invalid document handle produces an empty string and sets the command error.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  LOCAL h AS LONG
  h = JSON_Parse("<json type="number">42</json>")
  result = JSON_FromXml(h, "")
  CALL JSON_ReleaseDocument(h)
  FUNCTION = 0
END FUNCTION


JSON_GetIndex - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_GetIndex

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_GetIndex(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_GetIndex is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_GetIndex(0)
  FUNCTION = 0
END FUNCTION


JSON_GetKey - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_GetKey

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_GetKey(h AS LONG, path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_GetKey is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_GetKey(0)
  FUNCTION = 0
END FUNCTION


JSON_GetPath - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_GetPath

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_GetPath(h AS LONG, path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_GetPath is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_GetPath(0)
  FUNCTION = 0
END FUNCTION


JSON_GetPointer - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_GetPointer

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_GetPointer(h AS LONG, path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_GetPointer is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_GetPointer(0)
  FUNCTION = 0
END FUNCTION


JSON_GetRaw - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_GetRaw

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_GetRaw(h AS LONG, path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_GetRaw is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_GetRaw(0)
  FUNCTION = 0
END FUNCTION


JSON_GetValue - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_GetValue

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_GetValue(h AS LONG, path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_GetValue is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_GetValue(0)
  FUNCTION = 0
END FUNCTION


JSON_GetWideString - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_GetWideString

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_GetWideString(h AS LONG, path AS WSTRING) AS WSTRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_GetWideString reads a JSON string node and returns its decoded value as a PB UTF-16 WSTRING. The command uses the normal underscore BASIC command surface; it does not use dotted dispatch. The document handle is LONG and the path is a WSTRING so Unicode property names can be addressed.

Encoding and length

JSON escape sequences are decoded to UTF-8 in the document and then converted to UTF-16 code units. Supplementary characters therefore occupy two WSTRING code units, as required by the PB WSTRING representation. Embedded NUL bytes are preserved because the node byte length is passed explicitly through the conversion and wide-string length metadata.

Behavior

  • The source node must have JSON string type.
  • Missing handles, paths, or non-string nodes return an empty WSTRING and set the command error.
  • Invalid UTF-8 returns an empty WSTRING and sets an explicit conversion error.
  • The operation is local and has no network, file, provider, or MCP side effect.

Source and MCP mapping

Source mapping: PBXB64 JSON command runtime, explicit CmdJsonNode text length, and PB wide-string ownership metadata.

MCP equivalent: local JSON value extraction used by MCP request, result, and catalog adapters.

Side-effect class: pure. The result is a newly allocated WSTRING owned by the PB runtime.

Related commands

See JSON_GetString, JSON_GetValue, JSON_GetType, JSON_Serialize, and the JSON.Query pages in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL h AS LONG
  LOCAL path AS WSTRING
  LOCAL value AS WSTRING
  h = JSON_Parse("{" + CHR$(34) + "text" + CHR$(34) + ":" + CHR$(34) + "\uD83D\uDE00" + CHR$(34) + "}")
  path = "/text"
  value = JSON_GetWideString(h, path)
  IF LEN(value) <> 2 THEN FUNCTION = 1 : EXIT FUNCTION
  JSON_ReleaseDocument(h)
  FUNCTION = 0
END FUNCTION


JSON_GroupBy - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_GroupBy

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_GroupBy(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_GroupBy is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The document root must be an array of objects. The options value is the grouping field; the result is an object whose keys are scalar field values and whose values are arrays of copied source elements.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_GroupBy(0)
  FUNCTION = 0
END FUNCTION


JSON_HashCanonical - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_HashCanonical

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_HashCanonical(h AS LONG) AS STRING

Description

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_HashCanonical is a normal underscore BASIC command in the JSON.Crypto family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Crypto family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_HashCanonical(0)
  FUNCTION = 0
END FUNCTION


JSON_HashDocument - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_HashDocument

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_HashDocument(h AS LONG) AS STRING

Description

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_HashDocument is a normal underscore BASIC command in the JSON.Crypto family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Crypto family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_HashDocument(0)
  FUNCTION = 0
END FUNCTION


JSON_HasPath - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_HasPath

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_HasPath(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_HasPath is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_HasPath(0)
  FUNCTION = 0
END FUNCTION


JSON_Height - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Height

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Height(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Height is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Height(0)
  FUNCTION = 0
END FUNCTION


JSON_HexUpper - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_HexUpper

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_HexUpper(value AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_HexUpper is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_HexUpper("{}")
  FUNCTION = 0
END FUNCTION


JSON_HmacDocument - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_HmacDocument

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_HmacDocument(h AS LONG, key AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_HmacDocument is a normal underscore BASIC command in the JSON.Crypto family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Crypto family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_HmacDocument(0)
  FUNCTION = 0
END FUNCTION


JSON_IncrementBy - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_IncrementBy

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_IncrementBy(h AS LONG, path AS WSTRING, optional amount AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_IncrementBy is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IncrementBy(0)
  FUNCTION = 0
END FUNCTION


JSON_InsertAt - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_InsertAt

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_InsertAt(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_InsertAt is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_InsertAt(0)
  FUNCTION = 0
END FUNCTION


JSON_IsArray - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_IsArray

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_IsArray(value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_IsArray is a normal underscore BASIC command in the JSON.Validate family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Validate family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IsArray(0)
  FUNCTION = 0
END FUNCTION


JSON_IsBoolean - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_IsBoolean

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_IsBoolean(value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_IsBoolean is a normal underscore BASIC command in the JSON.Validate family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Validate family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IsBoolean(0)
  FUNCTION = 0
END FUNCTION


JSON_IsNullValue - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_IsNullValue

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_IsNullValue(value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_IsNullValue is a normal underscore BASIC command in the JSON.Validate family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Validate family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IsNullValue(0)
  FUNCTION = 0
END FUNCTION


JSON_IsNumberValue - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_IsNumberValue

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_IsNumberValue(value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_IsNumberValue is a normal underscore BASIC command in the JSON.Validate family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Validate family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IsNumberValue(0)
  FUNCTION = 0
END FUNCTION


JSON_IsObject - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_IsObject

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_IsObject(value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_IsObject is a normal underscore BASIC command in the JSON.Validate family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Validate family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IsObject(0)
  FUNCTION = 0
END FUNCTION


JSON_IsString - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_IsString

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_IsString(value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_IsString is a normal underscore BASIC command in the JSON.Validate family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Validate family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_IsString(0)
  FUNCTION = 0
END FUNCTION


JSON_JoinArrays - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_JoinArrays

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_JoinArrays(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_JoinArrays is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The document root must be an object of arrays. The result is one array containing cloned elements in object-key order. A non-array member is an error.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_JoinArrays(0)
  FUNCTION = 0
END FUNCTION


JSON_LeafCount - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_LeafCount

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_LeafCount(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_LeafCount is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_LeafCount(0)
  FUNCTION = 0
END FUNCTION


JSON_MapKeys - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_MapKeys

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_MapKeys(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_MapKeys is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

options is a JSON object mapping old key names to new string key names. The mapping is applied recursively to object keys and the returned document is independent of the source handle.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_MapKeys(0)
  FUNCTION = 0
END FUNCTION


JSON_MapValues - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_MapValues

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_MapValues(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_MapValues is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

options is a JSON object mapping scalar value text to replacement JSON values. Matching scalar values are replaced recursively; objects and arrays are cloned into the returned document.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_MapValues(0)
  FUNCTION = 0
END FUNCTION


JSON_Match - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Match

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Match(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Match is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Match(0)
  FUNCTION = 0
END FUNCTION


JSON_MovePath - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_MovePath

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_MovePath(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_MovePath is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_MovePath(0)
  FUNCTION = 0
END FUNCTION


JSON_MultiplyBy - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_MultiplyBy

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_MultiplyBy(h AS LONG, path AS WSTRING, optional amount AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_MultiplyBy is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_MultiplyBy(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeAttach - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NodeAttach

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NodeAttach(h AS LONG, path AS WSTRING, value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NodeAttach is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeAttach(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeDetach - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NodeDetach

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NodeDetach(h AS LONG, path AS WSTRING, value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NodeDetach is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeDetach(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeExists - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NodeExists

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NodeExists(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NodeExists is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeExists(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIndex - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NodeIndex

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NodeIndex(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NodeIndex is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIndex(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIsArray - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NodeIsArray

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NodeIsArray(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NodeIsArray is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIsArray(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIsBoolean - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NodeIsBoolean

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NodeIsBoolean(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NodeIsBoolean is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIsBoolean(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIsNull - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NodeIsNull

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NodeIsNull(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NodeIsNull is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIsNull(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIsNumber - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NodeIsNumber

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NodeIsNumber(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NodeIsNumber is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIsNumber(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIsObject - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NodeIsObject

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NodeIsObject(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NodeIsObject is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIsObject(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeIsString - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NodeIsString

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NodeIsString(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NodeIsString is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeIsString(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeKey - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NodeKey

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NodeKey(h AS LONG, path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NodeKey is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_NodeKey(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeSwap - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NodeSwap

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NodeSwap(h AS LONG, path AS WSTRING, value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NodeSwap is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_NodeSwap(0)
  FUNCTION = 0
END FUNCTION


JSON_NodeValue - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NodeValue

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NodeValue(h AS LONG, path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NodeValue is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_NodeValue(0)
  FUNCTION = 0
END FUNCTION


JSON_NormalizeNfc - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NormalizeNfc

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NormalizeNfc(value AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NormalizeNfc is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation applies Unicode NFC normalization to a valid UTF-8 string using the runtime Unicode tables. Canonically equivalent sequences are composed where a canonical composition exists. Invalid UTF-8 returns an empty result and sets the command error.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_NormalizeNfc("{}")
  FUNCTION = 0
END FUNCTION


JSON_NormalizeNfd - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_NormalizeNfd

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_NormalizeNfd(value AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_NormalizeNfd is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation applies Unicode NFD normalization to a valid UTF-8 string using the runtime Unicode tables. Canonical compositions are decomposed into their canonical sequence. Invalid UTF-8 returns an empty result and sets the command error.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_NormalizeNfd("{}")
  FUNCTION = 0
END FUNCTION


JSON_ParentPath - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParentPath

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParentPath(h AS LONG, path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParentPath is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ParentPath(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseArrayItems - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseArrayItems

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseArrayItems(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseArrayItems is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseArrayItems(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseBooleanText - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseBooleanText

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseBooleanText(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseBooleanText is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseBooleanText(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseChunk - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseChunk

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseChunk(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseChunk is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseChunk(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseColumn - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseColumn

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseColumn(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseColumn is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseColumn(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseCommentPolicy - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseCommentPolicy

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseCommentPolicy(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseCommentPolicy is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseCommentPolicy(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseComplete - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseComplete

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseComplete(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseComplete is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseComplete(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseDepth - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseDepth

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseDepth(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseDepth is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseDepth(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseDuplicateKeys - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseDuplicateKeys

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseDuplicateKeys(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseDuplicateKeys is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseDuplicateKeys(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseErrorAt - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseErrorAt

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseErrorAt(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseErrorAt is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseErrorAt(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseFileUtf8 - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseFileUtf8

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseFileUtf8(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseFileUtf8 is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseFileUtf8(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseFileWide - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseFileWide

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseFileWide(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseFileWide is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseFileWide(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseLine - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseLine

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseLine(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseLine is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseLine(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseLines - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseLines

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseLines(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseLines is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseLines(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseNdjson - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseNdjson

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseNdjson(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseNdjson is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseNdjson(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseNullText - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseNullText

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseNullText(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseNullText is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseNullText(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseNumberText - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseNumberText

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseNumberText(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseNumberText is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseNumberText(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseObjectMembers - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseObjectMembers

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseObjectMembers(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseObjectMembers is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseObjectMembers(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseOffset - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseOffset

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseOffset(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseOffset is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseOffset(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseRelaxed - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseRelaxed

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseRelaxed(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseRelaxed is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseRelaxed(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseStream - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseStream

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseStream(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseStream is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseStream(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseStrict - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseStrict

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseStrict(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseStrict is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseStrict(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseStringText - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseStringText

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseStringText(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseStringText is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseStringText(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseToken - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseToken

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseToken(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseToken is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseToken(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseWarnings - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseWarnings

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseWarnings(value AS STRING, optional flags AS LONG) AS STRING

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseWarnings is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ParseWarnings(0)
  FUNCTION = 0
END FUNCTION


JSON_ParseWithOptions - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ParseWithOptions

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ParseWithOptions(value AS STRING, optional flags AS LONG) AS LONG

Description

Kind: Function | Family: JSON.Parse | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ParseWithOptions is a normal underscore BASIC command in the JSON.Parse family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Parse family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ParseWithOptions(0)
  FUNCTION = 0
END FUNCTION


JSON_Pop - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Pop

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Pop(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Pop is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Pop(0)
  FUNCTION = 0
END FUNCTION


JSON_PrependString - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_PrependString

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_PrependString(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_PrependString is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_PrependString(0)
  FUNCTION = 0
END FUNCTION


JSON_Project - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Project

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Project(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Project is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

Returns a new serialized document containing only object fields named by the comma-separated options list. Arrays are traversed and nested objects are projected without changing the source document.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_Project(0)
  FUNCTION = 0
END FUNCTION


JSON_PruneEmpty - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_PruneEmpty

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_PruneEmpty(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_PruneEmpty is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_PruneEmpty(0)
  FUNCTION = 0
END FUNCTION


JSON_PruneNulls - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_PruneNulls

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_PruneNulls(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_PruneNulls is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_PruneNulls(0)
  FUNCTION = 0
END FUNCTION


JSON_Push - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Push

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Push(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Push is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Push(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryAll - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_QueryAll

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_QueryAll(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_QueryAll is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryAll(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryArrays - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_QueryArrays

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_QueryArrays(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_QueryArrays is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryArrays(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryBooleans - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_QueryBooleans

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_QueryBooleans(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_QueryBooleans is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryBooleans(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryCount - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_QueryCount

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_QueryCount(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_QueryCount is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_QueryCount(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryExists - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_QueryExists

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_QueryExists(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_QueryExists is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_QueryExists(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryFirst - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_QueryFirst

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_QueryFirst(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_QueryFirst is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryFirst(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryKeys - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_QueryKeys

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_QueryKeys(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_QueryKeys is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryKeys(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryNulls - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_QueryNulls

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_QueryNulls(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_QueryNulls is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryNulls(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryNumbers - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_QueryNumbers

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_QueryNumbers(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_QueryNumbers is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryNumbers(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryObjects - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_QueryObjects

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_QueryObjects(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_QueryObjects is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryObjects(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryPaths - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_QueryPaths

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_QueryPaths(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_QueryPaths is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryPaths(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryStrings - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_QueryStrings

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_QueryStrings(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_QueryStrings is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryStrings(0)
  FUNCTION = 0
END FUNCTION


JSON_QueryValues - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_QueryValues

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_QueryValues(h AS LONG, optional path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_QueryValues is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_QueryValues(0)
  FUNCTION = 0
END FUNCTION


JSON_RandomHex - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_RandomHex

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_RandomHex(optional length AS LONG) AS STRING

Description

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_RandomHex is a normal underscore BASIC command in the JSON.Crypto family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Crypto family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_RandomHex(0)
  FUNCTION = 0
END FUNCTION


JSON_RandomUuid - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_RandomUuid

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_RandomUuid(optional length AS LONG) AS STRING

Description

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_RandomUuid is a normal underscore BASIC command in the JSON.Crypto family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Crypto family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_RandomUuid(0)
  FUNCTION = 0
END FUNCTION


JSON_RemoveIndex - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_RemoveIndex

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_RemoveIndex(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_RemoveIndex is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_RemoveIndex(0)
  FUNCTION = 0
END FUNCTION


JSON_RemovePath - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_RemovePath

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_RemovePath(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_RemovePath is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_RemovePath(0)
  FUNCTION = 0
END FUNCTION


JSON_RemoveProperty - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_RemoveProperty

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_RemoveProperty(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_RemoveProperty is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_RemoveProperty(0)
  FUNCTION = 0
END FUNCTION


JSON_ReplaceAll - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ReplaceAll

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ReplaceAll(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ReplaceAll is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ReplaceAll(0)
  FUNCTION = 0
END FUNCTION


JSON_ReplaceValue - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ReplaceValue

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ReplaceValue(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ReplaceValue is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ReplaceValue(0)
  FUNCTION = 0
END FUNCTION


JSON_RequirePath - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_RequirePath

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_RequirePath(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_RequirePath is a normal underscore BASIC command in the JSON.Validate family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Validate family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_RequirePath(0)
  FUNCTION = 0
END FUNCTION


JSON_RequireType - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_RequireType

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_RequireType(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_RequireType is a normal underscore BASIC command in the JSON.Validate family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Validate family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_RequireType(0)
  FUNCTION = 0
END FUNCTION


JSON_ReverseText - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ReverseText

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ReverseText(value AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ReverseText is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation reverses Unicode scalar values while preserving each UTF-8 encoding. Emoji and other multi-byte characters remain intact. Invalid UTF-8 reports failure and returns an empty result.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ReverseText("{}")
  FUNCTION = 0
END FUNCTION


JSON_SelectFields - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_SelectFields

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_SelectFields(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_SelectFields is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

Returns a new serialized document containing only the object fields named by the comma-separated options list. The source handle is not mutated and nested objects are processed recursively.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_SelectFields(0)
  FUNCTION = 0
END FUNCTION


JSON_SetDefault - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_SetDefault

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_SetDefault(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_SetDefault is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_SetDefault(0)
  FUNCTION = 0
END FUNCTION


JSON_SetError - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_SetError

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_SetError(h AS LONG, path AS WSTRING, value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Core | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_SetError is a normal underscore BASIC command in the JSON.Core family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Core family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_SetError(0)
  FUNCTION = 0
END FUNCTION


JSON_SetIndex - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_SetIndex

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_SetIndex(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_SetIndex is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_SetIndex(0)
  FUNCTION = 0
END FUNCTION


JSON_SetKey - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_SetKey

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_SetKey(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_SetKey is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_SetKey(0)
  FUNCTION = 0
END FUNCTION


JSON_Shift - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Shift

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Shift(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Shift is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Shift(0)
  FUNCTION = 0
END FUNCTION


JSON_SiblingPath - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_SiblingPath

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_SiblingPath(h AS LONG, path AS WSTRING) AS STRING

Description

Kind: Function | Family: JSON.Query | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_SiblingPath is a normal underscore BASIC command in the JSON.Query family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Query family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_SiblingPath(0)
  FUNCTION = 0
END FUNCTION


JSON_SignDocument - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_SignDocument

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_SignDocument(h AS LONG, key AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_SignDocument is a normal underscore BASIC command in the JSON.Crypto family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Crypto family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_SignDocument(0)
  FUNCTION = 0
END FUNCTION


JSON_SortArray - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_SortArray

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_SortArray(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_SortArray is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_SortArray(0)
  FUNCTION = 0
END FUNCTION


JSON_SortBy - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_SortBy

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_SortBy(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_SortBy is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The document root must be an array of objects. The options value is the field name used for ascending ordinal comparison. Sorting operates on clones and leaves the source document unchanged.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_SortBy(0)
  FUNCTION = 0
END FUNCTION


JSON_Splice - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Splice

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Splice(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Splice is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Splice(0)
  FUNCTION = 0
END FUNCTION


JSON_Substring - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Substring

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Substring(value AS STRING, start AS LONG, optional length AS LONG) AS STRING

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Substring is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The start and optional length are zero-based Unicode scalar indexes. The returned UTF-8 string never splits a multi-byte sequence. Negative start values are clamped to zero; a negative length produces an empty result. Invalid UTF-8 reports failure.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_Substring(0)
  FUNCTION = 0
END FUNCTION


JSON_SwapPaths - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_SwapPaths

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_SwapPaths(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_SwapPaths is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_SwapPaths(0)
  FUNCTION = 0
END FUNCTION


JSON_ToCsv - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ToCsv

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ToCsv(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ToCsv is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The document root must be an array of objects. A header row is formed from first-seen keys, followed by CRLF-separated rows. Commas, quotes, and line breaks are CSV-quoted; missing fields are empty.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ToCsv(0)
  FUNCTION = 0
END FUNCTION


JSON_TogglePath - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_TogglePath

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_TogglePath(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_TogglePath is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_TogglePath(0)
  FUNCTION = 0
END FUNCTION


JSON_ToLines - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ToLines

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ToLines(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ToLines is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The document root must be an array or object. Each array element or object value is emitted as scalar text or compact JSON, separated by a single LF. The source document is not modified.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ToLines(0)
  FUNCTION = 0
END FUNCTION


JSON_ToQueryString - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ToQueryString

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ToQueryString(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ToQueryString is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The document root must be an object. Scalar members become URL-encoded name=value pairs joined with ampersands; both names and values are encoded.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ToQueryString(0)
  FUNCTION = 0
END FUNCTION


JSON_ToXml - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ToXml

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ToXml(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED LOCAL ADAPTER

Description

JSON_ToXml is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

JSON_ToXml serializes the document into a deterministic, typed XML vocabulary. The result starts with an UTF-8 XML declaration and a json root. Objects use member name="...", arrays use item, and every value carries a type attribute: object, array, string, number, boolean, or null. XML entities are emitted for ampersands and markup characters, so object keys and string values remain unambiguous.

The optional argument is reserved for future serializer options and is currently accepted for signature compatibility. This is a local conversion and does not contact an XML service or MCP provider.

Typed vocabulary

  • object: <json type="object"> with member name="..."; member order follows JSON order.
  • array: <json type="array"> with item; nested values retain their order.
  • string: type="string"; UTF-8 text is escaped for XML markup.
  • number: type="number"; the runtime uses deterministic floating-point text.
  • boolean: type="boolean"; the value is true or false.
  • null: <member type="null"/>; no text payload is emitted.

Object member names are XML-escaped in the name attribute. String data escapes &, <, and >; attribute quotes and apostrophes are escaped when required. This makes the generated text safe to pass directly to JSON_FromXml without an intermediate string rewrite.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An invalid document handle produces an empty string and sets JSON_LastError().
  • Allocation or serialization failure returns an empty string and sets the command error.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  LOCAL h AS LONG
  h = JSON_Parse("{""answer"":42,""ok"":true}")
  result = JSON_ToXml(h, "")
  CALL JSON_ReleaseDocument(h)
  FUNCTION = 0
END FUNCTION


JSON_Transpose - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Transpose

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Transpose(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Transpose is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The document root must be an array of arrays. Rows are transposed into cloned column arrays; missing cells are represented by JSON null.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_Transpose(0)
  FUNCTION = 0
END FUNCTION


JSON_UnicodeEscape - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_UnicodeEscape

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_UnicodeEscape(value AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_UnicodeEscape is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_UnicodeEscape("{}")
  FUNCTION = 0
END FUNCTION


JSON_UnicodeUnescape - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_UnicodeUnescape

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_UnicodeUnescape(value AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_UnicodeUnescape is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_UnicodeUnescape("{}")
  FUNCTION = 0
END FUNCTION


JSON_UniqueArray - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_UniqueArray

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_UniqueArray(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_UniqueArray is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_UniqueArray(0)
  FUNCTION = 0
END FUNCTION


JSON_Unshift - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Unshift

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Unshift(h AS LONG, path AS WSTRING, optional value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Modify | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Unshift is a normal underscore BASIC command in the JSON.Modify family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Modify family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Unshift(0)
  FUNCTION = 0
END FUNCTION


JSON_UrlDecodeComponent - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_UrlDecodeComponent

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_UrlDecodeComponent(value AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_UrlDecodeComponent is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_UrlDecodeComponent("{}")
  FUNCTION = 0
END FUNCTION


JSON_UrlEncodeComponent - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_UrlEncodeComponent

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_UrlEncodeComponent(value AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_UrlEncodeComponent is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_UrlEncodeComponent("{}")
  FUNCTION = 0
END FUNCTION


JSON_Utf8Validate - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Utf8Validate

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Utf8Validate(value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Utf8Validate is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation validates the complete input as strict UTF-8. Overlong encodings, truncated sequences, invalid continuation bytes, surrogate code points, and code points above U+10FFFF return zero. A valid empty string returns one.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Utf8Validate(0)
  FUNCTION = 0
END FUNCTION


JSON_Utf16Validate - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_Utf16Validate

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_Utf16Validate(value AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Encoding | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_Utf16Validate is a normal underscore BASIC command in the JSON.Encoding family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The PB STRING input is interpreted as UTF-8 and checked for lossless conversion to UTF-16 code units. Valid supplementary characters, including surrogate pairs when represented in UTF-16, are accepted; malformed UTF-8 and scalar surrogates return zero.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Encoding family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_Utf16Validate(0)
  FUNCTION = 0
END FUNCTION


JSON_ValidateItems - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ValidateItems

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ValidateItems(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ValidateItems is a normal underscore BASIC command in the JSON.Validate family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The path must resolve to an existing JSON array. The command returns one for an array container and zero for an object, scalar, null, missing path, or invalid handle.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Validate family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ValidateItems(0)
  FUNCTION = 0
END FUNCTION


JSON_ValidateProperties - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ValidateProperties

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ValidateProperties(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ValidateProperties is a normal underscore BASIC command in the JSON.Validate family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The path must resolve to an existing JSON object. This is the local property-container check used by the adapter; it does not claim full JSON Schema validation. Use JSON_ValidateSchema for required names and property schemas.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Validate family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ValidateProperties(0)
  FUNCTION = 0
END FUNCTION


JSON_ValidateRequired - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ValidateRequired

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ValidateRequired(h AS LONG, path AS WSTRING) AS LONG

Description

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ValidateRequired is a normal underscore BASIC command in the JSON.Validate family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The path must resolve to an existing JSON object. The command returns one only when the required-value container is present and is not a JSON null. Missing paths, invalid handles, and null values return zero and set the command error.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Validate family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_ValidateRequired(0)
  FUNCTION = 0
END FUNCTION


JSON_ValidationMessage - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ValidationMessage

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ValidationMessage(h AS LONG, optional schema AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Validate | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ValidationMessage is a normal underscore BASIC command in the JSON.Validate family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Validate family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ValidationMessage(0)
  FUNCTION = 0
END FUNCTION


JSON_VerifyDocument - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_VerifyDocument

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_VerifyDocument(h AS LONG, key AS STRING, signature AS STRING) AS LONG

Description

Kind: Function | Family: JSON.Crypto | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_VerifyDocument is a normal underscore BASIC command in the JSON.Crypto family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Crypto family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = JSON_VerifyDocument(0)
  FUNCTION = 0
END FUNCTION


JSON_ZipArrays - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSON_ZipArrays

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: JSON

Syntax

FUNCTION JSON_ZipArrays(h AS LONG, optional options AS STRING) AS STRING

Description

Kind: Function | Family: JSON.Transform | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

JSON_ZipArrays is a normal underscore BASIC command in the JSON.Transform family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The document root must be an object of arrays. The result contains one object per row, with the source member names as keys. Shorter arrays contribute JSON null for missing cells.

Source and MCP mapping

Source mapping: JSON_Lib_v2/FUNCTION_LIST_V2.txt: JSON parser, query, transform, encoding, validation, and crypto adapter boundary

MCP equivalent: local JSON adapter / W_JSON public family

Side-effect class: document. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the JSON.Transform family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = JSON_ZipArrays(0)
  FUNCTION = 0
END FUNCTION


MCP_CatalogCount - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_CatalogCount

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_CatalogCount() AS LONG

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_CatalogCount is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_CatalogCount(0)
  FUNCTION = 0
END FUNCTION


MCP_CatalogGet - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_CatalogGet

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED LOCAL CATALOG ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_CatalogGet(request AS STRING, optional params AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED LOCAL CATALOG ADAPTER

Description

MCP_CatalogGet returns one complete tool descriptor as {"tool":{...}}. The first argument is matched case-insensitively against the tool name. The optional second argument uses the same inline JSON, file path, environment-variable, and local-fallback rules as MCP_CatalogList.

Returned data

The returned descriptor preserves the source tool name, description, input schema, and any additional catalog metadata. An unknown name returns {"tool":null}; it is not converted into a false positive descriptor.

Behavior

Lookup parses the selected source, compares names without case sensitivity, clones the matching descriptor, and serializes a new result object. The source catalog is not mutated.

Side effects and transport

This is a local catalog lookup. It does not call the remote MCP server and it never executes the selected tool.

Errors

Invalid catalog input returns {"tool":null} after setting the runtime command error. A valid catalog with no matching name has the same null result but does not imply that a provider request was attempted.

Catalog loading | Catalog search | Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_CatalogGet("JSON_Parse", "{}")
  IF INSTR(result, "JSON_Parse") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_CatalogHas - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_CatalogHas

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_CatalogHas(catalog AS STRING, name AS STRING) AS LONG

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_CatalogHas is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_CatalogHas(0)
  FUNCTION = 0
END FUNCTION


MCP_CatalogList - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_CatalogList

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED LOCAL CATALOG ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_CatalogList(request AS STRING, params AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED LOCAL CATALOG ADAPTER

Description

MCP_CatalogList produces an MCP-compatible {"tools":[...]} catalog without dotted dispatch. The second argument may contain an inline JSON catalog, a path to a JSON catalog file, or an empty object. An empty source uses the PBXB64_MCP_CATALOG environment variable when present and otherwise uses the built-in local catalog. That fallback advertises every executable local adapter in the current tranche: JSON parse/serialize, ping, the verified DataTools text/table subset, process-local MemoryTools, and read-only SystemTools.

Accepted catalog shapes

  • A direct object containing tools.
  • An MCP-Serve snapshot containing categories, where every category contains a tools array.
  • A JSON array of tool objects.

Category snapshots are flattened into one tool array. Each tool must have a non-empty name. Descriptions and input schemas are preserved.

Catalog discovery is not a parity claim for the 254 MCP-Serve tools. Tools requiring an external provider are intentionally absent from the local fallback and return an explicit provider-required error when called. Side-effecting names remain behind the confirmation-required boundary.

Behavior

The result is newly serialized from validated JSON nodes. The source object is never exposed as a mutable runtime document, and no command execution is implied by catalog discovery.

Side effects and transport

The operation parses local text or reads a local file. It does not contact the MCP endpoint and does not execute a tool. Network execution remains a separate session adapter.

Error behavior

  • Malformed JSON, unreadable files, missing tool names, and unsupported catalog shapes produce an empty tools response and set the command error.
  • An empty object is treated as a request for the configured local fallback.
  • Tool schemas are copied rather than returned as mutable internal parser state.

Related commands

Use MCP_CatalogGet, MCP_CatalogSearch, MCP_CatalogCount, MCP_CatalogHas, and MCP_CatalogNames to inspect the same catalog contract.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL catalog AS STRING
  catalog = MCP_CatalogList("tools/list", "{}")
  IF INSTR(catalog, "JSON_Parse") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_CatalogNames - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_CatalogNames

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_CatalogNames(optional catalog AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_CatalogNames is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_CatalogNames("{}")
  FUNCTION = 0
END FUNCTION


MCP_CatalogRemoteList - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_CatalogRemoteList

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED REMOTE CATALOG ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_CatalogRemoteList(endpoint AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED REMOTE CATALOG ADAPTER

Description

MCP_CatalogRemoteList explicitly connects to the supplied MCP endpoint, performs an initialized session, calls tools/list, and returns a local {"tools":[...]} catalog. It is the remote counterpart to MCP_CatalogList.

Behavior

The command creates and closes a session for the operation. It validates JSON-RPC request IDs, requires a successful response containing a tools array, clones the returned tool descriptors, and never substitutes the built-in local catalog when the endpoint fails.

Errors and limitations

  • Invalid endpoints, failed initialization, missing session headers, transport errors, mismatched responses, and missing tools return an empty string and set the command error.
  • The adapter currently supports bounded plain HTTP only. HTTPS/TLS, SSE, pagination, and persistent catalog caching remain open.
  • The endpoint must be supplied explicitly; local catalog commands do not perform network I/O.

Related commands

Use MCP_SessionOpen and MCP_SessionRequest when several remote operations should share one session.

Back to command index

Example

LOCAL catalog AS STRING
catalog = MCP_CatalogRemoteList("http://127.0.0.1:5555/mcp")
IF INSTR(catalog, "tools") = 0 THEN ' handle the command error


MCP_CatalogSearch - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_CatalogSearch

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED LOCAL CATALOG ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_CatalogSearch(request AS STRING, optional params AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED LOCAL CATALOG ADAPTER

Description

MCP_CatalogSearch returns {"tools":[...]} for descriptors whose name or description contains the request text. Matching is case-insensitive. An empty request returns every descriptor in the selected catalog.

The optional second argument is an inline JSON catalog, a catalog file path, or an empty value. Empty input selects PBXB64_MCP_CATALOG or the built-in local fallback, matching MCP_CatalogList.

Behavior

  • Search is local and side-effect free.
  • Descriptions and schemas remain in each returned descriptor.
  • Search does not imply that the named MCP tool is available for execution.
  • Malformed catalog input returns an empty tools array and sets the runtime command error.

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_CatalogSearch("JSON", "{}")
  IF INSTR(result, "JSON_Parse") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_CatalogVersion - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_CatalogVersion

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_CatalogVersion(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_CatalogVersion is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_CatalogVersion("{}")
  FUNCTION = 0
END FUNCTION


MCP_ErrorObject - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ErrorObject

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ErrorObject(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ErrorObject is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ErrorObject("{}")
  FUNCTION = 0
END FUNCTION


MCP_InitializeParams - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_InitializeParams

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_InitializeParams(optional catalog AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_InitializeParams is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_InitializeParams("{}")
  FUNCTION = 0
END FUNCTION


MCP_NotificationCancelled - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_NotificationCancelled

Kind: Function | Family: MCP notifications | PBXB64 Status: IMPLEMENTED LOCAL VALIDATOR

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_NotificationCancelled(message AS STRING) AS LONG

Description

Kind: Function | Family: MCP notifications | PBXB64 Status: IMPLEMENTED LOCAL VALIDATOR

Description

Validates the local JSON-RPC notification envelope for notifications/cancelled. It is intended for adapters that receive or construct cancellation messages.

Behavior

Returns nonzero when the supplied UTF-8 text is a JSON object whose method is notifications/cancelled; otherwise it returns zero and records a command error. No cancellation is sent or executed by this function.

Error behavior

Malformed JSON, missing method fields, and another method name are rejected. The argument is required and must be a string.

Side effects and limitations

The function does not change a task table or close a network request. Transport code must connect this validation result to a session cancellation policy.

Related commands

See MCP_TaskCancel.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL message AS STRING
  message = "{" + CHR$(34) + "jsonrpc" + CHR$(34) + ":" + CHR$(34) + "2.0" + CHR$(34) + "," + CHR$(34) + "method" + CHR$(34) + ":" + CHR$(34) + "notifications/cancelled" + CHR$(34) + "}"
  FUNCTION = MCP_NotificationCancelled(message) = 0
END FUNCTION


MCP_NotificationCreate - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_NotificationCreate

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_NotificationCreate(method AS STRING, optional value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_NotificationCreate is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_NotificationCreate("{}")
  FUNCTION = 0
END FUNCTION


MCP_NotificationInitialized - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_NotificationInitialized

Kind: Function | Family: MCP notifications | PBXB64 Status: IMPLEMENTED LOCAL VALIDATOR

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_NotificationInitialized(message AS STRING) AS LONG

Description

Kind: Function | Family: MCP notifications | PBXB64 Status: IMPLEMENTED LOCAL VALIDATOR

Description

Checks that a local JSON-RPC notification has the MCP method notifications/initialized. This supports the protocol handshake boundary without embedding a network client in the command registry.

Behavior

Returns nonzero for the expected method and zero for malformed or different messages. The input remains caller-owned and the function produces no response body.

Error behavior

A missing method, invalid JSON, or non-string argument is an error. The command does not accept a request identifier because this MCP message is a notification.

Side effects and limitations

No session state is opened or promoted to initialized. A future transport adapter must apply this result to its session state machine.

Related commands

See MCP_InitializeParams, MCP_SessionCapabilities, and MCP_NotificationCancelled.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL message AS STRING
  message = "{" + CHR$(34) + "jsonrpc" + CHR$(34) + ":" + CHR$(34) + "2.0" + CHR$(34) + "," + CHR$(34) + "method" + CHR$(34) + ":" + CHR$(34) + "notifications/initialized" + CHR$(34) + "}"
  FUNCTION = MCP_NotificationInitialized(message) = 0
END FUNCTION


MCP_NotificationSerialize - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_NotificationSerialize

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_NotificationSerialize(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_NotificationSerialize is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_NotificationSerialize("{}")
  FUNCTION = 0
END FUNCTION


MCP_PingId - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_PingId

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_PingId(value AS STRING) AS LONG

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_PingId is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_PingId(0)
  FUNCTION = 0
END FUNCTION


MCP_ProgressCreate - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ProgressCreate

Kind: Function | Family: MCP progress | PBXB64 Status: IMPLEMENTED LOCAL STATEFUL PROGRESS

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ProgressCreate(token AS STRING [, total AS LONG]) AS STRING

Description

Kind: Function | Family: MCP progress | PBXB64 Status: IMPLEMENTED LOCAL STATEFUL PROGRESS

Description

Creates and registers a UTF-8 JSON progress record for a local MCP progress stream. The optional total is a progress maximum and is omitted when it is not supplied.

Behavior

The result contains the supplied token, value zero, and the optional numeric total. The token remains registered in process-local state. A later report can pass this returned JSON or the token itself and must not move the value backwards or beyond total.

Error behavior

An empty token or an invalid argument type is rejected. Values are serialized as JSON so quotes and control characters cannot break the result.

Side effects and limitations

No thread, socket, or MCP session is created. The state is local; remote progress delivery and cancellation remain transport responsibilities.

Related commands

See MCP_ProgressReport.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL progress AS STRING
  progress = MCP_ProgressCreate("load", 100)
  IF INSTR(progress, "load") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_ProgressReport - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ProgressReport

Kind: Function | Family: MCP progress | PBXB64 Status: IMPLEMENTED LOCAL STATE UPDATE

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ProgressReport(token AS STRING, progress AS LONG) AS STRING

Description

Kind: Function | Family: MCP progress | PBXB64 Status: IMPLEMENTED LOCAL STATE UPDATE

Description

Updates a registered local progress token and returns its JSON state. The first argument may be the JSON returned by MCP_ProgressCreate or the registered token string.

Behavior

The result is newly serialized and contains no executable callback. Values are monotonic and, when a total exists, cannot exceed that total. This rejects accidental backward progress instead of silently clamping it.

Error behavior

An empty token, wrong argument type, or invalid numeric conversion produces a command error. The output is not returned when validation fails.

Side effects and limitations

This updates local process state only. It does not publish an SSE event, update a remote task, or run a worker.

Related commands

See MCP_ProgressCreate and MCP_NotificationCancelled.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL report AS STRING
  report = MCP_ProgressReport("load", 25)
  IF INSTR(report, "25") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_PromptsGet - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_PromptsGet

Kind: Function | Family: MCP prompts | PBXB64 Status: IMPLEMENTED LOCAL PROTOCOL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_PromptsGet(request AS STRING, optional params AS STRING) AS STRING

Description

Kind: Function | Family: MCP prompts | PBXB64 Status: IMPLEMENTED LOCAL PROTOCOL ADAPTER

Description

Expands the local pbxb64-summary prompt. Parameters must contain name and may contain an arguments object with a value member.

Behavior

The result contains a prompt description and one user text message. The supplied value is JSON-serialized into that message, so strings, numbers, arrays, objects, and null are represented without unsafe string concatenation. A JSON-RPC request id is preserved.

Error behavior

Unknown prompt names and malformed parameter objects return invalid-params behavior. An empty result is not used as a successful prompt response.

Side effects and limitations

No model, network, file, or MCP-Serve operation is invoked. This is a local prompt-result adapter and does not claim provider completion.

Related commands

See MCP_PromptsList, MCP_ResultAddText, and MCP_ResourcesRead.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_PromptsGet("", "{" + CHR$(34) + "name" + CHR$(34) + ":" + CHR$(34) + "pbxb64-summary" + CHR$(34) + "," + CHR$(34) + "arguments" + CHR$(34) + ":{" + CHR$(34) + "value" + CHR$(34) + ":7}}")
  IF INSTR(result, "Local PBXB64 JSON summary") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_PromptsList - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_PromptsList

Kind: Function | Family: MCP prompts | PBXB64 Status: IMPLEMENTED LOCAL PROTOCOL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_PromptsList(request AS STRING, optional params AS STRING) AS STRING

Description

Kind: Function | Family: MCP prompts | PBXB64 Status: IMPLEMENTED LOCAL PROTOCOL ADAPTER

Description

Returns the local MCP prompt catalog. The current local adapter exposes pbxb64-summary, which accepts one required value argument.

Behavior

The result is a UTF-8 JSON object with a prompts array. A JSON-RPC request object in request receives a matching JSON-RPC 2.0 response. The optional parameters value is accepted as an object and is otherwise unused for listing.

Error behavior

Malformed parameter JSON or a non-object parameter value is rejected. No remote prompt catalog is substituted.

Side effects and limitations

Listing is local and has no network or session side effect. Prompt execution is represented by MCP_PromptsGet; no model call is performed.

Related commands

See MCP_PromptsGet, MCP_ResourcesList, and MCP_CatalogList.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL prompts AS STRING
  prompts = MCP_PromptsList("", "{}")
  IF INSTR(prompts, "pbxb64-summary") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_RemoteCall - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_RemoteCall

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED REMOTE JSON-RPC ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_RemoteCall(endpoint AS STRING, method AS STRING, params AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED REMOTE JSON-RPC ADAPTER

Description

MCP_RemoteCall creates a JSON-RPC 2.0 request, opens the required initialized MCP session, sends the request with the negotiated session header, validates the response, closes the session, and returns the JSON-RPC response body. The command name uses underscore qualification and does not use dotted dispatch.

Behavior

method is the MCP method such as tools/list or tools/call; the command performs session initialization internally before sending it. params must be a JSON object or an empty string for {}. The response must be valid JSON-RPC with the matching numeric request ID and a successful HTTP status; the response body is newly returned as a UTF-8 STRING.

Errors and limitations

  • Invalid parameters, unsupported HTTPS, transport failure, missing session headers, non-2xx HTTP status, and invalid or mismatched JSON-RPC responses return an empty string and set the command error.
  • The session is short-lived and is not available for a second call. Use MCP_SessionOpen for several operations on one session.
  • SSE, HTTPS/TLS, and remote pagination remain open extensions. Use the endpoint explicitly; local catalog commands do not silently become remote calls.

Related commands

Use HTTP_Execute for non-MCP HTTP and MCP_RequestParams when request construction must remain local and side-effect free. The detailed transport gap list is in docs/Command Coverage Shortcomings.md.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL response AS STRING
  response = MCP_RemoteCall("http://127.0.0.1:55457/mcp", "tools/list", "{}")
  IF INSTR(response, "tools") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_RequestId - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_RequestId

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_RequestId(value AS STRING) AS LONG

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_RequestId is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_RequestId(0)
  FUNCTION = 0
END FUNCTION


MCP_RequestIsNotification - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_RequestIsNotification

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_RequestIsNotification(value AS STRING) AS LONG

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_RequestIsNotification is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_RequestIsNotification(0)
  FUNCTION = 0
END FUNCTION


MCP_RequestMethod - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_RequestMethod

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_RequestMethod(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_RequestMethod is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_RequestMethod("{}")
  FUNCTION = 0
END FUNCTION


MCP_RequestParams - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_RequestParams

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_RequestParams(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_RequestParams is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_RequestParams("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResourcesList - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResourcesList

Kind: Function | Family: MCP resources | PBXB64 Status: IMPLEMENTED LOCAL PROTOCOL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResourcesList(request AS STRING, optional params AS STRING) AS STRING

Description

Kind: Function | Family: MCP resources | PBXB64 Status: IMPLEMENTED LOCAL PROTOCOL ADAPTER

Description

Builds the MCP resources/list result for the local PBXB64 adapter. The returned PB STRING contains UTF-8 JSON and lists the local catalog and adapter-help resources.

Behavior

Pass an empty request for a result object. When request is a JSON-RPC request with an id, the command wraps the result in a JSON-RPC 2.0 response and preserves that id. The optional parameters value must be a JSON object when supplied.

Error behavior

Malformed parameter JSON or a non-object parameter value is rejected. The command returns an empty string and records the runtime error; it does not silently return a fallback catalog for malformed input.

Side effects and limitations

The command is local and deterministic. It does not contact an MCP server, paginate a remote catalog, or claim that every MCP-Serve resource is available.

Related commands

See MCP_ResourcesRead, MCP_ResourcesTemplatesList, and MCP_CatalogList.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL resources AS STRING
  resources = MCP_ResourcesList("", "{}")
  IF INSTR(resources, "local://catalog") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_ResourcesRead - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResourcesRead

Kind: Function | Family: MCP resources | PBXB64 Status: IMPLEMENTED LOCAL PROTOCOL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResourcesRead(request AS STRING, optional params AS STRING) AS STRING

Description

Kind: Function | Family: MCP resources | PBXB64 Status: IMPLEMENTED LOCAL PROTOCOL ADAPTER

Description

Reads one local MCP resource. The parameters object must contain a string uri. The result uses the MCP resources/read shape with a contents array.

Behavior

local://catalog returns the local command catalog and local://help returns adapter-help text. A file:// URI reads the named local file and returns text content. A JSON-RPC request id is preserved when the request argument is a request object.

Error behavior

Missing or non-string URIs, unsupported URI schemes, unreadable files, and malformed parameter JSON return a JSON-RPC invalid-params response when a request id is available. The local runtime error is also set.

Side effects and limitations

File reads are local process operations. Network URIs, URI percent-decoding, access-control policy, and remote resource pagination are intentionally not inferred from this adapter.

Related commands

See MCP_ResourcesList, File_ReadBytes, and MCP_ResourcesSchemasList.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResourcesRead("", "{" + CHR$(34) + "uri" + CHR$(34) + ":" + CHR$(34) + "local://help" + CHR$(34) + "}")
  IF INSTR(result, "PBXB64 local MCP resources") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_ResourcesSchemasList - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResourcesSchemasList

Kind: Function | Family: MCP resources | PBXB64 Status: IMPLEMENTED LOCAL PROTOCOL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResourcesSchemasList(request AS STRING) AS STRING

Description

Kind: Function | Family: MCP resources | PBXB64 Status: IMPLEMENTED LOCAL PROTOCOL ADAPTER

Description

Creates the local MCP resource-schema listing result. It corresponds to the resource schema discovery handler used by MCP-Serve, while keeping the PBX command local and deterministic.

Behavior

The function returns a UTF-8 STRING with a schemas array. The current result is an empty array. This is a valid local response and does not claim that a remote server has no schemas.

Error behavior

The request must be a PB string. Invalid PB argument types are compile-time errors. The response is newly serialized and is independent of caller-owned buffers.

Side effects and limitations

No network, file, provider, or MCP session is opened. Populating remote schemas requires the pending MCP session transport and provider registry.

Related commands

See MCP_ResourcesTemplatesList and MCP_ResourcesList.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResourcesSchemasList("resources/schemas/list")
  IF INSTR(result, "schemas") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_ResourcesTemplatesList - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResourcesTemplatesList

Kind: Function | Family: MCP resources | PBXB64 Status: IMPLEMENTED LOCAL PROTOCOL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResourcesTemplatesList(request AS STRING) AS STRING

Description

Kind: Function | Family: MCP resources | PBXB64 Status: IMPLEMENTED LOCAL PROTOCOL ADAPTER

Description

Builds the JSON-RPC result shape for the MCP resources/templates/list method. The optional request text is accepted for symmetry with other local MCP constructors and is not sent over a network.

Behavior

The result is a newly allocated UTF-8 STRING containing resourceTemplates. The current local adapter returns an empty array because PBXB64 has no registered remote resource provider in this tranche.

Error behavior

Non-string arguments are rejected at compile time. The operation does not silently execute a provider or reinterpret a malformed request as a network call.

Side effects and limitations

No files, sockets, sessions, or remote MCP servers are accessed. Live resource-template discovery remains a transport/provider gap.

Related commands

See MCP_ResourcesSchemasList and the MCP catalog pages.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResourcesTemplatesList("resources/templates/list")
  IF INSTR(result, "resourceTemplates") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_ResponseCreate - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResponseCreate

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResponseCreate(method AS STRING, optional value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ResponseCreate is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResponseCreate("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResponseError - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResponseError

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResponseError(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ResponseError is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResponseError("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResponseId - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResponseId

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResponseId(value AS STRING) AS LONG

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ResponseId is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_ResponseId(0)
  FUNCTION = 0
END FUNCTION


MCP_ResponseIsError - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResponseIsError

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResponseIsError(value AS STRING) AS LONG

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ResponseIsError is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_ResponseIsError(0)
  FUNCTION = 0
END FUNCTION


MCP_ResponseResult - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResponseResult

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResponseResult(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ResponseResult is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResponseResult("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResponseSerialize - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResponseSerialize

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResponseSerialize(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ResponseSerialize is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResponseSerialize("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResultAddJson - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResultAddJson

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResultAddJson(result AS STRING, value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ResultAddJson is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResultAddJson("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResultAddResource - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResultAddResource

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResultAddResource(result AS STRING, value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ResultAddResource is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResultAddResource("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResultAddText - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResultAddText

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResultAddText(result AS STRING, value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ResultAddText is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResultAddText("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResultContent - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResultContent

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResultContent(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ResultContent is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResultContent("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResultData - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResultData

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResultData(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ResultData is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ResultData("{}")
  FUNCTION = 0
END FUNCTION


MCP_ResultSetError - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ResultSetError

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ResultSetError(result AS LONG, message AS STRING) AS LONG

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ResultSetError is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = MCP_ResultSetError(0)
  FUNCTION = 0
END FUNCTION


MCP_SessionCancel - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_SessionCancel

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED REMOTE CANCELLATION DELIVERY

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_SessionCancel(session AS LONG, requestID AS LONG) AS LONG

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED REMOTE CANCELLATION DELIVERY

Description

MCP_SessionCancel sends the MCP notifications/cancelled notification with the numeric requestId parameter. It returns 1 only after the session endpoint returns a successful HTTP status.

Behavior

The request ID must be positive. The command delegates to the session notification path, so it carries the negotiated session header, observes the per-session busy policy, and does not pretend that a remote task has stopped merely because the notification was delivered.

Errors and limits

  • An invalid handle, non-positive request ID, busy session, transport error, or non-2xx status returns 0 and sets the command error.
  • Delivery acknowledgement is not task completion; poll the relevant server task or request state separately.
  • HTTPS/TLS, SSE, and asynchronous interruption of a request already blocked in the socket remain separate transport work.

Related commands

Use MCP_SessionNotify for other methods and MCP_SessionNotifications for received events.

Back to command index

Example

IF MCP_SessionCancel(session, requestID) = 0 THEN ' handle failed delivery


MCP_SessionCapabilities - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_SessionCapabilities

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_SessionCapabilities(optional catalog AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_SessionCapabilities is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_SessionCapabilities("{}")
  FUNCTION = 0
END FUNCTION


MCP_SessionClose - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_SessionClose

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED HANDLE RELEASE

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_SessionClose(session AS LONG) AS LONG

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED HANDLE RELEASE

Description

MCP_SessionClose releases the local MCP session handle and its retained capability data. It returns 1 on success.

Behavior

Closing is local and idempotence is deliberately not implied: a second close of the same handle returns 0 with an invalid-handle error. No remote shutdown method is sent because MCP does not define a required session-close request for this adapter.

Errors and limitations

  • An invalid or already closed handle returns 0 and sets the command error.
  • Outstanding requests must finish before the handle is closed.
  • Network connection teardown is performed by the bounded HTTP request for each call.

Related commands

Open sessions with MCP_SessionOpen and make calls with MCP_SessionRequest.

Back to command index

Example

IF MCP_SessionClose(session) = 0 THEN FUNCTION = 1


MCP_SessionNotifications - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_SessionNotifications

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED BOUNDED REMOTE QUEUE

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_SessionNotifications(session AS LONG) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED BOUNDED REMOTE QUEUE

Description

MCP_SessionNotifications returns pending JSON-RPC notifications captured while the session was receiving a response. The UTF-8 STRING has the form {"notifications":[...],"dropped":0}.

Behavior

Notifications are retained in FIFO order in a bounded eight-entry queue. The queue is populated from mixed response bodies and is independent of MCP_SessionState's compatibility lastNotification field. A successful call drains the queue and resets its dropped counter.

Errors and limits

  • An invalid or closed handle, or a queue read during an active request, returns an empty string and sets the command error.
  • If more than eight notifications arrive before retrieval, the oldest entries are discarded and reported in dropped; loss is never silent.
  • The command performs no network request and uses the session busy policy to avoid racing an active request.

Related commands

Use MCP_SessionOpen, MCP_SessionRequest, MCP_SessionNotify, and MCP_SessionClose.

Back to command index

Example

LOCAL events AS STRING
events = MCP_SessionNotifications(session)
IF INSTR(events, "notifications/progress") = 0 THEN ' process the error or empty batch


MCP_SessionNotify - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_SessionNotify

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED REMOTE DELIVERY

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_SessionNotify(session AS LONG, method AS STRING, params AS STRING) AS LONG

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED REMOTE DELIVERY

Description

MCP_SessionNotify sends a JSON-RPC notification through an initialized session. It returns 1 after the remote HTTP endpoint accepts a successful 2xx response, including an empty 202 response; notifications have no JSON-RPC response ID.

Behavior

method must be non-empty and params must be a JSON object or an empty string for {}. The runtime adds jsonrpc, serializes the method and parameters, supplies the retained Mcp-Session-Id header, and uses the same per-session exclusion as requests.

Errors and limits

  • An invalid handle, empty method, non-object parameters, busy session, transport error, or non-2xx status returns 0 and sets the command error.
  • The current transport is bounded plain HTTP and does not provide TLS, proxy, or SSE delivery.
  • Use MCP_SessionCancel for standard cancellation.

Related commands

Open with MCP_SessionOpen, inspect events with MCP_SessionNotifications, and close with MCP_SessionClose.

Back to command index

Example

LOCAL params AS STRING
params = "{" + CHR$(34) + "progressToken" + CHR$(34) + ":" + CHR$(34) + "job-1" + CHR$(34) + "," + CHR$(34) + "progress" + CHR$(34) + ":2}"
IF MCP_SessionNotify(session, "notifications/progress", params) = 0 THEN ' handle delivery failure


MCP_SessionOpen - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_SessionOpen

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED INITIALIZED SESSION

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_SessionOpen(endpoint AS STRING) AS LONG

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED INITIALIZED SESSION

Description

MCP_SessionOpen opens an explicit MCP session against an http:// endpoint. It sends the MCP initialize request, validates the JSON-RPC response, retains the negotiated capabilities, sends notifications/initialized, and returns a session handle.

Behavior

The default PBXB64 client identity is PBXB64 version 0.50.0 and the requested protocol version is 2025-06-18. Session request IDs start at 2 after initialization. The endpoint and capabilities remain private to the handle and are returned only through MCP_SessionState. Each handle excludes concurrent requests, and a mixed notification/response body retains its last notification in session state.

Errors and limitations

  • Invalid endpoints, connection failure, non-2xx status, malformed JSON-RPC, or a missing initialize result return 0 and set the command error.
  • Only plain HTTP is supported by this session adapter; HTTPS/TLS and SSE transport remain separate open work.
  • Each process has a bounded session table. Close handles with MCP_SessionClose; close sends the MCP session DELETE request before releasing the local handle.

Related commands

Use MCP_SessionRequest, MCP_SessionState, and MCP_SessionClose for the session lifecycle.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL session AS LONG
  session = MCP_SessionOpen("http://127.0.0.1:5555/mcp")
  IF session = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  MCP_SessionClose(session)
  FUNCTION = 0
END FUNCTION


MCP_SessionRequest - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_SessionRequest

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED REQUEST CORRELATION

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_SessionRequest(session AS LONG, method AS STRING, params AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED REQUEST CORRELATION

Description

MCP_SessionRequest sends one JSON-RPC request through an initialized session and returns the complete validated JSON-RPC response as a UTF-8 STRING. It supports MCP methods such as tools/list, tools/call, resources/list, and resources/read.

Behavior

params must be a JSON object. The runtime increments the session request ID, sends the request to the endpoint retained by MCP_SessionOpen, and rejects a response whose JSON-RPC version, ID, or result/error envelope does not match. JSON-RPC error envelopes are returned for caller inspection.

Errors and limitations

  • An invalid handle, invalid parameters, transport failure, malformed response, or mismatched request ID returns an empty string and sets the command error.
  • Concurrent calls on one handle are not yet supported; use separate sessions for independent workers.
  • The adapter currently uses the bounded plain-HTTP transport and does not decode SSE.

Related commands

Open the handle with MCP_SessionOpen. Inspect it with MCP_SessionState and release it with MCP_SessionClose.

Back to command index

Example

LOCAL result AS STRING
result = MCP_SessionRequest(session, "tools/list", "{}")
IF INSTR(result, "tools") = 0 THEN ' handle the command error


MCP_SessionState - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_SessionState

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED LOCAL SESSION STATE

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_SessionState(session AS LONG) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, VALIDATED LOCAL SESSION STATE

Description

MCP_SessionState returns a newly serialized JSON description of an open session, including its handle, endpoint, initialization flag, next request ID, and negotiated capabilities.

Behavior

The result is local state and performs no network request. Capability JSON is copied at session initialization, so the caller cannot mutate the runtime's internal session state.

Errors and limitations

  • An invalid or closed handle returns an empty string and sets the command error.
  • The state does not expose credentials, raw headers, or server internals.
  • It is not a replacement for a live capability refresh request.

Related commands

Use MCP_SessionOpen before inspection and MCP_SessionClose when finished.

Back to command index

Example

LOCAL state AS STRING
state = MCP_SessionState(session)
IF INSTR(state, "initialized") = 0 THEN ' handle the command error


MCP_SessionTransport - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_SessionTransport

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_SessionTransport(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_SessionTransport is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_SessionTransport("{}")
  FUNCTION = 0
END FUNCTION


MCP_TaskCancel - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_TaskCancel

Kind: Function | Family: MCP tasks | PBXB64 Status: IMPLEMENTED LOCAL TASK STATE CHANGE

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_TaskCancel(task AS LONG) AS LONG

Description

Kind: Function | Family: MCP tasks | PBXB64 Status: IMPLEMENTED LOCAL TASK STATE CHANGE

Description

Marks a pending, queued, or running local task handle as cancelled. The numeric result is nonzero when the local state was changed and zero for invalid, completed, failed, expired, or already cancelled tasks.

Behavior

Cancellation changes the process-local task record only. It does not terminate a thread because the current task record has no worker attached.

Error behavior

Zero, unknown handles, and non-numeric PB arguments are rejected. The command never reports success for a remote cancellation it did not send.

Side effects and limitations

No network notification is emitted and no MCP-Serve task is cancelled. A future transport layer must map this state change to notifications/cancelled or the applicable server operation.

Related commands

See MCP_NotificationCancelled and MCP_TaskStatus.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL task AS LONG
  task = MCP_TaskCreate("local", "null")
  IF MCP_TaskCancel(task) = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_TaskCreate - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_TaskCreate

Kind: Function | Family: MCP tasks | PBXB64 Status: IMPLEMENTED LOCAL TASK RECORD

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_TaskCreate(kind AS STRING, result AS STRING) AS LONG

Description

Kind: Function | Family: MCP tasks | PBXB64 Status: IMPLEMENTED LOCAL TASK RECORD

Description

Creates a local numeric task handle with a JSON payload. The handle is a PBXB64 runtime value and is not an MCP server task identifier.

Behavior

Valid JSON with an ordinary kind starts in completed. Kinds pending and deferred start in pending; queued and running preserve those lifecycle states. Invalid JSON creates a failed record so failure is observable instead of being converted into a false success. An object payload may include numeric ttlMs from 1 through 3,600,000. When that deadline expires, a nonterminal task becomes expired and exposes an error field.

Error behavior

An empty kind, wrong PB argument types, and table exhaustion are errors. Invalid JSON is retained as a failed task record. The local table has a finite capacity.

Side effects and limitations

Only process-local memory is changed. This adapter models queued/completed/failed/cancelled/expired state but does not start a background worker, persist tasks, or dispatch to MCP-Serve.

Related commands

See MCP_TaskStatus, MCP_TaskResult, and MCP_TaskCancel.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL task AS LONG
  task = MCP_TaskCreate("local", "{" + CHR$(34) + "ok" + CHR$(34) + ":true}")
  IF task = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_TaskResult - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_TaskResult

Kind: Function | Family: MCP tasks | PBXB64 Status: IMPLEMENTED LOCAL TASK QUERY

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_TaskResult(task AS LONG) AS STRING

Description

Kind: Function | Family: MCP tasks | PBXB64 Status: IMPLEMENTED LOCAL TASK QUERY

Description

Returns the stored JSON result payload for a local task handle. The result is a new UTF-8 string and can be passed to the JSON parser.

Behavior

The payload is returned only for a known local handle. It is independent of later caller buffer changes and is not a live reference to the task table.

Error behavior

Unknown, zero, or cancelled handles are rejected according to the local task state. The command also rejects a non-numeric PB argument at compile time.

Side effects and limitations

No remote task result is fetched and no retry is attempted. Remote task polling belongs to the pending MCP session adapter.

Related commands

See MCP_TaskStatus and JSON_Parse.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL task AS LONG, result AS STRING
  task = MCP_TaskCreate("local", "{" + CHR$(34) + "value" + CHR$(34) + ":7}")
  result = MCP_TaskResult(task)
  IF INSTR(result, "value") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_TaskStatus - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_TaskStatus

Kind: Function | Family: MCP tasks | PBXB64 Status: IMPLEMENTED LOCAL TASK QUERY

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_TaskStatus(task AS LONG) AS STRING

Description

Kind: Function | Family: MCP tasks | PBXB64 Status: IMPLEMENTED LOCAL TASK QUERY

Description

Returns the JSON status record for a local task handle created by MCP_TaskCreate. The response is a UTF-8 PB string.

Behavior

The status identifies the local handle and state. A valid completed task reports its local completion state; a cancelled task reports cancellation. Unknown or released handles are errors.

Error behavior

Only a numeric PB handle is accepted. Zero, an out-of-range handle, and an unused table slot set a command error and return an empty result.

Side effects and limitations

The query does not poll a remote server and cannot observe work performed outside the current process.

Related commands

See MCP_TaskCreate and MCP_TaskResult.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL task AS LONG, status AS STRING
  task = MCP_TaskCreate("local", "null")
  status = MCP_TaskStatus(task)
  IF INSTR(status, "status") = 0 THEN FUNCTION = 1 : EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


MCP_TaskTransition - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_TaskTransition

Kind: Function | Family: MCP tasks | PBXB64 Status: IMPLEMENTED, VALIDATED LOCAL STATE MACHINE

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_TaskTransition(task AS LONG, nextStatus AS STRING) AS STRING

Description

Kind: Function | Family: MCP tasks | PBXB64 Status: IMPLEMENTED, VALIDATED LOCAL STATE MACHINE

Description

MCP_TaskTransition advances a process-local task through the bounded lifecycle states queued, running, completed, failed, cancelled, and expired. It returns the serialized task record as a UTF-8 STRING.

Behavior

Only a non-terminal task can transition. A transition to failed or expired records an explicit error; a transition to completed retains the JSON payload as the result. Terminal states reject all later transitions, so completion, failure, cancellation, and expiry cannot be silently overwritten.

Errors and limits

  • An invalid handle, empty status, terminal source state, or status outside the allowlist returns an empty string and sets the command error.
  • The table is process-local and bounded; this command does not create threads, persist tasks, or contact MCP-Serve.
  • MCP_TaskCancel remains the dedicated cancellation operation for pending tasks.

Related commands

Use MCP_TaskCreate, MCP_TaskStatus, MCP_TaskResult, and MCP_TaskCancel.

Back to command index

Example

LOCAL state AS STRING
state = MCP_TaskTransition(task, "running")
IF INSTR(state, "running") = 0 THEN ' handle the transition error


MCP_ToolDescription - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ToolDescription

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ToolDescription(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ToolDescription is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ToolDescription("{}")
  FUNCTION = 0
END FUNCTION


MCP_ToolName - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ToolName

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ToolName(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ToolName is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ToolName("{}")
  FUNCTION = 0
END FUNCTION


MCP_ToolSchema - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › MCP / JSON Adapter PBXB64 Compiler Help

MCP_ToolSchema

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: MCP / JSON Adapter

Syntax

FUNCTION MCP_ToolSchema(value AS STRING) AS STRING

Description

Kind: Function | Family: MCP | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

MCP_ToolSchema is a normal underscore BASIC command in the MCP family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: Help/MCP_Tool_Catalog_Snapshot.json and Server/MCP_Dispatcher*.inc: local protocol and catalog adapter boundary

MCP equivalent: local MCP request/catalog/result contract

Side-effect class: local-protocol. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the MCP family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = MCP_ToolSchema("{}")
  FUNCTION = 0
END FUNCTION


Net_FtpExists - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Network (TCP/UDP/FTP) PBXB64 Compiler Help

Net_FtpExists

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: Network (TCP/UDP/FTP)

Syntax

FUNCTION Net_FtpExists(handle AS LONG, path AS STRING) AS LONG

Description

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Net_FtpExists is a normal underscore BASIC command in the Net family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FTP/SFTP source modules: provider handle and action boundary

MCP equivalent: local provider descriptor; no external request

Side-effect class: provider. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Net family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Net_FtpExists(0)
  FUNCTION = 0
END FUNCTION


Net_FtpLastAction - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Network (TCP/UDP/FTP) PBXB64 Compiler Help

Net_FtpLastAction

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: Network (TCP/UDP/FTP)

Syntax

FUNCTION Net_FtpLastAction(handle AS LONG) AS STRING

Description

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Net_FtpLastAction is a normal underscore BASIC command in the Net family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FTP/SFTP source modules: provider handle and action boundary

MCP equivalent: local provider descriptor; no external request

Side-effect class: provider. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Net family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Net_FtpLastAction(0)
  FUNCTION = 0
END FUNCTION


Net_FtpMkdir - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Network (TCP/UDP/FTP) PBXB64 Compiler Help

Net_FtpMkdir

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: Network (TCP/UDP/FTP)

Syntax

FUNCTION Net_FtpMkdir(handle AS LONG, path AS STRING) AS LONG

Description

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Net_FtpMkdir is a normal underscore BASIC command in the Net family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FTP/SFTP source modules: provider handle and action boundary

MCP equivalent: local provider descriptor; no external request

Side-effect class: provider. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Net family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Net_FtpMkdir(0)
  FUNCTION = 0
END FUNCTION


Net_FtpRename - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Network (TCP/UDP/FTP) PBXB64 Compiler Help

Net_FtpRename

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: Network (TCP/UDP/FTP)

Syntax

FUNCTION Net_FtpRename(handle AS LONG, path AS STRING) AS LONG

Description

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Net_FtpRename is a normal underscore BASIC command in the Net family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FTP/SFTP source modules: provider handle and action boundary

MCP equivalent: local provider descriptor; no external request

Side-effect class: provider. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Net family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Net_FtpRename(0)
  FUNCTION = 0
END FUNCTION


Net_SftpDelete - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Network (TCP/UDP/FTP) PBXB64 Compiler Help

Net_SftpDelete

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: Network (TCP/UDP/FTP)

Syntax

FUNCTION Net_SftpDelete(handle AS LONG, path AS STRING) AS LONG

Description

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Net_SftpDelete is a normal underscore BASIC command in the Net family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FTP/SFTP source modules: provider handle and action boundary

MCP equivalent: local provider descriptor; no external request

Side-effect class: provider. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Net family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Net_SftpDelete(0)
  FUNCTION = 0
END FUNCTION


Net_SftpDownload - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Network (TCP/UDP/FTP) PBXB64 Compiler Help

Net_SftpDownload

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: Network (TCP/UDP/FTP)

Syntax

FUNCTION Net_SftpDownload(handle AS LONG, path AS STRING) AS LONG

Description

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Net_SftpDownload is a normal underscore BASIC command in the Net family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FTP/SFTP source modules: provider handle and action boundary

MCP equivalent: local provider descriptor; no external request

Side-effect class: provider. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Net family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Net_SftpDownload(0)
  FUNCTION = 0
END FUNCTION


Net_SftpList - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Network (TCP/UDP/FTP) PBXB64 Compiler Help

Net_SftpList

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: Network (TCP/UDP/FTP)

Syntax

FUNCTION Net_SftpList(handle AS LONG, optional path AS STRING) AS STRING

Description

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Net_SftpList is a normal underscore BASIC command in the Net family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FTP/SFTP source modules: provider handle and action boundary

MCP equivalent: local provider descriptor; no external request

Side-effect class: provider. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Net family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Net_SftpList(0)
  FUNCTION = 0
END FUNCTION


Net_SftpUpload - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Network (TCP/UDP/FTP) PBXB64 Compiler Help

Net_SftpUpload

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: Network (TCP/UDP/FTP)

Syntax

FUNCTION Net_SftpUpload(handle AS LONG, path AS STRING) AS LONG

Description

Kind: Function | Family: Net | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Net_SftpUpload is a normal underscore BASIC command in the Net family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: FTP/SFTP source modules: provider handle and action boundary

MCP equivalent: local provider descriptor; no external request

Side-effect class: provider. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Net family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Net_SftpUpload(0)
  FUNCTION = 0
END FUNCTION


Text_Contains - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Text_Contains

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Text_Contains(value AS STRING, part AS STRING) AS LONG

Description

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Text_Contains is a normal underscore BASIC command in the Text family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP equivalent: local text utility

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Text family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Text_Contains(0)
  FUNCTION = 0
END FUNCTION


Text_EndsWith - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Text_EndsWith

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Text_EndsWith(value AS STRING, part AS STRING) AS LONG

Description

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Text_EndsWith is a normal underscore BASIC command in the Text family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP equivalent: local text utility

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Text family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Text_EndsWith(0)
  FUNCTION = 0
END FUNCTION


Text_Lower - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Text_Lower

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Text_Lower(value AS STRING, optional separator AS STRING) AS STRING

Description

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP equivalent: local text utility

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Text family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Text_Lower("{}")
  FUNCTION = 0
END FUNCTION


Text_PadLeft - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Text_PadLeft

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Text_PadLeft(value AS STRING, width AS LONG, optional fill AS STRING) AS STRING

Description

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Text_PadLeft is a normal underscore BASIC command in the Text family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP equivalent: local text utility

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Text family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Text_PadLeft(0)
  FUNCTION = 0
END FUNCTION


Text_PadRight - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Text_PadRight

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Text_PadRight(value AS STRING, width AS LONG, optional fill AS STRING) AS STRING

Description

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Text_PadRight is a normal underscore BASIC command in the Text family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP equivalent: local text utility

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Text family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Text_PadRight(0)
  FUNCTION = 0
END FUNCTION


Text_SplitLines - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Text_SplitLines

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Text_SplitLines(value AS STRING, optional separator AS STRING) AS STRING

Description

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Text_SplitLines is a normal underscore BASIC command in the Text family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP equivalent: local text utility

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Text family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Text_SplitLines("{}")
  FUNCTION = 0
END FUNCTION


Text_StartsWith - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Text_StartsWith

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Text_StartsWith(value AS STRING, part AS STRING) AS LONG

Description

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Text_StartsWith is a normal underscore BASIC command in the Text family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns LONG.

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP equivalent: local text utility

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Text family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS LONG
  result = Text_StartsWith(0)
  FUNCTION = 0
END FUNCTION


Text_Upper - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Text_Upper

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Chapter: General Reference

Syntax

FUNCTION Text_Upper(value AS STRING, optional separator AS STRING) AS STRING

Description

Kind: Function | Family: Text | PBXB64 Status: IMPLEMENTED, LOCAL ADAPTER

Description

Text_Upper is a normal underscore BASIC command in the Text family. Lookup uses ordinary case-insensitive BASIC identifiers without dotted dispatch or an independent parser branch. The command follows the PB signature above and returns STRING (UTF-8).

Behavior

The operation works locally on documents, text, protocol descriptions, files, provider descriptors, or configuration. Network and provider commands maintain only local adapter state; they do not send an external request. Invalid handles, paths, types, or JSON values report failure instead of silently succeeding.

Source and MCP mapping

Source mapping: JSON, HTTP, and FileTools source modules: shared text utility boundary

MCP equivalent: local text utility

Side-effect class: pure. Arguments are type-checked at the PB boundary.

Error cases

  • Missing or invalid arguments produce a compile-time or runtime diagnostic.
  • An unknown JSON path or invalid handle produces failure or an empty string result.
  • External network or provider activity is deliberately outside this local adapter.

Related commands

See the other pages in the Text family and the JSON, MCP, HTTP, File, Text, provider, and configuration references in the command index.

Back to command index

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL result AS STRING
  result = Text_Upper("{}")
  FUNCTION = 0
END FUNCTION


PEEK - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PEEK

Returns a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

numvar = PEEK([ datatype ,] address??? )
ansivar = PEEK$([STRINGZ,] address??? , count& )
widevar = PEEK$$([WSTRINGZ,] address??? , count& )

Description

Returns a

Kind: Function | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The PEEK functions and complementary POKE statements are low-level methods of accessing individual bytes in memory. The data is retrieved from memory, starting at the specified 32-bit address??? .

PEEK retrieves a numeric value starting at a specified memory address.

PEEK$ retrieves count& consecutive bytes and returns them as a string . If STRINGZ (or ASCIIZ) is specified, PEEK$ reads successive characters from memory, up to the specified size, until a terminating $NUL ( CHR$ (0)) byte is found. Since STRINGZ strings must contain a terminating $NUL, the maximum length of the returned string is 1 character less than count&.

PEEK$$ retrieves count& consecutive 2-byte wide characters, and returns them as a wide character string. If WSTRINGZ is specified, PEEK$$ reads successive characters from memory, up to the specified size, until a terminating $NUL (CHR$(0)) character is found. Since WSTRINGZ strings must contain a terminating $NUL, the maximum length of the returned string is 1 character less than count& .

Contrary to intuitive notions, PEEK and POKE execute at the same high performance levels as pointer variables. They offer an excellent alternative to pointers in many situations.

datatype

The numeric data type to retrieve, which may be any one of BYTE , WORD , DWORD , INTEGER , LONG , QUAD , SINGLE , DOUBLE , EXT , CUR , CUX . If a data type is not specified, BYTE is assumed.

address???

A valid 32-bit memory address specifying the location in memory where data retrieval should begin.

count&

A numeric expression that specifies the number of consecutive characters to be read from memory.

Restrictions

If address??? (or any memory in the range covered by count& ) references an invalid address (memory that is not allocated to the application), Windows will generate a General Protection Fault (GPF) and terminate the application. GPFs cannot be trapped with an ON ERROR error handler.

See also

  • POKE
  • STRPTR
  • VARPTR
  • PBXB64 Compiler Help


PIC BIND - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PIC BIND

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

PIC BIND field, buffer$, offset, length

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PIC CLEAR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PIC CLEAR

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

PIC CLEAR field

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PIC DOLLAR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PIC DOLLAR

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result$ = PIC$(field)
result$ = PICSTR$(field)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PIC FREE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PIC FREE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

PIC FREE field

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PIC GET - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PIC GET

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

PIC GET field TO target

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PIC INIT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PIC INIT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

PIC INIT field, picture$

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PIC SET - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PIC SET

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

PIC SET field, value

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PICFIELD - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PICFIELD

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

LOCAL field AS PICFIELD
PIC INIT field, "S9(5)V99"

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PICVAL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PICVAL

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

n# = PICVAL(field)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PICVALID - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PICVALID

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

ok& = PICVALID(field)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PILOT A: (Accept) - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Variables & Input PBXB64 Compiler Help

PILOT A: (Accept)

Accepts a complete string line or a signed 64-bit integer from standard input.

Chapter: PILOT Variables & Input | Certification: [CERTIFIED TESTED]

Syntax

A: $var
A: #var

Description

Accepts a complete string line or a signed 64-bit integer from standard input.

Kind: Statement | Category: PILOT Language

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

The A: command reads from standard input:

  • A: $var - initializes to empty string
  • A: #var - initializes to 0
Input forms: String input reads a complete line without its line terminator. Numeric input accepts a signed 64-bit decimal integer.

Match Slot

The match slot is true for a non-empty string or non-zero number and false for an empty string or zero.

Example

A: $name
A: #age

See also

  • PILOT T: (Type)
  • PILOT C: (Compute)
  • PBXB64 - PILOT Language Reference
  • PBXB64 Compiler Help


PILOT C: (Compute) - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Variables & Input PBXB64 Compiler Help

PILOT C: (Compute)

Assigns a value to a variable. Supports string literals, integer constants, and variable references.

Chapter: PILOT Variables & Input | Certification: [CERTIFIED TESTED]

Syntax

C: $var = "string literal"
C: #var = integer
C: #var = TRUE | FALSE
C: #var = #other
C: #var = #left + #right * 2
C: $var = $other

Description

Assigns a value to a variable. Supports string literals, integer constants, and variable references.

Kind: Statement | Category: PILOT Language

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

The C: command assigns a value to a variable. It also sets the match slot - true if the value is non-zero/non-empty, false otherwise.

Number assignments

  • C: #A = 42 - integer constant
  • C: #A = -5 - negative integer
  • C: #A = TRUE - 1 (boolean true)
  • C: #A = FALSE - 0 (boolean false)
  • C: #A = #B - copy from another number variable

String assignments

  • C: $S = "hello" - string literal
  • C: $S = $T - copy from another string variable

Supported operators are +, -, *, /, and %. Multiplication, division, and remainder take precedence over addition and subtraction.

Boundary: Parentheses and floating-point expressions are not part of the documented PILOT arithmetic surface.

Match Slot

After C:, the match slot is set to:

  • true if the assigned value is non-zero (numbers) or non-empty (strings)
  • false if zero or empty string

This match slot is used by Y:, N:, and M:.

Example

C: #A = 42
C: $MSG = "Hello"
C: #FLAG = TRUE

See also

  • PILOT Y: (Yes)
  • PILOT N: (No)
  • PILOT M: (Match)
  • PBXB64 - PILOT Language Reference
  • PBXB64 Compiler Help


PILOT E: (End) - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Subroutines & End PBXB64 Compiler Help

PILOT E: (End)

Returns from the current U: subroutine, or terminates the program when no call is active.

Chapter: PILOT Subroutines & End | Certification: [CERTIFIED TESTED]

Syntax

E:

Description

Returns from the current U: subroutine, or terminates the program when no call is active.

Kind: Statement | Category: PILOT Language

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

Inside a block entered through U:, E: returns to the instruction after the most recent call. With no active call, it ends pilot_main with return value 0. Source that falls through receives an implicit return.

Nested calls: Return destinations use a bounded last-in, first-out runtime stack.

Example

T: "Hello"
E:

See also

  • PILOT J: (Jump)
  • PBXB64 - PILOT Language Reference
  • PBXB64 Compiler Help


PILOT J: (Jump) - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Labels & Branching PBXB64 Compiler Help

PILOT J: (Jump)

Unconditionally transfers execution to a labeled line.

Chapter: PILOT Labels & Branching | Certification: [CERTIFIED TESTED]

Syntax

J: *label

Description

Unconditionally transfers execution to a labeled line.

Kind: Statement | Category: PILOT Language

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

The J: command performs an unconditional jump to the specified label. The label must be defined elsewhere in the program with *label. Execution continues from the line immediately following the label.

Note: Labels are global to the program. J: can jump forward or backward in the source.

Example

J: *skip
T: "This is skipped"
*skip
T: "After jump"

See also

  • PILOT M: (Match)
  • PILOT *label
  • PBXB64 - PILOT Language Reference
  • PBXB64 Compiler Help


PILOT *label - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Labels & Branching PBXB64 Compiler Help

PILOT *label

Defines a target location for J: (Jump) and M: (Match) commands.

Chapter: PILOT Labels & Branching | Certification: [CERTIFIED TESTED]

Syntax

*labelname

Description

Defines a target location for J: (Jump) and M: (Match) commands.

Kind: Label | Category: PILOT Language

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

A label defines a location in the program that can be jumped to. Labels are defined by placing an asterisk * followed by the label name at the start of a line. Label names are case-insensitive and can contain letters, digits, and underscores.

Note: Labels are global to the program. They can be referenced by J: and M: from any location. Labels do not consume runtime space - they are resolved at compile time.

Example

J: *target
T: "Skipped"
*target
T: "After jump"

See also

  • PILOT J: (Jump)
  • PILOT M: (Match)
  • PBXB64 - PILOT Language Reference
  • PBXB64 Compiler Help


PILOT M: (Match) - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Labels & Branching PBXB64 Compiler Help

PILOT M: (Match)

Conditionally jumps to a label if the match slot is true.

Chapter: PILOT Labels & Branching | Certification: [CERTIFIED TESTED]

Syntax

M: *label

Description

Conditionally jumps to a label if the match slot is true.

Kind: Statement | Category: PILOT Language

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

The M: command checks the match slot. If the match slot is true, execution jumps to the specified label. If false, execution continues to the next line. The match slot is set by the most recent C: or A: command.

Match Slot Behavior

Match Slot | M: Action
true | Jump to *label
false | Continue to next line

Example

C: #A = 1
M: *success
T: "Match was false"
E:
*success
T: "Match was true"
E:

See also

  • PILOT Y: (Yes)
  • PILOT N: (No)
  • PILOT C: (Compute)
  • PBXB64 - PILOT Language Reference
  • PBXB64 Compiler Help


PILOT N: (No) - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Guards PBXB64 Compiler Help

PILOT N: (No)

Conditionally executes the next line only if the match slot is false.

Chapter: PILOT Guards | Certification: [CERTIFIED TESTED]

Syntax

N: command

Description

Conditionally executes the next line only if the match slot is false.

Kind: Statement | Category: PILOT Language

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

The N: command is the inverse of Y:. If the match slot is false, the command on the same line is executed. If the match slot is true, the command is skipped and execution continues to the next line.

Example

C: #A = 0
N: T: "Match is false"
C: #A = 1
N: T: "This is skipped"

See also

  • PILOT Y: (Yes)
  • PILOT M: (Match)
  • PILOT C: (Compute)
  • PBXB64 - PILOT Language Reference
  • PBXB64 Compiler Help


PILOT R: (Remark) - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Text & Comments PBXB64 Compiler Help

PILOT R: (Remark)

Inserts a comment or annotation into the program. Ignored by the compiler.

Chapter: PILOT Text & Comments | Certification: [CERTIFIED TESTED]

Syntax

R: any text here

Description

Inserts a comment or annotation into the program. Ignored by the compiler.

Kind: Statement | Category: PILOT Language

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

The R: command is a comment. Everything after R: on the same line is ignored by the compiler. It does not affect program execution or output. Use remarks to document your PILOT code.

Note: Unlike BASIC's REM, PILOT remarks require the colon immediately after the R. No space between R and : is allowed.

Example

R: This is a comment
R: Calculate the answer
C: #A = 42

See also

  • PILOT T: (Type)
  • PILOT C: (Compute)
  • PBXB64 - PILOT Language Reference
  • PBXB64 Compiler Help


PILOT S: (Sound) - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Runtime Helpers PBXB64 Compiler Help

PILOT S: (Sound)

Invokes the PBXB64 Windows sound/beep runtime helper.

Chapter: PILOT Runtime Helpers

Syntax

S:

Description

Invokes the PBXB64 Windows sound/beep runtime helper.

Kind: Statement | Category: PILOT Language

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED ROUTE TESTED]

Description

The S: command calls the PILOT sound helper, which routes to the Windows message-beep implementation. It does not modify the match slot or variables.

Environment: Audible output depends on Windows sound settings and the active desktop session. Code-generation validation verifies the runtime route without requiring speakers.

Example

S:

See also

  • PILOT U: (Use)
  • PBXB64 - PILOT Language Reference
  • PBXB64 Compiler Help
Back to top


PILOT T: (Type) - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Text & Comments PBXB64 Compiler Help

PILOT T: (Type)

Outputs text to the console. Supports string literals, string variables, and multi-part comma-separated literals.

Chapter: PILOT Text & Comments | Certification: [CERTIFIED TESTED]

Syntax

T: "string literal"
T: $variable
T: "part1", "part2", "part3"

Description

Outputs text to the console. Supports string literals, string variables, and multi-part comma-separated literals.

Kind: Statement | Category: PILOT Language

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

The T: command prints text to the console. Three forms are supported:

  • Single literal: T: "Hello" - prints the quoted string.
  • Variable: T: $msg - prints the contents of a string variable.
  • Multi-part: T: "Hello", " ", "World" - concatenates multiple quoted literals and prints the result.
Limitation: Mixed multi-part text (literals combined with variables) is not yet supported. Use C: to concatenate into a variable first, then T: the variable.

Example

T: "Hello from PILOT"
C: $msg = "variable text"
T: $msg
T: "Hello", " ", "World"

See also

  • PILOT C: (Compute)
  • PILOT A: (Accept)
  • PBXB64 - PILOT Language Reference
  • PBXB64 Compiler Help


PILOT U: (Use) - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Subroutines & End PBXB64 Compiler Help

PILOT U: (Use)

Calls a labeled PILOT block as a subroutine.

Chapter: PILOT Subroutines & End | Certification: [CERTIFIED TESTED]

Syntax

U: *label

Description

Calls a labeled PILOT block as a subroutine.

Kind: Statement | Category: PILOT Language

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

The U: command saves a return destination and transfers control to *label. An E: in the called block returns to the instruction after U:. Calls may be nested.

Boundary: The runtime return stack holds 256 entries. The target label must exist in the same PILOT source.

Example

U:

See also

  • PILOT S: (Sound)
  • PILOT J: (Jump)
  • PBXB64 - PILOT Language Reference
  • PBXB64 Compiler Help


PILOT V: (PowerBASIC Variable Bridge) - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › Overview PBXB64 Compiler Help

PILOT V: (PowerBASIC Variable Bridge)

Creates a live, bidirectional binding between a PILOT variable and a separately linked PowerBASIC GLOBAL.

Chapter: Overview | Certification: [CERTIFIED TESTED]

Syntax

V: #pilot_name|pb_global_name|QUAD
V: $pilot_name|pb_global_name|STRING

Description

Creates a live, bidirectional binding between a PILOT variable and a separately linked PowerBASIC GLOBAL.

Kind: Declaration | Category: PILOT Language

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

A numeric binding accesses the PB QUAD global directly. A string binding uses the managed PB string ABI and preserves its explicit length. Reads import the current PB value; C: and A: export immediately.

Several PILOT aliases may bind to the same PB global.

PowerBASIC Source

GLOBAL pilot_bridge_number AS QUAD = 40
GLOBAL pilot_bridge_text AS STRING

SUB PilotBridgeGlobalsAnchor()
END SUB

PILOT Source

V: #NUMBER|pilot_bridge_number|QUAD
V: $TEXT|pilot_bridge_text|STRING
C: #NUMBER = #NUMBER + 2
C: $TEXT = "from-pilot"
T: $TEXT
E:
Requirements: The PB global must be linked as an additional input. The PILOT prefix must match QUAD or STRING; other PB types are rejected.

See also

  • PILOT A: (Accept)
  • PILOT C: (Compute)
  • PBXB64 - PILOT Language Reference


PILOT Y: (Yes) - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › PILOT Guards PBXB64 Compiler Help

PILOT Y: (Yes)

Conditionally executes the next line only if the match slot is true.

Chapter: PILOT Guards | Certification: [CERTIFIED TESTED]

Syntax

Y: command

Description

Conditionally executes the next line only if the match slot is true.

Kind: Statement | Category: PILOT Language

PBXB64 Status: FULLY IMPLEMENTED

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Y: command is a conditional guard. If the match slot is true, the command on the same line is executed. If the match slot is false, the command is skipped and execution continues to the next line.

Example

C: #A = 1
Y: T: "Match is true"
C: #A = 0
Y: T: "This is skipped"

See also

  • PILOT N: (No)
  • PILOT M: (Match)
  • PILOT C: (Compute)
  • PBXB64 - PILOT Language Reference
  • PBXB64 Compiler Help


PLAY WAVE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PLAY WAVE

Play a sound under program control.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

PLAY WAVE ResourceID$ [, descriptors ...] [TO ResultVar& ]
PLAY WAVE END

Description

Play a sound under program control.

Kind: Statement | Category: Utilities

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The PLAY statement allows you to play a previously created WAVE resource or WAVE file. It's generally advantageous to use the resource form. Access is typically faster and the need for extra files is reduced. The first form of PLAY WAVE starts the sound, while PLAY WAVE END stops any waveform sound which is currently playing.

ResourceID$ is a string expression which tells either the Resource ID of the waveform data, or the disk file where it can be found. If the resource ID is numeric, just precede the number with #, such as "#12345". If the Resource ID contains a period, it is presumed to be the name of a disk file. Otherwise, an attempt is made to load it from a resource -- if not found, it is then presumed to be a disk file. If the waveform data cannot be found, an error 53 (File Not Found) is generated.

If you include the optional TO clause, a success value is assigned to the ResultVar& . If the operation succeeds, the value True (non-zero) is assigned. If it fails, the value False (zero) is assigned.

The default method is to play the waveform data in the background. That is, the Play statement returns immediately so the application can execute other code while the sound is playing.

By default, the new sound takes precedence over any other sound currently playing. When PLAY WAVE is executed, any other sound playing is stopped immediately. The new sound is played to replace it. This default methodology can be altered with options described later.

The optional descriptor words (one or more) may be added to control the way in which the sound is played. The descriptors available are:

Loop

The sound is played repeatedly in the background. It plays forever, until PLAY WAVE END is executed, or the program terminates.

NoStop

If another sound is playing, the new sound is discarded and not played. The value False (zero) is returned to the ResultVar& to let you know that the operation failed. You can try again to play the new sound at your convenience.

Synch

The sound plays in synchronous mode, commonly known as the foreground. The application waits for the sound to complete before continuing execution of other code. The sound and the code are synchronized.

YieldMS( TimeOut& )

If another sound is playing, the new sound yields and allows the first sound to complete. The numeric expression TimeOut& tells the maximum number of milliseconds (approximate) to wait before giving up. If the Timeout period expires and the first sound is still playing, the new sound is aborted. If the Timeout period is zero (0), the program will wait an unlimited amount of time for the first sound to finish. The maximum TimeOut& permitted is one hour.

PBXB64 qualification: the frontend accepts Loop, NoStop, Synch, and YieldMS descriptors and routes them to the embedded WinMM helper. The focused regression covers missing-file failure, descriptor parsing, the TO result, and PLAY WAVE END. Full active-sound YieldMS arbitration and broad resource/audio timing qualification remain open.

See also

  • #RESOURCE
  • PBXB64 Compiler Help


PLAY SOUND - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PLAY SOUND

Generate a simple tone on the computer speaker.

Chapter: General Reference

Syntax

PLAY SOUND Frequency&, Duration&

Description

Generate a simple tone on the computer speaker.

Kind: Statement | Category: Utilities

PBXB64 Status: AVAILABLE

PBXB64 Certification: [COMPILE/LINK/RUN TESTED]

Description

Frequency& is measured in Hertz and must be between 37 and 32767. Duration& is measured in milliseconds and must be non-negative. Both operands may be numeric expressions.

PBXB64 lowers the statement to the Win32 Beep primitive. Invalid runtime values fail without calling the native primitive.

Validation

tests/pb/test_play_sound.pb covers variable and literal operands in both Make and CMake link/run lanes.

See also

  • PLAY WAVE
  • PBXB64 Compiler Help


Pointers to arrays - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Pointers to arrays

In order to work with arrays created by other languages, such as VB arrays, PowerBASIC supports an extension of the pointer syntax, called "Pointer Indexing". As noted above, a pointer allows you acce

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

In order to work with arrays created by other languages, such as VB arrays, PowerBASIC supports an extension of the pointer syntax, called "Pointer Indexing". As noted above, a pointer allows you acce

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The address of the first element, x%(0), is the base with the remaining elements stored in memory, one after the other. To access the array using an index pointer, you simply assign the address of the first element to your base pointer:

DIM xPtr AS INTEGER POINTER

Back to command index


Pointers to arrays with dual indexes - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Pointers to arrays with dual indexes

Indexed pointers with dual indexes require an "OF limit " clause on both indexes. While simple arrays (arrays with one index) store data sequentially, dual indexes interleave each row of data. The OF

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Indexed pointers with dual indexes require an "OF limit " clause on both indexes. While simple arrays (arrays with one index) store data sequentially, dual indexes interleave each row of data. The OF

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

DIM DataPtr AS INTEGER PTR

DIM z%(0 TO 8, 0 TO 3)

DataPtr = VARPTR(z%(0, 0))

Back to command index


Pointers to Nul-Terminated and fixed-length strings - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Pointers to Nul-Terminated and fixed-length strings

A declaration of an Nul-Terminated or fixed-length string must explicitly state the maximum length of the string, in order for the compiler to allocate memory accordingly. When declaring pointers to f

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A declaration of an Nul-Terminated or fixed-length string must explicitly state the maximum length of the string, in order for the compiler to allocate memory accordingly. When declaring pointers to f

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

However, with an Nul-Terminated string pointer, the length limit may be explicitly stated, or it may be left as an ambiguous value, by skipping the length clause entirely. For example, the following lines are valid:

DIM x AS ASCIIZ PTR * 41

DIM y AS STRINGZ PTR * 2

DIM z AS WSTRINGZ PTR

Back to command index


POISSONCDF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

POISSONCDF

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

probability = POISSONCDF( k, lambda )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


POISSONPMF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

POISSONPMF

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

probability = POISSONPMF( k, lambda )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


POKE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

POKE

Store a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

POKE [ DataType ,] Address??? , DataValue [, DataValue ...]
POKE$ [STRINGZ,] Address??? , StringExpr
POKE$$ [WSTRINGZ,] Address??? , StringExpr

Description

Store a

Kind: Statement | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The POKE statements and complementary PEEK functions are low-level methods of accessing individual bytes in memory. The data is stored to memory starting at the specified 32-bit address.

In its classic form, the POKE statement stores a single byte (8 bits) whose value ranges from 0 to 255. In its enhanced form, POKE provides the functionality of a dynamic pointer: the DataType parameter specifies the data type and hence the size of the target data to write to the target memory address. DataType can be any one of BYTE , WORD , DWORD , INTEGER , LONG , QUAD , SINGLE , DOUBLE , EXT , CUR , CUX . If a DataType is not specified, BYTE is assumed. If you specify more than one DataValue , they are stored in successive memory locations.

POKE$ stores the bytes of StringExpr in consecutive bytes of memory. If STRINGZ (or ASCIIZ) is specified, POKE$ writes successive characters to memory, up to the specified size, until a terminating $NUL byte is found in the source string. If no $NUL is found in the string, one is automatically appended. It is the programmer's responsibility to ensure that POKE$ does not overrun the target memory area to avoid data corruption or protection faults.

POKE$$ stores the characters of StringExpr as consecutive 2-byte words of memory. If WSTRINGZ is specified, POKE$$ writes successive wide characters, up to the specified size, until a terminating $NUL is found in the source string. If no $NUL is found in the string, one is automatically added. It is the programmer's responsibility to ensure that POKE$$ does not overrun the target memory area to avoid data corruption or protection faults.

Contrarary to intuitive notions, PEEK and POKE execute at the same high performance levels as pointer variables. They offer an excellent alternative to pointers in many situations.

Address???

A valid 32-bit memory address specifying the location in memory where data storage should begin.

Datavalue

The data value to be stored at A ddress??? .

StringExpr

A string constant , literal or expression that specifies the sequence of characters to be stored in memory, starting at by Address??? .

Restrictions

If POKE attempts to access memory that is not allocated to the application, Windows will generate a General Protection Fault (GPF) and terminate the application. GPFs cannot be trapped.

See also

  • GLOBALMEM ALLOC
  • MEMORY COPY
  • PEEK
  • STRPTR
  • VARPTR
  • PBXB64 Compiler Help


POS - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › File I/O PBXB64 Compiler Help

POS

Category: PowerBASIC compatibility reference

Chapter: File I/O

Syntax

column& = POS(n)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


POWERARRAY Object - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

POWERARRAY Object

The PowerArray object encapsulates the Windows SAFEARRAY structure. Each object contains exactly one SAFEARRAY, and allows you to read, write, and manipulate the elements easily.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The PowerArray object encapsulates the Windows SAFEARRAY structure. Each object contains exactly one SAFEARRAY, and allows you to read, write, and manipulate the elements easily.

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

All array operations are executed with METHOD and PROPERTY invocations on a PowerArray object. When you create or examine a PowerArray, the specific data type is identified by the following VT codes. All of them are predefined in the compiler. VT codes numbered above 200 are unique to PowerBASIC. Other programming languages will not recognize them, giving undefined results.

%vt_i2 = 2 %vt_ui4 = 19

%vt_i4 = 3 %vt_i8 = 20

%vt_r4 = 4 %vt_int = 22

%vt_r8 = 5 %vt_uint = 23

%vt_cy = 6 %vt_ptr = 26

%vt_date = 7 %vt_userdefined = 29

%vt_bstr = 8 %vt_filetime = 64

%vt_dispatch = 9 %vt_astr = 201

%vt_bool = 11 %vt_stringfix = 203

%vt_variant = 12 %vt_wstringfix = 204

%vt_unknown = 13 %vt_stringz = 205

%vt_decimal = 14 %vt_wstringz = 206

%vt_i1 = 16 %vt_type = 211

%vt_ui1 = 17 %vt_ext = 221

%vt_ui2 = 18 %vt_curx = 222

The array dimensions are stated at the time the array is created by executing the DIM method. The ByRef Bounds parameter refers to a PowerBounds UDT which is predefined in the compiler. Bound is a PowerBOUND UDT for use with RedimPreserve . It is also predefined in the compiler.

TYPE PowerBounds

Elements1 AS LONG

LowBound1 AS LONG

Elements2 AS LONG

LowBound2 AS LONG

Elements3 AS LONG

LowBound3 AS LONG

Elements4 AS LONG

LowBound4 AS LONG

END TYPE

TYPE PowerBound

Elements AS LONG

LowBound AS LONG

END TYPE

This class is named PowerArray, and the interface is named IPowerArray. If any of the following operations should fail, the OBJRESULT function will return a non-zero result rather than %S_OK (zero).

IPowerArray Methods/Properties

METHOD ARRAYBASE () AS DWORD <1>

This method returns the address of the first element of the array.

METHOD ARRAYDESC () AS DWORD <2>

This method returns the address of the SAFEARRAY descriptor.

PROPERTY GET ARRAYINFO () AS WString <3>

You can attach a wide text string to an array for informational or documentation. This Get Property retrieves the info string, if one is present.

PROPERTY SET ARRAYINFO () = WString <3>

You can attach a wide text string to an array for informational or documentation. This Set Property assigns a wide dynamic string to the array.

METHOD CLONE (PowerArray) <4>

The parameter PowerArray is another object of the same class as this object, which is PowerArray. An exact duplicate of the SafeArray in the parameter is created, and stored in this object.

METHOD COPYFROMVARIANT (ByRef Variant ) <5>

An exact copy is made of the SafeArray contained in the parameter Variant . The array copy is stored in this PowerArray object.

METHOD COPYTOVARIANT (ByRef Variant ) <6>

An exact copy is made of the SafeArray in this object. The array copy is stored in the parameter Variant . Only arrays of data items which are Automation compatible may be stored in a Variant. Data types which are PowerBASIC-Specific cannot be copied.

METHOD DIM (ByVal VT& , ByVal Subscripts& , ByRef Bounds , OPTIONAL ByVal SIZE ) <9>

Dimensions (creates) a new array. The VT& parameter is specified by one of the %VT values listed in remarks. Subscripts& is the number of dimensions (1 to 4), Bounds is a PowerBounds UDT which is prefilled with the lower bound and size of each dimension. The optional parameter SIZE tells the size (in bytes) of each element. SIZE is only used with %vt_stringfix, %vt_wstringfix, %vt_stringz, %vt_wstringz, and %vt_type.

METHOD ERASE () <10>

The contained array is destroyed and the object is then considered empty.

METHOD ELEMENTPTR (ByVal Index1& , Opt ByVal Index2& , _

Opt ByVal Index3& , Opt ByVal Index4& ) AS LONG <11>

Calculates and retrieves the address of the data element specified by the Index parameter(s).

METHOD ELEMENTSIZE () <12>

Retrieves the storage size (in bytes) of each data element of the array.

METHOD LBOUND ( Subscript& ) AS LONG <13>

Retrieves the lower bound number for the dimension specified by the Subscript& parameter. The first subscript is 1, the second is 2, etc.

METHOD LOCK () <14>

Increments the lock count of the SAFEARRAY. Locks can be nested, but there must be an equal number of Unlocks executed.

METHOD MOVEFROMVARIANT (ByRef Variant ) <17>

Transfers ownership of the SafeArray contained in the variant parameter to this PowerArray object. The variant is then changed to %vt_empty.

METHOD MOVETOVARIANT (ByRef Variant ) <18>

Transfers ownership of the SafeArray contained in this PowerArray object to the variant parameter. The PowerArray object is then changed to empty.

METHOD REDIM (ByVal VT& , ByVal Subscripts& , ByRef Bounds , OPTIONAL ByVal SIZE ) <19>

REDIM allows the SafeArray to be erased and re-dimensioned to a new size. It is really just a shortcut for the two-step process of ERASE, followed by DIM. The VT& parameter is specified by one of the %VT values listed in remarks. Subscripts& is the number of dimensions (1 to 4), Bounds is a PowerBounds UDT which is prefilled with the lower bound and size of each dimension. The optional parameter SIZE tells the size (in bytes) of each element. SIZE is only used with %vt_stringfix, %vt_wstringfix, %vt_stringz, %vt_wstringz, and %vt_type.

METHOD REDIMPRESERVE (ByRef Bound ) <20>

REDIMPRESERVE allows the least significant (rightmost) bound to be changed to a new size. The remaining data items in the array are preserved. Bound is a PowerBound UDT which is prefilled with the lower bound and size of the dimension to be changed.

METHOD RESET () <21>

All elements in the SafeArray are set back to their initial, default value. Numerics are set to zero, strings to zero-length, variants to %vt_empty, and object variables are set to nothing. The array memory is not deallocated.

METHOD SUBSCRIPTS () <22>

Retrieves the number of dimensions (subscripts) for this array.

METHOD UBOUND ( Subscript& ) AS LONG <23>

Retrieves the upper bound number for the dimension specified by the Subscript& parameter. The first subscript is 1, the second is 2, etc.

METHOD UNLOCK () <24>

Decrements the lock count of the SAFEARRAY. Locks can be nested, but there must be an equal number of Unlocks executed.

METHOD VALUEGET (ByRef GetVar , ByVal Index1& , Opt ByVal Index2& , _

Opt ByVal Index3& , Opt ByVal Index4& ) AS LONG <25>

Calculates and retrieves the value of the array element specified by the Index parameter(s). This value is then assigned to the GetVar variable. It is the programmer's responsibility to ensure that the type of GetVar matches the type of the array precisely.

METHOD VALUESET (ByRef SetVar , ByVal Index1& , Opt ByVal Index2& , _

Opt ByVal Index3& , Opt ByVal Index4& ) AS LONG <26>

Assigns the value of the SetVar variable to the array element specified by the Index parameter(s). It is the programmer's responsibility to ensure that the type of SetVar matches the type of the array precisely.

METHOD VALUETYPE () <27>

Retrieves the %VT code which describes the data contained in this array. The %VT codes are listed in the Remark section above.

The PowerArray object encapsulates the Windows SAFEARRAY structure. Each object contains exactly one SAFEARRAY, and allows you to read, write, and manipulate the elements easily.

The SAFEARRAY is generally considered to be the lowest common denominator of arrays . It's not as fast as a standard PowerBASIC array, but it serves an excellent purpose: It's a "standard" form of array data which can be used to transfer data between programs, modules, and even DLLs created with different versions of the compiler. Other than the possibility of added data types, we do not expect to see the internal format to change in the foreseeable future.

A SAFEARRAY is frequently contained in a VARIANT variable. However, you'll usually find that the array is referenced and identified by a 32-bit pointer to its array descriptor.

See also

  • ARRAY ASSIGN
  • ARRAY DELETE
  • ARRAY INSERT
  • ARRAY SCAN
  • ARRAY SORT
  • DIM
  • LBOUND
  • REDIM
  • UBOUND
  • PBXB64 Compiler Help


IPowerTime.AddDays method - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

IPowerTime.AddDays method

A PowerTime Object contains a date and time value, allowing easy calculations. The internal representation emulates the Windows FILETIME structure as a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A PowerTime Object contains a date and time value, allowing easy calculations. The internal representation emulates the Windows FILETIME structure as a

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The Dispatch ID (DispID) for each member method is displayed within angle brackets.

An immediate use for the PowerTime Object is the built-in numeric equate %PB_COMPILETIME . Each time you compile your program, this equate is filled with the current date and time of the compilation in PowerTime binary format. You can use the PowerTIME Class to convert it to a text equivalent for use in your application.

LOCAL Built AS IPowerTime

LET Built = CLASS "PowerTime"

Built.FileTime = %PB_COMPILETIME

MSGBOX Built.DateString

MSGBOX Built.TimeString

POWERTIME Methods

AddDays <1> (ByVal Days& )

Adds the specified number of days to the value of this object. You can subtract days by using a negative number.

AddHours <2> (ByVal Hours& )

Adds the specified number of hours to the value of this object. You can subtract hours by using a negative number.

AddMinutes <3> (ByVal Minutes& )

Adds the specified number of minutes to the value of this object. You can subtract minutes by using a negative number.

AddMonths <4> (ByVal Months& )

Adds the specified number of months to the value of this object. You can subtract months by using a negative number.

AddMSeconds <5> (ByVal Milliseconds& )

Adds the specified number of milliseconds to the value of this object. You can subtract milliseconds by using a negative number.

AddSeconds <6> (ByVal Seconds& )

Adds the specified number of seconds to the value of this object. You can subtract seconds by using a negative number.

AddTicks <7> (ByVal Ticks& )

Adds the specified number of ticks to the value of this object. You can subtract ticks by using a negative number.

AddYears <8> (ByVal Years& )

Adds the specified number of years to the value of this object. You can subtract years by using a negative number.

DateDiff <11> ( PowerTime , Sign& , Years& , Months& , Days& )

The date part of the internal PowerTime object is compared to the date part of the specified external PowerTime object. The time-of-day part of each is ignored. The difference is assigned to the parameter variables you provide. Sign& is -1 if the internal value is smaller. Sign& is 0 if the values are equal. Sign& is +1 if the internal value is larger. The other parameters tell the difference as positive integer values. If parameters are invalid, an appropriate error code is returned in OBJRESULT .

DateString <12> (OPT ByVal LCID& ) AS String

Returns the Date component of the PowerTime object expressed as a

. The date is formatted for the locale, based upon the LCID& parameter. If LCID& is zero, or not given, the default LCID for the user is substituted.

DateStringLong <13> (OPT ByVal LCID& ) AS WString

Returns the Date component of the PowerTime object, expressed as a string, with a full alphabetic month name. The date is formatted for the locale, based upon the LCID& parameter. If LCID& is zero, or not given, the default LCID for the user is substituted.

Day <15> () AS Long

Returns the Day component of the PowerTime object. It is a

value in the range of 1-31.

DayOfWeek <16> () AS Long

Returns the Day-of-Week component of the PowerTime object. It is a numeric value in the range of 0-6 (representing Sunday through Saturday).

DayOfWeekString <17> (OPT ByVal LCID& ) AS WString

Returns the Day-of-Week name of the PowerTime object, expressed as a string (Sunday, Monday...). The day name is appropriate for the locale, based upon the LCID& parameter. If LCID& is zero, or not given, the default LCID for the user is substituted.

DaysInMonth <18> () AS Long

Returns the number of days which comprise the month of the date of the PowerTime object. This is a numeric value in the range of 28-31.

PROPERTY GET FileTime <20> () AS Quad

Returns a Quad-Integer value of the PowerTime object as a FileTime.

PROPERTY SET FileTime <20> (ByVal FileTime&& )

The FileTime Quad-Integer value specified by the parameter is assigned as the PowerTime object value.

Hour <21> () as Long

Returns the Hour component of the PowerTime object. It is a numeric value in the range of 0-23.

IsLeapYear <22> () as Long

Returns true / false (-1/0) to tell if the PowerTime object year is a leap year.

Minute <23> () as Long

Returns the Minute component of the PowerTime object. This is a numeric value in the range of 0-59.

Month <24> () as Long

Returns the Month component of the PowerTime object. This is a numeric value in the range of 1-12.

MonthString <25> () AS String

Returns the Month component of the PowerTime object, expressed as a string (January, February...).

MSecond <26> () as Long

Returns the millisecond component of the PowerTime object. This is a numeric value in the range of 0-999.

NewDate <27> (ByVal Year& , Opt ByVal Month& , Opt ByVal Day& )

The date component of the PowerTime object is assigned a new value based upon the specified parameters. The time component is unchanged. If parameters are invalid, an appropriate error code is returned in OBJRESULT.

NewTime <28> (ByVal Hour& , Opt ByVal Min& , Opt ByVal Sec& , Opt ByVal MSec& , Opt ByVal Tick& )

The time component of the PowerTime object is assigned a new value based upon the specified parameters. The date component is unchanged. If parameters are invalid, an appropriate error code is returned in OBJRESULT.

Now <29> ()

The current local date and time on this computer is assigned to this PowerTime object.

NowUTC <30> ()

The current Coordinated Universal date and time (UTC) is assigned to this PowerTime object.

Second <31> () as Long

Returns the Second component of the PowerTime object. This is a numeric value in the range of 0-59.

Tick <32> () as Long

Returns the Tick component of the PowerTime object. This is a numeric value in the range of 0-999.

TimeDiff <33> ( PowerTime , Sign& , Days& , OPT Hours& , OPT Minutes& , OPT Seconds& , OPT MSeconds&& , OPT Ticks&& )

The internal PowerTime object is compared to the specified external PowerTime object. The difference is assigned to the parameter variables you provide. Sign& is -1 if the internal value is smaller. Sign& is 0 if the values are equal. Sign is +1 if the internal value is larger. The other parameters tell the difference as positive integer values. If you wish to return the time difference in units smaller than days, fill the unwanted parameters with BYVAL 0 and they will be ignored. For example:

ThisObject .TimeDiff( ThatObject , Sign& , BYVAL 0 , BYVAL 0 , Minutes& )

In the above, if the difference was precisely one day, the value 1440 would be assigned to Minutes& (24 hours * 60 minutes). If parameters are invalid, an appropriate error code is returned in OBJRESULT.

TimeString <34> () AS String

Returns the Time component of the PowerTime object expressed as a string. The time is formatted as hh:mm AM/PM.

TimeString24 <35> () AS WString

Returns the Time component of the PowerTime object expressed as a string. The time is formatted as hh:mm in 24-hour notation.

TimeStringFull <36> () AS WString

Returns the Time component of the PowerTime object expressed as a string. The time is formatted as hh:mm:ss.mmm in 24-hour notation.

Today <38> ()

The current local date on this computer is assigned to this PowerTime object. This is suitable for applications that work with dates only.

ToLocalTime <39> ()

The PowerTime object is converted to local time. It is assumed that the previous value was in Coordinated Universal Time (UTC).

ToUTC <40> ()

The PowerTime object is converted to Coordinated Universal Time (UTC). It is assumed that previous value was in local time.

Year <42> () as Long

Returns the Year component of the PowerTime object as a numeric value.

A PowerTime Object contains a date and time value, allowing easy calculations. The internal representation emulates the Windows FILETIME structure as a quad-integer . This value represents the number of 100-nanosecond intervals since January 1, 1601. A nanosecond is one-billionth of a second.

You create a PowerTime object the same way you create other objects , but using a predefined internal class and a predefined internal interface .

LOCAL MyTime AS IPowerTime

LET MyTime = CLASS "PowerTime"

See also

  • DATE$ system variable
  • DAYNAME$
  • MONTHNAME$
  • TIME$ system variable
  • PBXB64 Compiler Help


PREFIX/END PREFIX statements - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Preprocessor & Metastatements PBXB64 Compiler Help

PREFIX/END PREFIX statements

Executes a series of statements, each of which utilizes pre-defined source code.

Chapter: Preprocessor & Metastatements | Certification: [CERTIFIED TESTED]

Syntax

PREFIX " source code "
[ additional statements ]
END PREFIX

Description

Executes a series of statements, each of which utilizes pre-defined source code.

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

PREFIX/END PREFIX statements enclose a set of statements, each of which has the same specified " source code " prepended. The " source code " (in languages which support it) is usually required to be the name of an object variable. However, in PowerBASIC, this definition has been expanded greatly to allow virtually any code to be used. This reduces repetitive typing and reduces the risk of typing errors. For example:

PREFIX/END PREFIX

Compiles as:

PREFIX "MyObject."

Init(xx)

Sleep(2)

END PREFIX

MyObject.Init(xx)

MyObject.Sleep(2)

PREFIX "MyStruc."

Height = 220

Width = 345

Color = %Blue

END PREFIX

MyStruc.Height = 220

MyStruc.Width = 345

MyStruc.Color = %Blue

PREFIX "ASM "

Mov Eax, Ebx

Mov Ecx, &H14

IMul Eax, Esi

END PREFIX

ASM Mov Eax, Ebx

ASM Mov Ecx, &H14

ASM IMul Eax, Esi

If the "source code" prefix refers to an object variable or a UDT structure variable, be sure it ends with a period (.) to reference members of that item. Otherwise, be sure it contains whole words. Just as with macros and line continuations, you cannot put half a word on one line, and half a word on another. For example, the following code is illegal and will generate an exception:

PREFIX "PRI"

NT #1, "Hello World"

END PREFIX

PREFIX/END PREFIX structures may not be nested.

See also

  • ASM
  • PBXB64 Compiler Help


PRESERVE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PRESERVE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

REDIM PRESERVE values(10)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PRINT# - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › File I/O PBXB64 Compiler Help

PRINT#

Write data to a

Chapter: File I/O | Certification: [CERTIFIED TESTED]

Syntax

PRINT # fNum&
PRINT # fNum& , [ ExpList ] [SPC( n )] [TAB( n )] [,] [;] [...]
PRINT # fNum& , array$()

Description

Write data to a

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The first form of the PRINT# statement (with or without a trailing comma) outputs a blank line to the file (i.e. a CR/LF only).

The second form of the PRINT# statement has the following parts, which may occur in any order and quantity, within a single PRINT# statement:

Number used in an OPEN statement to open a sequential file. It can be any numeric expression that evaluates to the number of an open file. Note that the Number symbol (#) preceding fNum& is not optional.

ExpList

Numeric and/or string expression (s) to be written to the file.

SPC( n )

An optional function used to insert n spaces into the printed output. Multiple use of the SPC argument is permitted in the PRINT statement, for example, between expressions. Values of n less than 1 are ignored.

TAB( n )

An optional function used to tab to the n th column before printing ExpList . Multiple use of the TAB argument is permitted in the PRINT, for example, to position arguments in columns. Values of n less than 1 are ignored.

Character that determines the position of the next character printed. A semicolon (;) means the next character is printed immediately after the last character; a comma (,) means the next character is printed at the start of the next print zone. Print zones begin every 14 columns.

If the final argument of a PRINT# statement is a semicolon or comma, PRINT# will not append the (default) CR/LF byte pair to the data as it is written to the file. For example:

PRINT #1, "Hello";

PRINT #1, " world!"

...produces the contiguous string "Hello world!" in the disk file.

If you omit all arguments, the PRINT# statement prints a blank line in the file (i.e., a CR/LF pair only), but you must include the comma after the file number. Because PRINT# writes an image of the data to the file, you must delimit the data so it is printed correctly. If you use commas as delimiters, PRINT# also writes the blanks between print fields to the file. Also, remember that spacing of data displayed on a text screen using monospaced characters may not work well when the data is redisplayed in a graphical environment using proportionally spaced characters.

If you are not careful, you can waste a lot of disk space with unnecessary spaces, or worse, put fields so close together that you cannot tell them apart when they are later input with INPUT#. For example:

PRINT #1,1,2,3

sends:

to file #1. Because of the 14-column print zones between characters, superfluous spaces are sent to the file. On the other hand:

PRINT #1,1;2;3

sends:

to the file, and you cannot read the separate numeric values from this record because INPUT# requires commas as delimiters. The best way to delimit fields is to put a comma between each field, like so:

PRINT #1, 1 "," 2 "," 3

which writes:

1, 2, 3

to the file, and wastes the least possible space and is easy to read with an INPUT# statement. The WRITE# statement delimits fields with commas automatically.

PRINT# is advantageous when writi ng a single number or string on each line in a file. Use PRINT# followed by a comma but no arguments to write a blank line (carriage return/linefeed) to a file:

PRINT #1, 'writes a blank line to file #1

array$()

When PRINT# specifies an array name with empty parentheses, the entire array is written to the disk file as text strings, with each element delimited by a CR/LF ( $CRLF or CHR$ (13,10)). Numeric arrays are converted to the ASCII text equivalent.

Restrictions

Arrays of User-Defined Types (UDTs) may not be used with the array form of the PRINT# statement.

See also

  • GET
  • GET$
  • GET$$
  • INPUT#
  • LINE INPUT#
  • PUT
  • PUT$
  • PUT$$
  • WRITE#
  • PBXB64 Compiler Help


PRINT USING - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PRINT USING

Print formatted numeric, string, or date values using a picture mask.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

PRINT USING "mask"; expr [, expr ...] [;]

Description

Print formatted numeric, string, or date values using a picture mask.

Kind: Statement | Category: Printing

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

mask

A string literal or variable containing the picture mask. Numeric masks may use #, 0, ,, ., $, and leading/trailing sign characters. String masks may use ! (first character only), & (full string), and backslash-delimited fixed-field masks. Date masks such as yyyy-mm-dd format a date string.

expr

The value to format. Numeric expressions are formatted by the numeric mask; string expressions by the string mask. Multiple expressions may be supplied, each consuming the next position in the mask string as appropriate.

;

A trailing semicolon suppresses the default CR/LF after the output, allowing the next PRINT to continue on the same line.

Example

PRINT USING "$#,##0.00"; 1234.5
PRINT USING "!"; "Hello"
PRINT USING "yyyy-mm-dd"; "12/25/2024"

See also

  • PRINT#
  • USING$
  • FORMAT$
  • PBXB64 Compiler Help


PRINTER$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PRINTER$

Retrieve printer names and printer port names.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

device$ = PRINTER$([NAME | PORT], printernum& )

Description

Retrieve printer names and printer port names.

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

printernum& specifies the printer number, from 1 to PRINTERCOUNT . If the NAME option is specified in the first position, the printer name is returned. If the PORT option is specified instead, the port name (e.g., LPT1) is returned.

See also

  • LPRINT ATTACH
  • PRINTERCOUNT
  • XPRINT ATTACH
  • PBXB64 Compiler Help


PRINTERCOUNT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PRINTERCOUNT

Retrieve the number of available (installed) printers.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ncPrinters& = PRINTERCOUNT

Description

Retrieve the number of available (installed) printers.

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

See also

  • LPRINT ATTACH
  • PRINTER$
  • XPRINT ATTACH
  • PBXB64 Compiler Help


Printing Overview - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Printing Overview

Overview of printing commands including LPRINT and XPRINT.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Overview of printing commands including LPRINT and XPRINT.

Kind: Conceptual | Category: Printing

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


Printing Commands - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Printing Commands

Reference list of printing-related commands.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Reference list of printing-related commands.

Kind: Conceptual | Category: Printing

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


Private and Exported Procedures - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Private and Exported Procedures

There are two basic types of procedures in a DLL : private and exported. Exported procedures are those which are made available to applications and other DLLs. Private, or local, procedures are suppor

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

There are two basic types of procedures in a DLL : private and exported. Exported procedures are those which are made available to applications and other DLLs. Private, or local, procedures are suppor

Kind: Keyword | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

In the following example, the first procedure defines an exported Sub that accepts two arguments: a string and an Integer . The second procedure defines an exported function that accepts a single string argument, and returns an Integer. Finally, the third procedure defines a private Sub that accepts a single Integer argument. The first two routines are callable from an external .EXE or another DLL. The third one is not.

SUB MySub (sArg AS STRING, BYVAL iArg AS INTEGER) EXPORT

Back to command index


PROCESS GET PRIORITY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PROCESS GET PRIORITY

Retrieve the Priority Value for the current

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

PROCESS GET PRIORITY TO lResult&

Description

Retrieve the Priority Value for the current

Kind: Statement | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

PROCESS GET PRIORITY retrieves the priority value for the current process. The retrieved priority value is assigned to the long or dword variable designated by lResult& .

The process priority value is one of the following:

%IDLE_PRIORITY_CLASS = &H00000040

Indicates a process whose thread run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.

%NORMAL_PRIORITY_CLASS = &H00000020

Indicates a normal process with no special scheduling needs.

%HIGH_PRIORITY_CLASS = &H00000080

Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal or idle priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class CPU-bound application can use nearly all available cycles.

%REALTIME_PRIORITY_CLASS = &H00000100

Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.

See also

  • PROCESS SET PRIORITY
  • THREAD GET PRIORITY
  • THREAD SET PRIORITY
  • PBXB64 Compiler Help


PROCESS SET PRIORITY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PROCESS SET PRIORITY

Sets the Priority Value for the current

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

PROCESS SET PRIORITY Priority&

Description

Sets the Priority Value for the current

Kind: Statement | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

PROCESS SET PRIORITY assigns a new priority value to the current process.

The process priority value must be one of the following:

%IDLE_PRIORITY_CLASS = &H00000040

Indicates a process whose threads run only when the system is idle and are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle priority class is inherited by child processes.

%NORMAL_PRIORITY_CLASS = &H00000020

Indicates a normal process with no special scheduling needs.

%HIGH_PRIORITY_CLASS = &H00000080

Indicates a process that performs time-critical tasks that must be executed immediately for it to run correctly. The threads of a high-priority class process preempt the threads of normal or idle priority class processes. An example is Windows Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class CPU-bound application can use nearly all available cycles.

%REALTIME_PRIORITY_CLASS = &H00000100

Indicates a process that has the highest possible priority. The threads of a real-time priority class process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.

See also

  • PROCESS GET PRIORITY
  • THREAD GET PRIORITY
  • THREAD SET PRIORITY
  • PBXB64 Compiler Help


PROFILE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PROFILE

Capture a profile report detailing total execution times of the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

PROFILE diskfilename$

Description

Capture a profile report detailing total execution times of the

Kind: Statement | Category: Utilities

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

At the time the PROFILE statement is executed, a standard sequential file of the specified file name diskfilename$ is created. For the best results in executable files, the PROFILE statement should be the last statement executed in the PBMAIN / WINMAIN function.

The profile report contains a list of every procedure within the same module (EXE or DLL ), the number of times it was called, and the total elapsed time (in milliseconds) spent executing all instances of the procedure. These statistics appear in the disk file in that specific order on each line:

<Procedure Name>, <Call Count>,

The profile report only describes procedures that physically reside within the module (EXE or DLL) where the PROFILE statement is located. Procedures in an external EXE or DLL are not profiled individually; however, the time taken to call other procedures and DLL/API functions is included in the accumulated execution time of the calling procedure.

It is highly recommended that you close all other applications when profiling a PowerBASIC application. When an application is being profiled, PowerBASIC must generate a considerable amount of extra code to gather all of the needed information. This extra code is generated whenever a valid PROFILE statement appears in your program, regardless of whether it is actually executed.

For final production code, use the #TOOLS OFF metastatement is used to ensure the highest performance levels.

Interpreting a profile report

The execution time of nested procedures needs to be understood in order to obtain a clear "picture" of the execution times. For example, consider the following results:

Procedure

MySubA,

MySubB,

At first glance, these results may suggest a "bottleneck" in MySubA since it took MySubA 11016 milliseconds to execute just one call, whereas the average time for MySubB was only about 100 milliseconds per call (10014 mSec / 100 calls = 100.14 mSec).

However, if MySubB is actually called by MySubA , the results need to be assessed differently. For example, we could say: " MySubB took 10014 milliseconds of the 11016 milliseconds of the time spent in MySubA ". Or to put it another way: " Of the 11016 milliseconds MySubA took to execute, 10014 milliseconds of that time was spent executing MySubB ".

Interpolating these results, it can be easily calculated that the code in MySubA only took 1002 milliseconds to run, yet this blossomed to 11016 milliseconds because of its dependence on MySubB .

Therefore, improving the performance of MySubB would clearly improve the overall speed of MySubA , and the profile results of both functions would be improved accordingly.

Restrictions

Profiling is "enabled" when the first procedure that contains a PROFILE statement begins execution. All procedures subsequently executed from within that procedure are profiled.

It is not possible to profile the actual PBMAIN or WINMAIN functions. If a PROFILE statement occurs within PBMAIN/WINMAIN, all procedures that are called from PBMAIN/ LIBMAIN are profiled normally.

Therefore, if PBMAIN/WINMAIN contains code that requires profiling, simply rename the function and create a new PBMAIN/WINMAIN function that immediately calls the renamed function and then executes a PROFILE statement. See the example below.

For application code with nested and lengthy procedure calls, adding up the total number of milliseconds in the last column of a PROFILE disk file will usually produce a number that is far larger than the actual time it took your program to execute.

The time resolution of the profile report is limited by the Quantum supported by the operating system (Win95/98 is 54 mSec, and WinNT/2000/XP is 10 mSec), and can be influenced by any other applications which run concurrently. Nonetheless, PROFILE can offer a great insight as to which code may be consuming the most CPU time, and where optimization efforts should be concentrated.

See also

  • #TOOLS
  • CALLSTK$
  • CALLSTKCOUNT
  • FUNCNAME$
  • TRACE
  • PBXB64 Compiler Help


PROGID$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PROGID$

Return the unique alphanumeric PROGID string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

a$ = PROGID$( ClassID$ )

Description

Return the unique alphanumeric PROGID string

Kind: Function | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A PROGID string is the unique alphanumeric text name associated with a given COM object/component. For example, "Word.Application.8".

You convert the 16-byte (128-bit) binary class ID of a COM object/component into a PROGID string with the PROGID$ function.

PROGID$ takes the (16-byte) binary string ClassID$ representing the GUID or UUID of a COM object/component, and examines the system registry in order to determine the PROGID string associated with the ClassID$ string. ClassID$ may be a dynamic string or fixed-length string of at least 16 bytes, or (typically) a GUID variable.

If the ClassID$ cannot be found, or any error occurs in the lookup process, PROGID$ will not set the ERR system variable, but will return an empty string.

PROGID$ is the complement to the CLSID$ function. Using these two functions together, it is possible to extract the precise capitalization of the PROGID from the system registry. See the example below.

See also

  • DIM
  • CLSID$
  • GUID$
  • GUIDTXT$
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISOBJECT
  • Just what is COM?
  • LET statement (with Objects)
  • METHOD / END METHOD statements
  • OBJECT
  • OBJACTIVE
  • OBJPTR
  • OBJRESULT
  • PROPERTY / END PROPERTY
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


PROGRESSBAR GET POS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PROGRESSBAR GET POS

Manipulate a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

PROGRESSBAR GET POS hDlg , id& TO datav&
PROGRESSBAR GET RANGE hDlg , id& TO LoDatav& , HiDatav&
PROGRESSBAR SET POS hDlg , id& , position&
PROGRESSBAR SET RANGE hDlg , id& , lolimit& , hilimit&
PROGRESSBAR SET STEP hDlg , id& , stepval&
PROGRESSBAR STEP hDlg , id& [, incramt& ]

Description

Manipulate a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

In each of the following samples and descriptions, the PROGRESSBAR control that is the subject of the statement is identified by the handle of the dialog that owns the ProgressBar ( hDlg ), and the unique control identifier you gave it upon creation in CONTROL ADD PROGRESSBAR. To alter the color of the bar or the background, use CONTROL SET COLOR .

PROGRESSBAR GET POS hDlg , id& TO datav&

The current position of the ProgressBar is retrieved and assigned to the variable designated by datav& .

PROGRESSBAR GET RANGE hDlg , id& TO LoDatav& , HiDatav&

The current range of the ProgressBar is retrieved and assigned to the variables designated by LoDatav& and HiDatav& . Upon ProgressBar creation, the default range is 0 to 100.

PROGRESSBAR SET POS hDlg , id& , position&

The current position of the ProgressBar is set to the value of the parameter position& , and the bar is redrawn to reflect the new position.

PROGRESSBAR SET RANGE hDlg , id& , lolimit& , hilimit&

The range for the ProgressBar is specified to be from lolimit& to hilimit& . If lolimit& is greater than hilimit& , the results are undefined.

PROGRESSBAR SET STEP hDlg , id& , step&

The default increment value to be used by PROGRESSBAR STEP is specified by the stepval& parameter.

PROGRESSBAR STEP hDlg , id& [, incramt& ]

The ProgressBar is "stepped". The current position is advanced by the step increment, and the bar is redrawn to reflect the new position. If the optional incramt& expression is included, the position is advanced by that amount instead. The default step increment is 10, and the default range is from 0 to 100.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD PROGRESSBAR
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • PBXB64 Compiler Help


PROPERTY / END PROPERTY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PROPERTY / END PROPERTY

Define a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

[OVERRIDE] PROPERTY GET|SET name [< DispID >] [ALIAS " altname "] ( var AS type ...) [THREADSAFE] [AS type ]
[ statements ]
PROPERTY = expression
END PROPERTY

Description

Define a

Kind: Statement | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

PROPERTY/END PROPERTY is used to define a PROPERTY procedure within a class. Properties can only be called through a virtual function table on an active object . A PROPERTY is a special type of METHOD , which is only used to set or retrieve data in an object. While the work of a PROPERTY could readily be accomplished with a standard METHOD, this distinction is convenient to emphasize the concept of encapsulation of instance data within an object. There are two forms of PROPERTY procedures: PROPERTY GET and PROPERTY SET. As implied by the names, the first form is used to retrieve a data value from the object, while the second form is used to assign a value. Properties must be defined within a CLASS Block , and may only be declared within a DECLARE CLASS Block. Properties are defined:

PROPERTY GET name [ALIAS "altname"] (BYVAL var AS type...) [THREADSAFE] AS type

[ statements ]

PROPERTY = expression

END PROPERTY

PROPERTY SET name [ALIAS "altname"] (BYVAL var AS type...) [THREADSAFE]

[ statements ]

variable = value

END PROPERTY

When you use PROPERTY SET, the value to be assigned is passed to the right of an equal sign, just like a normal assignment to a variable:

Properties can only be called through a virtual function table on an active object. Property parameters may be of any variable type.

ObjVar.Prop1 = NewValue

A PROPERTY may be considered "Read-Only" or "Write-Only" by simply omitting one of the two definitions. However, if both GET and SET forms are defined for a particular property, all parameters and the property data type must be identical in both forms, and they must be paired. That is, the PROPERTY SET must immediately follow the PROPERTY GET.

Property parameters may be of any variable type.

You can access a PROPERTY GET with:

DIM ObjVar AS MyInterface

LET ObjVar = NEWCOM Prgid$

1. ObjVar.Prop1(param) TO var

2. CALL ObjVar.Prop1(param) TO var

3. var = ObjVar.Prop1(param)

You can access a PROPERTY SET with:

DIM ObjVar AS MyInterface

LET ObjVar = NEWCOM Prgid$

1. ObjVar.Prop1(param) = expr

2. CALL ObjVar.Prop1(param) = expr

Note that the choice of Property procedure is syntax directed. In other words, depending upon the way you use the name, PowerBASIC will automatically decide whether the GET or SET PROPERTY should be called.

In every Method and Property, PowerBASIC automatically defines a pseudo-variable named ME , which is treated as a reference to the current object. Using ME, it's possible to call any other Method or Property which is a member of the class: var = ME. Method1 ( param )

Methods may be declared (using AS type ...) to retu rn a string , any of the numeric types, a specific class of object variable (AS MyClass), a Variant , or a user defined Type .

Type Libraries only support the following data types: BYTE , WORD , DWORD , INTEGER , LONG , QUAD , SINGLE , DOUBLE , CURRENCY , OBJECT , STRING , and VARIANT . If any Methods or Properties use data types not supported by Type Libraries, you will receive a Error 581 - Type Library creation error , when using the #COM TLIB ON metastatement.

In addition to the explicit return value which you declare, all COM Methods and Properties have another "Hidden Return Value", which is cryptically named hResult . While the name would imply a handle for a result, it's really not a handle at all, but just a long integer value, used to indicate success or failure of the Method. After calling a Method or Property, you can retrieve the hResult value with the PowerBASIC function OBJRESULT . The most significant bit of the value is known as the severity bit. That bit is 0 (value is positive) for success, or 1 (value is negative) for failure. The remaining bits are used to convey error codes and additional status information. If you call any object Method/Property (either Dispatch or Direct ), and the severity bit in the returned hResult is set, PowerBASIC generates Run-Time error 99 : Object error. When you create a Method or Property, PowerBASIC automatically returns an hResult of zero, which implies success. You can return a non-zero hResult value by executing a METHOD OBJRESULT = expr within a Method, or PROPERTY OBJRESULT = expr within a Property.

Every method and property in a dual interface needs a positive, long integer value to identify it. That integer value is known as a DispID (Dispatch ID), and it's used internally by COM services to call the correct function on a Dispatch interface. You can optionally specify particular DispID by enclosing it in angle brackets immediately following the Method/Property name:

METHOD MethodOne <76> ()

If you don't specify a DispID , PowerBASIC will assign a random value for you. This is fine for internal objects, but may cause a failure for published COM objects , as the DispID could change each time you compile your program. It is particularly important that you specify a DispID for each Method/Property in a COM Event Interface .

Override Properties

You can add to, or replace, the functionality of a particular method or property of an inherited base class by coding a replacement which is preceded by the word OVERRIDE. The overriding method must have the same name and signature (parameters, return value, etc.) as the one it replaces.

BYREF and BYVAL parameters

A copy of the data value is placed on the stack as a parameter. The copy is destroyed when the PROPERTY ends. BYVAL parameters default to an IN attribute, if no explicit direction is specified.

A pointer to the data is placed on the stack as a parameter. This option may not be used with an internal PROPERTY parameter.

Direction attributes

PROPERTY parameters also specify the direction in which data is passed between the caller and callee:

Data is passed from the caller to the PROPERTY. Generally speaking, you'll find that almost all IN parameters are passed BYVAL, and that is highly recommended. However, it is possible to pass them BYREF if necessary.

Data is passed from the PROPERTY back to the caller. All OUT parameters must be passed BYREF.

Data is passed from the caller to the PROPERTY, and results are returned to the caller in the same parameter. All INOUT parameters must be passed BYREF.

In many cases, the direction of a parameter can be inferred directly from the BYVAL/BYREF attribute (BYVAL=IN, BYREF=OUT). However, we recommend that you include the direction attribute as an added means of self-documentation. Each METHOD parameter name may be preceded by one of BYVAL/BYREF, and one of IN/OUT/INOUT, in any sequence.

You should note an interesting rule of COM objects: IN parameters are read-only. They may not be altered.

IN parameters are considered by COM rules to be "constant" which may not be altered, because they are values which are not returned to the caller. However, since this is not a rule normally applied to a standard SUB or FUNCTION , it can allow programming bugs which are most difficult to find and correct. For this reason, PowerBASIC automatically protects you from this issue with no action needed on your part. When writing METHOD or PROPERTY code in PowerBASIC, you may freely assign new values to BYVAL/IN parameters. They will simply be discarded when the METHOD exits. Of course, not every programming language protects you in this way, so you must use caution if you create a COM METHOD in another compiler.

Using OPTIONAL/OPT

PROPERTY statements may specify one or more parameters as optional by preceding the parameter with either the keyword OPTIONAL (or the abbreviation OPT). When a parameter is declared optional, all subsequent parameters in the declaration are optional as well, whether or not they specify an explicit OPTIONAL or OPT directive.

VARIANT variables are particularly well suited for use as an optional parameter. If the calling code omits an optional VARIANT parameter, (BYVAL or BYREF), PowerBASIC (and most other compilers) substitute a variant of type %VT_ERROR which contains an error value of %DISP_E_PARAMNOTFOUND (&H80020004). In this case, you can check for this value directly, or use the ISMISSING function to determine whether the parameter was physically passed or not.

When optional parameters (other than VARIANT) are omitted from the calling code, the stack area normally reserved for those parameters is zero-filled.

If the parameter is defined as a BYVAL parameter, it will have the value zero. For TYPE or UNION variables passed BYVAL, the compiler will pass a string of binary zeroes of length SIZEOF ( Type_or_union_var ).

If the parameter is defined as a BYREF parameter, VARPTR ( Varname ) will equal zero; when this is true, any attempt to use Varname in your code will result in a General Protection Fault or memory corruption. You should use the ISMISSING() function first to determine whether it is safe to access the parameter.

THREADSAFE Option Descriptor

If you include the option THREADSAFE, PowerBASIC automatically establishes a semaphore which allows only one thread to execute it at a time. Others must wait until the first thread exits the THREADSAFE procedure before they are allowed to begin.

See also

  • #COM
  • CLASS/END CLASS
  • INSTANCE
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • ISINTERFACE
  • ISNOTHING
  • ISMISSING
  • ISOBJECT
  • Just what is COM?
  • LET statement (with Objects)
  • ME pseudo-variable
  • METHOD / END METHOD statements
  • OBJACTIVE
  • OBJPTR
  • OBJRESULT
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


Pointers (@) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Pointers (@)

A pointer is a variable that holds the 32-bit (4 byte ) address of code or data located elsewhere in memory. It is called a pointer because it literally points to that location. The location pointed t

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A pointer is a variable that holds the 32-bit (4 byte ) address of code or data located elsewhere in memory. It is called a pointer because it literally points to that location. The location pointed t

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Pointers represent a powerful addition to the BASIC programmer's arsenal. The address is defined at run-time, so your program can reference any memory location as if it were a standard variable . When a pointer is used to access a memory location, it is called "indirect addressing".

Pointers are declared using the DIM statement, and the type of the target must be specified. The keywords PTR and POINTER are synonymous.

DIM i AS INTEGER PTR 'declares i as a pointer to an Integer

Back to command index


PUT - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › File I/O PBXB64 Compiler Help

PUT

Write a record to a

Chapter: File I/O | Certification: [CERTIFIED TESTED]

Syntax

Random-Access and Binary files:
PUT [#] FileNum& , [ RecPos ], [ABS] Var
PUT [#] FileNum& [, RecPos ]
Binary files:
PUT [#] FileNum& , [ RecPos ], Arr()

Description

Write a record to a

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If a string variable is specified as Var, the CHR mode of the variable determines whether the data is written as ANSI or WIDE characters. That is, ANSI string variables are always written as 1- byte characters, while WIDE string variables are written as 2-byte WIDE characters. The data is always written to the file in the same format as it appears in the variable.

FileNum&

The file number under which the file was opened .

RecPos

Identifies the position in the file to write the data. If RecPos is greater than the number of existing records or bytes in the file, the file is extended to the appropriate length, and the record is written at the specified position.

For random access files, RecPos is the record to be written, in the range 1 to (2^63)-1. If RecPos is omitted, the next record in sequence (following the one specified by the most recent GET , PUT or SEEK ) is written. If the file was only just opened, the first record is written.

For binary files , RecPos is the starting byte position where VarName should be written. The default byte position is 1, unless the BASE = 0 clause was used in the OPEN statement. RecPos may be no larger than 2^63-1. RecPos is optional. If it is omitted, PowerBASIC uses the current file pointer position.

The name of a variable to write to the file. VarName can specify a simple variable, an element in an array, or a variable of User-Defined Type (UDT).

When writing a dynamic string to a random access file, PUT writes a 2-byte descriptor containing the string's length, before the actual string data. This descriptor reduces the available space in a record by two bytes. The descriptor is written as a WORD value. If Var contains more characters than record, Var is truncated at record length less two bytes, and the descriptor is written to reflect the truncated string size.

When writing a dynamic string to a binary file, PUT only writes the actual string data: no length descriptor is written.

PUT is complementary to GET; it writes one record to a file. It is possible to PUT to records out of contiguous order, as in:

PUT #1, 1, MyVar

PUT #1, 100, MyVar

which creates a random-access file 100 records long. The data in records 2 through 99, however, are undefined until you explicitly PUT something there. PUT writes the contents of Var to the specified record or byte positions.

(no VarName )

When the second form of PUT is used (without a VarName source string), PUT writes the data from an internal buffer into the file at the point where the file pointer indicates. This data must first be assigned to the file buffer using FIELD string variables.

When PUT is used to write a dynamic string to a random file, it normally precedes the actual data with a two-byte binary length Word to define the number of valid bytes in the record. If you precede the variable name with ABS (i.e., PUT #1, , ABS x$), no length Word is written: only the actual data, subject to the defined random record length. This offers greater compatibility with the actual operation of other versions of BASIC, such as PowerBASIC for DOS .

The record length in a random access file is limited to 32768 bytes, in order to ensure consistent behavior across all Win32 platforms.

When PUT is used on a binary file, the entire array specified by Arr() is written to the file. With dynamic strings, the file is written in the PowerBASIC and/or VB packed string format. If the string is shorter than 65535 bytes, a 2-byte length Word is followed by the string data. Otherwise, a 2-byte value of 65535 is followed by a length Double-word (DWORD), then finally the string data.

With other data types, the entire data area is written as a single block.In either case, it is presumed the file will be read with the complementary GET Array statement.

See also

  • CSET$
  • FIELD
  • GET
  • GET$
  • GET$$
  • LOF
  • LSET$
  • PUT$
  • PUT$$
  • RSET$
  • SETEOF
  • TYPE/END TYPE
  • WRITE#
  • PBXB64 Compiler Help


PUT$$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PUT$$

Writes a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

PUT$$ [#] filenum& , StrgExpr

Description

Writes a

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

PUT$$ first evaluates the string expression . If it results in an ANSI string, it is converted to WIDE Unicode characters. PUT$$ then writes the WIDE string to the file specified by FileNum& at the current file pointer position. GET$$ and PUT$$ provide a low-level alternative to sequential and random-access file processing techniques, allowing you to deal with files on a character by character basis.

File filenum& must have been opened in binary mode. Characters are written starting at the current file pointer position, which can be set with the SEEK statement. When the file is first opened, the pointer is at the beginning of the file (position 1, by default, unless BASE=0 was specified in the OPEN statement). After PUT$$, the file pointer position is automatically advanced to the point which immediately follows the just written data. You can use SEEK to retrieve or change the file pointer position.

Filenum&

The file number under which the file was opened.

StrgExpr

A string expression which is written to the file.

See also

  • GET
  • GET$
  • GET$$
  • OPEN
  • PUT
  • PUT$
  • SEEK
  • SETEOF
  • WRITE#
  • PBXB64 Compiler Help


PUT$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PUT$

Writes an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

PUT$ [#] filenum& , StrgExpr

Description

Writes an

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

PUT$ first evaluates the string expression . If it results in a WIDE Unicode string, it is converted to ANSI byte characters. PUT$ then writes the ANSI string to the file specified by FileNum& at the current file pointer position. GET$ , PUT$ , and SEEK provide a low-level alternative to sequential and random-access file processing techniques, allowing you to deal with files on a byte by byte basis.

File filenum& must have been opened in binary mode. Bytes are written starting at the current file pointer position, which can be set with the SEEK statement. When the file is first opened, the pointer is at the beginning of the file (position 1, by default, unless BASE=0 was specified in the OPEN statement). After PUT$, the file pointer position is automatically advanced to the point which immediately follows the just written data. You can use SEEK to retrieve or change the file pointer position.

Filenum&

The file number under which the file was opened.

StrgExpr

A string expression which is written to the file.

See also

  • GET
  • GET$
  • GET$$
  • OPEN
  • PUT
  • PUT$$
  • SEEK
  • SETEOF
  • WRITE#
  • PBXB64 Compiler Help


Quad integers (&&) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Quad integers (&&)

Quad-integers are 64-bit (8 byte ) signed integers (twice as many bits as Long integers ) with a range of -9.22x10^18 to 9.22x10^18 ( -2^63 to 2^63 -1). The type-specifier character for a Quad integer

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Quad-integers are 64-bit (8 byte ) signed integers (twice as many bits as Long integers ) with a range of -9.22x10^18 to 9.22x10^18 ( -2^63 to 2^63 -1). The type-specifier character for a Quad integer

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Quad-integer variables are identified by following the variable name with two ampersands (i.e., var&& ), or by using the DEFQUD statement as described in the previous discussion of Integers. You can also declare Quad-integer variables using the QUAD keyword with the DIM statement. For example:

Although a Quad integer actually has 19 digits of precision, only 18 digits of accuracy can be "displayed" with STR$ . A 19-digit value will be rounded to 18 digits in scientific notation when used with STR$. STR$ works with up to 16 significant digits by default, so the enhanced form of STR$ (eg: STR$( var ,18)), must be used to generate the 17th and 18th digits of a Quad integer for display purposes.

A C/C++ LARGE_INTEGER and a Delphi int64 are both equivalent to a PowerBASIC Quad integer.

Back to command index


RADIANS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

RADIANS

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF ABS(RADIANS(180.0) - 3.141592653589793) > 0.0001 THEN FUNCTION = 1

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


RAISEEVENT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

RAISEEVENT

Call

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

RAISEEVENT ObjVar . Method ()

Description

Call

Kind: Statement | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The RAISEEVENT statement is used to call event handler code from an Event Source. RAISEEVENT may only appear within a class which declares the Event Source interface. The concept of RAISEEVENT is very similar to the CALL statement, but it may only be used to execute event procedures:

RaiseEvent Status.Progress(10) ' advise the code is 10% done

It should be noted that RAISEEVENT does not reference an object variable at all, because it calls any and all Direct, V-Table event handlers which are currently subscribed to these events. Instead, it references the interface name (in this case "Status"), followed by the name of the Event Method to be executed (in this case "Progress"). If your program is using a Dispatch event handler you should use the OBJECT RAISEEVENT statement instead.

See also

  • CLASS/END CLASS
  • EVENT SOURCE
  • EVENTS
  • INTERFACE / END INTERFACE Block (Direct)
  • INTERFACE/END INTERFACE block (Dispatch)
  • Just what is COM?
  • OBJECT
  • What Is an Object Anyway?
  • What Are Connection Points?
  • PBXB64 Compiler Help


Random Access Files - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Random Access Files

Random access files consist of records that can be accessed in any sequence. This means the data is stored exactly as it appears in memory, thus saving processing time (because no translation is neces

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Random access files consist of records that can be accessed in any sequence. This means the data is stored exactly as it appears in memory, thus saving processing time (because no translation is neces

Kind: Keyword | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Random files are a better solution to database problems than sequential files , although there are a few disadvantages. For one thing, random files are not especially transportable. Unlike sequential files, you cannot peek inside them with an editor, or type them in a meaningful way to the screen. In fact, moving a PowerBASIC random file to another computer or language will probably require that you write a translator program to read the random file and output a text (sequential) file.

One example of the transportability problem strikes close to home. Interpretive BASIC uses Microsoft's non-standard format for floating point values, and PowerBASIC uses IEEE standard floating-point conventions, this means you cannot read the floating-point fields of random files created by Interpretive BASIC with a PowerBASIC program, or vice versa, without a bit of extra work.

The major benefit of random files is implied in their name: every record in the file is available at any time. For example, in a database of 23,000 alumni, a program can go straight to record number 11,663 or 22,709 without reading any of the other records. This capability makes it the only reasonable choice for large files, and probably the better choice for small ones, especially those with relatively consistent record lengths.

However, random access files can be wasteful of disk space because space is allocated for the longest possible field in every record. For example, a 100-byte comment field forces every record to use an extra 100 bytes of disk space, even if only one in a thousand actually uses it.

Back to command index


RANDOMIZE - Real Seed - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

RANDOMIZE - Real Seed

Seed the random number generator. The V8.1 implementation calls the real bestof_randomize() user-runtime helper, which writes a thread-local seed.

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

RANDOMIZE [ number ]

Description

Seed the random number generator. The V8.1 implementation calls the real bestof_randomize() user-runtime helper, which writes a thread-local seed.

Kind: Statement | Category: Math & Numeric

PBXB64 Status: AVAILABLE — real implementation, not a stub

PBXB64 Certification: [CERTIFIED TESTED]

Description

number is a seed value that may be any numeric type. If number is not specified, the value returned by the TIMER function is used (system uptime in seconds, truncated to a LONG).

Values returned by the random number generator (RND) depend on the seed value. For a given seed, RND always returns the same sequence. Any program that depends on RND will run exactly the same way each time unless a different seed is given.

Each thread has its own, independent random number seed. Re-seeding one thread does not affect any other.

Example

FUNCTION PBMAIN() AS LONG
    RANDOMIZE 12345      ' deterministic seed
    PRINT RND            ' first value
    PRINT RND            ' second value

    RANDOMIZE            ' reseed with TIMER
    PRINT RND            ' non-deterministic
    FUNCTION = 0
END FUNCTION

See also

  • RND - Real Random Number Generator
  • TIMER
  • PBXB64 Compiler Help


RATIONAL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

RATIONAL

16-byte rational-number type storing an exact fraction as two signed 64-bit integers (numerator and denominator).

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

LOCAL  var AS RATIONAL
STATIC var AS RATIONAL
GLOBAL var AS RATIONAL

Description

16-byte rational-number type storing an exact fraction as two signed 64-bit integers (numerator and denominator).

Kind: Data Type | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

RATIONAL is a 16-byte rational-number type that stores an exact fraction as a signed 64-bit numerator and a signed 64-bit denominator. It is ideal for exact arithmetic on fractions (e.g., 1/3, 22/7) where binary floating-point cannot represent the value exactly.

The type is passed by reference (pointer) to runtime functions. Use VARPTR(var) to obtain the address when calling the built-in conversion functions.

Built-in Functions

Function | Signature | Description
RATIONAL_FROM_INT | RATIONAL_FROM_INT(num, den, VARPTR(r)) | Create a rational from numerator and denominator.
RATIONAL_TO_DOUBLE | d = RATIONAL_TO_DOUBLE(VARPTR(r)) | Convert a rational back to DOUBLE.
RATIONAL_ADD | RATIONAL_ADD(VARPTR(a), VARPTR(b), VARPTR(out)) | Add two rationals, storing result in out.

Example

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN() AS LONG
  LOCAL r1 AS RATIONAL
  LOCAL r2 AS RATIONAL
  LOCAL d AS DOUBLE

  ' Create 1/3 as a rational
  RATIONAL_FROM_INT(1, 3, VARPTR(r1))
  d = RATIONAL_TO_DOUBLE(VARPTR(r1))
  PRINT "RATIONAL(1/3)="; d

  ' Create 1/6 and add to 1/3
  RATIONAL_FROM_INT(1, 6, VARPTR(r2))
  RATIONAL_ADD(VARPTR(r1), VARPTR(r2), VARPTR(r1))
  d = RATIONAL_TO_DOUBLE(VARPTR(r1))
  PRINT "RATIONAL(1/3+1/6)="; d

  FUNCTION = 0
END FUNCTION

See also

  • DEC128
  • CBYT
  • BASIC Math Functions
  • PBXB64 Compiler Help


READ$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

READ$

Retrieve string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

value$ = READ$( n %)

Description

Retrieve string

Kind: Function | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The READ$ function is used to retrieve a specified string data item from a local DATA list, and returns the data in string format. READ$ offers a simple technique for random-access of local DATA.

An integral expression, constant , or variable , which specifies an index position in the local DATA list. n% = 1 for the first data item, n% = 2 for the second, and so on. READ$ accesses the DATA statements in the order in which they appear in the source program, from left to right.

If n% is greater than DATACOUNT , READ$ returns an empty string, but no run-time error occurs.

value$

READ$ places the DATA string into value$.

If the target DATA statement is enclosed in quotes, READ$ preserves any leading or trailing spaces that it may contain; otherwise, READ$ trims leading and trailing spaces and returns a trimmed string. See DATA for more information on data item formatting.

If numeric data needs to be stored in DATA statements and retrieved with READ$, the VAL function can be used to convert the return values from READ$ into numeric values.

Restrictions

There is a limit of 64 Kilobytes and 16384 separate data items per Sub , Function , Method , or Property , and it is not possible to read DATA from outside of the scope of current procedure. Restrictions apply to using colon and underscore characters in DATA statements - see DATA for more information.

See also

  • DATA
  • DATACOUNT
  • PBXB64 Compiler Help


Reading and writing data - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Reading and writing data

To complement the new COMM OPEN statement, PowerBASIC introduces four new COMM statements to help you write serial communications programs:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

To complement the new COMM OPEN statement, PowerBASIC introduces four new COMM statements to help you write serial communications programs:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

COMM PRINT #hComm, expr [;]

COMM SEND #hComm, expr

COMM RECV #hComm, count, expr

COMM LINE [INPUT] #hComm, expr

Back to command index


REDIM - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Declarations PBXB64 Compiler Help

REDIM

Used at the Procedure level

Chapter: Declarations | Certification: [CERTIFIED TESTED]

Syntax

REDIM [PRESERVE] array ([ subscripts ] ) [AS type ] [AT address ] [, ...]

Description

Used at the Procedure level

Kind: Statement | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The REDIM statement allows dynamic arrays (including string arrays ) to be erased and re-dimensioned. It is really just a shortcut for the two-step process ERASE x (), followed by DIM x (). REDIM uses the same basic syntax as the DIM statement.

array is the name of the array, and subscripts is either a group of single integers (one per dimension of a particular array), or a group of ranges (REDIM arr1(5 TO 25, 1 TO 4, 3 TO 8)), separated by commas.

AS type

The AS type clause is optional, but It is recommended that an explicit variable scope clause (LOCAL/STATIC/GLOBAL/THREADED/INSTANCE) be added to each REDIM statement that uses an explicit type clause.

AT address

The AT address clause indicates the array is to be an absolute array. Absolute arrays are not reset by the REDIM statement, nor are they reset when the Sub / Function / Method / Property exits, but they can be reset with the RESET statement. See the discussion in the DIM topic for more information on absolute arrays.

PRESERVE

The PRESERVE keyword tells the compiler to preserve the values of all existing elements in the array. For example, if you REDIM PRESERVE an array with 10 elements to 20 elements, the first 10 elements will retain their original value. The remaining 10 elements will be initialized to zero (or null/empty in the case of a string array). If the array is resized to be smaller, the specified number of elements is preserved, and the remaining elements are discarded. When PRESERVE is specified, you can resize only the upper boundary of the last (outer) dimension of the array . Arrays of only one dimension can always be resized.

In a procedure, you can use REDIM to re-dimension an array that was passed as an argument. That is, when the complete array was passed to the procedure:

CALL RemoveDuplicates( CustomerNames$() )

' more code here

SUB RemoveDuplicates( a$() )

' Remove duplicate array values

REDIM PRESERVE a$(1 TO NewCount&)

END SUB

REDIM may also be used to alter the size of Static , Global , and Instance arrays.

When used with no subscript parameters, REDIM will erase all contents of an array and deallocate the memory used:

REDIM xyz&() ' Equivalent to ERASE xyz&()

Restrictions

When PRESERVE is specified, only the upper bound of the last (outer) dimension may be redefined.

When a REDIM statement is executed, the location of the array elements always moves in memory; however, the array's Descriptor location ( VARPTR ( arrayname ()) will remain fixed at the original location. When using REDIM, your code must be sure to refresh any pointers that target the array data memory locations ( STRPTR ( arrayname ( subscript )) for dynamic string arrays, and VARPTR( arrayname ( subscript )) for all other array types).

While PowerBASIC supports lower boundary values that are non-zero, PowerBASIC generates the most efficient code if the lower boundary parameter is omitted (i.e., the array uses the default lower boundary of zero).

See also

  • ARRAYATTR
  • DIM
  • ERASE
  • RESET
  • PBXB64 Compiler Help


REGEXPR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

REGEXPR

Scan a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

REGEXPR mask$ IN target $ [AT start& ] TO iPos& [, iLen& ]

Description

Scan a string

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

REGEXPR scans target $ for a matching expression specified in mask$ . If found, it returns the position of the match in the iPos& variable (indexed to the first character position), and optionally, the length of the matching expression in iLen& .

If a match is made, the iPos& and iLen& results can be immediately used with subsequent string operations such as MID$ to extract the matched portion of target $ , and/or to continue the search through the remainder of target $ . If no matching expression is found, both iPos& (and iLen& if specified) are set to zero.

If specified, the search begins at the character position target & in target $; however, start& must be between 1 and the length of target $ . If start& is less than 1, the start& parameter is ignored.

While it is possible for more than one match to be found in a particular target string, REGEXPR first selects one or more matches which start at the leftmost possible position, then returns the longest of those. Use the \s special escape operator to force a match on the shortest match (see below).

The ^ and $ operators match on both the actual string start/end, or the previous/next embedded line-delimiter characters ( CHR$ (13,10) or $CRLF ) in target $ . This enables REGEXPR to treat the target $ string as containing a set of "logical lines" of text. In this situation, the start& character position plays a crucial role in identifying which logical delimited line that should be examined by REGEXPR.

By default, search expressions are assumed to be case-insensitive, so capitalization is ignored.

The regular ( wildcard ) expression specified in mask$ may contain a combination of standard text characters and/or the metacharacters which are defined as follows:

Definition

(period) Matches any character, except the end-of-line.

(caret) Matches the actual beginning-of-line position or the preceding line-delimiter character pair (CHR$(13,10) or $CRLF), as taken from the start& character position. The line-delimiter characters themselves are not included in the iLen& result. (also see [^] below for usage within a character class definition).

(dollar) Matches the end-of-line position, which may be either the first line-delimiter character pair (CHR$(13,10) or $CRLF) that is encountered in the search to the right of the start& position, or the actual end of the target $ string, whichever occurs first. The line-delimiter characters themselves are not included in the iLen& result.

(stile) Specifies alternation (the OR operator), so that an expression on either side can match. Precedence is from left-to-right, as encountered in the expression.

(question mark) Specifies that zero or one match of the preceding sub-pattern is allowed. Cannot be used with a Tag.

(plus) Specifies that one or more matches of the preceding sub-pattern are allowed. Cannot be used with a Tag.

(asterisk) Specifies that zero or more matches of the preceding sub-pattern are allowed. Cannot be used with a Tag.

Character classes

(square brackets) Identifies a user-defined class of characters, any of which will match: [abc] will match a, b, or c. Only three special metacharacters are recognized within a class definition, the caret ^ for complemented characters, the hyphen - for a range of characters, or one of the following \ backslash escape sequences:

\\ \- \] \e \f \n \q \r \t \v \x##

Any other use of a backslash within a class definition yields an undefined operation that should be avoided.

(hyphen) The hyphen identifies a range of characters to match. For example, [a-f] will match a, b, c, d, e, or f.

Characters in an individual range must occur in the natural order as they appear in the character set. For example, [f-a] will match nothing.

Lists of characters, and one or more ranges of characters, may be intermixed in a single class definition. The start and end of a range may be specified by a literal character, or one of the \ backslash escape sequences:

\\ \- \] \e \f \n \q \r \t \v \x##

Any other use of a backslash within a class definition yields an undefined operation.

Multiple ranges in a class are valid. For example, [a-d2-5] matches a, b, c, d, 2, 3, 4, or 5.

When the hyphen is escaped, it is treated as a literal. For example, [a\-c] is a list, not a range, and matches a, -, or c due to the \ backslash escape sequence.

(caret) When the caret appears as the first item in a class definition, it identifies a complemented class of characters, which will not match. For example, [^abc] matches any character except a, b, or c.

A range can also be specified for the complemented class. For example, [^a-z] matches any character except a through z.

A caret located in any position other than the first is treated as a literal character.

Tags/sub-patterns

(parentheses) Parentheses are used to match a Tag, or sub-pattern, within the full search pattern, and remember the match. The matched sub-pattern can be retrieved later in the mask (or in a replace operation with REGREPL), with \01 through \99, based upon the left-to-right position of the opening parentheses.

Parentheses may also be used to force precedence of evaluation with the alternation operator. For example, "(Begin)|(End)File" would match either "BeginFile" or "EndFile", but without the Tag designations, "Begin|EndFile" would only match either "BeginndFile" or "BegiEndFile".

Escaped characters

(backslash) . The escape operator (single-character quote). The following character will be treated as a literal value rather than being interpreted as a special character. Note that the character following the backslash must actually be a special character, as follows:

A word boundary . The start or end of a word, where a word is defined as one or more characters that include an alphabetic character (A-Z or a-z), a numeric character (0-9), and an underscore. For example, "abc_123" is considered a single word and "abc-123" is considered two words.

Case-sensitive search . Without the \c operator, the default is to ignore case when matching. Unlike some other implementations of regular expressions, case-insensitivity is recognized in all operations, even a range of characters such as "[6-Z]". The \c operator may appear at any position in the mask.

Escape character : CHR$(27) or $ESC .

Formfeed character: CHR$(12) or $FF .

Linefeed (or new-line) character: CHR$(10) or $LF .

Double-quote mark ("): CHR$(34) or $DQ . \q is included for ease of inclusion within a literal string. For example: "\qHello\q".

Carriage-return character: CHR$(13) or $CR .

Shortest match character: The \s flag causes the shortest matching string to be returned, rather than the longest (the default). For example, when searching for the mask "abc.*abc" in "abcdabcabc", the default setting would return position 1 and length 10. With the \s switch set, it returns position 1 and length 7. This option may cause a slight increase in processing time. The \s flag must appear at the beginning of the mask string.

Horizontal tab character: CHR$(9) or $TAB .

Vertical tab character: CHR$(11) or $VT .

Hex character code: Indicates that an ASCII code follows, given by two hexadecimal digits. For example, \xFF = CHR$(&HFF) (which is equivalent to CHR$(255)). XX must be in the range 0 through 255.

Restrictions

To maximize performance, avoid overuse of the *, + and ? metacharacters.

See also

  • REGREPL
  • PBXB64 Compiler Help


REGISTER - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

REGISTER

To define

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

REGISTER variable [AS type ] [, variable [AS type ]]

Description

To define

Kind: Statement | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The REGISTER statement is used to define certain local variables as Register variables - that is, variables which are stored directly in specific CPU registers, rather than in application memory. Since data in a CPU register can be accessed much faster, and with less code, Register variables are valuable optimization tools.

Register variables are always local to the procedure where they appear. In the current version of PowerBASIC, there may be up to two integral-class variables ( Word / Dword / Integer / Long ) and up to four Extended-precision floats . It is possible that future versions of the compiler will change these limits, so you may declare an unlimited number of them. Any "extra" Register variables are automatically reclassified as locals during compilation.

The REGISTER statement allows you to choose which variables will be classified as Register variables. If you do not make the choice in a particular procedure, the compiler will attempt to choose for you. By default, the compiler will always assign any integral-class local variables available. Extended-precision float variables will be automatically assigned only in Functions that contain no external Function calls.

Integral class Register variables are most efficient for variables that are updated or used often, such as For/Next loop counter variables, and variables that are used repeatedly as array indexes.

Floating-point Register variables should generally be chosen with a bit more caution, since the compiler must generate code to save and restore them to conventional memory around each call to a procedure. In some rather rare cases, it is possible that floating-point Register variables could actually reduce execution speed. However, they are extremely valuable with intensive floating-point calculations in Functions that have few references to other procedures.

Due to the design of FPUs (floating point units), and the instruction sets available, the first float register variable declared in your program has far more optimization possibilities than the others do. Use care in choosing the variable which is used most within floating-point expressions (that is, on the right side of the '=' assignment operator), in order to gain the greatest advantage in execution speed. Also, remember it is typically valuable to assign floating-point constants to Register variables when they are used in repetitive or intensive calculations.

You must use care with Inline Assembler floating-point opcodes in Functions that enable Register variables. Floating-point Register variables may occupy up to four of the FPU registers, so you must limit your use of the x87 registers to the remaining four. Further, floating-point Register variables may never be referenced by name from Inline Assembler code, as the compiler cannot always track the register locations with absolute certainty.

Restrictions

VARPTR cannot be used on a Register variable.

PowerBASIC transparently prevents the automatic register conversion of the variable used in the TO clause of the DIALOG SHOW MODAL and DIALOG SHOW MODELESS statements. If the target variable is explicitly declared as a register variable, PowerBASIC raises a compile-time Error 491 ("Invalid register variable"). This is necessary as the result values stored in such variables may be assigned from the context of other procedures, and this may only occur with a memory variable.

See also

  • Appendix C: Optimizing Your Code
  • PBXB64 Compiler Help


Registers - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Registers

Registers are a special working area within the processor. Registers are faster than memory operands , and are designed to work with the processor's opcodes .

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Registers are a special working area within the processor. Registers are faster than memory operands , and are designed to work with the processor's opcodes .

Kind: Keyword | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Registers in an Intel or compatible processor are a very limited resource when writing assembler. In essence, there are eight general-purpose registers, EAX, EBX, ECX, EDX, ESI, EDI, ESP, and EBP . In most instances, ESP and EBP should remain unused as PowerBASIC uses them for entry and exit of procedures.

This means that you have six 32-bit registers to use in your assembly code, plus any other memory locations that are useful in the procedure. ESI and EDI can be used in the normal manner in most instances but neither can be accessed at a Byte level. You can read the low WORD of ESI as SI and the low WORD of EDI as DI.

Understanding the size of registers and the data that you can place in them is very important when using assembler. A 32-bit Intel or compatible processor has three native data sizes that can be used by the normal integral instructions, BYTE , WORD , and DWORD corresponding to 8-bit, 16-bit and 32-bit.

This can be shown in HEX notation.

Back to command index


REGREPL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

REGREPL

Scan a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

REGREPL mask$ IN target $ WITH repl$ [AT start& ] TO iPos& , newtarget$

Description

Scan a string

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

REGREPL scans target $ for a matching regular expression specified in mask$. If a match is made, REGREPL replaces the matched text with the contents of repl$ , and assigns the new text to newtarget$. Additionally, REGREPL sets iPos& to reflect the character position immediately following the matched text in newtarget$ , so the operation can be repeated, if desired.

If no matching expression is found, iPos& will be set to zero, and newtarget$ receives a direct copy of target$ . In either case, target$ remains unchanged.

mask$ may contain literal characters and metacharacters (wildcards) to form the regular expression, and repl$ may only contain literal characters and tags specified by \##. Each tag from \01 through \99 is replaced by the text actually matched for that tag. \00 is replaced by the entire matched text.

If specified, the search begins at the character position start& in target$ ; however, start& must be between 1 and the length of target$ . If start& is less than 1, the start& parameter is ignored.

While it is possible for more than one match to be found in a particular target string, REGREPL first selects one or more matches which start at the leftmost possible position, then returns the longest of those. Use the \s special escape operator to force a match on the shortest match (see below).

The ^ and $ operators match on both the actual string start/end, or the previous/next embedded line-delimiter characters ( CHR$ (13,10) or $CRLF ) in target$ . This enables REGREPL to treat the target$ string as containing a set of "logical lines" of text. In this situation, the start& character position plays a crucial role in identifying which logical delimited line that should be examined by REGREPL.

By default, search expressions are assumed to be case-insensitive, so capitalization is ignored.

The regular ( wildcard ) expression specified in mask$ may contain a combination of standard text characters and/or the metacharacters which are defined as follows:

Definition

(period) Matches any character, except the end-of-line.

(caret) Matches the actual beginning-of-line position or the preceding line-delimiter character pair (CHR$(13,10) or $CRLF), as taken from the start& character position. The line-delimiter characters themselves are not replaced by repl$ . (also see [^] below for usage within a character class definition).

(dollar) Matches the end-of-line position, which may be the either the first line-delimiter character pair (CHR$(13,10) or $CRLF) that is encountered in the search to the right of the start& position, or the actual end of the target$ string, whichever occurs first. The line-delimiter characters themselves are not replaced by repl$ .

(stile) Specifies alternation (the OR operator), so that an expression on either side can match. Precedence is from left-to-right, as encountered in the expression.

(question mark) Specifies that zero or one match of the preceding sub-pattern is allowed. Cannot be used with a Tag.

(plus) Specifies that one or more matches of the preceding sub-pattern are allowed. Cannot be used with a Tag.

(asterisk) Specifies that zero or more matches of the preceding sub-pattern are allowed. Cannot be used with a Tag.

Character classes

(square brackets) Identifies a user-defined class of characters, any of which will match: [abc] will match a, b, or c. Only three special metacharacters are recognized within a class definition, the caret (^) for complemented characters, the hyphen (-) for a range of characters, or one of the following \ backslash escape sequences:

\\ \- \] \e \f \n \q \r \t \v \x##

Any other use of a backslash within a class definition yields an undefined operation that should be avoided.

(hyphen) The hyphen identifies a range of characters to match. For example, [a-f] will match a, b, c, d, e, or f.

Characters in an individual range must occur in the natural order as they appear in the character set. For example, [f-a] will match nothing.

Lists of characters, and one or more ranges of characters, may be intermixed in a single class definition. The start and end of a range may be specified by a literal character, or one of the \ backslash escape sequences:

\\ \- \] \e \f \n \q \r \t \v \x##

Any other use of a backslash within a class definition yields an undefined operation.

Multiple ranges in a class are valid. For example, [a-d2-5] matches a, b, c, d, 2, 3, 4, or 5.

When the hyphen is escaped, it is treated as a literal. For example, [a\-c] is a list, not a range, and matches a, -, or c due to the \ backslash escape sequence.

(caret) When the caret appears as the first item in a class definition, it identifies a complemented class of characters, which will not match. For example, [^abc] matches any character except a, b, or c.

A range can also be specified for the complemented class. For example, [^a-z] matches any character except a through z.

A caret located in any position other than the first is treated as a literal character.

Tags/sub-patterns

(parentheses) Parentheses are used to match a Tag, or sub-pattern, within the full search pattern, and remember the match. The matched sub-pattern can be retrieved later in the mask, or in a replace operation, with \01 through \99, based upon the left-to-right position of the opening parentheses.

Parentheses may also be used to force precedence of evaluation with the alternation operator. For example, "(Begin)|(End)File" would match either "BeginFile" or "EndFile", but without the Tag designations, "Begin|EndFile" would only match either "BeginndFile" or "BegiEndFile".

Note: Parentheses may not be used with ? + * as any match repetition could cause the tag value to be ambiguous. To match repeated expressions, use parentheses followed by \01*.

Escaped characters

(backslash) . The escape operator (single-character quote). The following character will be treated as a literal value rather than being interpreted as a special character. Note that the character following the backslash must actually be a special character, as follows:

A word boundary . The start or end of a word, where a word is defined as one or more characters that include an alphabetic character (A-Z or a-z), a numeric character (0-9), and an underscore. For example, "abc_123" is considered a single word and "abc-123" is considered two words.

Case-sensitive search . Without the \c operator, the default is to ignore case when matching. Unlike some other implementations of regular expressions, case-insensitivity is recognized in all operations, even a range of characters such as "[6-Z]". The \c operator may appear at any position in the mask.

Escape character: CHR$(27) or $ESC .

Formfeed character: CHR$(12) or $FF .

Linefeed (or newline) character: CHR$(10) or $LF .

Double-quote mark ("): CHR$(34) or $DQ . \q is included for ease of inclusion within a literal string. For example: "\qHello\q".

Carriage-return character: CHR$(13) or $CR .

Shortest match character: The \s flag causes the shortest matching string to be returned, rather than the longest (the default). For example, when searching for the mask "abc.*abc" in "abcdabcabc", the default setting would return position 1 and length 10. With the \s switch set, it returns position 1 and length 7. This option may cause a slight increase in processing time. The \S flag must appear at the beginning of the mask string.

Horizontal tab character: CHR$(9) or $TAB .

Vertical tab character: CHR$(11) or $VT .

Hex character code: Indicates that an ASCII code follows, given by two hexadecimal digits. For example, \xFF = CHR$(&HFF) (which is equivalent to CHR$(255)). XX must be in the range 0 through 255.

Tag number: Evaluated as the characters matched by tag number ## (where ## is in the range 01 through 99, in decimal). Tags are implicitly numbered from 01 through 99, based upon the left-to-right position of the left parenthesis. "( )w\01" would match "abcwabc" or "456w456".

Tags cannot be forward-referenced - that is, if a reference is made to any Tag that is not yet defined, a non-match is presumed.

Restrictions

To maximize performance, avoid overuse of the *, + and ? metacharacters.

See also

  • REGEXPR
  • PBXB64 Compiler Help


Relational Operators - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Relational Operators

Relational operators allow you to compare the values of two expressions, to obtain a Boolean result of TRUE or FALSE . Although they can be used in any numeric expression (for example, a = (b > c) / 1

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Relational operators allow you to compare the values of two expressions, to obtain a Boolean result of TRUE or FALSE . Although they can be used in any numeric expression (for example, a = (b > c) / 1

Kind: Operator | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Example

a$ = "CAT"


REM - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

REM

Indicate that the remainder of a line in source code files is to be regarded as a Remark or Comment, and excluded from the compiled code.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

REM comment text
' comment text
; comment in an Inline Assembler statement

Description

Indicate that the remainder of a line in source code files is to be regarded as a Remark or Comment, and excluded from the compiled code.

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The PowerBASIC compiler ignores Remarks; they do not take up space in your generated code, so use them abundantly - useful comments greatly increase the readability and maintainability of source code.

Comment text is any sequence of characters. A comment can appear on a line with other statements, but it must be the last thing on that line, and a colon must precede it. For example, the assignment below will not be compiled or executed because the compiler cannot tell where the comment ends and the statement begins:

REM now add the numbers: a = b + c

The following works:

a = b + c : REM now add the numbers

The apostrophe ( ' ) is an alternate form of REM. When you use an apostrophe, you do not need a colon to separate the remark from the other statements on the same line.

When using the Inline Assembler , use the semi-colon ( ; ) to indicate that the remainder of the line should be ignored. An apostrophe ( ' ) can still be used for comments, however.

In addition, the compiler treats text that appears after the line continuation character as a remark. However, we still recommend that such comments are preceded by a REM or an apostrophe ( ' ) symbol to clearly distinguish remarks from the actual code. For example:

DECLARE FUNCTION Call32& _ The prototype

LIB "CALL32.DLL" _ The DLL name

ALIAS "Call32" _ ' The exported name

(Param1 AS ANY, _ ' 1st parameter

BYVAL id&) ' 2nd parameter

For situations where a large section of code needs to be REMmed out (yet preserved within the source code file), it is often easier to enclose the code with #IF 0/#ENDIF metastatements. For example:

#IF 0 ' Exclude the following lines

Code and text in between the #IF 0 and #ENDIF

metastatements is ignored by the compiler.

DIM a$(1 TO 1000) ' This line is ignored too.

INCR x& ' As is this line!

#ENDIF

Since the #IF expression evaluates to false (zero), this forces the compiler to exclude the enclosed block of code from the compilation process, in exactly the same way as if a REM statement had been prefixed to each line.

See also

  • Long lines
  • PBXB64 Compiler Help


REMACRO - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

REMACRO

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

REMACRO macroname [( prm1 , prm2 , ...)] = replacementtext
REMACRO macroname [( prm1 , prm2 , ...)]
  [MACROTEMP ident1 [, ident2 , ...]]
  { replacementtext }
  END MACRO

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


REMAIN$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

REMAIN$

Return the portion of a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

a$ = REMAIN$([ Start ,] MainStr , [ANY] MatchStr )

Description

Return the portion of a string

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

REMAIN$ is a complement to the EXTRACT$ function. MainStr is searched for the string specified in MatchStr . If found, all characters after MatchStr are returned. If MatchStr is not present in MainStr , or either string parameter is nul, then a nul (zero-length) is returned.

Start is an optional starting position to begin searching. If Start is not specified, position 1 will be used. If Start is zero, a nul string is returned. If Start is negative, the starting position is counted from right to left: if -1, the search begins at the last character; if -2, the second to last, and so forth.

If the ANY keyword is included, MatchStr specifies a list of single characters to be searched for individually. A match on any one of them will cause the operation to be performed up to that character.

See also

  • EXTRACT$
  • LEFT$
  • LTRIM$
  • MID$
  • REMOVE$
  • REPLACE
  • RIGHT$
  • RTRIM$
  • TALLY
  • TRIM$
  • VERIFY
  • PBXB64 Compiler Help


REMOVE$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

REMOVE$

Return a copy of a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

x$ = REMOVE$( MainString , [ANY] MatchString )

Description

Return a copy of a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The REMOVE$ function has the following parts:

MainString

The string expression from which to remove characters.

MatchString

The string expression to remove all occurrences of. If MatchString is not present in MainString , all of MainString is returned intact.

If the ANY keyword is included, MatchString specifies a list of single characters to be searched for individually, a match on any one of which will cause that character to be removed from the result.

Restrictions

REMOVE is case-sensitive.

See also

  • CLIP$
  • EXTRACT$
  • INSTR
  • LTRIM$
  • MID$
  • REPLACE
  • RETAIN$
  • RIGHT$
  • RTRIM$
  • SHRINK$
  • TALLY
  • TRIM$
  • UNWRAP$
  • VERIFY
  • PBXB64 Compiler Help


REPEAT$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

REPEAT$

Return a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = REPEAT$( count& , string_expr )

Description

Return a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The REPEAT$ function has the following parts:

count&

Is an integral expression, constant or variable , specifying the number of copies of string_expr to be included in the result. REPEAT$ is very similar to STRING$ (which makes multiple copies of a single character).

string_expr

The string to be duplicated.

See also

  • BUILD$
  • CHR$
  • GUID$
  • NUL$
  • SPACE$
  • STRING$
  • PBXB64 Compiler Help


REPLACE - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

REPLACE

Within a specified string

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

REPLACE [ANY] MatchString WITH NewString IN MainString

Description

Within a specified string

Kind: Statement | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The REPLACE statement replaces all occurrences of MatchString in MainString with NewString. The replacement can cause MainString to grow or condense in size. MainString must be a string variable; MatchString and NewString may be string expressions . REPLACE is case-sensitive. When a match is found, the scan for the next match begins at the position immediately following the prior match.

If you use the ANY option, within MainString , each occurrence of each character in MatchString will be replaced with the corresponding character in NewString . In this case, MatchString and NewString must be the same length , because there is a one-to-one correspondence between their characters.

See also

  • EXTRACT$
  • INSTR
  • LTRIM$
  • MID$
  • REMOVE$
  • RETAIN$
  • RIGHT$
  • RTRIM$
  • SHRINK$
  • TALLY
  • TRIM$
  • UNWRAP$
  • VERIFY
  • PBXB64 Compiler Help


RESET - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

RESET

Set a scalar (non-array)

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

RESET variable [, ...]
RESET array() [, ...]
RESET array(index) [, ...]

Description

Set a scalar (non-array)

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If variable is numeric, it is set to zero. If variable is a dynamic string, it is set to null (""; an empty string). If variable is a nul-terminated string , the first byte is set to nul ( $NUL ). If variable is a fixed-length string or User-Defined Type/ Union , all bytes in variable are set to nul, or CHR$ (0). If variable is a Variant, it is cleared and set to data type %VT_EMPTY .

If array() is numeric , all elements are set to zero; otherwise all elements are set to zero/null. If an array index value is specified within the parentheses, just that array element is set to zero/null, as if it were a scalar (non-array) variable.

RESET also works with absolute arrays , clearing the contents to zeroes or empty strings. For more information on absolute arrays, please refer to the DIM statement.

See also

  • ARRAYATTR
  • DIM
  • ERASE
  • LET
  • LET statement (with Types)
  • LET statement (with Variants)
  • REDIM
  • PBXB64 Compiler Help


#RESOURCE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#RESOURCE

Embed a PowerBASIC

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#RESOURCE BITMAP, ResID , " filespec.BMP "
#RESOURCE ICON, ResID , " filespec.ICO "
#RESOURCE MANIFEST, 1, "filespec.XML"
#RESOURCE RCDATA, ResID, " filespec.DAT "
#RESOURCE STRING, ResID, " YourWideText "$$ [, LangID ]
#RESOURCE TYPELIB, 1, " filespec.TLB "
#RESOURCE WAVE, ResID , " filespec.WAV "
#RESOURCE VERSIONINFO <<block>>
#RESOURCE RES, " filespec.RES "
#RESOURCE PBR, " filespec.PBR "

Description

Embed a PowerBASIC

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This metastatement is used to include PowerBASIC Resource data into your program or DLL. Resource data may consist of bitmaps , icons , strings , COM Type Libraries , Version Information, and more. You can even embed custom binary data for your personal, specialized needs.

Resource data can be a very valuable tool. While you can certainly load bitmaps and icons from separate files, wouldn't it be better to just embed them in your application? When you need the bitmap, it's always right there for your use! You don't have to deal with scads of files. Now it's all at your fingertips.

The parameter ResID is a unique identifier which you create to reference this item. It can be a numeric or an alphanumeric literal. If numeric, it must be an integral value from 0 to 65535. If alphanumeric, it must begin with a letter, and consist of letters and numbers. Alphanumeric labels are not case sensitive. The filespec parameter must always be expressed as a string literal which tells the location of the resource data.

If a resource file's path is not specified, then the compiler will look in the default directory.

With most programming languages, creation and embedding of resource data is a cumbersome process. First you create a resource script (an .RC file) with a text editor. Then you save the .RC file. Now, compile the .RC file with a resource compiler to get a .RES file. Next, you convert it to a linkable file using Microsoft's CVTRES.EXE or another converter program like PBRES.EXE. Finally, you link it into your .EXE or .DLL with a compiler or linker program. What if you find you need to make a tiny change? Do it all over again, from the beginning. Even older versions of PowerBASIC suffered from this problem.

Isn't there a better way? Yes, PowerBASIC now handles the entire process in a single line of code. Need an embedded bitmap?

#RESOURCE BITMAP, 123, "MyPicture.BMP"

PowerBASIC finds your bitmap in the file MyPicture.BMP and embeds it in your executable. When you need to use it, you can reference it by the ID you chose for it (123). The ID can be an integral numeric value or a text name of your choice. So, to display the bitmap on a graphic window , it's as simple as:

GRAPHIC RENDER "#123", (100,100)-(160,140)

String Resources

The String resource contains string data which is always created and stored as Wide Unicode characters. It is retrieved at run-time with the RESOURCE$ function. Due to the manner in which Windows stores string resources in a string table, the ResID must be numeric.

The string data must be from 1 to 127 characters in length, and may not contain any embedded nuls ( CHR$ (0)). The string data may be specified as a quoted wide string literal ("MyText"$$), or as a wide string literal expression. A string literal expression can be constructed from combinations of wide string equates or wide quoted string literals, the CHR$ function, SPACE$ function, and the STRING$ function when used with numeric parameters.

VersionInfo Resources

The VersionInfo resource contains information about the file, such as its version number, its intended operating system, its original file name, and much more. This resource is intended to be used with the Version Information API functions, so that Windows Explorer, and other programs, can display the relevant information about your EXE. The VersionInfo resource cannot be embedded in a Static Link Library (SLL).

The VersionInfo resource is unique in that it requires several #RESOURCE metastatements which are interpreted as a complete block. They must be placed consecutively in the correct sequence in order be processed correctly.

#RESOURCE VERSIONINFO

#RESOURCE FILEFLAGS FlagValue&

#RESOURCE FILEVERSION HiNum1& , LoNum1& , HiNum2& , LoNum2&

#RESOURCE PRODUCTVERSION HiNum1& , LoNum1& , HiNum2& , LoNum2&

#RESOURCE STRINGINFO " LangID ", " CharSet "

#RESOURCE VERSION$ " Comments ", " Additional info "

#RESOURCE VERSION$ " CompanyName ", " PowerBASIC Inc. "

#RESOURCE VERSION$ " FileDescription ", " Presented to users "

#RESOURCE VERSION$ " FileVersion ", " Readable VerNum 1.02 "

#RESOURCE VERSION$ " InternalName ", " Private "

#RESOURCE VERSION$ " LegalCopyright ", " Copyright 2012 PB Inc "

#RESOURCE VERSION$ " LegalTrademarks ", " xx is a... "

#RESOURCE VERSION$ " OriginalFilename ", " Original name w/o path "

#RESOURCE VERSION$ " PrivateBuild ", " Private info "

#RESOURCE VERSION$ " ProductName ", " Product distributed with "

#RESOURCE VERSION$ " ProductVersion ", " Version distributed with "

#RESOURCE VERSION$ " SpecialBuild ", " Special info "

FILEFLAGS

FlagValue&

Description

%VS_FF_DEBUG

File contains debugging information or is compiled with debugging features enabled.

%VS_FF_PATCHED

File has been modified and is not identical to the original shipping file of the same version number.

%VS_FF_PRERELEASE

File is a development version, not a commercially released product.

%VS_FF_PRIVATEBUILD

File was not built using standard release procedures. If this value is given, you must include a PrivateBuild string item.

%VS_FF_SPECIALBUILD

File was built by the original company using standard release procedures, but is a variation of the standard file of the same version number. If this value is given, you must include a SpecialBuild string item.

STRINGINFO

LangID

Language

LangID

Language

&H0401

Arabic

&H0415

Polish

&H0402

Bulgarian

&H0416

Portuguese (Brazil)

&H0403

Catalan

&H0417

Rhaeto-Romanic

&H0404

Traditional Chinese

&H0418

Romanian

&H0405

&H0419

Russian

&H0406

Danish

&H041A

Croato-Serbian (Latin)

&H0407

German

&H041B

Slovak

&H0408

&H041C

Albanian

&H0409

U.S. English

&H041D

Swedish

&H040A

Castilian Spanish

&H041E

&H040B

Finnish

&H041F

Turkish

&H040C

French

&H0420

&H040D

Hebrew

&H0421

Bahasa

&H040E

Hungarian

&H0804

Simplified Chinese

&H040F

Icelandic

&H0807

Swiss German

&H0410

Italian

&H0809

U.K. English

&H0411

Japanese

&H080A

Spanish (Mexico)

&H0412

Korean

&H080C

Belgian French

&H0413

&H0816

Portuguese (Portugal)

&H0414

Norwegian - Bokmal

&H081A

Serbo-Croatian (Cyrillic)

&H0810

Swiss Italian

&H0C0C

Canadian French

&H0813

Belgian Dutch

&H100C

Swiss French

&H0814

Norwegian - Nynorsk

STRINGINFO

CharSet

Character Set

&H0000

7-bit ASCII

&H03A4

Japan (Shift - JIS X-0208)

&H03B5

Korea (Shift - KSC 5601)

&H03B6

Taiwan (Big5)

&H04B0

Unicode

&H04E2

Latin-2 (Eastern European)

&H04E3

Cyrillic

&H04E4

Multilingual

&H04E5

&H04E6

Turkish

&H04E7

Hebrew

&H04E8

Arabic

RES/PBR Resources

The second group of syntax examples show how you can embed resources which have been pre-compiled used a resource compiler. Standard resource compilers output a binary resource with a .RES extension. PowerBASIC will embed this resource just as it is given in the file. This form will always be supported to support resource forms which are typically not needed for most PowerBASIC programs, or which usually require the use of a resource editor.

The final example, using a .PBR file, will only be supported for a limited period of time. This is the form created by the PowerBASIC PBRES utility in older versions of the compiler. It is recommended that you change to the .RES version soon, as it is more efficient, and needs less effort from the programmer. It should be noted that prior versions of PowerBASIC allowed the descriptor "PBR" to be omitted. While this option will be supported for a limited period of time, we recommend that you always insert "PBR" for clarity.

Restrictions

Windows 95, 98, and ME offer limited support for resources. When compiling on one of these versions of Windows, only #RESOURCE RES and #RESOURCE PBR may be used. Other forms of the #RESOURCE metastatement are not functional.

RES and PBR resources cannot be mixed with any other resources. Once you add a PBR or RES resource, you cannot add any other #RESOURCE metastatements in your program.

See also

  • RESOURCE$
  • What Is a Resource File?
  • PBXB64 Compiler Help


RESOURCE$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

RESOURCE$

Returns predefined

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

r $ = RESOURCE$(RCDATA, ResID )
s$$ = RESOURCE$(STRING, ResID% )

Description

Returns predefined

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

You can embed data into your EXE or DLL with the #RESOURCE metastatement. While the data can be represented in several different data types, two are designed to be retrieved directly for your own purposes: RCDATA and STRING. In both cases, this data is returned as a variable-length string so you can manipulate it and use it as you wish. The specific resource you wish to retrieve is specified by the ResID . If the ID you request is not present, a nul (zero-length) string is returned.

RCDATA

This resource contains raw data of any type. It is always stored byte -by-byte, just as it was originally created at the time of compilation. Generally speaking, this type of data should be assigned to an ANSI string variable so no Unicode conversions are performed. The ResID which identifies this resource may be a numeric value between 0 and 65535, or an alphanumeric label which is passed to the function as a string expression (string literal, variable, etc.)

STRING

This resource contains predefined strings in a string table. Each string is identified by a resource ID number in the range of 0 to 65535. This number is used as the ResID% to determine which string will be retrieved. Because of the format in which Windows stores the strings in tables, only integral numeric ID's may be used. All resource strings are saved internally in wide Unicode format.

See also

  • #RESOURCE
  • PBXB64 Compiler Help


RESOURCE SAVE FILE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

RESOURCE SAVE FILE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

RESOURCE SAVE FILE "Typ", ResID, "Dateiname"

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


RESUME - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Error Handling PBXB64 Compiler Help

RESUME

Restart program execution after

Chapter: Error Handling | Certification: [CERTIFIED TESTED]

Syntax

RESUME
RESUME NEXT
RESUME FLUSH
RESUME < Label >

Description

Restart program execution after

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The RESUME statement is used to continue execution of a program after a run-time error has been trapped and processed with an ON ERROR handler. RESUME (in any form) tells PowerBASIC that error processing has been completed, and it is now time to continue normal execution of the programming. Whenever an error is trapped and processed by ON ERROR GOTO, execution of a matching RESUME is mandatory.

RESUME

If the first form of RESUME is used (without any modifier), the statement which generated the error is executed again and program flow continues normally. Be certain that you've corrected the condition which generated the error in the first place before you do this!

RESUME NEXT

If you execute RESUME NEXT, program execution continues on the line immediately following the one which generated the error. Program flow continues normally after that. Be certain that your error handler did whatever was necessary to substitute new actions to replace what was expected from the code which errored.

RESUME FLUSH

If you execute RESUME FLUSH, there is no transfer of control to a different line. Program execution simply continues on the line immediately following the RESUME FLUSH.

RESUME < Label >

If a label is specified, program execution continues at the specified label location. The label must be "local"; that is, it must be located within the same procedure as the RESUME.

Restrictions

ON ERROR and RESUME may not be used within a TRY/END TRY block or a FASTPROC procedure.

See also

  • ERL system variable
  • ERR system variable
  • ERROR$
  • Error Overview
  • Error Trapping
  • ON ERROR
  • PBXB64 Compiler Help


RETAIN$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

RETAIN$

Return a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

sResult$ = RETAIN$( mainstr$ , [ANY] matchstr$ )

Description

Return a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

RETAIN$ returns a string consisting of zero or more copies of the complete expression matchstr$ which are found in mainstr$ . All other characters are removed.

If the ANY option is included, matchstr$ specifies a list of single characters to be retained, if they are found in mainstr$ .

Restrictions

If matchstr$ is an empty string, RETAIN$ returns an empty string.

See also

  • EXTRACT$
  • REMAIN$
  • REMOVE$
  • REPLACE
  • PBXB64 Compiler Help


RETURN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

RETURN

Return from a (

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Return from a (

Kind: Statement | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Return value: RETURN FLUSH

RETURN terminates the execution of a subroutine, and passes control to the statement directly following the calling GOSUB statement.

RETURN FLUSH removes the most recent return address from the system stack and program flow continues normally after the RETURN FLUSH.

Performing either form of RETURN without a corresponding GOSUB can cause unpredictable behavior and difficult-to-track errors. This includes the possibility of a General Protection Fault (GPF).

See also

  • CALL
  • GOSUB
  • GOTO
  • ON ERROR
  • SUB/END SUB statements
  • PBXB64 Compiler Help


RGB - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

RGB

Create an RGB

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

result& = RGB( red& , green& , blue& )
result& = RGB( bgrexpr& )

Description

Create an RGB

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

An RGB value is a long integer value in the range of 0 to &H00FFFFFF. It is used to specify a very precise color to various PowerBASIC functions and Windows API functions. The lowest three bytes of the value each specify the intensity of a primary color which combine to form the resultant color. Byte 1 (lowest) represents the red component, byte 2 the green, and byte 3 the blue. They can each take on a value in the range of 0 to 255. Byte 4 (highest) is always 0. When used with 3 parameters, the RGB() function creates an RGB value from the three component values.

Some Windows API functions, namely those which reference Device Independent Bitmaps (DIB), require that the colors be specified in the reverse sequence (Blue-Green-Red instead of Red-Green-Blue). In order to maximize performance and execution speed, PowerBASIC statements and functions which reference these structures also use the BGR format. These include GRAPHIC GET BITS and GRAPHIC SET BITS .

When used with one parameter, this function translates a BGR value to its RGB equivalent by swapping the first byte with the third byte, and returning the result.

For example, the BGR value of red is &HFF0000. RGB() translates it to &H0000FF. Calling BGR() with that value converts it back to &HFF0000.

See also

  • Built In RGB Color Equates
  • BGR
  • PBXB64 Compiler Help


RIGHT$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

RIGHT$

Return the rightmost

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

s$ = RIGHT$( string_expression , n& )

Description

Return the rightmost

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If n& is positive, RIGHT$ returns the indicated number of characters from the string, starting from the right and working left. If n& greater than the length of string_expression, all of string_expression is returned.

If n& is 0, RIGHT$ returns an empty string. If n& is negative, it is interpreted as ( LEN ( string_expression ) - ABS ( n& )). For example, RIGHT$("1234567890", -2) returns "34567890".

See also

  • EXTRACT$
  • INSTR
  • LEFT$
  • LTRIM$
  • MID$
  • REMOVE$
  • REPLACE
  • RTRIM$
  • SPLIT
  • TALLY
  • TRIM$
  • VERIFY
  • PBXB64 Compiler Help


RMDIR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

RMDIR

Delete a disk directory (like the DOS RMDIR command).

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

RMDIR path

Description

Delete a disk directory (like the DOS RMDIR command).

Kind: Statement | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

path is a directory path, which may include a drive specification. RMDIR deletes the directory indicated by path .

This statement works like the DOS "RMDIR" or "RD" commands. As with the DOS commands, the path must specify a valid, empty directory, other than the default (current) directory. Otherwise, a run-time Error 75 occurs ("Path/file access error").

RMDIR can use Long File Names (LFNs).

See also

  • CHDIR
  • KILL
  • MKDIR
  • PBXB64 Compiler Help


RND - Real Random Number Generator - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

RND - Real Random Number Generator

Return a random number. The V8.1 implementation uses a real linear-congruential generator (LCG) with a thread-local seed stored in c_runtime_user.o. The output range is exactly [0, 1) for the no-arg / single-arg form, and an inclusive integer range for the RND(a, b) form.

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

y = RND                       ' returns DOUBLE in [0, 1)
y = RND(a, b)                 ' returns LONG in [a, b] inclusive
y = RND(seed)                 ' with positive seed: next in sequence
                              ' with zero:     repeats last value
                              ' with negative: re-seeds the generator

Description

Return a random number. The V8.1 implementation uses a real linear-congruential generator (LCG) with a thread-local seed stored in c_runtime_user.o. The output range is exactly [0, 1) for the no-arg / single-arg form, and an inclusive integer range for the RND(a, b) form.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE — real implementation, not a stub

PBXB64 Certification: [CERTIFIED TESTED]

Description

Floating-point mode: RND returns a value in [0, 1). The internal algorithm is a 64-bit LCG (mod 2^64, multiplier 6364136223846793005) and a thread-local state. The returned value is double-precision.

Integral range mode: RND(a, b) returns a LONG in [a, b] inclusive. Both endpoints must fit in a 32-bit signed integer.

Special-effects mode: a single argument controls reseeding behaviour. With a positive seed, the generator advances. With zero, the last value is repeated. With a negative seed, the generator is reseeded.

Example

FUNCTION PBMAIN() AS LONG
    RANDOMIZE 42
    PRINT RND       ' deterministic first value
    PRINT RND       ' deterministic second value
    PRINT RND(1, 6) ' a "die roll" 1..6
    FUNCTION = 0
END FUNCTION

See also

  • RANDOMIZE - Real Seed
  • TIMER
  • PBXB64 Compiler Help


ROTATE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

ROTATE

Rotate the bits in an integral class

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

ROTATE {LEFT | RIGHT} ivar , count

Description

Rotate the bits in an integral class

Kind: Statement | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ivar must be one of the integral-class variable types: Byte , Word , Integer , Double-word , Long-integer , or Quad-integer . count is the number of bits by which to rotate ivar . ROTATE rotates all the bits in ivar without special regard to the sign bit of a signed integral-class variable.

See also

  • BITS
  • BIT
  • SHIFT
  • PBXB64 Compiler Help


ROUND - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

ROUND

Round a numeric value to a specified number of decimal places.

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

x = ROUND( numeric_expression , n )

Description

Round a numeric value to a specified number of decimal places.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

n is an integral expression specifying the number of decimal places required in the result. ROUND is especially useful in cases where you have a variable in Single , Double , or Extended-precision , and you want to put it into a Currency variable or display it, rounded to a specific number of decimal places.

Rounding is done according to the "banker's rounding" principle: if the fractional digit being rounded off is exactly five, with no trailing digits, the number is rounded to the nearest even number. This provides better results, on average, than the simple "round up at five" approach.

A% = ROUND(0.5, 0) ' 0

A% = ROUND(1.5, 0) ' 2

A% = ROUND(2.5, 0) ' 2

A% = ROUND(2.51, 0) ' 3

Example

#COMPILE EXE
#DIM ALL
' math_round_basic
FUNCTION PBMAIN() AS LONG
  IF ((ROUND(1.4)) < (1.0000000000) - 0.0001) OR ((ROUND(1.4)) > (1.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((ROUND(1.6)) < (2.0000000000) - 0.0001) OR ((ROUND(1.6)) > (2.0000000000) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((ROUND(-1.5)) < (-2.0000000000) - 0.0001) OR ((ROUND(-1.5)) > (-2.0000000000) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • CEIL
  • FIX
  • FORMAT$
  • INT
  • USING$


RSET$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

RSET$

Return a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

a$ = RSET$( string_expression , strlen& [USING ustring_expression ])

Description

Return a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

RSET$ right-aligns the string string_expression into a string of strlen& characters.

If ustring_expression is null (empty) or is not specified, RSET$ pads string_expression with space characters. Otherwise, RSET$ pads the string with the first character of ustring_expression .

If string_expression is shorter then strlen& , RSET$ right-justifies string_expression within the assigned string variable ( a$ ) , padding the left side as described above; otherwise, RSET$ returns the left-most strlen& bytes of string_expression .

See also

  • CSET$
  • GET
  • LET
  • LSET$
  • PUT
  • RESET
  • STRINSERT$
  • TYPE SET
  • PBXB64 Compiler Help


RTRIM$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

RTRIM$

Return a copy of a string

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

x$ = RTRIM$( MainString [, [ANY] MatchString ])

Description

Return a copy of a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

MainString is the string expression from which to remove characters, and MatchString is the string expression specifying the characters that should be removed from the right hand side of MainString .

If MatchString is not specified, RTRIM$ removes trailing spaces. RTRIM$ returns a sub-string of MainString , from the beginning of the string to the character preceding the consecutive occurrences of MatchString (or space), which continues to the end of the original string. If MatchString (or a space) is not present at the end of MainString , all of MainString is returned.

RTRIM$ is case-sensitive.

If the ANY keyword is included, MatchString specifies a list of single characters to be searched for individually - a match on any one of which as a trailing character will cause the character to be removed from the result.

See also

  • CLIP$
  • EXTRACT$
  • INSTR
  • LEFT$
  • LTRIM$
  • MID$
  • REMOVE$
  • REPLACE
  • RIGHT$
  • STRDELETE$
  • STRINSERT$
  • STRREVERSE$
  • TALLY
  • TRIM$
  • VERIFY
  • PBXB64 Compiler Help


RUN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

RUN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

exitCode& = RUN(command$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Saving registers - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Saving registers

When writing assembler code in 32-bit Windows, there is a convention that governs the use of registers so programmers can interact with the Windows API functions in a predictable and completely reliab

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

When writing assembler code in 32-bit Windows, there is a convention that governs the use of registers so programmers can interact with the Windows API functions in a predictable and completely reliab

Kind: Keyword | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

However, the registers available with an 80x86 processor are a very limited resource, and they are used by every application (process) running and also by the operating system itself. Therefore, a reliable method of using registers is very important to the process of writing reliable assembler code.

An 80x86 processor has eight general-purpose integral registers, EAX, EBX, ECX, EDX, ESI, EDI, ESP, and EBP . Of these, ESP and EBP are almost exclusively used to manage the entry and exit to a procedure, so there are effectively just six general-purpose registers available for application level programming.

Following on, the Windows convention splits the remaining registers so that 3 can be freely modified (EAX, ECX, and EDX) within the Sub / Function / Method / Property that uses them, while the other 3 must be preserved (EBX, ESI, and EDI) by the procedure. For the sake of this discussion, we'll refer to these two sets as scratch and volatile registers respectively.

In summary, PowerBASIC automatically preserves EBX, ESI, and EDI at the procedure level, but the programmer is responsible for preserving both the scratch and volatile registers within the procedure.

Back to command index


Saving Registers at the Procedure level - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Saving Registers at the Procedure level

To conform to the Windows programming conventions, PowerBASIC must provide a "safe" environment for the range of functions that are available. This is achieved by transparently preserving the three vo

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

To conform to the Windows programming conventions, PowerBASIC must provide a "safe" environment for the range of functions that are available. This is achieved by transparently preserving the three vo

Kind: Keyword | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

! PUSH EBX ' Automatically added by PowerBASIC

Back to command index


Saving the FPU registers - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Saving the FPU registers

Whereas the CPU has registers with fixed names (EAX, etc), the FPU (Floating-Point Unit or co-processor) has stack -like registers which are numbered according to their position in the stack: ST(0) {t

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Whereas the CPU has registers with fixed names (EAX, etc), the FPU (Floating-Point Unit or co-processor) has stack -like registers which are numbered according to their position in the stack: ST(0) {t

Kind: Keyword | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Note the term loading is used to describe placing a value on the FPU stack, yet it operates more like a PUSH operation. In PowerBASIC, it is not a question of which FPU registers are available, but that four registers (or stack slots) are usually available for use by the programmer. If more are required, the stack should be saved and restored accordingly.

To preserve the entire FPU stack, the mnemonics FSAVE and FRSTOR take care of preserving, and restoring, the FPU stack (respectively). These work in a similar way to the PUSHFD and POPFD CPU, but are notoriously slow to execute and FPU programmers often avoid their use unless necessary. However, they can be useful when starting to write FPU code since they guarantee the preservation and restoration of the FPU stack.

Back to command index


Saving the Source Code - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Saving the Source Code

To save the PowerBASIC compatible source code, simply click the Save As button or select File -> Save As from the menu and the source code displayed in the Source Code view will be saved to disk. You

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

To save the PowerBASIC compatible source code, simply click the Save As button or select File -> Save As from the menu and the source code displayed in the Source Code view will be saved to disk. You

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The selected text in the Source Code window can also be save to the Windows clipboard, by selecting Edit -> Copy.

The PowerBASIC COM Browser User Interface

Back to command index


SAY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SAY

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

SAY text$ TO result&

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SCAN$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SCAN$

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result$ = SCAN$( MainString , MatchString )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SCREEN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SCREEN

Sets the console screen mode baseline and clears the active console buffer.

Chapter: General Reference

Syntax

SCREEN mode
value = SCREEN(row, col)

Description

Sets the console screen mode baseline and clears the active console buffer.

Kind: Statement / Function | Category: Console

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED COMPILE-ONLY]

Behavior

SCREEN mode records the requested mode, clears the console buffer, and moves the cursor to the upper-left corner. SCREEN(row, col) reads a character from the console coordinate path already covered by the console runtime.

Tests

test_screen_page.pb covers the statement form. test_screen.pb covers the function form.

Example

' CERTIFIED COMPILE-ONLY: GRAPHIC MISC / SCREEN
' Tests: GRAPHIC PSET, GRAPHIC PAINT, and SCREEN.
#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN () AS LONG
    SCREEN 0
    GRAPHIC WINDOW "misc", 0, 0, 100, 100
    GRAPHIC PSET 50, 50, 0
    GRAPHIC PAINT (50, 50), 0
    GRAPHIC CLOSE
    FUNCTION = 0
END FUNCTION


SCROLLBAR GET PAGESIZE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SCROLLBAR GET PAGESIZE

Manipulate a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

SCROLLBAR GET PAGESIZE hDlg , id& TO datav&
SCROLLBAR GET POS hDlg , id& TO datav&
SCROLLBAR GET RANGE hDlg& , id& TO LoDatav& , HiDatav&
SCROLLBAR GET TRACKPOS hDlg , id& TO datav&
SCROLLBAR SET PAGESIZE hDlg , id& , pagesize&
SCROLLBAR SET POS hDlg , id& , position&
SCROLLBAR SET RANGE hDlg , id& , lolimit& , hilimit&

Description

Manipulate a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

In each of the following samples and descriptions, the SCROLLBAR control that is the subject of the statement is identified by the handle of the dialog that owns the ScrollBar ( hDlg ), and the unique control identifier you gave it upon creation in CONTROL ADD SCROLLBAR. To alter the color of the bar or the background, use CONTROL SET COLOR .

SCROLLBAR GET PAGESIZE hDlg , id& TO datav&

The current page size of the ScrollBar is retrieved and assigned to the variable designated by datav& . Upon ScrollBar creation, the default page size is 10.

SCROLLBAR GET POS hDlg , id& TO datav&

The current position of the ScrollBar is retrieved and assigned to the variable designated by datav& . Upon ScrollBar creation, the default position is 0.

SCROLLBAR GET RANGE hDlg , id& TO LoDatav& , HiDatav&

The current range of the ScrollBar is retrieved and assigned to the variables designated by LoDatav& and HiDatav& . Upon ScrollBar creation, the default ScrollBar range is 0 to 100.

SCROLLBAR GET TRACKPOS hDlg , id& TO datav&

The current position of the scroll box, being dragged by the user, is retrieved and assigned to the variable designated by datav& . This is normally read while responding to the %SB_THUMBPOSITION or the %SB_THUMBTRACK messages. The TRACKPOS is then used to move the scroll position with SCROLLBAR SET POS.

SCROLLBAR SET PAGESIZE hDlg , id& , pagesize&

The current page size of the ScrollBar is set to the value of the parameter pagesize& , and the bar is redrawn to reflect the new position.

SCROLLBAR SET POS hDlg , id& , position&

The current position of the ScrollBar is set to the value of the parameter position& , and the bar is redrawn to reflect the new position.

SCROLLBAR SET RANGE hDlg , id& , lolimit& , hilimit&

The range for the ScrollBar is specified to be from lolimit& to hilimit& . If lolimit& is greater than hilimit& , the results are undefined.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD SCROLLBAR
  • CONTROL SET COLOR
  • PBXB64 Compiler Help


SEEK - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › File I/O PBXB64 Compiler Help

SEEK

Set the position in a

Chapter: File I/O | Certification: [CERTIFIED TESTED]

Syntax

SEEK [#] filenum& , position&&

Description

Set the position in a

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

SEEK sets the file pointer position of file filenum& to position&& . position&& is a Quad-integer variable, constant , or expression.

The next GET$ or PUT$ performed on the file filenum& will occur position&& bytes (or records) deep into the file. If file filenum& was opened in binary or sequential mode, position&& indicates the new file position in bytes; for random-access files, position is in records.

The first byte position (for binary and sequential files) or record position (for random-access files) may be 0 or 1, depending on the BASE option used when the file was initially Opened. If no BASE was specified, the default position is 1.

Use the SEEK function to determine a binary file's current pointer position, and LOF to determine its length. Seeking past the end of a file does not produce an error, but no data can be read from beyond the true end of the file.

See also

  • EOF
  • FILEATTR
  • GET$
  • GET$$
  • LOC
  • LOF
  • OPEN
  • PUT$
  • PUT$$
  • SETEOF
  • PBXB64 Compiler Help


SELECT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SELECT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

SELECT CASE value
CASE 1
END SELECT

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SELECT CASE/END SELECT - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Control Flow PBXB64 Compiler Help

SELECT CASE/END SELECT

Control program flow based on the value of an expression.

Chapter: Control Flow | Certification: [CERTIFIED TESTED]

Syntax

SELECT CASE [AS] [LONG | CONST | CONST$ | CONST$$] expression
CASE [IS] testlist
[ statements ]
[CASE [IS] testlist
[ statements ]]
[CASE ELSE
END SELECT

Description

Control program flow based on the value of an expression.

Kind: Keyword | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

testlist is one or more tests, separated by commas, to be performed on expression . expression can be either string or numeric .

When a SELECT statement is encountered, expression is evaluated using the testlist in the first CASE clause. If the evaluation is FALSE, the evaluation is repeated using the next testlist . As soon as an evaluation is TRUE (non-zero), the statements following that CASE clause are executed, up to the next CASE clause.

Execution then passes to the statement following the END SELECT statement. If none of the evaluations is TRUE, the statements following the optional CASE ELSE clause are executed.

The tests that may be performed by a CASE clause include: equality, inequality, greater than, less than, and range ("from-to") testing. The SELECT CASE block can do string or numeric tests, but these cannot be interchanged.

Examples of numeric CASE clause tests include:

SELECT CASE numeric_expression

CASE > b ' relational; is expression > b?

CASE 14 ' equality (= is assumed); is e xpression equal to 14?

CASE b TO 99 ' range; is expression between the value of the

' variable b and 99 (inclusive)?

CASE 14, b ' two equality tests; is expression equal to

' 14 or equal to b?

CASE 25 TO 99,14 ' combination range and equality; is expression

' between 25 and 99 (inclusive) or equal to 14?

Examples of string CASE clause tests include:

SELECT CASE string_expression

CASE > b$ ' relational; is expression > b$?

CASE "X" ' equality (= is assumed); is expression equal

' to "X"?

CASE "A" TO "C" ' range; is expression between "A" and

' "C"(inclusive)?

CASE "Y", b$ ' two equality tests; is expression equal to

' "Y" or equal to b$?

CASE "A" TO "C","Q" ' combination range and equality; is expression

' between "A" and "C" (inclusive) or equal

' to "Q"?

When a CASE clause contains multiple tests separated by commas, a logical OR is performed. That is, if any one (or more) of the tests is TRUE, the entire clause is deemed to be TRUE.

Use EXIT SELECT to jump out of a SELECT block prematurely.

PowerBASIC now offers four optional modifiers to provide highly optimized code generation for specific circumstances. By default, numeric exp ressions are evaluated either as floating point values (to offer the widest range of compatibility for any possible circumstance) or as integer class (for example, if PowerBASIC can establish that all case clauses are integer class values, etc). Further, string expressions are evaluated dynamically to allow virtually any data. However, if limits on the type and range of the data used for CASE comparison are restricted, performance can be dramatically enhanced with the LONG, CONST, CONST$, or CONST$$ clauses.

AS LONG

In this case, the controlling expression and the CASE expressions must evaluate in the range of a Long-integer . Each of these expressions are calculated dynamically, so all of the normal operators are still available. Performance is enhanced by the integral class of code generation, rather than floating-point. For example, DWORD values are treated as Long-integer values, so &H0FFFFFFFF??? and -1& would be considered equal values. This can help eliminate the need to use functions such as BITS when performing comparisons between signed and unsigned values.

AS CONST

In this case, the controlling expression must evaluate in the range of a Long-integer. However, each of the case values must be strictly specified by a numeric literal (or numeric equate ) in the range of a Long-integer. Multiple case values may be given (CASE 2,3,7), but operators and ranges of values are not allowed. CASE ELSE is permitted. Performance is enhanced by the internal creation of a vector jump table, one entry for each number from the smallest to the largest case value.

While this form of the structure offers the utmost performance possible, the execution speed must be carefully weighed against the increased program size, particularly when using sparse case values. For example, with just two CASE values of 2 and 1000, the generated jump table would need 999 table entries (3996 bytes in size). The largest allowed jump table for this form is approximately 3200 entries (12K bytes). If exceeded, an Error 402 is generated ("Statement too long/complex").

AS CONST$

In this case, the controlling expression must evaluate to an ANSI string of length zero through 255 bytes. However, each of the case values must be strictly specified by a string literal (a quoted ANSI string, or an ANSI string equate). Multiple case values may be given (CASE "a","Bob",$value), but operators and ranges of values are not allowed. Performance is enhanced by the internal creation of a vectored scan table, eight bytes for each case value specified.

AS CONST$$

In this case, the controlling expression must evaluate to a WIDE (Unicode) string of length zero through 127 characters. However, each of the case values must be strictly specified by a string literal (a quoted wide string, or a wide string equate). Multiple case values may be given (CASE "a"$$,"Bob"$$,$$value), but operators and ranges of values are not allowed. Performance is enhanced by the internal creation of a vectored scan table, eight bytes for each case value specified.

Example

#COMPILE EXE
#DIM ALL
' controlflow_select_0
FUNCTION PBMAIN() AS LONG
  LOCAL x AS LONG
  SELECT CASE 2
  CASE 1
    x = 10
  CASE 2
    x = 20
  CASE ELSE
    x = 30
  END SELECT
  IF (x) <> (20) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • CHOOSE
  • EXIT
  • IF/END IF
  • IIF
  • MAX
  • MIN
  • ON GOTO
  • ON GOSUB
  • SWITCH


Sequential Files - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Sequential Files

Sequential file techniques provide a straightforward way to read and write files. PowerBASIC's sequential file commands manipulate text files: files of ANSI or WIDE characters with carriage-return/lin

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Sequential file techniques provide a straightforward way to read and write files. PowerBASIC's sequential file commands manipulate text files: files of ANSI or WIDE characters with carriage-return/lin

Kind: Keyword | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Quite possibly, the best reason for using sequential files is their degree of portability to other programs, programming languages, and computers. Because of this, you can often look at sequential files as the common denominator of data processing, since they can be read by word-processing programs and editors (such as PowerBASIC's), absorbed by other applications (such as database managers), and sent over the Internet to other computers.

The idea behind sequential files is simplicity itself: write to them as though they were the screen and read from them as though they were the keyboard.

Create a sequential file using the following steps:

OUTPUT: If a file does not exist, a new file is created. If a file already exists, its contents are erased, and the file is then treated as a new file.

Back to command index


Serial Communications - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Serial Communications

Overview of serial port (COMM) programming.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Overview of serial port (COMM) programming.

Kind: Conceptual | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


SETATTR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SETATTR

Set the file system attribute(s) of a disk file or directory.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

SETATTR filespec$ , attribute

Description

Set the file system attribute(s) of a disk file or directory.

Kind: Statement | Category: File Management

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

filespec$ specifies a filename (optionally including a drive letter and directory path). attribute is a standard operating system attribute code:

Attribute

Description

Equate

Normal

%NORMAL

Read-only

%READONLY

Hidden

%HIDDEN

System

%SYSTEM

Archived

%ARCHIVE

The attribute code of a given file or directory may be constructed from a combination of individual attribute values. For example, if you use an attribute of 0, filespec$ will be a regular file: not read-only, not hidden, not system, and not archived.

See also

  • DIR$
  • FILEATTR
  • GETATTR
  • PBXB64 Compiler Help


SETEOF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SETEOF

Truncate or extend an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

SETEOF [#] filenum&

Description

Truncate or extend an

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

SETEOF will truncate or extend an open file to its current file pointer (read/write) position, which may be set explicitly with the SEEK statement.

Unlike 16-bit Windows and DOS BASIC , Win32 will not truncate a file if you simply write an empty string to it, so the SETEOF statement is provided to cater for this need.

See also

  • CLOSE
  • FILEATTR
  • FLUSH
  • OPEN
  • SEEK
  • PBXB64 Compiler Help


Setting an error trap - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Setting an error trap

To enable an error trap , use the ON ERROR GOTO statement where you want trapping enabled within the procedure . The error-handling code must be within that procedure. An error trap is enabled only wh

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

To enable an error trap , use the ON ERROR GOTO statement where you want trapping enabled within the procedure . The error-handling code must be within that procedure. An error trap is enabled only wh

Kind: Keyword | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Back to command index


SGN - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

SGN

Return the sign of a numeric expression.

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

y = SGN( numeric_expression )

Description

Return the sign of a numeric expression.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If numeric_expression is positive, SGN returns 1. If numeric _ expression is zero, SGN returns 0. If numeric_expression is negative, SGN returns -1.

In conjunction with the ON GOTO and ON GOSUB statements, SGN can produce a FORTRAN-like three-way branch:

ON SGN(balance) + 2 GOTO InTheRed, BreakingEven, InTheMoney

Example

#COMPILE EXE
#DIM ALL
' math_sgn_basic
FUNCTION PBMAIN() AS LONG
  IF (SGN(0)) <> (0) THEN FUNCTION = 1: EXIT FUNCTION
  IF (SGN(5)) <> (1) THEN FUNCTION = 2: EXIT FUNCTION
  IF (SGN(-5)) <> (-1) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • ABS
  • IF/END IF
  • ON GOSUB
  • ON GOTO
  • SELECT CASE/END SELECT


SHA1 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SHA1

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

digest$ = SHA1$(text$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SHA256 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SHA256

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

digest$ = SHA256$(text$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SHA512 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SHA512

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

digest$ = SHA512$(text$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SHARED - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Declarations PBXB64 Compiler Help

SHARED

Category: PowerBASIC compatibility reference

Chapter: Declarations

Syntax

SHARED variable [AS Type]
SHARED variable [, variable ...] AS Type

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SHELL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SHELL

Run an executable program synchronously. The SHELLing thread of the calling program is suspended until the SHELLed program ends.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

SHELL [HANDLES,] CmdString [, WndStyle , EXIT TO exitcode& ]

Description

Run an executable program synchronously. The SHELLing thread of the calling program is suspended until the SHELLed program ends.

Kind: Statement | Category: Utilities

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The SHELL statement has the following parts:

HANDLES

This option, if present, allows the child process to inherit (and access) the Windows file handles of all open files in the parent process. These are not PowerBASIC file numbers, but system file handles and you must use OPEN HANDLE to access them.

CmdString

The name of the program to execute ("child process"), along with and any required arguments or command-line switches.

WndStyle

A number corresponding to the style of the window in which the program is to be executed. If WndStyle is omitted, the program is opened normal with focus , the same as WndStyle = 1.

The following table identifies the values for WndStyle and the resulting style of window:

WndStyle | Window style
0 | Hide window
1 | Normal with focus (default)
2 | Minimized with focus
3 | Maximized with focus
4 | Normal without focus
6 | Minimized without focus

PBXB64 implements these six window styles, synchronous child-process waiting, handle inheritance through HANDLES, and the optional EXIT TO target. A failed process creation returns the runtime failure value; broader ERR-state qualification remains separate.

Use ERR to detect the success of the SHELL function. The HANDLES option allows the child process to inherit the file handles opened by your program. This affects only Windows handles, not PowerBASIC file identifiers. It is an advanced option, for those who know it works and why they need it.

exitcode&

The exit code of the child process (the value returned by the WinMain function) is assigned to the long integer variable specified by exitcode& .

Restrictions

The SHELL statement executes the child process synchronously. That is, SHELL will not return control to your program until the child program finishes.

To use internal DOS commands like DIR and COPY, you must run the DOS command processor, passing the DOS command as a parameter. See the example below.

If the program name in CmdString does not include an explicit path, Windows will search for the file in the following paths: the directory where the current program is located, the default directory, the 32-bit Windows system directory, the 16-bit Windows system directory, the Windows directory, and any directories listed in the PATH environment variable.

If the SHELL statement is not executed successfully, an appropriate error is generated. The ERR function can be used to detect it.

See also

  • ERR system variable
  • PBXB64 Compiler Help


SHIFT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SHIFT

Shift the bits in an integral

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

SHIFT [SIGNED] {LEFT | RIGHT} ivar , countexpr

Description

Shift the bits in an integral

Kind: Statement | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

ivar must be one of the integral-class variable types: Byte , Word , Integer , Double-word , Long-integer , or Quad-integer . countexpr is an integral-class expression specifying the number of bits by which to shift ivar .

SHIFT shifts all the bits in ivar without special regard to the sign bit of a signed integral-class variable.

SIGNED

The SIGNED option shifts everything, but does not allow the sign (positive or negative) of the value to change.

LEFT | RIGHT

The LEFT or RIGHT option determines the direction of the bit SHIFT operation. SHIFT LEFT shifts the bits toward the high-order end of ivar , and SHIFT RIGHT shifts bits toward the low-order end of ivar .

Example

#COMPILE EXE
#DIM ALL
' numeric_shift_0
FUNCTION PBMAIN() AS LONG
  IF (1 SHL 0) <> (1) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • AND
  • BIT
  • NOT
  • OR
  • ROTATE
  • XOR


SHRINK$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SHRINK$

Shrink a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

NewString$ = SHRINK$( OldString$ )
NewString$ = SHRINK$( OldString$ , Mask$ )

Description

Shrink a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The purpose of this function is to create a string with consecutive data items (words) separated by a consistent single character. This makes it very straightforward to parse the results as needed.

In the first form, all leading spaces and trailing spaces are removed entirely. All occurrences of two or more spaces are changed to a single space. Therefore, the new string returned consists of zero or more words, each separated by a single space character.

In the second form, Mask$ defines one or more delimiter characters to shrink. All leading and trailing mask characters are removed entirely. All occurrences of one or more mask characters are replaced with the first character of Mask$ . Therefore, the new string returned consists of zero or more words, each separated by the character found in the first position of Mask$ .

WhiteSpace is generally defined as the four common non-printing characters: Space, Tab, Carriage-Return, and Line-Feed. This is pre-defined in PowerBASIC as string equates for your convenience. The ANSI version is named $WHITESPACE , while the WIDE version is $$WHITESPACE . This equate is particularly well suited to be used as Mask$ in this function.

See also

  • CLIP$
  • INSTR
  • LTRIM$
  • REMOVE$
  • REPLACE
  • RTRIM$
  • TRIM$
  • UNWRAP$
  • PBXB64 Compiler Help


SIN - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

SIN

Return the sine of its argument.

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

y = SIN( numeric_expression )

Description

Return the sine of its argument.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

numeric_expression is an angle specified in radians. SIN returns an Extended-precision value between -1 and +1.

In PBXB64, SIN also accepts INT128, UINT128, INT256, UINT256, INT512, UINT512, and UNL values through the existing SIN command. The typed path converts the numeric value for the floating result; UNL values are supported without a new command name.

To convert radians to degrees, multiply by 57.29577951308232##. To convert degrees to radians, multiply by 0.0174532925199433##. For more information on radians, see the ATN function.

The Inverse Sine (ARCSIN) of a value can be calculated as follows:

ArcSin = ATN( Value / SQR(1 - Value * Value ))

The Hyperbolic Sine (SINH) of a value can also be calculated:

SinH = (EXP(Value) - EXP(-Value)) / 2

The Inverse Hyperbolic Sine (ARCSINH) of a value can also be calculated:

ArcSinH = LOG(Value + SQR(Value * Value + 1))

' Useful Macro functions

M ACRO Pi = 3.141592653589793##

MACRO DegreesToRadians(dpDegrees) = (dpDegrees * 0.0174532925199433##)

MACRO RadiansToDegrees(dpRadians) = (dpRadians * 57.29577951308232##)

Example

#COMPILE EXE
#DIM ALL
' math_sin_basic
FUNCTION PBMAIN() AS LONG
  IF ((SIN(0.0)) < (0.0000000000) - 0.0001) OR ((SIN(0.0)) > (0.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((SIN(1.0)) < (0.8414709848) - 0.0001) OR ((SIN(1.0)) > (0.8414709848) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((SIN(-1.0)) < (-0.8414709848) - 0.0001) OR ((SIN(-1.0)) > (-0.8414709848) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • ATN
  • COS
  • TAN


SINC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SINC

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = SINC( x )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Single-precision floating-point (!) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Single-precision floating-point (!)

Single-precision floating-point numbers (or more simply, Single-precision) may be the most versatile numeric type supported by PowerBASIC. Single-precision values can contain decimal points and have a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Single-precision floating-point numbers (or more simply, Single-precision) may be the most versatile numeric type supported by PowerBASIC. Single-precision values can contain decimal points and have a

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Single-precision variables are identified by following the variable name with an exclamation point (i.e., var! ) or by using the DEFSNG statement as described in the previous discussion of integrals. You can also declare Single-precision variables using the SINGLE keyword with the DIM statement. For example:

While Single-precision numbers can represent both enormous and microscopic values, they are limited to six digits of precision. In other words, Single-precision does a good job with figures like $451.21 and $6,411.92, but $671,421.22 cannot be represented exactly because it contains too many digits. Neither can 234.56789 or 0.00123456789. A Single-precision representation will come as close as it can in six digits: $671,421, or 234.568, or 0.00123457. Depending on your application, this rounding off can be a trivial or crippling deficiency. Like most modern compilers, PowerBASIC uses the IEEE standard for all floating-point arithmetic.

C/C++, Delphi, and Visual Basic all offer a single data type that is identical to the PowerBASIC Single-precision variable.

Back to command index


SINH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SINH

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

y = SINH( numeric_expression )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SIZEOF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SIZEOF

Return the total or physical length of any PowerBASIC

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

x& = SIZEOF( target )

Description

Return the total or physical length of any PowerBASIC

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Particularly useful for determining the maximum length of a fixed-length string , nul-terminated string , or User-Defined Type . It provides similar functionality to LEN , which returns the current length of a data item.

target can be the name of any variable type (fixed-length string, nul-terminated string, User-Defined Type (UDT) variable or definition, etc).

When measuring the size of a padded (aligned) UDT variable or definition with the SIZEOF (or LEN) statement, the measured length includes any padding that was added to the structure. For example, the following UDT structure:

TYPE LengthTestType DWORD

a AS INTEGER

END TYPE

' more code here

DIM abc AS LengthTestType

x& = SIZEOF(abc) ' or use SIZEOF(LengthTestType)

Returns a length of 4 bytes in x& , since the UDT was padded with 2 additional bytes to enforce DWORD alignment. Note that the SIZEOF of individual UDT members returns the true size of the member without regard to padding or alignment. In the previous example, SIZEOF(abc.a) returns 2.

When used on a dynamic (variable length) string, SIZEOF returns 4, which is the size of the string handle. To obtain the length of the string data in the dynamic string, use the LEN function. SIZEOF also returns 4 for pointer variables, since a pointer is always stored as a DWORD .

Pointers

When used with a dereferenced pointer (i.e., SIZEOF(@p), SIZEOF returns the size of the pointer target variable type, as defined in the DIM x AS y PTR [* pSize ] statement.

For example, with a dynamic string pointer, SIZEOF returns 4. If the pointer target is a fixed-length string, UDT, Union , or nul-terminated string, SIZEOF returns the size of the target data structure. However, if the pointer is declared to reference an nul-terminated with no specific target size (i.e., DIM a AS STRINGZ PTR), SIZEOF returns 0.

Likewise, if SIZEOF is used on a BYREF STRINGZ string that does not have an explicit length specification, SIZEOF will also return 0. For example:

SUB ProcessData(BYREF szText AS STRINGZ)

' Within this Sub, SIZEOF(szText) will return 0 because there is no explicit length specification

See also

  • CHRBYTES
  • DIM
  • LEN
  • PBXB64 Compiler Help


SLEEP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SLEEP

Pause the current thread of the application for a specified number of milliseconds (

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

SLEEP m&

Description

Pause the current thread of the application for a specified number of milliseconds (

Kind: Statement | Category: Utilities

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

m& is the number of milliseconds (1 millisecond = 1/1000th of a second) to pause the application. Only the current thread pauses. If other threads are present, they will continue to execute. During the SLEEP period, all time-slices for the current thread are given to other threads and processes.

If m& is zero, the remainder of the current time-slice is relinquished. If there are no other threads of equal priority, execution continues immediately.

The time-slice duration (also known as the Quantum) can vary from version to version of Windows, ranging from 20 mSec to 120 mSec. Therefore, the Quantum can affect the performance of applications when SLEEP 0 is overused. That is, excessive use of SLEEP 0 can cause an application to cede much of its available processor time, causing a significant drop in application performance.

When code is running in a tight loop, it is quite possible to use up 100% of the available CPU time, so the occasional use of SLEEP 0 within a tight loop is often beneficial to overall performance of the target PC. For example, it may not be necessary to use SLEEP 0 for every iteration of a loop, but every second or third instead.

See also

  • THREAD CREATE
  • TIMER
  • PBXB64 Compiler Help


SLL example - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SLL example

Below is a very simple example of a Static Link Library (SLL). This SLL unit module contains only one function that converts millimeters to inches.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Below is a very simple example of a Static Link Library (SLL). This SLL unit module contains only one function that converts millimeters to inches.

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

#COMPILE SLL "conversion.sll"

FUNCTION MillimetersToInches(BYVAL mm AS DOUBLE) COMMON AS DOUBLE

FUNCTION = mm * 0.03937#

Back to command index


SPACE$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPACE$

Return a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = SPACE$( numeric_expression )

Description

Return a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

numeric_expression is a non-negative expression that specifies how many spaces the function is to return. SPACE$ can be useful for formatting or prefilling strings.

See also

  • BUILD$
  • CHR$
  • CSET$
  • LSET$
  • NUL$
  • REPEAT$
  • RSET$
  • STRING$
  • PBXB64 Compiler Help


SPLIT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPLIT

Splits a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

SPLIT [WORD] MainStr , Part1Len TO Part1Var , Part2Var

Description

Splits a string

Kind: Statement | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

MainStr is separated into two parts, which are then assigned to the two string variables specified by Part1Var and Part2Var . Part1Len is a

expression which specifies the number of characters to be assigned to Part1, while the remaining characters are assigned to Part2.

If the WORD option is included, PowerBASIC guarantees that Part1 will not end on a partial word. This may require that Part1Len is adjusted to a smaller value. In that case, Part2Var would be assigned these characters to compensate. Depending upon the nature of the operation, it may be necessary to remove leading spaces from Part2Var .

See also

  • GRAPHIC SPLIT
  • LTRIM$
  • XPRINT SPLIT
  • PBXB64 Compiler Help


SPR ASC - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR ASC

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

ASC.string[|$$RES][|index]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR ATF - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR ATF

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

ATF.filename|content[|$$OKK]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR BIT - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR BIT

Category: SPR command

Chapter: SPR Variables & Math

Syntax

BIT.Get|value|bit|$$RES|1

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR BRK - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR BRK

Category: SPR command

Chapter: SPR Loops & Strings

Syntax

BRK.

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR CAL - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR CAL

Category: SPR command

Chapter: SPR Variables & Math

Syntax

CAL.$$RES=expression[|flags]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR CAT - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR CAT

Category: SPR command

Chapter: SPR Loops & Strings

Syntax

CAT.$$VAR|text1[|text2...]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR CAX - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR CAX

Category: SPR command

Chapter: SPR Variables & Math

Syntax

CAX.$$RES=expression[|flags]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR CFF - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR CFF

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

CFF.filename[|$$TXT[|$$OKK]]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR CHR - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR CHR

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

CHR.code[|$$RES][|end_code]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR CLV - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR CLV

Category: SPR command

Chapter: SPR Variables & Math

Syntax

CLV.$$VAR

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR CLW - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR CLW

Category: SPR command

Chapter: SPR System & Memory

Syntax

CLW.[hwnd]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR CON - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR CON

Category: SPR command

Chapter: SPR Loops & Strings

Syntax

CON.

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR COP - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR COP

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

COP.source|destination[|timeout]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR CSP - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR CSP

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

CSP.clip|source[|$$RES]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR CTF - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR CTF

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

CTF.filename|content[|$$OKK]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR DBP - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Program Control PBXB64 Compiler Help

SPR DBP

Category: SPR command

Chapter: SPR Program Control

Syntax

DBP.[text]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR DCP - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR DCP

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

DCP.source|destination[|options]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR DOL - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR DOL

Category: SPR command

Chapter: SPR Loops & Strings

Syntax

DOL.[condition]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR EFX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPR EFX

Category: SPR command

Chapter: General Reference

Syntax

EFX.

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR EIF - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Conditions PBXB64 Compiler Help

SPR EIF

Category: SPR command

Chapter: SPR Conditions

Syntax

EIF.

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR ELS - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Conditions PBXB64 Compiler Help

SPR ELS

Category: SPR command

Chapter: SPR Conditions

Syntax

ELS.

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR END - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Program Control PBXB64 Compiler Help

SPR END

Category: SPR command

Chapter: SPR Program Control

Syntax

END.

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR ENR - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Program Control PBXB64 Compiler Help

SPR ENR

Category: SPR command

Chapter: SPR Program Control

Syntax

ENR.

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR EVA - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR EVA

Category: SPR command

Chapter: SPR Variables & Math

Syntax

EVA.$$RES=formula

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR EXB - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR EXB

Category: SPR command

Chapter: SPR System & Memory

Syntax

EXB.file[|show]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR EXE - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR EXE

Category: SPR command

Chapter: SPR System & Memory

Syntax

EXE.file[|params]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR EXF - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR EXF

Category: SPR command

Chapter: SPR System & Memory

Syntax

EXF.file[|params][|directory][|show]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR EXO - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR EXO

Category: SPR command

Chapter: SPR System & Memory

Syntax

EXO.file[|params][|directory][|action][|show][|$$RES]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR EXX - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR EXX

Category: SPR command

Chapter: SPR System & Memory

Syntax

EXX.file[|show]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR FEF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPR FEF

Category: SPR command

Chapter: General Reference

Syntax

FEF.label|$$VAR[|root][|pattern][|flags][|from][|to]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR FEL - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR FEL

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

FEL.label|$$VAR[|filename][|pattern][|maxline]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR FEM - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR FEM

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

FEM.label|$$VAR[|source][|delimiter][|pattern]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR FEN - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR FEN

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

FEN.

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR FEP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPR FEP

Category: SPR command

Chapter: General Reference

Syntax

FEP.label|$$VAR[|mode][|pattern]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR FER - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPR FER

Category: SPR command

Chapter: General Reference

Syntax

FER.label|$$VAR|registry-path[|flags][|pattern]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR FES - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPR FES

Category: SPR command

Chapter: General Reference

Syntax

FES.label|$$VAR[|flags][|pattern][|machine]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR FEV - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPR FEV

Category: SPR command

Chapter: General Reference

Syntax

FEV.label|$$VAR|source[|pattern]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR FEX - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR FEX

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

FEX.[options]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR FMT - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR FMT

Category: SPR command

Chapter: SPR Variables & Math

Syntax

FMT.$$NUM|000000

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR FOR - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR FOR

Category: SPR command

Chapter: SPR Loops & Strings

Syntax

FOR.$$IDX|start|end[|step]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR GSB - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Program Control PBXB64 Compiler Help

SPR GSB

Category: SPR command

Chapter: SPR Program Control

Syntax

GSB.:label[|arg...]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR GSC - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR GSC

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

GSC.source|substring[|$$RES][|flags]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR GSS - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR GSS

Category: SPR command

Chapter: SPR Loops & Strings

Syntax

GSS.start|end[|source][|$$RES]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR GTO - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Program Control PBXB64 Compiler Help

SPR GTO

Category: SPR command

Chapter: SPR Program Control

Syntax

GTO.label

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR GUT - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR GUT

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

GUT.[prompt][|title][|default][|$$RES]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR GVT - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR GVT

Category: SPR command

Chapter: SPR Variables & Math

Syntax

GVT.$$SRC|$$TYP

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR HTV - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR HTV

Category: SPR command

Chapter: SPR System & Memory

Syntax

HTV.[-|$$RES][|type]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR IEF - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR IEF

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

IEF.filename[|$$OKK]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR IEV - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Conditions PBXB64 Compiler Help

SPR IEV

Category: SPR command

Chapter: SPR Conditions

Syntax

IEV.$$VAR[|label]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR IFC - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Conditions PBXB64 Compiler Help

SPR IFC

Category: SPR command

Chapter: SPR Conditions

Syntax

IFC.textA|textB|threshold[|m]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR IVB - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Conditions PBXB64 Compiler Help

SPR IVB

Category: SPR command

Chapter: SPR Conditions

Syntax

IVB.$$VAR|min|max[|label]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR IVC - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Conditions PBXB64 Compiler Help

SPR IVC

Category: SPR command

Chapter: SPR Conditions

Syntax

IVC.$$VAR|operator|value[|label][|e]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR IVP - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Conditions PBXB64 Compiler Help

SPR IVP

Category: SPR command

Chapter: SPR Conditions

Syntax

IVP.$$VAR=pattern[|label][|e]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR IVS - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Conditions PBXB64 Compiler Help

SPR IVS

Category: SPR command

Chapter: SPR Conditions

Syntax

IVS.$$VAR|string[|label]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR IVV - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Conditions PBXB64 Compiler Help

SPR IVV

Category: SPR command

Chapter: SPR Conditions

Syntax

IVV.$$VAR|value[|label]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR JMP - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Program Control PBXB64 Compiler Help

SPR JMP

Category: SPR command

Chapter: SPR Program Control

Syntax

JMP.label

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR JSR - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Program Control PBXB64 Compiler Help

SPR JSR

Category: SPR command

Chapter: SPR Program Control

Syntax

JSR.:label[|arg...]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR KEY - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR KEY

Category: SPR command

Chapter: SPR System & Memory

Syntax

KEY.text

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR KPR - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR KPR

Category: SPR command

Chapter: SPR System & Memory

Syntax

KPR.key

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR KRL - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR KRL

Category: SPR command

Chapter: SPR System & Memory

Syntax

KRL.key

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR LEN - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR LEN

Category: SPR command

Chapter: SPR Loops & Strings

Syntax

LEN.source[|$$RES]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR MAP - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR MAP

Category: SPR command

Chapter: SPR System & Memory

Syntax

MAP.x|y[|hwnd]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR MAW - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR MAW

Category: SPR command

Chapter: SPR System & Memory

Syntax

MAW.[timeout]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR MBT - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR MBT

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

MBT.[text][|title][|timeout][|type][|$$RES]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR MBX - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR MBX

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

MBX.[text][|type][|title][|$$RES]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR MDC - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR MDC

Category: SPR command

Chapter: SPR System & Memory

Syntax

MDC.[x][|y][|hwnd]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR MEL - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR MEL

Category: SPR command

Chapter: SPR System & Memory

Syntax

MEL.[x][|y][|hwnd]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR MEM - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR MEM

Category: SPR command

Chapter: SPR System & Memory

Syntax

MEM.[x][|y][|hwnd]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR MKD - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR MKD

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

MKD.path

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR MLC - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR MLC

Category: SPR command

Chapter: SPR System & Memory

Syntax

MLC.[x][|y][|hwnd]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR MMV - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR MMV

Category: SPR command

Chapter: SPR System & Memory

Syntax

MMV.[x][|y][|speed]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR MPO - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR MPO

Category: SPR command

Chapter: SPR System & Memory

Syntax

MPO.[x][|y][|hwnd]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR MRC - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR MRC

Category: SPR command

Chapter: SPR System & Memory

Syntax

MRC.[x][|y][|hwnd]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR MRE - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR MRE

Category: SPR command

Chapter: SPR System & Memory

Syntax

MRE.[x][|y][|hwnd]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR NEF - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR NEF

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

NEF.filename[|$$OKK]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR NEV - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Conditions PBXB64 Compiler Help

SPR NEV

Category: SPR command

Chapter: SPR Conditions

Syntax

NEV.$$VAR[|label]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR NEX - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR NEX

Category: SPR command

Chapter: SPR Loops & Strings

Syntax

NEX.

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR NVB - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPR NVB

Category: SPR command

Chapter: General Reference

Syntax

NVB.$$VAR|min|max[|label]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR NVC - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Conditions PBXB64 Compiler Help

SPR NVC

Category: SPR command

Chapter: SPR Conditions

Syntax

NVC.$$VAR|operator|value[|label][|e]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR NVP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPR NVP

Category: SPR command

Chapter: General Reference

Syntax

NVP.$$VAR=pattern[|label][|e]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR NWC - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Conditions PBXB64 Compiler Help

SPR NWC

Category: SPR command

Chapter: SPR Conditions

Syntax

NWC.textA|textB|threshold[|m]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR OOP - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR OOP

Category: SPR command

Chapter: SPR Loops & Strings

Syntax

OOP.[condition]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR OUT - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR OUT

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

OUT.value

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR PRT - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR PRT

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

PRT.[text]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR RES - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR RES

Category: SPR command

Chapter: SPR Variables & Math

Syntax

RES.action[|parameters...]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR RET - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Program Control PBXB64 Compiler Help

SPR RET

Category: SPR command

Chapter: SPR Program Control

Syntax

RET.

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR RND - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR RND

Category: SPR command

Chapter: SPR Variables & Math

Syntax

RND.[max] / RND.min|max[|$$RES]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR RPL - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR RPL

Category: SPR command

Chapter: SPR Loops & Strings

Syntax

RPL.$$VAR|find|replace[|option]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR SAV - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR SAV

Category: SPR command

Chapter: SPR Variables & Math

Syntax

SAV.s|$$VAR[|$$VAR...] / SAV.r

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR SBD - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR SBD

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

SBD.source|delimiter|index[|$$RES]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR SBM - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR SBM

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

SBM.source|delimiter|start|end[|$$RES]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR SCW - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR SCW

Category: SPR command

Chapter: SPR System & Memory

Syntax

SCW.prototypes[|prototype-parameters...]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR SHF - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR SHF

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

SHF.operation|flags|source[|target]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR STW - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR System & Memory PBXB64 Compiler Help

SPR STW

Category: SPR command

Chapter: SPR System & Memory

Syntax

STW.prototypes[|prototype-parameters...]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR USM - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPR USM

Category: SPR command

Chapter: General Reference

Syntax

USM.[mode][|logfile]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VAB - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR VAB

Category: SPR command

Chapter: SPR Variables & Math

Syntax

VAB.$$TGT=raw-text

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VAI - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR VAI

Category: SPR command

Chapter: SPR Variables & Math

Syntax

VAI.$$PTR=value or VAI.$$PTR=

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VAO - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR VAO

Category: SPR command

Chapter: SPR Variables & Math

Syntax

VAO.$$TGT=value or VAO.$$TGT=

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VAR - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Program Control PBXB64 Compiler Help

SPR VAR

Category: SPR command

Chapter: SPR Program Control

Syntax

VAR.$$TGT=value / VAR.$$TGT+text

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VAS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPR VAS

Category: SPR command

Chapter: General Reference

Syntax

VAS.$$TGT=value / VAS.$$TGT+text

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VAU - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPR VAU

Category: SPR command

Chapter: General Reference

Syntax

VAU.$$TGT=41 42 / VAU.$$TGT+43

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VBT - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR VBT

Category: SPR command

Chapter: SPR Loops & Strings

Syntax

VBT.$$VAR[|chars]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VDC - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR VDC

Category: SPR command

Chapter: SPR Variables & Math

Syntax

VDC.$$VAR[|amount]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VIC - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Variables & Math PBXB64 Compiler Help

SPR VIC

Category: SPR command

Chapter: SPR Variables & Math

Syntax

VIC.$$VAR[|amount]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VLT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPR VLT

Category: SPR command

Chapter: General Reference

Syntax

VLT.$$VAR[|chars]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VRD - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR File & Text I/O PBXB64 Compiler Help

SPR VRD

Category: SPR command

Chapter: SPR File & Text I/O

Syntax

VRD.[$$VAR][|chars]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VRT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SPR VRT

Category: SPR command

Chapter: General Reference

Syntax

VRT.$$VAR[|chars]

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VTL - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR VTL

Category: SPR command

Chapter: SPR Loops & Strings

Syntax

VTL.$$VAR or VTL.$$TAR|source

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR VTU - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › SPR Loops & Strings PBXB64 Compiler Help

SPR VTU

Category: SPR command

Chapter: SPR Loops & Strings

Syntax

VTU.$$VAR or VTU.$$TAR|source

Description

Category: SPR command

V15 status

This documented SPR command belongs to the 109-command runtime-route audit. Runtime behavior remains bounded by the focused SPR execution and external-behavior lanes.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SQR - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

SQR

Return the square root of its argument.

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

y = SQR( numeric_expression )

Description

Return the square root of its argument.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

numeric_expression must be greater than or equal to zero. SQR calculates square roots using an optimized algorithm. That is, y = SQR(x) takes less time to execute than y = x^0.5.

Attempting to take the square root of a negative number does not produce any run-time errors , but the results of such an operation are undefined.

SQR returns an Extended-precision result.

In PBXB64, SQR also accepts INT128, UINT128, INT256, UINT256, INT512, UINT512, and UNL values through the existing SQR command. The typed path returns a floating result; UNL values are handled internally by the same command.

Example

#COMPILE EXE
#DIM ALL
' math_sqr_basic
FUNCTION PBMAIN() AS LONG
  IF ((SQR(0.0)) < (0.0000000000) - 0.0001) OR ((SQR(0.0)) > (0.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((SQR(1.0)) < (1.0000000000) - 0.0001) OR ((SQR(1.0)) > (1.0000000000) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((SQR(2.0)) < (1.4142135624) - 0.0001) OR ((SQR(2.0)) > (1.4142135624) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  IF ((SQR(9.0)) < (3.0000000000) - 0.0001) OR ((SQR(9.0)) > (3.0000000000) + 0.0001) THEN FUNCTION = 4: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • EXP
  • LOG


#STACK - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#STACK

Set the maximum potential

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#STACK num_expr

Description

Set the maximum potential

Kind: Directive | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The literal numeric expression is expressed in bytes, and is rounded up to the next 64 Kb boundary. The minimum allowable stack size is 128 Kb, and a typical stack size of at least 1 Megabyte (the default) is usually recommended.

Upon program startup, an initial block of 128 Kb of physical memory is allocated to the stack. As the stack grows, additional memory is automatically added, as necessary, up to the specified maximum. Since physical memory is only committed as required, it is usually prudent to overestimate potential stack needs.

Back to command index


Stack Overhead Reduction - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Stack Overhead Reduction

There may be some instances where you wish to repeatedly call a very small SUB and this may produce a situation where the normally modest stack overhead may actually become a factor in the speed of th

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

There may be some instances where you wish to repeatedly call a very small SUB and this may produce a situation where the normally modest stack overhead may actually become a factor in the speed of th

Kind: Keyword | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

To help boost performance in such cases, PowerBASIC offers the often-overlooked GOSUB/RETURN statements, which can be used in place of a call to a SUB/END SUB block . Where stack overhead reduction is critical, you can create a Label in the code below the end of your normal code (but still within the current Sub/ Function / Method / Property block).

You may then take the Inline Assembler code from the target SUB, and place it right after the Label. Finally, a RETURN statement is added so that execution resumes at the next instruction after the GOSUB. Such code would look something like this:

FUNCTION MyFunc() AS LONG

' Inline Assembler code

Back to command index


Statement separation - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Statement separation

The colon character ( : ) can be used to separate multiple statements on a single (logical) line of source code. For example:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The colon character ( : ) can be used to separate multiple statements on a single (logical) line of source code. For example:

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

FOR x& = 1 TO 10 : INCR y& : NEXT x&

is directly equivalent to:

Back to command index


STATIC - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Declarations PBXB64 Compiler Help

STATIC

Declare

Chapter: Declarations | Certification: [CERTIFIED TESTED]

Syntax

STATIC variable [()] [AS type ] [, variable [()]]
STATIC variable [()] [, variable [()]] [, ...] AS type

Description

Declare

Kind: Statement | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The STATIC statement is valid only inside a procedure. Static variables retain their values even after the procedure ends. A static variable is local to its procedure, and can have the same name as other variables in other parts of the program without conflict.

To declare an array as a static variable, use an empty set of parentheses in the variable list: You can then use the DIM statement to dimension the array.

STATIC MyArray%()

STATIC StringArray() AS STRING

The STATIC statement may, optionally, accept a list of variables, all of which are defined by the type descriptor keyword that follows them. For example:

STATIC aaa, bbb, ccc AS INTEGER

STATIC vptr, aptr() AS LONG PTR

Restrictions

DEF type has no effect on variables defined by a STATIC statement.

See also

  • DIM
  • GLOBAL
  • LOCAL
  • THREADED
  • PBXB64 Compiler Help


STATUSBAR SET PARTS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

STATUSBAR SET PARTS

Manipulate a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

STATUSBAR SET PARTS hDlg , id& , x& [, x& ...]
STATUSBAR SET TEXT hDlg , id& , item& , style& , text$

Description

Manipulate a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

In each of the following samples and descriptions, the STATUSBAR control which is the subject of the statement is identified by the handle of the dialog that owns the STATUSBAR ( hDlg ), and the unique control identifier you gave it upon creation in CONTROL ADD STATUSBAR.

The value item& refers to the position of the text data item on the STATUSBAR, and is always indexed to one. The first string is position 1, the second is position 2, and so forth.

STATUSBAR SET PARTS hDlg , id& , x& [, x& ...]

The STATUSBAR control is partitioned into as many as 32 sections, each of which can be used to display some particular status data to the user. The statement contains from 1 to 32 width parameters ( x& ), which specify the pixel or dialog unit size of that section. You can use a very large number for the last parameter to signify that the section should extend all the way to the right side of the window.

STATUSBAR SET PARTS hDlg, id&

, 50, 50, 9999

For example, the above statement would create a status bar with 2 sections of 50 pixels each, and a third section of the remaining width.

STATUSBAR SET TEXT hDlg , id& , item& , style& , text$

The text for the data item specified by item& is replaced with the new text in text$ . The value of item& = 1 for the first item, 2 for the second item, etc. The status bar style value can be the default value of zero (0), or one of the other style values formed as a bitmask:

Zero (0) default

Text with a border to appear lower than the window.

%SBT_NOBORDERS

The text is drawn without any borders.

%SBT_POPOUT

Text with a border to appear higher than the window.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD STATUSBAR
  • CONTROL SET FONT
  • PBXB64 Compiler Help


STEP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

STEP

Set the increment for a FOR loop

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FOR counter = start TO end [STEP increment]

Description

Set the increment for a FOR loop

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The optional STEP clause in a FOR statement specifies the value added to the counter after each iteration. If omitted, the counter increments by 1. A negative STEP value counts downward; the loop condition is reversed accordingly.

Generated Assembly

With a negative STEP, the step block uses add with a sign-extended immediate and the condition test uses setge instead of setle:

pb_for_step_PBMAIN_0:
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, -1
    mov [rbp-24], rbx
    jmp pb_for_cond_PBMAIN_0

Example

FUNCTION PBMAIN () AS LONG
    LOCAL i AS LONG
    LOCAL sum AS LONG
    sum = 0
    FOR i = 10 TO 1 STEP -1
        sum = sum + i
    NEXT i
    FUNCTION = sum
END FUNCTION

See also

  • FOR
  • NEXT
  • TO
  • BASIC Control Flow
  • PBXB64 Compiler Help


Storage requirements and restrictions - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Storage requirements and restrictions

You can determine the amount of storage required for a variable of a User-Defined Type using the LEN function. To determine the requirements for a student record, for example, use:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

You can determine the amount of storage required for a variable of a User-Defined Type using the LEN function. To determine the requirements for a student record, for example, use:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

RecordSize = LEN(Student)

The address of a record variable , as returned by the VARPTR function, is the address in memory of the first byte of data in the record. You can also obtain the starting address of the fields within the record by passing the full name of the field ( Student.IdNum , for example) to the VARPTR function.

A single UDT structure is limited to 16 MB (16,777,216 bytes). Locally dimensioned UDT structures are limited to the amount of free stack space available, typically less than 1 MB. If larger UDT structures are required, use a STATIC or GLOBAL declaration instead (since these are not stored on the stack). The same rules apply to Unions (and LOCAL fixed-length and nul-terminated strings).

Note that the ARRAY statements cannot be directly used on arrays within UDTs. However, you can use DIM..AT to define an array (of the same data type) at the address of the UDT array, and employ ARRAY statements on that array. The ARRAY statements can be used on arrays of UDT structures. An individual array within a UDT may occupy as much as the full 16 MB UDT size limit.

Back to command index


STR$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

STR$

Return the string

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

s$ = STR$( numeric_expression [, digits ])

Description

Return the string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

STR$ returns the string form of a n umeric variable or expression in printable text form. digits is an optional integral expression specifying the maximum total number of digits to appear in the result. If numeric_expression is greater than or equal to zero, STR$ adds a leading space character; if numeric_expression is less than zero, STR$ adds a leading negation (minus) character.

For example, STR$(14) returns a three-character string, of which the first character is a space, and the second and third are the ASCII characters "1" and "4". LTRIM$ can be used to remove leading space characters.

digits specifies the maximum number of significant digits (1 to 18) desired in the result.

STR$ can also be used to convert numeric values with more than 16 significant digits (i.e., Extended-precision floating-point and Quad-integers ) to a printable form. For example:

a## = 2.0/3.0

x$ = STR$(a##,18)

returns 0.666666666666666667.

The complementary function is VAL , which takes a string argument and returns the numeric equivalent. Thus, number = VAL(STR$( number )).

An integer-class numeric value may also be converted to a string with the FORMAT$ and USING$ functions; however, FORMAT$ can easily return a string that is free from leading space characters. For example, x$ = FORMAT$(a&).

See also

  • BIN$
  • FORMAT$
  • HEX$
  • LTRIM$
  • OCT$
  • ROUND
  • USING$
  • VAL
  • PBXB64 Compiler Help


STRDELETE$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

STRDELETE$

Delete a specified number of characters from a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = STRDELETE$( string_expression , start& , count& )

Description

Delete a specified number of characters from a

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Returns a string based on copying string_expression, but with count& characters deleted starting at position start&. The first character in the string is position 1, etc.

See also

  • CLIP$
  • STRINSERT$
  • STRREVERSE$
  • PBXB64 Compiler Help


STRING$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

STRING$

Return a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = STRING$( Count& , Character% )
s$ = STRING$( Count& , Character$ )
s$$ = STRING$$( Count& , Character% )
s$$ = STRING$$( Count& , Character$$ )

Description

Return a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This function creates a string which consists of multiple copies of a particular character. The STRING$() form creates a string of ANSI (1- byte ) characters, or codes in the range of 0 to 255. The STRING$$() form of the function creates a string of WIDE (2-byte) characters, or codes in the range of 0 to 65535.

Generally speaking, PowerBASIC handles ANSI/WIDE conversions for you, automatically and transparently. However, there are just a few functions ( CHR$ , PEEK$ , POKE$ , STRING$, etc) which are ambiguous, by definition, and require that the programmer choose the appropriate result type (ANSI or WIDE). Use STRING$ for ANSI results, or use STRING$$ for Unicode results. In the remainder of these remarks, STRING$ is used to represent both STRING$ and STRING$$.

STRING$ with a numeric argument returns a string of Count& copies of the character with the Character Code of Character%. STRING$ with a string argument returns a string of Count& copies of the first character in Character$ or Character$$.

The following functions all return a string of 8 spaces:

A$ = STRING$(8, 32)

A$ = STRING$(8, " ")

A$ = STRING$(8, $SPC)

A$ = SPACE$(8)

A$ = REPEAT$(8, " ")

A$ = REPEAT$(8, $SPC)

Use REPEAT$ to make multiple copies of a multiple-character string, and SPACE$ to return a string of space characters.

See also

  • ASC
  • BUILD$
  • CHR$
  • NUL$
  • REPEAT$
  • SPACE$
  • PBXB64 Compiler Help


String arrays - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

String arrays

The elements of string arrays hold strings instead of . Each string can be a different length. For example DIM words$(50) creates a sequence of 51 independent string variables:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The elements of string arrays hold strings instead of . Each string can be a different length. For example DIM words$(50) creates a sequence of 51 independent string variables:

Kind: Keyword | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

words$(0) = "Daniel likes cats." ' 18-character string

words$(1) = "" ' a null string

words$(2) = "Nicki is a sweet child." ' 23-character string

Back to command index


String Equates - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

String Equates

You can create a string equate by prefixing $ (for ANSI ) or $$ (for WIDE ) to the equate name. The value on the right side of the equate assignment must be a string literal , or an expression created

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

You can create a string equate by prefixing $ (for ANSI ) or $$ (for WIDE ) to the equate name. The value on the right side of the equate assignment must be a string literal , or an expression created

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

$$Fullname = "John"$$ & " Smith"$$

$$UserNam = $$First & $$Last

$PrintCode = CHR$(27, 34, "E") + SPACE$(10) + CHR$(65 TO 90)

Back to command index


String expressions - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

String expressions

A string expression consists of string literals , string variables , and string functions , optionally combined with the concatenation operators (+ or &). String expressions always produce strings as

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A string expression consists of string literals , string variables , and string functions , optionally combined with the concatenation operators (+ or &). String expressions always produce strings as

Kind: Keyword | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

"Cats and dogs" ' string constant

firstname$ ' string variable

firstname$ + lastname$ ' string concatenation

a$ = "Cats " & "and " & "dogs" ' string concatenation

Back to command index


String Operations Commands - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

String Operations Commands

The following functions manipulate and manage string data:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following functions manipulate and manage string data:

Kind: Keyword | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Translate a Unicode string into an ANSI string.

Assign a number of values to successive elements of an array .

Back to command index


Dynamic (Variable-length) strings ($) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Dynamic (Variable-length) strings ($)

Dynamic string variables (also known as variable-length) may contain an arbitrary number of characters. Internally, each variable uses four bytes that contain a handle number, which is used to identif

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Dynamic string variables (also known as variable-length) may contain an arbitrary number of characters. Internally, each variable uses four bytes that contain a handle number, which is used to identif

Kind: Data Type | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

String variables are automatically declared when the variable name is followed by one or two dollar signs ($). You can also declare dynamic string variables using the STRING or WSTRING keywords with the DIM statement. For example:

PowerBASIC allocates strings using the Win32 OLE string engine. This allows you to pass strings from your program to DLLs , or API calls that support OLE strings. The address of the contents of a non-empty string can be obtained with the STRPTR function. The address of the string handle can be obtained with VARPTR function. An empty (null) string may not return a valid STRPTR value. Dynamic strings move in memory with each assignment statement: that is, STRPTR will return a different address when the content of the string is changed. However, the associated string handle obtained by VARPTR stays constant for the duration of the life ( scope ) of the string variable.

LOCAL dynamic string memory and handles are released when the associated Sub , Function , Method , or Property ends. Subsequent calls to a routine will result in new storage locations for both the handle and the string data. The address of the handle of a STATIC or GLOBAL dynamic string stays constant for the duration of the module. Dynamic strings and field strings cannot be part of UDT (User-Defined Type) or UNION structures. In C/C++ , a dynamic wide string ($$) is referred to as a BSTR data type.

Back to command index


IStringBuilderA.Add method - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

IStringBuilderA.Add method

The StringBuilder object offers the ability to concatenate many string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The StringBuilder object offers the ability to concatenate many string

Kind: Keyword | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

There are two forms of the StringBuilder object, one for ANSI strings, and one for WIDE (Unicode) strings. While they could have been combined into a single hybrid object, that would have added additional overhead not acceptable for PowerBASIC. To concatenate ANSI strings, use the StringBuilderA class and the IStringBuilderA interface. To concatenate WIDE (Unicode) strings, use the StringBuilderW class and the IStringBuilderW interface. The methods and mode of operation are identical for both forms.

If you choose the ANSI form, parameter strings must be ANSI, and result strings will be ANSI. With the WIDE (Unicode) form, parameter strings must be wide, and result strings will be wide. Keep those requirements in mind when reviewing the following method definitions. The Dispatch ID ( DispID ) for each member method is displayed within angle brackets.

When you create a StringBuilder object, a dynamic string buffer is created to hold the target string. If you know the size of the result string (or even an approximation), it's usually prudent to use the CAPACITY method first, to establish a size at least as large as the final string. If it's not known, PowerBASIC will try to make appropriate decisions for you. Once the object is created, the ADD method is used to append string sections as many times as necessary. Finally, the STRING method is used to extract the combined items.

StringBuilder Methods/Properties

ADD ( PowerString$ ) Method<1>

The PowerString$ parameter is appended to the string held in the StringBuilder object. If the internal string buffer overflows, PowerBASIC will automatically extend it to an appropriate size. If a necessary buffer extension fails, an HResult of E_OUTOFMEMORY (&H8007000E) is returned, and an Object Error (99) is generated.

CAPACITY () AS Long Get Property<2>

The size of the internal string buffer is retrieved and returned to the caller. The size is the number of characters which can be stored without further expansion.

CAPACITY () = Long Set Property<2>

The internal string buffer is expanded to the number of characters specified by the Long Integer. If the new capacity is smaller or equal to the current capacity, no operation is performed.

CHAR ( Index& ) AS Long Get Property<3>

The numeric character code of the character at the position Index& is retrieved and returned to the caller. Index&=1 for the first character, 2 for the second, etc. If Index& is beyond the current length of the string, the value -1 is returned.

CHAR ( Index& ) = Long Set Property<3>

The character at the position Index& is changed to that specified by the Long Integer character code. Index& =1 for the first character, 2 for the second, etc.

CLEAR Method<4>

All data in the object is erased.

DELETE ( Index& , Count& ) Method<5>

Count& characters are removed starting at the position given by Index& . Index& =1 for the first character, 2 for the second, etc.

INSERT ( PowerString$ , Index& ) Method<6>

The PowerString$ parameter is inserted in the string starting at the position given by Index& . Index& =1 for the first character, 2 for the second, etc. If Index& is beyond the current length of the string +1, no operation is performed.

LEN () AS Long Method<7>

The number of characters currently stored in the object is returned as a long integer value.

STRING AS String Method<8>

The string stored in the object is returned to the caller. This string will contain LEN characters.

The StringBuilder object offers the ability to concatenate many string sections at a very high level of performance. The speed of execution is particularly noticeable when the concatenation is performed in many separate operations over a period of time. If all of the string sections are known and available at once, the use of the BUILD$() function could be a better choice. However, both options offer a very large boost as compared to the standard concatenation operators (& or +). In addition to concatenation, the StringBuilder Class also offers a few additional string operations to assist in building the string.

There are two forms of the StringBuilder object, one for ANSI strings, and one for WIDE (Unicode) strings. While they could have been combined into a single hybrid object, that would have added additional overhead not acceptable for PowerBASIC. To concatenate ANSI strings, use the StringBuilderA class and the IStringBuilderA interface. To concatenate WIDE (Unicode) strings, use the StringBuilderW class and the IStringBuilderW interface. The methods and mode of operation are identical for both forms.

If you choose the ANSI form, parameter strings must be ANSI, and result strings will be ANSI. With the WIDE (Unicode) form, parameter strings must be wide, and result strings will be wide. Keep those requirements in mind when reviewing the following method definitions. The Dispatch ID ( DispID ) for each member method is displayed within angle brackets.

See also

  • BUILD$
  • CHR$
  • CSET$
  • JOIN$
  • LSET$
  • REPEAT$
  • RSET$
  • STRING$
  • STRINSERT$
  • WRAP$
  • PBXB64 Compiler Help


STRINGZ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

STRINGZ

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

LOCAL z AS ASCIIZ * 260

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


STRINSERT$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

STRINSERT$

Insert a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = STRINSERT$( MainStr$ , NewStr$ , position& )

Description

Insert a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Returns a string consisting of the string expression MainStr$ , with the string expression NewStr$ inserted at position &. If position& is greater than the length of MainStr$ , NewStr$ is appended to MainStr$ . The first character in the string is position 1, etc.

See also

  • BUILD$
  • CLIP$
  • CSET$
  • LSET$
  • RSET$
  • STRDELETE$
  • STRREVERSE$
  • WRAP$
  • PBXB64 Compiler Help


STRPTR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

STRPTR

Return the 32-bit

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

xPtr = STRPTR( StringVar )

Description

Return the 32-bit

Kind: Function | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

StringVar is the name of a string variable. STRPTR returns the 32-bit address in memory, where the contents of StringVar are stored.

Note that STRPTR differs from VARPTR . When used with a string variable, VARPTR returns the address of the string's handle , while STRPTR returns the address of the actual string data . Similarly, a STRING POINTER (or STRING PTR) is a pointer to a string handle - this important distinction should be recognized when working with the VARPTR and STRPTR operations.

STRPTR may not be used with fixed-length or nul-terminated strings, because they do not use string handles. Use VARPTR with fixed-length and nul-terminated strings.

When a dynamic string content is changed, the address of the string data will also change, but the string handle will remain in the same location. Therefore, it is important that your code refresh any pointers that target the string data memory locations directly.

See also

  • CODEPTR
  • POKE
  • PEEK
  • VARPTR
  • PBXB64 Compiler Help


STRREVERSE$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

STRREVERSE$

Reverse the contents of a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = STRREVERSE$( MainStr$ )

Description

Reverse the contents of a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Reverses the contents of MainStr$ and returns the result.

See also

  • STRDELETE$
  • STRINSERT$
  • PBXB64 Compiler Help


Structured Programming - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Structured Programming

For most applications, good programmers use an organized approach to programming called structured programming . The original interpreted BASICs did not really support this kind of programming. Howeve

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

For most applications, good programmers use an organized approach to programming called structured programming . The original interpreted BASICs did not really support this kind of programming. Howeve

Kind: Keyword | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Structured programming is based on the theory that modularization makes for better programs. Modularization means grouping statements together (making modules) that have some relation to each other. In other words, you break up your program into logical functional sections. This makes it easier to write, debug , and understand the program.

Ideally, modules should be no more than a page long. This seemingly arbitrary constraint makes it easier to absorb the entire module at a glance. It is easier to understand a series of ten single-page modules than it is a single ten-page program.

For some projects, after this initial breakup, you're ready to write the program. More complicated problems might require you to break the modules into subsidiary pieces. This process continues until you have refined the material enough so that you can write the code that corresponds to your ideas. This entire process is often described in books as "top-down design", since you start with a general description and work toward a more specific one.

Once you have the logical organization, you can start to design the overall structure of your program. For short, simple programs, these steps may only take a few minutes. For complex programs, it could take months.

Back to command index


SUB/END SUB statements - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Declarations PBXB64 Compiler Help

SUB/END SUB statements

Define a Sub code section.

Chapter: Declarations | Certification: [CERTIFIED TESTED]

Syntax

SUB ProcName [ALIAS " AliasName "] [( arguments )] < Descriptors >
[ statements ]
END SUB

Description

Define a Sub code section.

Kind: Statement | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

All executable code must reside in a Sub, Function . Method , Property , or FastProc block. Subs may not be nested. That is, you cannot define a code block (Sub, Function, Method, FastProc, Property) inside another code block.

SUB and END SUB define a subroutine-like block of statements called a procedure (or subprogram), which is invoked with the CALL statement, and may be passed parameters by value or by reference. A Sub may also be invoked without the use of the CALL statement. If the CALL word is omitted, the parentheses around the arguments list must also be omitted.

Previous versions of PowerBASIC required that you create an explicit DECLARE statement if you wished to execute a SUB or FUNCTION which did not physically precede the reference to it. This extra work is no longer required, as PowerBASIC resolves all forward references to internal procedures automatically.

DECLARE statements for a Sub/Function imported from a DLL must still precede any reference to the procedure.

ProcName

The name of the Sub. ProcName must be unique: no other variable, Function, Sub, Method, Property, FastProc or label can share it.

String literal that identifies a case-sensitive alternative name for the sub. This lets you export a Sub by a different unique name. This can be useful if you want to abbreviate a long name, provide a more descriptive name, or if the exported name needs to contain characters that are illegal in PowerBASIC. AliasName is the routines actual name as it appears in the export table, and ProcName is the title that you can use in PowerBASIC. For example:

SUB ShortName ALIAS "LongProcName" () EXPORT STATIC

The ALIAS clause is very important when exporting procedures. Omitting the ALIAS clause or incorrectly capitalizing the alias name are common causes of "Missing Export" errors. Please refer to the DECLARE topic for more information.

Descriptors

You may optionally add one or more descriptor words (Export, Common, Private, ThreadSafe, Local, Static, BDecl, CDecl, SDecl) to provide specific functionality. They may be added to the SUB as a comma delimited list. You should note that some of them are mutually exclusive.

EXPORT

This descriptor identifies a Sub or Function which may be accessed between Dynamic Link Libraries (DLLs), and/or the main executable which links them. If a procedure is not marked EXPORT, it is hidden from these other modules. The EXPORT attribute may be added to a Sub/Function defined elsewhere, by specifying EXPORT in a DECLARE statement. EXPORT can even be added to a Sub/Function in an SLL with a DECLARE in the host module.

COMMON

A COMMON Sub/Function is one which may be referenced by and between linked unit modules (Host or SLL ). If you DECLARE a Common Sub or Function which is not present in this module, it is presumed to be found in a separate linked module (Host or SLL).

PRIVATE

A PRIVATE Sub/Function is one which may only be accessed from within the current PowerBASIC program or library. Even if not specified, this is the default mode of operation.

THREADSAFE

With the THREADSAFE option, PowerBASIC automatically establishes a semaphore which allows only one threa d to execute the Sub/Function at a time. Other callers must wait until the first thread exits the THREADSAFE procedure before they are allowed to begin.

This descriptor specifies that all undeclared variables in a sub are LOCAL . This is the default condition if neither LOCAL nor STATIC is specified.

Local variables and arrays variables are automatically deallocated when the procedure terminates. LOCAL scalar variables (except dynamic strings ) are stored on the stack , and visible only within the sub.

STATIC

This descriptor specifies that all undeclared variables in a sub are STATIC. Static variables retain their values as long as the program is running. They are visible only within the sub.

Specifies that the declared procedure uses the legacy BASIC/Pascal calling convention. Parameters are pushed on the stack from left to right, and the called procedure is responsible for removing them. BDECL should only be used when necessary to match outside modules.

Specifies that the declared procedure uses the C calling convention. Parameters are pushed on the stack from right to left, and the calling code is responsible for removing them. CDECL should only be used when necessary to match outside modules.

This is the default convention, and should be used whenever possible. SDECL (and its synonym STDCALL), specifies the "Standard Calling Convention" for Windows. Parameters are pushed on the stack from right to left, and the called procedure is responsible for removing them.

Passing Parameters

Arguments

An optional, comma-delimited sequence of formal parameters. The parameters used in the arguments list serve only to define the Function; they have no relationship to other variables in the calling code with the same name.

Normally, PowerBASIC passes parameters to a Sub either by reference (BYREF) or by value (BYVAL). If you do not need to modify the parameters (true in many cases), you can speed up your calls by passing the parameters by value using the BYVAL keyword. You can clarify that a parameter is passed by reference by using the optional BYREF keyword.

The type of the parameter is specified either by appending a type-specifier character to the name or by using an AS clause. For example:

SUB Test(A AS INTEGER) ' integer passed by reference

SUB Test(A%) ' integer passed by reference

SUB Test(BYREF A%) ' integer passed by reference

SUB Test(BYVAL A%) ' integer passed by value

Parameter Restrictions

PowerBASIC compilers have a limit of 32 parameters per Sub. To pass more than 32 parameters to a FUNCTION, construct a User-Defined Type (UDT) and pass the UDT by reference (BYREF) instead.

Pointer Parameters

When a Sub definition specifies either a BYREF parameter or a pointer variable parameter, the calling code may freely pass a BYVAL DWORD or a Pointer instead. Pointer variable parameters must always be declared as BYVAL parameters.

' Integer Pointer (passed by value)

SUB Test(BYVAL A AS INTEGER PTR)

@A = 56

END SUB

Additional information on BYVAL/BYREF/BYCOPY parameter passing can be found in the CALL statement topic.

Using OPTIONAL/OPT

SUB statements may specify one or more parameters as optional by preceding the parameter with either the keyword OPTIONAL or OPT. Optional parameters are only allowed with CDECL or SDECL calling conventions, not BDECL.

When a parameter is declared optional, all subsequent parameters in the declaration are optional as well, whether or not they specify an explicit OPTIONAL or OPT directive. The following two lines are equivalent, with both second and third parameters being optional:

SUB sABC(a&, OPTIONAL BYVAL b&, OPTIONAL BYVAL c&)

SUB sABC(a&, OPT BYVAL b&, BYVAL c&)

VARIANT variables are particularly well suited for use as an optional parameter. If the calling code omits an optional VARIANT parameter, (BYVAL or BYREF), PowerBASIC (and most other compilers) substitute a variant of type VT_ERROR which contains an error value of %DISP_E_PARAMNOTFOUND (&H80020004). In this case, you can check for this value directly, or use the ISMISSING() function to determine whether the parameter was physically passed or not.

When optional parameters (other than a VARIANT) are omitted in the calling code, the stack area normally reserved for those parameters is zero-filled. This allows you to test if an optional parameter was passed or not.

If the parameter is defined as a BYVAL parameter, it will have the value zero. For TYPE or UNION variables passed BYVAL, the compiler will pass a string of binary zeroes of length SIZEOF ( Type _or_ union_var ).

If the parameter is defined as a BYREF parameter, VARPTR ( varname ) will equal zero; when this is true, any attempt to use varname in your code will result in Error #9 (null pointer); failure to detect this error using error-trapping may result in a General Protection Fault or memory corruption. You should use the ISMISSING() function first to determine whether it is safe to access the parameter.

Because the FUNCTION, SUB, FASTPROC, METHOD, or PROPERTY being called does not know how many parameters are being passed at the time it is called, you should pass the number of parameters as one of the required parameters in the list.

Variables within Subs

LOCAL variables are created within the procedure stack frame. If a LOCAL variable exceeds the amount of stack space available, it may become necessary to use a STATIC or GLOBAL variable instead. For example, creating a LOCAL nul-terminated or LOCAL fixed-length string that is very large (say, approaching 1 MB) can trigger a General Protection Fault (GPF) because it may overrun the stack frame.

Procedure definitions and program flow

The position of procedure definitions is mostly immaterial. They are usually grouped together in one region of the source code, but you cannot nest procedure definitions. That is, you cannot define a procedure within another procedure (although a procedure definition can contain calls to other procedures). Unlike subroutines (see GOSUB ), program execution cannot accidentally "fall into" a procedure, even if it is located before the PBMAIN or WINMAIN Function in your code. For example:

#COMPILE EXE

SUB DisplayInfo(a$)

' Code goes here

END SUB

FUNCTION PBMAIN

' Main program code goes here

END FUNCTION

When this program is executed, the code in DisplayInfo is only executed if the procedure is explicitly called, even though it is located earlier in the source code file. Procedure definitions should be treated like isolated islands of code; do not jump in or out of them with GOTO , GOSUB or RETURN . Within a procedure block, such statements are legal.

See also

  • CALL
  • DECLARE
  • EXIT
  • FASTPROC/END FASTPROC statements
  • FUNCNAME$
  • FUNCTION/END FUNCTION statements
  • GLOBAL
  • GOSUB
  • ISMISSING
  • LOCAL
  • RETURN
  • STATIC
  • PBXB64 Compiler Help


Subscripts - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Subscripts

Individual array elements are selected with subscripts or index numbers, which are Long-integer expressions within parentheses to the right of an array variable's name. For example, payments (3) and p

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Individual array elements are selected with subscripts or index numbers, which are Long-integer expressions within parentheses to the right of an array variable's name. For example, payments (3) and p

Kind: Keyword | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

' This DIM statement declares a 56-element array

' with subscript bounds of 0 TO 55.

DIM payments1(55) AS CURRENCY

' This DIM statement declares a 56-element array

Back to command index


SWAP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SWAP

Exchange the values of two

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

SWAP var1 , var2

Description

Exchange the values of two

Kind: Statement | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]


SWITCH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SWITCH

Return one of a series of values based upon a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

var = SWITCH( expr1 , val1 [[, expr2 , val2 ], ...])
var& = SWITCH&( expr1 , val1& [[, expr2 , val2& ], ...])
var$ = SWITCH$( expr1 , val1$ [[, expr2 , val2$ ], ...])

Description

Return one of a series of values based upon a

Kind: Function | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

SWITCH expects values of any numeric type. SWITCH& expects values optimized for Long-integer type. SWITCH$ expects values of string type.

If expr1 evaluates TRUE , val1 is returned, if expr2 evaluates TRUE, val2 is returned, etc.

Each control expression in the series is evaluated as a typical PowerBASIC Boolean expression, which offers short-circuit expression evaluation as needed. To force a bitwise evaluation of an expression, enclose it in parentheses. The value parameters may be expressions, literals or variables of the appropriate data type for the SWITCH function in use.

SWITCH returns the matching value parameter from the first TRUE evaluation of the control expressions, evaluated from left to right in the list. Therefore, it would be wise to place the most likely selections at the front of the SWITCH list to achieve the utmost efficiency. If no expressions evaluate to TRUE, then zero (0) is returned.

Restrictions

Contrary to the implementation in some other languages, only the chosen value (one of val1 , val2 , val3 ) is evaluated at run-time; the other value parameters are not. This ensures optimum execution speed, as well as the elimination of unanticipated side effects.

See also

  • CHOOSE
  • IF/END IF
  • IIF
  • SELECT CASE/END SELECT
  • PBXB64 Compiler Help


Syntax Custom Color Selector - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Syntax Custom Color Selector

Basic Colors

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Basic Colors

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Set of basic colors determined by the display driver.

Displays any custom colors you have already defined. To Change a custom color, click on it and then click the Define Custom Colors button. When you have selected the color click the Add to Custom Colors button. To define a new custom color, click on an empty custom color and then click the Define Custom Colors button. Select the new color and then click the Add to Custom Colors button.

Back to command index


SYSINFO - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

SYSINFO

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

value&& = SYSINFO(index&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TAB DELETE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TAB DELETE

A

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TAB DELETE hDlg , ID& , PageNum&
TAB GET COUNT hDlg , ID& TO CountVar&
TAB GET DIALOG hDlg , ID& , PageNum& TO PageDlgVar&
TAB GET IMAGE hDlg , ID& , PageNum& TO ImageVar&
TAB GET PAGE PageDlg TO PageNumVar&
TAB GET SELECT hDlg , ID& TO PageNumVar&
TAB GET TEXT hDlg , ID& , PageNum& TO TextVar$
TAB INSERT PAGE hDlg , ID& , PageNum& , Image& , Text$ [CALL CallBack ] TO PageDlgVar&
TAB RESET hDlg , ID&
TAB SELECT hDlg , ID& , PageNum&
TAB SET IMAGE hDlg , ID& , PageNum& , Image&
TAB SET IMAGELIST hDlg , ID& , hLst
TAB SET TEXT hDlg , ID& , PageNum& , Text$
Function Form:
CountVar& = TAB(COUNT, hDlg , ID& )
PageDlgVar& = TAB(DIALOG, hDlg , ID& , PageNum& )
ImageVar& = TAB(IMAGE, hDlg , ID& , PageNum& )
PageNumVar& = TAB(PAGE, PageDlg& )
PageNumVar& = TAB(SELECT, hDlg , ID& )
TextVar$ = TAB$(TEXT, hDlg , ID& , PageNum& )

Description

A

Kind: Statement | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

In each of the following descriptions, the Tab Control that is the subject of the statement is identified by the handle of the dialog that owns the Tab Control (hDlg), and the unique control ID you gave it upon creation in CONTROL ADD TAB. Whenever a TAB page number or IMAGELIST image number is referenced, it is indexed to one. That is, the first item is 1, the second item is 2, etc. Variations of TAB which return a single value may be written in the optional Function Form, as shown above. These functions may be embedded in an expression of any complexity.

TAB DELETE hDlg , ID& , PageNum&

The page specified by the PageNum& parameter is deleted from the Tab Control.

TAB GET COUNT hDlg , id& TO CountVar&

The number of pages in the TAB Control is retrieved, and assigned to the long integer variable specified by CountVar& .

TAB GET DIALOG hDlg , ID& , PageNum& TO PageDlgVar&

The handle of the child dialog attached to a TAB Control page is retrieved and assigned to the variable designated by PageDlgVar& . The dialog handle to be returned is determined by the value of the parameter PageNum& . If that page/dialog not exist, the value zero is returned.

TAB GET IMAGE hDlg , ID& , PageNum& TO ImageVar&

The index of the image displayed on the specified TAB page is retrieved, and assigned to the variable specified by ImageVar& . If no image is displayed, the value zero (0) is assigned.

TAB GET PAGE PageDlg TO PageNumVar&

Given the handle of a TAB Page Dialog, the PageNum is retrieved, and assigned to the variable specified by PageNumVar& . This may be particularly useful when you process CallBack messages for Tab Page Dialogs. If you also need Parent and ID information, you can use WINDOW GET .

TAB GET SELECT

hDlg , id& TO SelectVar&

The index of the currently selected page in the Tab Control is retrieved, and assigned to the variable specified by SelectVar& . If there is no current selection, the value zero (0) is assigned.

TAB GET TEXT hDlg , ID& , PageNum& TO TextVar$

The text displayed on the specified page tab is retrieved, and assigned to the variable specified by TextVar$ .

TAB INSERT PAGE hDlg , ID& , PageNum& , Image& , Text$ [CALL CallBack ] TO PageDlgVar&

A page is added to this TAB Control. The parameter PageNum& specifies the position of the page to be inserted. An optional image to be displayed on the tab area is selected from the attached IMAGELIST , based upon the parameter Image& . Set Image& to 0 if no image is desired. The Text$ parameter specifies the text to be displayed on the tab area. CallBack is the name of a callback procedure to be used for the page dialog. The handle of the newly created dialog is assigned to the variable designated by PageDlgVar&.

TAB RESET hDlg , id&

All pages in the specified Tab Control are deleted.

TAB SELECT hDlg , ID& , PageNum&

The page specified by the PageNum& parameter is chosen as the selected page for the TAB control, and the associated dialog is displayed.

TAB SET IMAGE hDlg , ID& , PageNum& , Image&

The image specified by the parameter Image& is displayed on the page tab specified by the parameter PageNum& .

TAB SET IMAGELIST hDlg , ID& , hLst

The IMAGELIST specified by hLst is attached to this TAB control. The graphical images contained in the IMAGELIST are displayed on the tabs of this control. The image to be displayed is determined by the specification made in TAB INSERT PAGE or TAB SET IMAGE. When the TAB control is destroyed, any attached IMAGELIST is automatically destroyed.

TAB SET TEXT hDlg , ID& , PageNum& , Text$

The text in the parameter Text$ is displayed on the tab of the page specified by PageNum& .

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD TAB
  • CONTROL SET FONT
  • IMAGELIST ADD BITMAP
  • PBXB64 Compiler Help


TAGARRAY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TAGARRAY

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

tag& = TAGARRAY(tags(), index)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TALLY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TALLY

Count the number of occurrences of specified characters or strings within a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

x& = TALLY( MainString , [ANY] MatchString )

Description

Count the number of occurrences of specified characters or strings within a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

MainString is the string expression in which to count characters. MatchString is the string expression to count all occurrences of. If MatchString is not present in MainString , zero is returned. When a match is found, the scan for the next match begins at the position immediately following the prior match.

If the ANY keyword is included, MatchString specifies a list of single characters to be searched for individually: a match on any one of which will cause the count to be incremented for each occurrence of that character. Note that repeated characters in MatchString will not increase the tally. For example:

X = TALLY("ABCD", ANY "BDB") ' returns 2, not 3

Restrictions

TALLY is case-sensitive, so be wary of capitalization.

See also

  • INSTR
  • JOIN$
  • LCASE$
  • LTRIM$
  • MID$
  • PARSE$
  • PARSECOUNT
  • REMOVE$
  • REPLACE
  • RIGHT$
  • RTRIM$
  • TRIM$
  • UCASE$
  • VERIFY
  • PBXB64 Compiler Help


TAN - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Math & Numeric PBXB64 Compiler Help

TAN

Return the tangent of its argument.

Chapter: Math & Numeric | Certification: [CERTIFIED TESTED]

Syntax

y = TAN( numeric_expression )

Description

Return the tangent of its argument.

Kind: Function | Category: Math & Numeric

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

numeric_expression is an angle specified in radians. To convert radians to degrees, multiply by 57.29577951308232##. To convert degrees to radians, multiply by 0.0174532925199433##. For more information on radians, see ATN .

TAN returns an Extended-precision result.

In PBXB64, TAN also accepts INT128, UINT128, INT256, UINT256, INT512, UINT512, and UNL values through the existing TAN command. The typed path returns a floating result; UNL values are handled internally by the same command.

TAN is approximated with the expression:

TAN = SIN( Value ) / COS( Value )

The Inverse Tangent (ARCTAN) of a value can be easily calculated with the ATN function.

The Hyperbolic Tangent (TANH) of a value can be calculated:

TanH = (EXP(2 * Value) - 1) / (EXP(2 * Value) + 1)

The Inverse Hyperbolic Tangent (ARCTANH) of a value can be calculated:

ArcTanH = LOG((1 + Value ) / (1 - Value )) / 2

' Useful Macro functions

MACRO Pi = 3.141592653589793##

MACRO DegreesToRadians(dpDegrees) = (dpDegrees * 0.0174532925199433##)

MACRO RadiansToDegrees(dpRadians) = (dpRadians * 57.29577951308232##)

Example

#COMPILE EXE
#DIM ALL
' math_tan_basic
FUNCTION PBMAIN() AS LONG
  IF ((TAN(0.0)) < (0.0000000000) - 0.0001) OR ((TAN(0.0)) > (0.0000000000) + 0.0001) THEN FUNCTION = 1: EXIT FUNCTION
  IF ((TAN(0.5)) < (0.5463024898) - 0.0001) OR ((TAN(0.5)) > (0.5463024898) + 0.0001) THEN FUNCTION = 2: EXIT FUNCTION
  IF ((TAN(-0.5)) < (-0.5463024898) - 0.0001) OR ((TAN(-0.5)) > (-0.5463024898) + 0.0001) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • ATN
  • COS
  • SIN


TANH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TANH

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

y = TANH( numeric_expression )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TBOX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TBOX

Status: lowered to the PBXB64 Windows runtime. Interactive behavior requires a desktop session.

Chapter: General Reference

Syntax

TBOX message$

Description

Status: lowered to the PBXB64 Windows runtime. Interactive behavior requires a desktop session.


TCP ACCEPT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TCP ACCEPT

Accept an incoming request for communication from a specified

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TCP ACCEPT [#] fNum& AS newfNum&

Description

Accept an incoming request for communication from a specified

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Accept an incoming connection request to the fNum& socket, and create a newfNum& socket handle to communicate with the new connection.

TCP ACCEPT is only valid with sockets opened using TCP OPEN SERVER .

See also

  • TCP and UDP Communications
  • TCP CLOSE
  • TCP LINE INPUT
  • TCP NOTIFY
  • TCP OPEN
  • TCP PRINT
  • TCP RECV
  • TCP SEND
  • UDP OPEN
  • PBXB64 Compiler Help


TCP and UDP Communications - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TCP and UDP Communications

Overview of TCP and UDP networking in PBXB64.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Overview of TCP and UDP networking in PBXB64.

Kind: Conceptual | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


TCP CLOSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TCP CLOSE

Close a previously opened

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TCP CLOSE [#] fNum&

Description

Close a previously opened

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Close the previously opened TCP/IP port specified by fNum& .

See also

  • TCP and UDP Communications
  • TCP ACCEPT
  • TCP LINE INPUT
  • TCP NOTIFY
  • TCP OPEN
  • TCP PRINT
  • TCP RECV
  • TCP SEND
  • UDP CLOSE
  • PBXB64 Compiler Help


TCP LINE INPUT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TCP LINE INPUT

Receive a line of text from a specified

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TCP LINE [INPUT] [#] fNum& , Buffer$

Description

Receive a line of text from a specified

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Receive a line of text from the fNum& TCP/IP port, and place the data in Buffer$ . If no bytes are available, Buffer$ will be empty (a null string). If TCP LINE did not receive a complete line of text (terminated by a $CRLF character pair), EOF ( fNum& ) will return TRUE (non-zero).

If a time-out occurs, ERR will be set to indicate a run-time Error 24 ("Device timeout"). See TCP OPEN to specify the TCP socket timeout value.

The EOF function may also be used with TCP LINE (and COMM LINE ) to detect that an incomplete line was received. Normally, the TCP LINE statement reads data until a $CRLF character pair is found, and in that case, EOF will return false (zero). However, even if no $CRLF has been found, TCP LINE will return if no additional data is available. In that case, TCP LINE will return whatever data has been accumulated, and set EOF to logical TRUE (non-zero).

In many cases, it would be prudent to test EOF after every TCP LINE statement to verify that a full line has been received. In some cases, you may wish to execute the statement one or more additional times, combining the data, in order to obtain a full line of text.

See also

  • TCP and UDP Communications
  • EOF
  • TCP ACCEPT
  • TCP CLOSE
  • TCP NOTIFY
  • TCP OPEN
  • TCP PRINT
  • TCP RECV
  • TCP SEND
  • UDP RECV
  • PBXB64 Compiler Help


TCP NOTIFY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TCP NOTIFY

Designate which

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TCP NOTIFY [#] fNum& , {SEND | RECV | ACCEPT | CONNECT | CLOSE} TO hWnd& AS wMsg&

Description

Designate which

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Designates which events (SEND, RECV, ACCEPT, CONNECT and CLOSE) will generate a wMsg& notification message to the window procedure (callback) of the GUI window or dialog whose window handle is contained in hWnd& .

Your program defines the wMsg& value, and this value should be equal or larger than %WM_USER + 500 to avoid conflict with other (common) callback message values.

When the nominated callback function receives the wMsg& notification, the wParam& parameter identifies the operating system's handle of the socket (see FILEATTR ), the low-order Word of lParam& specifies the code of the event (see table below), and the high-order Word of lParam& contains the error code (if any).

LO(WORD, lParam& )

Definition

%FD_READ

Data is available to be read from the socket.

%FD_WRITE

The socket is ready for data to be written.

%FD_ACCEPT

The socket is able to accept a new connection.

%FD_CONNECT

The connection has been established.

%FD_CLOSE

The socket has been closed.

Notification messages do not arrive in unabated or continuous streams. That is, once a particular notification message arrives, it will not be sent again until the initial message is acted upon. For example, if a %FD_READ notification is received, it will not be resent until after a TCP RECV statement is executed.

The Winsock error codes are listed in WINSOCK2.INC, prefixed with %WSAE.

See also

  • TCP and UDP Communications
  • TCP ACCEPT
  • TCP CLOSE
  • TCP LINE INPUT
  • TCP OPEN
  • TCP PRINT
  • TCP RECV
  • TCP SEND
  • UDP NOTIFY
  • PBXB64 Compiler Help


TCP OPEN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TCP OPEN

Enable an application to communicate with a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TCP OPEN {PORT p& | srvc$ } AT address$ AS [#] fNum& [TIMEOUT timeoutval& ]
TCP OPEN SERVER [ADDR ip& ] {PORT p& | srvc$ } AS [#] fNum& [TIMEOUT timeoutval& ]

Description

Enable an application to communicate with a

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Open a TCP/IP port or service for communication, either as a client or as a server.

SERVER

If the keyword server is included, the TCP port is opened as a TCP/IP server; otherwise, it is opened as a TCP/IP client.

ADDR ip&

As a server, if you specify the optional ADDR ip& , the TCP server monitors connections at the specified ip& address. Otherwise, the primary IP address for the computer is used by default.

PORT p&

As a client, PORT identifies the server port that the client attempts to connect to. As a server, PORT identifies the port the server will monitor for connection requests. You may specify either a port number or a service name, but not both.

If the port number is not specified, a service name must be specified instead. A service name takes the form of "http", "smtp", or "ftp", etc. You may specify either a port number or a service name, but not both.

AT address$

As a client, address $ identifies the address to connect with. address $ can be a domain such as "powerbasic.com", or a dotted IP address in string form, such as "127.0.0.1".

A file number such as #1, or a variable with a value obtained using the FREEFILE function.

TIMEOUT

The optional TIMEOUT value allows you to specify how long a TCP SEND , RECV , PRINT , or LINE operation should wait for completion, in milliseconds ( mSec ). If the specified number of milliseconds elapses without a response, the TCP operation will fail, and the ERR system variable will be set to indicate a run-time Error 24 ("Device timeout"). The default timeout is 60000 milliseconds (60 seconds).

See also

  • TCP and UDP Communications
  • FREEFILE
  • TCP ACCEPT
  • TCP CLOSE
  • TCP LINE INPUT
  • TCP NOTIFY
  • TCP PRINT
  • TCP RECV
  • TCP SEND
  • UDP OPEN
  • PBXB64 Compiler Help


TCP PRINT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TCP PRINT

Write a string to a nominated

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TCP PRINT [#] fNum& , string_expression [;]

Description

Write a string to a nominated

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Write the data in string_expression to the fNum& TCP/IP port. If the optional semi-colon is not specified, a carriage-return and linefeed pair ( $CRLF or CHR$ (13,10)) is also sent.

The TCP PRINT statement does not return until string_expression has been sent, or an error occurs. That is, TCP PRINT is a synchronous or "blocking" statement. If a time-out occurs, ERR will be set to indicate a run-time Error 24 ("Device timeout"). See TCP OPEN to specify the TCP socket timeout value.

See also

  • TCP and UDP Communications
  • TCP ACCEPT
  • TCP CLOSE
  • TCP LINE INPUT
  • TCP NOTIFY
  • TCP OPEN
  • TCP RECV
  • TCP SEND
  • UDP OPEN
  • PBXB64 Compiler Help


TCP RECV - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TCP RECV

Receive data from a specified

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TCP RECV [#] fNum& , count& , Buffer$

Description

Receive data from a specified

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Receive count& bytes from the fNum& TCP/IP port and place them in Buffer$ . If count& bytes are not available, Buffer$ will receive whatever bytes are available and EOF ( fNum& ) will return TRUE (non-zero).

Typically used in a loop to retrieve a stream of data, a TCP RECV loop should be terminated if Buffer$ returns an empty , or if EOF(fNum&) returns TRUE, or if ERR becomes set. If a time-out occurs, ERR will be set to indicate a run-time Error 24 ("Device timeout"). See TCP OPEN to specify the TCP socket timeout value.

See also

  • TCP and UDP Communications
  • EOF
  • TCP ACCEPT
  • TCP CLOSE
  • TCP LINE INPUT
  • TCP NOTIFY
  • TCP OPEN
  • TCP PRINT
  • TCP SEND
  • UDP RECV
  • PBXB64 Compiler Help


TCP SEND - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TCP SEND

Write a string to a nominated

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TCP SEND [#] fNum& , string_expression

Description

Write a string to a nominated

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Write the specified string_expression to the TCP/IP port specified by fNum& .

The TCP SEND statement does not return until string_expression has been sent, or an error occurs. That is, TCP SEND is a synchronous or "blocking" statement. If a time-out occurs, ERR will be set to indicate a run-time Error 24 ("Device timeout"). See TCP OPEN to specify the TCP socket timeout value.

See also

  • TCP and UDP Communications
  • TCP ACCEPT
  • TCP CLOSE
  • TCP LINE INPUT
  • TCP NOTIFY
  • TCP OPEN
  • TCP PRINT
  • TCP RECV
  • UDP SEND
  • PBXB64 Compiler Help


Text Commands - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Text Commands

The following commands can be used with a Text Window:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following commands can be used with a Text Window:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Sets or retrieves the cursor position.

Clears the Text Window and moves to caret to the upper left corner.

Back to command index


The Inline Assembler - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

The Inline Assembler

Occasionally, you may run into a situation where the syntax and structure of the BASIC language is not the most suitable for a task at hand. PowerBASIC addresses the need for optimal speed and flexibi

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Occasionally, you may run into a situation where the syntax and structure of the BASIC language is not the most suitable for a task at hand. PowerBASIC addresses the need for optimal speed and flexibi

Kind: Keyword | Category: Inline Assembler

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

This chapter discusses the different ways that PowerBASIC lets you use assembly-language code in your BASIC programs. It also discusses some design philosophies and considerations, which you should keep in mind if you decide to write your own assembly-language procedures or functions.

The technique of interfacing with assembly-language is, by its very nature, somewhat complex. You should be reasonably familiar with assembly-language concepts before tackling the information in this chapter.

Using assembly-language in your code

Back to command index


The Stack - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

The Stack

The stack is a range of memory addresses that can be used for temporary storage of data from either within a procedure or as the normal method of passing parameters to a procedure.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The stack is a range of memory addresses that can be used for temporary storage of data from either within a procedure or as the normal method of passing parameters to a procedure.

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The stack is normally accessed in code by the mnemonics PUSH and POP. The stack is accessed on a last on, first off basis which means that the last value pushed onto the stack is the first one to be popped back off the stack.

The next position that can be written on the stack is called the top of the stack. When a piece of data is pushed onto the stack, the processor decrements the stack pointer ESP then writes the data to the top of the stack. When a piece of data is popped back off the stack, the processor reads the data from the top of the stack then increments the stack pointer. Therefore, the stack address decreases as more data is pushed onto it, and the address increases as data is popped back off the stack.

In the following images, each square represents 1 byte on the stack, and the different colors are intended to demonstrate the different data sizes being pushed and popped. The top of the stack is the left side of each image.

The following sequence demonstrates the stack layout as one 32-bit and two 16-bit values are pushed and popped from the stack.

Back to command index


THEN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

THEN

Separates the condition from the body in IF and ELSEIF

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

IF condition THEN [single_statement]
IF condition THEN
  [statements]
END IF

ELSEIF condition THEN
  [statements]

Description

Separates the condition from the body in IF and ELSEIF

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The THEN keyword terminates the condition expression in an IF or ELSEIF statement. In single-line form it is followed by the statement to execute when the condition is true. In block form it is followed by one or more statements ending with END IF.

Example

FUNCTION PBMAIN () AS LONG
    LOCAL x AS LONG
    x = 10
    IF x > 5 THEN FUNCTION = 1 ELSE FUNCTION = 0
END FUNCTION

See also

  • IF
  • ELSEIF
  • ELSE
  • BASIC Control Flow
  • PBXB64 Compiler Help


THREAD CLOSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

THREAD CLOSE

Release the handle of a running thread.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

THREAD CLOSE hThread TO lResult&

Description

Release the handle of a running thread.

Kind: Statement | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

THREAD CLOSE releases the thread handle of the thread identified by the DWORD value hThread (see THREAD CREATE ).

If successful, lResult& is TRUE (non-zero); otherwise, it is FALSE (zero). If a thread is not closed once it has completed, it will continue to take up memory and CPU resources. Note that THREAD CLOSE does not stop a thread if it is still running; it simply releases the thread's handle (i.e., the resources used to track the thread), and the thread itself will continue to run.

Once a thread handle is released, the value stored in hThread becomes undefined. On this basis, thread handles should not be released until there is no further need to test the thread status or change the suspend count for a thread. If a thread does not need to be monitored, its handle can be released immediately after the THREAD CREATE statement, and the threads resources will be freed automatically when the thread terminates naturally. Best practice suggests that after releasing a thread handle, the thread handle variable should be set to 0, to set it apart from other valid thread handle variables.

Once a thread has exited, it is not possible to restart the same thread (as identified by hThread ). However, a fresh thread can be executed, using the same target thread Function, and resulting in a new thread handle which will identify the new thread.

Restrictions

THREAD CLOSE will always execute successfully provided hThread contains a valid thread handle value. THREAD CLOSE generates no run-time errors ; all exceptions are reported in the return value lResult& .

The WaitForSingleObject API function can be used wait until a nominated thread has finished executing. Similarly, the WaitForMultipleObjects API can be used to wait for one, two, or all secondary threads (to a maximum of 64 or %MAXIMUM_WAIT_OBJECTS) to complete before continuing on. Such functions can be very useful when a program creates a set of "worker" threads to process data, and the primary thread can then sit idle until all the worker threads have completed all their work. At that point, the primary thread may gather the results of the worker threads, etc.

It is also useful to understand that these kind of wait functions are very efficient and use almost no CPU time or resources while they are waiting; however, care must be exercised to avoid a deadlock or circular suspension. For example, a deadlock condition could occur if thread A is halted while it waits for thread B, which in turn has a suspend count that might only be adjustable by Thread A. Similarly, an infinite loop in one thread may also halt any other thread that is waiting for it to terminate.

THREADCOUNT continues to report a thread tally that will include threads whose handle has already been released. A thread ID value may not be used interchangeably with a thread handle value.

See also

  • FUNCTION/END FUNCTION statements
  • THREAD Code Group
  • THREAD CREATE
  • IPowerThread.Close method
  • THREAD RESUME
  • THREAD STATUS
  • THREAD SUSPEND
  • THREADCOUNT
  • THREADED
  • THREADID
  • PBXB64 Compiler Help


THREAD Code Group - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

THREAD Code Group

The Thread

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

THREAD DirectorWord [ params ]
THREAD DirectorWord [ params ] TO ReturnVariable(s)

Description

The Thread

Kind: Keyword | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A Windows thread is a smaller "program-within-a-program", that runs concurrently with the main thread and other threads in the same application program. Threads provide powerful ways for an application to perform several tasks at the same time.

With the advent of multi-core CPU's and multi-CPU computers, it's clearly desirable to encapsulate all of the information about a particular thread in a single component. For that reason, PowerBASIC has introduced the concept of a THREAD OBJECT . While the THREAD Code Group will be supported for some time, we recommend that all new code use THREAD OBJECTS exclusively. They provide much greater control, and much better thread parameter handling for the programmer.

Restrictions

Functions from the Thread Code Group and THREAD OBJECTS may co-exist in the same application. However, it is important that they not be intermixed referencing the same thread.

See also

  • FUNCTION/END FUNCTION statements
  • THREAD CLOSE
  • THREAD CREATE
  • THREAD SET PRIORITY
  • IPowerThread.Close method
  • THREAD RESUME
  • THREAD STATUS
  • THREAD SUSPEND
  • THREADCOUNT
  • THREADED
  • THREADID
  • THREADSAFE Option Descriptor
  • PBXB64 Compiler Help


Thread Control - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Thread Control

The following functions are used to create and manage threads:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following functions are used to create and manage threads:

Kind: Keyword | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Releases the thread handle of this thread.

Compares the specified object to determine if it references the same object as this object.

Back to command index


THREAD CREATE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

THREAD CREATE

Create a Windows thread, which is a smaller "program-within-a-program", that runs concurrently with the main thread and other threads in the same application program. Threads provide powerful ways for an application to perform several tasks at the same time.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

THREAD CREATE FuncName ( param ) [ StackSize ,] [SUSPEND] TO hThread

Description

Create a Windows thread, which is a smaller "program-within-a-program", that runs concurrently with the main thread and other threads in the same application program. Threads provide powerful ways for an application to perform several tasks at the same time.

Kind: Statement | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

THREAD CREATE creates and begins execution of a new thread Function identified by FuncName . FuncName is specified without quotation marks. This function must take exactly one Long-integer or Double-word (DWORD) parameter by value ( BYVAL ). For example:

THREAD FUNCTION MyThreadFunction(BYVAL x AS LONG) AS LONG

' Thread code goes here

END FUNCTION

' more code here

THREAD CREATE MyThreadFunction(var&) TO hThread???

The 32-bit parameter passed to the thread may be used to pass a value such as a programmer-defined ID or window handle to post "progress" messages back to a GUI window/dialog running in another thread. A more common use for the parameter is to pass the address to a UDT or other data structure. Passing an address this way can enable the thread to use a pointer to access large volumes of data that reside outside of the thread. For example:

THREAD FUNCTION MyThread(BYVAL y AS DWORD) AS DWORD

DIM x AS MyUDT POINTER

x = y ' Set the pointer from the DWORD param

' From here we can access all of the UDT member elements

' using the standard @x pointer syntax

END FUNCTION

' more code here

DIM x AS MyUDT, hThread???

' Initialize the members of x here

THREAD CREATE MyThread( VARPTR(x) ) TO hThread???

' more code here

Note that data passed this way is subject to the notes (below) concerning GLOBAL and STATIC variables , in order to avoid synchronization problems during context-switching.

The return value of the thread Function is retrieved with the THREAD STATUS statement (once the thread has completed execution).

StackSize

A long integer expression to specify the requested size of the stack for this newly created thread. This value should always be specified in increments of 64K (65536). If this parameter is omitted, the size of the stack for the main thread will be used.

SUSPEND

Execution of the thread begins immediately unless the SUSPEND option is included. In that case, the suspend count for the thread will be initially set to 1, and the thread will be initially suspended. The THREAD RESUME statement is used to decrease the suspend count of a thread by 1, and when the suspend count reaches 0, the thread will start (resume) execution. Controlling the suspend state of a thread requires the thread handle value be retained until such time as the thread can be closed or left to run unmonitored.

hThread

If successful, THREAD CREATE returns a Double-word (or Long-integer) handle in hThread , or zero (0) if the thread was not started. This handle is used with the other thread statements to control the suspend count, and to release the thread handle, etc. Also see THREAD CLOSE for more information on monitoring, closing, and waiting for threads to complete.

Func Name

The name of the thread function to execute as a thread. A thread Function must comply exactly with the following syntax:

THREAD FUNCTION ThreadFuncName (BYVAL param AS {LONG | DWORD}) AS {LONG | DWORD}

Restrictions

The THREAD CREATE statement generates no run-time errors ; all exceptions are reported as a zero stored in the return value hThread . However, the target thread Function must be located in the same compiled module as the THREAD CREATE statement. That is, a thread Function may not be an imported Function.

Additionally, a thread Function may not be directly called or executed, except by a THREAD CREATE statement. This restriction is imposed to ensure that PowerBASIC run-time library can maintain a thread-safe state at all times, correctly allocate and deallocate internal thread-local storage, and the various thread func tions (such as THREADCOUNT) can return accurate values.

One situation that can arise is where a Function may need to be invoked both directly and used as a thread Function. The easiest solution is to create a small wrapper Function for the Function, then use THREAD CREATE with the wrapper Function when a thread is required, or continue to call the original Function directly when a separate thread is not required. For example:

FUNCTION WorkerFunc(BYVAL x AS LONG) AS LONG

' code here

END FUNCTION

THREAD FUNCTION WorkerThread(BYVAL x AS LONG) AS LONG

FUNCTION = WorkerFunc(x)

END FUNCTION

' more code here

' Execute the worker function directly, thus:

lResult& = WorkerFunc(var&)

' Execute the worker thread as a thread, using

' the wrapper function:

THREAD CREATE WorkerThread(var&) TO hThread???

A thread can determine its own ID with the THREADID function. Note: a thread ID is not interchangeable with a thread handle.

Threads are initialized and started asynchronously, so it is wise to give the operating system a small amount of time to perform thread initialization before using the THREADCOUNT function to monitor the thread.

Once a thread has exited, it is not possible to restart the same thread as identified by hThread - however, a new thread can be initiated using the same Function (which naturally provides a new hThread handle value). In addition, the same thread Function can be launched multiple times to create a set of identical threads executing the same code.

As each thread is created, it is assigned its own "private" stack frame. Therefore, LOCAL and REGISTER variables are private to each thread, and are automatically " thread-safe ".

Exercise care when using GLOBAL and STATIC variables that may be accessed by more than one thread at the same time. If one thread is part way through storing data at the point where another thread begins to read the same memory block, it can result in the second thread reading only partially updated (i.e., invalid) data. The point where one thread is suspended so that another can run is called a " context-switch ". In these situations, the use of Windows' synchronization functions (such as Critical Sections and Mutexes ) may be employed to create thread-safe code.

Thread-safe code is deemed to be unaffected by context-switching, regardless of when context-switching occurs. Local variables, being stored in a "private" stack frame, are not affected by context-switching.

Local variable storage created by each thread is automatically freed when the thread Function terminates, in the same manner as a normal Sub , Function, Method , or Property . However, the thread handle must be explicitly freed with a THREAD CLOSE statement. The THREAD CLOSE can occur at any time, since it only frees the thread handle and has no other impact on the running thread. If the thread result value is not required (or the thread state does not need to be altered), THREAD CLOSE can be used immediately after the THREAD CREATE statement, leaving the thread to run its course.

For more information on threading and synchronization techniques, please refer to MSDN http://msdn.microsoft.com .

The PowerBASIC run-time library is thread-safe and reentrant.

See also

  • FUNCTION/END FUNCTION statements
  • THREAD CLOSE
  • THREAD Code Group
  • THREAD SET PRIORITY
  • IPowerThread.Close method
  • THREAD RESUME
  • THREAD STATUS
  • THREAD SUSPEND
  • THREADCOUNT
  • THREADED
  • THREADID
  • PBXB64 Compiler Help


THREAD GET PRIORITY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

THREAD GET PRIORITY

Retrieve the Priority Value for a thread

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

THREAD GET PRIORITY hThread TO lResult&

Description

Retrieve the Priority Value for a thread

Kind: Statement | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

THREAD GET PRIORITY retrieves the priority value for the thread specified by the thread handle ( hThread ). The thread handle is returned by the THREAD CREATE statement at the time the thread is created. If hThread is zero (0), the thread which is currently executing is presumed. The retrieved priority value is assigned to the long or dword variable designated by lResult& . A thread ID cannot be used in place of a thread handle.

The thread priority value is one of the following:

%THREAD_PRIORITY_IDLE = -15

%THREAD_PRIORITY_LOWEST = -2

%THREAD_PRIORITY_BELOW_NORMAL = -1

%THREAD_PRIORITY_NORMAL = 0

%THREAD_PRIORITY_ABOVE_NORMAL = +1

%THREAD_PRIORITY_HIGHEST = +2

%THREAD_PRIORITY_TIME_CRITICAL= +15

See also

  • PROCESS GET PRIORITY
  • PROCESS SET PRIORITY
  • THREAD Code Group
  • THREAD CREATE
  • IPowerThread.Close method
  • THREAD SET PRIORITY
  • PBXB64 Compiler Help


IPowerThread.Close method - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

IPowerThread.Close method

A thread

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

< ObjectVar >. membername ( params )
RetVal = < ObjectVar >. membername ( params )
< ObjectVar >. membername ( params ) TO ReturnVariable

Description

A thread

Kind: Statement | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

With the advent of multi-core CPU's and multi-CPU computers, it's clearly desirable to encapsulate all of the information about a particular thread in a single component. We recommend that all new code use THREAD OBJECTS exclusively, rather than the Thread Code Group . Thread objects provide much greater control, and much better thread parameter handling for the programmer.

IPowerThread Methods

The Dispatch ID (DispID) for each member method is displayed within angle brackets.

METHOD CLOSE() <2>

Releases the thread handle of this thread. Note that it does not stop a thread if it is still running; it simply releases the thread handle (i.e., the resources used to track the thread).

Thread handles should not be released until there is no further need to use other thread methods or properties. If a thread does not need to be monitored, its handle can be released immediately. The thread resources will be freed automatically when the thread terminates naturally.

THREADCOUNT continues to report a thread tally that will include threads whose handle has already been released. A thread ID value may not be used interchangeably with a thread handle value.

METHOD EQUALS( ObjectVar AS InterfaceName ) AS Long <3>

Compares the parameter ObjectVar to determine if it references the same object as this object. If they both reference the same object, true (-1) is returned; if not, false (0) is returned.

METHOD HANDLE() AS Long <4>

Retrieves the handle of the thread for use with Windows API functions.

METHOD ID() AS Long <5>

Retrieves the ID of the thread for use with Windows API functions.

METHOD ISALIVE() AS Long <6>

Checks the thread to see if it is currently "alive". If the thread has been launched, but has not yet ended, the value true (-1) is returned; if not, the value false (0) is returned.

METHOD JOIN( ThreadObjectVar AS InterfaceName , TimeOutVal AS Long) <7>

Waits for the thread referenced by ThreadObjectVar to complete before execution of this thread continues. TimeOutVal specifies the maximum length of time to wait, in MilliSeconds. If TimeOutVal is zero (0), the time to wait is infinite.

METHOD LAUNCH(ByRef Param as UDT ) <8>

LAUNCH begins execution of the thread, passing parameter data to it. Since the thread is hosted by an object, it is only fitting that the parameter data be contained in the most robust form, another object.

THREADPARAM is a mandatory Instance variable which you must define in each thread class. It is normally declared as the interface name of your choice:

INSTANCE ThreadParam as MyInterface

When the thread begins, PowerBASIC automatically creates a copy of the LAUNCH parameter, and assigns it to ThreadParam. Since it is stored in an Instance variable, it is visible to all of your code in your member methods, yet is kept private from the rest of the program. The use of an object as the parameter is the normally the best choice, as it allows virtually any number of data items to be contained.

In simpler cas es, you may choose to declare THREADPARAM as a pointer , Long Integer , or Dword . In that case, you must pass the launch parameter using a byval option, to override the expected object variable.

INSTANCE ThreadParam as LONG

MyThread.Launch(ByVal MyNumber&)

Of course, the Pointer parameter option can be used to pass a pointer to any variable, of any type. For example, it could be used to pass a used-defined type if that fits your needs:

INSTANCE ThreadParam AS MyType POINTER

THREAD METHOD MyMethod() AS LONG

xyz# = ThreadParam.member1

... other code

END METHOD

MyThread.Launch(ByVal VARPTR(MyType))

PROPERTY GET PRIORITY() AS Long <9>

Retrieves the priority value for this thread. The thread priority value is one of the following:

%THREAD_PRIORITY_IDLE = -15

%THREAD_PRIORITY_LOWEST = -2

%THREAD_PRIORITY_BELOW_NORMAL = -1

%THREAD_PRIORITY_NORMAL = 0

%THREAD_PRIORITY_ABOVE_NORMAL = +1

%THREAD_PRIORITY_HIGHEST = +2

%THREAD_PRIORITY_TIME_CRITICAL= +15

PROPERTY SET PRIORITY (LEVEL AS Long) <9>

Sets the Priority Value for this thread. The thread priority value must be one of the following:

%THREAD_PRIORITY_IDLE = -15

%THREAD_PRIORITY_LOWEST = -2

%THREAD_PRIORITY_BELOW_NORMAL = -1

%THREAD_PRIORITY_NORMAL = 0

%THREAD_PRIORITY_ABOVE_NORMAL = +1

%THREAD_PRIORITY_HIGHEST = +2

%THREAD_PRIORITY_TIME_CRITICAL= +15

METHOD RESULT() AS Long <10>

If the thread has ended, the result value returned by the THREAD METHOD is retrieved and returned to the caller. The result may be any integral value in the range of a long integer. However, you should avoid using the number &H103 (decimal 259), as that is the value used by Windows to signify that the thread is still running.

If the result is retrieved successfully, the OBJRESULT is set to %S_OK (0). If the thread has not ended, the value zero (0) is returned, and the OBJRESULT is set to %S_FALSE (1).

METHOD RESUME() AS Long <11>

Resumes execution of a suspended thread. The suspend count of the thread is decremented. When it reaches zero (0), execution of the thread resumes. If the resume is successful, the prior suspend count is returned; otherwise, -1 is returned.

A thread can suspend itself with SUSPEND (which increments the suspend count), but logically, cannot RESUME itself because it is not running at that time.

PROPERTY GET STACKSIZE() AS Long <13>

Retrieves the size of the stack for this thread. If the value returned is zero (0), the thread StackSize is the same as that of the main thread.

PROPERTY SET STACKSIZE(BYVAL Long) <13>

Sets the size of the stack for this thread to the value specified by the parameter. The value should always be specified in multiples of 64K (65536). PROPERTY SET must only be executed prior to thread execution with LAUNCH, or it will be ignored. If no PROPERTY SET STACKSIZE is executed, the size of the stack for the main thread will be used for this thread.

METHOD SUSPEND() AS Long <14>

Suspends execution of the thread. The suspend count of the thread is incremented. If the suspend was successful, the suspend count is returned; otherwise, -1 is returned.

If SUSPEND is executed prior to LAUNCH of the thread, the suspend count is incremented, and the subsequent LAUNCH is treated as a suspended launch. That is, all the necessary setup tasks are performed, but the thread is suspended just before execution of your THREAD METHOD begins. You can continue execution with RESUME.

A thread can suspend itself with SUSPEND (which increments the suspend count), but logically, cannot RESUME itself because it is not running while suspended.

METHOD TIMECREATE() AS Quad <16>

Retrieves the date and time-of-day of the thread creation, and returns it as a Quad Integer value. The internal format of the value is that of a FILETIME structure, so you can use the PowerTime object to convert it to a human readable format of Month/Day/Year/Time.

METHOD TIMEEXIT() AS Quad <17>

Retrieves the date and time-of-day of the thread exit, and returns it as a Quad Integer value. The internal format of the value is that of a FILETIME structure, so you can use the PowerTime object to convert it to a human readable format of Month/Day/Year/Time. If the thread has not yet exited, the return value is undefined.

METHOD TIMEKERNEL() AS Quad <18>

Retrieves the amount of time this thread has spent in kernel mode, and returns it as a Quad Integer value. The internal format of the value is that of a FILETIME structure, so you can use the PowerTime object to convert it to a human readable format.

METHOD TIMEUSER() AS Quad <19>

Retrieves the amount of time this thread has spent in user mode, and returns it as a Quad Integer value. The internal format of the value is that of a FILETIME structure, so you can use the PowerTime object to convert it to a human readable format.

Restrictions

Functions from the Thread Code Group and THREAD OBJECTS may co-exist in the same application. However, it is important that they not be intermixed when you reference one particular thread.

See also

  • IPowerTime.AddDays method
  • THREAD Code Group
  • PBXB64 Compiler Help


THREAD RESUME - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

THREAD RESUME

Resume execution of a Windows thread.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

THREAD RESUME hThread TO lResult&

Description

Resume execution of a Windows thread.

Kind: Statement | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

THREAD RESUME decreases the suspend count of the thread identified by the 32-bit DWORD value stored in hThread (see THREAD CREATE ). If it succeeds, the lResult& value is the thread's previous suspend count; otherwise, it is -1.

Execution of a suspended thread resumes when the suspend count of a thread is decremented to zero. If the SUSPEND option is included in the associated THREAD CREATE statement, the thread will have an initial suspend count of 1. In that case, execution of the thread will only begin when a THREAD RESUME statement is executed, using the thread handle stored in hThread to identify the thread.

Restrictions

The THREAD RESUME statement generates no run-time errors ; all exceptions are reported in the return value lResult& . A thread ID cannot be used interchangeably with a thread handle. A thread can suspend itself by incrementing its own suspend count, but logically, cannot decrement its own suspend count.

See also

  • FUNCTION/END FUNCTION statements
  • THREAD CLOSE
  • THREAD Code Group
  • THREAD CREATE
  • IPowerThread.Close method
  • THREAD STATUS
  • THREAD SUSPEND
  • THREADCOUNT
  • THREADED
  • THREADID
  • PBXB64 Compiler Help


THREAD SET PRIORITY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

THREAD SET PRIORITY

Sets the Priority Value for a thread

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

THREAD SET PRIORITY hThread , Priority&

Description

Sets the Priority Value for a thread

Kind: Statement | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

THREAD SET PRIORITY assigns a new priority value to the thread specified by the thread handle ( hThread ). The thread handle is returned by the THREAD CREATE statement at the time the thread is created. If hThread is zero (0), the thread which is currently executing is presumed. A thread ID cannot be used in place of a thread handle.

The thread priority value must be one of the following:

%THREAD_PRIORITY_IDLE = -15

%THREAD_PRIORITY_LOWEST = -2

%THREAD_PRIORITY_BELOW_NORMAL = -1

%THREAD_PRIORITY_NORMAL = 0

%THREAD_PRIORITY_ABOVE_NORMAL = +1

%THREAD_PRIORITY_HIGHEST = +2

%THREAD_PRIORITY_TIME_CRITICAL= +15

See also

  • PROCESS GET PRIORITY
  • PROCESS SET PRIORITY
  • THREAD Code Group
  • THREAD CREATE
  • THREAD GET PRIORITY
  • IPowerThread.Close method
  • PBXB64 Compiler Help


THREAD STATUS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

THREAD STATUS

Retrieve the Status of a Windows thread.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

THREAD STATUS hThread TO lResult&

Description

Retrieve the Status of a Windows thread.

Kind: Statement | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

THREAD STATUS assigns the status of the thread identified by the DWORD value in hThread (see THREAD CREATE ) to lResult& .

If the function fails, lResult& is set to zero. If the thread is still running, the system value &H103 is assigned. If the thread has terminated and the thread handle has not yet been closed, the return value from the thread Function is assigned to lResult& . To wait for one or more threads to complete execution, use the WaitForSingleObject or WaitForMultipleObjects API functions - see THREAD CLOSE for more information.

The number of currently running threads in a module can be determined with the THREADCOUNT function.

Restrictions

The THREAD STATUS statement generates no run-time errors ; all exceptions are reported in the return value lResult& . A thread ID cannot be used in place of a thread handle.

See also

  • FUNCTION/END FUNCTION statements
  • THREAD CLOSE
  • THREAD Code Group
  • THREAD CREATE
  • IPowerThread.Close method
  • THREAD RESUME
  • THREAD SUSPEND
  • THREADCOUNT
  • THREADED
  • THREADID
  • PBXB64 Compiler Help


THREAD SUSPEND - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

THREAD SUSPEND

Suspend execution of a Windows thread.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

THREAD SUSPEND hThread TO lResult&

Description

Suspend execution of a Windows thread.

Kind: Statement | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

THREAD SUSPEND adds 1 to the suspend count of the thread specified by hThread (see THREAD CREATE ). If it succeeds, the lResult& value is the thread's previous suspend count; otherwise, it is -1. A thread is always suspended if it has a suspend count of 1 or higher.

To decrement the suspend count of a thread, use the THREAD RESUME statement. A suspended thread will only resume execution when its suspend count is decremented to 0.

Restrictions

The THREAD SUSPEND statement generates no run-time errors ; all exceptions are reported in the return value lResult& . A thread ID cannot be used interchangeably with a thread handle. A thread can suspend itself by incrementing its own suspend count.

See also

  • FUNCTION/END FUNCTION statements
  • THREAD CLOSE
  • THREAD Code Group
  • THREAD CREATE
  • IPowerThread.Close method
  • THREAD RESUME
  • THREAD STATUS
  • THREADCOUNT
  • THREADED
  • THREADID
  • PBXB64 Compiler Help


THREADCOUNT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

THREADCOUNT

Return the number of PowerBASIC-created active threads that exist in a module.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

lCount& = THREADCOUNT

Description

Return the number of PowerBASIC-created active threads that exist in a module.

Kind: Function | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Applications will return a THREADCOUNT of at least 1, which is attributed to the "primary" application thread. Additional threads created by the application or module with the THREAD CREATE function will also be included in the tally returned by THREADCOUNT .

THREADCOUNT can be useful for when a "controlling thread" needs to poll the state of a collection of "worker threads" as they complete a set of tasks. However, care should be exercised if other (unrelated) threads may also be running in the same module - in such cases, using THREAD STATUS is the preferred solution. If polling is not desired, the WaitForMultipleObjects API function can also be useful - see THREAD CLOSE for more information.

Restrictions

THREADCOUNT includes threads that have had their thread handle released with THREAD CLOSE, yet are still running.

Threads are initialized and started asynchronously, so it is wise to give the operating system a small amount of time to perform thread initialization before using the THREADCOUNT function to monitor the thread.

A thread Function may not be directly called or executed, except by a THREAD CREATE statement. This restriction is imposed to ensure that PowerBASIC run-time library can maintain a thread-safe state at all times, correctly allocate and deallocate internal thread-local storage), and functions such as THREADCOUNT can return accurate values. See THREAD CREATE for more information and solutions.

See also

  • FUNCTION/END FUNCTION statements
  • THREAD CLOSE
  • THREAD Code Group
  • THREAD CREATE
  • IPowerThread.Close method
  • THREAD RESUME
  • THREAD STATUS
  • THREAD SUSPEND
  • THREADED
  • THREADID
  • PBXB64 Compiler Help


THREADED - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

THREADED

Declare thread-local variables.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

THREADED variable [()] [AS type ] [, variable [()]]
THREADED variable [()] [, variable [()]] [, ...] AS type

Description

Declare thread-local variables.

Kind: Statement | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Threaded variables are global to every Sub , Function , Method , and Property but are not shared across threads. Each thread has its own independent set of thread-local variables .

To declare an array as a threaded variable, use an empty set of parentheses in the variable list: You can then use the DIM statement to dimension the array.

THREADED MyArray%()

THREADED StringArray() AS STRING

The THREADED statement may, optionally, accept a list of variables, all of which are defined by the type descriptor keyword that follows them. For example:

THREADED aaa, bbb, ccc AS INTEGER

THREADED vptr, aptr() AS LONG PTR

Restrictions

DEF type has no effect on variables defined by a THREADED statement.

See also

  • DIM
  • GLOBAL
  • INSTANCE
  • LOCAL
  • STATIC
  • PBXB64 Compiler Help


THREADID - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

THREADID

Return a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

thrdID& = THREADID

Description

Return a

Kind: Function | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The thread ID value is returned for the thread that is currently executing. The Thread ID is intended for use with the various (advanced) thread-related API functions provided by Windows.

Restrictions

The thread ID value cannot be used interchangeably with the thread handle returned by THREAD CREATE .

See also

  • FUNCTION/END FUNCTION statements
  • THREAD CLOSE
  • THREAD CREATE
  • THREAD RESUME
  • THREAD STATUS
  • THREAD SUSPEND
  • THREADED
  • PBXB64 Compiler Help


THREADSAFE Option Descriptor - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

THREADSAFE Option Descriptor

Explains the THREADSAFE option for procedures.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Explains the THREADSAFE option for procedures.

Kind: Conceptual | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


Time Commands - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Time Commands

The following functions manipulate and manage time and the system date:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The following functions manipulate and manage time and the system date:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Set and retrieve the system date.

Converts a Day-of-Week number to the associated name.

Back to command index


TIME$ system variable - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TIME$ system variable

Read and/or set the system time.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = TIME$
TIME$ = string_expression

Description

Read and/or set the system time.

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The system variable TIME$ contains an eight-character string that represents the time of the system clock in the form "hh:mm:ss", where hh is hours (in 24-hour military form), mm is minutes, and ss is seconds.

Assigning string_expression to TIME$ resets the system clock. string_expression must contain time information in military (24-hour) format. Minutes and seconds information can be omitted. For example:

TIME$ = "12" 'set clock to 12 noon

TIME$ = "13:01" 'set clock to 1:01 PM

TIME$ = "13:01:30" 'set clock to 30 sec after 1:01 PM

TIME$ = "0:01" 'set clock to 1 min after midnight

Use the TIMER function to return the number of seconds that have elapsed since midnight.

See also

  • DATE$ system variable
  • MONTHNAME$
  • IPowerTime.AddDays method
  • TIMER
  • TIX - Real CPU Cycle Counter
  • PBXB64 Compiler Help


TIMEBASE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TIMEBASE

Status: implemented and registered in tests/validate.toml.

Chapter: General Reference

Syntax

TIMEBASE = value
ticks = TIMEBASE

Description

Status: implemented and registered in tests/validate.toml.


TIMER - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TIMER

Return the number of seconds that have elapsed since midnight.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

y = TIMER

Description

Return the number of seconds that have elapsed since midnight.

Kind: Function | Category: Utilities

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

TIMER returns the number of seconds since midnight as a Double-precision floating-point value. The resolution is about 1/100 of a second on NT-based platforms, or 1/18th of a second on earlier platforms.

See also

  • DATE$ system variable
  • TIME$ system variable
  • TIX - Real CPU Cycle Counter
  • PBXB64 Compiler Help


TIX - Real CPU Cycle Counter - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TIX - Real CPU Cycle Counter

Measure elapsed CPU cycles. The V8.1 implementation calls the real bestof_tix() user-runtime helper, which reads the processor time-stamp counter with the x64 RDTSC instruction. Counts are returned as QUAD (signed 64-bit) values.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TIX QuadVar
TIX END QuadVar

Description

Measure elapsed CPU cycles. The V8.1 implementation calls the real bestof_tix() user-runtime helper, which reads the processor time-stamp counter with the x64 RDTSC instruction. Counts are returned as QUAD (signed 64-bit) values.

Kind: Statement | Category: Utilities

PBXB64 Status: AVAILABLE — real implementation, not a stub

PBXB64 Certification: [CERTIFIED TESTED]

Description

The first form of TIX retrieves the current value of the high-resolution counter and assigns it to QuadVar.

The second form retrieves the current counter, subtracts the previous value in QuadVar, and assigns the difference back to QuadVar (elapsed cycles since the matching open TIX).

To measure a code block:

TIX Counter&&
' ... statements to measure ...
TIX END Counter&&

The returned unit is the processor time-stamp counter value. It is intended for relative measurements within one process; do not compare absolute values across machines or assume that the counter frequency is the nominal CPU clock.

Example

FUNCTION PBMAIN() AS LONG
    LOCAL n AS LONG
    LOCAL cycles&& AS QUAD
    cycles&& = 0
    TIX cycles&&
    FOR n = 1 TO 1000000
        ' work
    NEXT n
    TIX END cycles&&
    PRINT "1M iterations took"; cycles&&; "ticks"
    FUNCTION = 0
END FUNCTION

See also

  • TIMER
  • PBXB64 Compiler Help


TO - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TO

Separates the start and end values in a FOR clause

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FOR counter = start TO end [STEP increment]

Description

Separates the start and end values in a FOR clause

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The TO keyword appears between the initial value and the limit value in a FOR statement. It is also used in SELECT CASE ranges (CASE low TO high).

Example

FUNCTION PBMAIN () AS LONG
    LOCAL i AS LONG
    FOR i = 1 TO 5
        PRINT i
    NEXT i
END FUNCTION

See also

  • FOR
  • NEXT
  • STEP
  • CASE
  • BASIC Control Flow
  • PBXB64 Compiler Help


TOOLBAR ADD BUTTON - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TOOLBAR ADD BUTTON

A

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TOOLBAR ADD BUTTON hDlg , ID , image& , cmd& , style& , text$ [AT item& ] [CALL callback ]
TOOLBAR ADD SEPARATOR hDlg , ID , size& [, cmd& ] [AT item& ]
TOOLBAR DELETE BUTTON hDlg , id& , [BYCMD] item&
TOOLBAR GET STATE hDlg , ID , [BYCMD] item& TO datav&
TOOLBAR GET COUNT hDlg , ID TO datav&
TOOLBAR SET IMAGELIST hDlg , ID , hLst , ListType&
TOOLBAR SET STATE hDlg , ID , [BYCMD] item& , state&

Description

A

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A TOOLBAR control contains one or more buttons, each of which normally corresponds to a menu item. It is generally placed at the top of the client area of a dialog. When the user "presses" a tool bar button, the program reacts in the same way as if the command had been selected from a menu. It simply acts as a shortcut to common menu commands.

In each of the following descriptions, the TOOLBAR is referenced by the dialog handle ( hDlg ) and id&. In some cases a specific button is chosen with the item& parameter. If the BYCMD option is included, item& specifies the command id number of the button to be used. If not, item& describes the button by its position on the TOOLBAR. Since separators are considered to be a special class of button by the operating system, they must be counted when you calculate a position item number. Positions are always indexed to one (1=first, 2=second, and so on).

TOOLBAR ADD BUTTON hDlg , ID , image& , cmd& , style& , text$ [AT item& ] [CALL callback ]

A button is added to this TOOLBAR. The image to be displayed is selected from the attached IMAGELIST based upon the parameter image& (1=first, 2=second, etc.). The cmd& parameter specifies the command id number to be executed (with %WM_COMMAND) when the button is pressed. The style& parameter describes the style of the button from the following most often used attributes:

%BTNS_AUTOSIZE

The width of the button is calculated by the system, based upon the text and the image.

%BTNS_BUTTON

The button behaves like a standard push button.

%BTNS_CHECK

The button is dual-state which toggles between the pressed and nonpressed state each time it's clicked.

%BTNS_GROUP

Defines a group of buttons. When combined with the check style, it creates a button that stays pressed until another button in the group is pressed. This is similar to an option button or radio button.

%BTNS_CHECKGROUP

A combination of check and group styles.

%BTNS_DROPDOWN

Creates a drop-down style button that can display a list when clicked. Drop-down buttons send a %TBN_DROPDOWN notification instead of %WM_COMMAND.

%BTNS_NOPREFIX

The button text will not have an accelerator prefix associated with it.

The text$ parameter specifies the text to be displayed on the button.

If the optional "AT item& " clause is included, the button is inserted at the designated position (1=first, 2=second, etc.). Otherwise, it is added to the end of the list.

If the optional "CALL callback " clause is included, it specifies the name of a Callback Function that receives %WM_COMMAND messages when the button is clicked. If not specified, these command messages are sent to the dialog callback specified in DIALOG SHOW . Message routing by button allows you to easily determine which button generated the event.

If the Callback Function processes a message, it should return TRUE (non-zero) to prevent the message being passed unnecessarily to the dialog callback (if one exists). The dialog callback should also return TRUE if the notification message is processed by that Callback Function. Otherwise, the DDT engine processes unhandled messages.

TOOLBAR ADD SEPARATOR hDlg , ID , size& [, cmd& ] [AT item& ]

A separator is added to this TOOLBAR. It separates two buttons by the number of pixels specified in size& . It may be used to separate and distinguish two adjacent button groups (%tbstyle_group), or to just enhance the visual appearance. If the optional cmd& parameter is included, it's a unique numeric identifier for this separator. Of course, a separator can't be pressed like a button, so it doesn't literally allow a command to be sent. However, it may be used later with a BYCMD option in TOOLBAR DELETE, TOOLBAR SET STATE, etc. If the "AT item& " clause is included, the separator is inserted at the designated position (1=first, 2=second, etc.). Otherwise, it is added to the end of the list.

TOOLBAR DELETE BUTTON hDlg , ID , [BYCMD] item&

A BUTTON or SEPARATOR, specified by item& , is deleted from the TOOLBAR. The parameter item& may be positional, or it may represent a command id number with BYCMD.

TOOLBAR GET COUNT hDlg , ID to datav&

The number of buttons (and separators) on the TOOLBAR is retrieved and assigned to the long integer variable specified by datav& .

TOOLBAR GET STATE hDlg , ID , [BYCMD] item& TO datav&

The state descriptor bits for a specific button are retrieved and assigned to the variable designated by datav& . The parameter item& tells which button to check -- it may be positional, or it may be the command id number when used with BYCMD. The descriptor bits may consist of one or more of:

%TBSTATE_DISABLED

The button is disabled and grayed. (value=0)

%TBSTATE_CHECKED

The button is checked.

%TBSTATE_PRESSED

The button is pressed.

%TBSTATE_ENABLED

The button is enabled.

%TBSTATE_HIDDEN

The button is hidden.

%TBSTATE_INDETERMINATE

The button is indeterminate and grayed.

%TBSTATE_MARKED

The button is highlighted.

TOOLBAR SET IMAGELIST hDlg , ID , hLst , type&

The IMAGELIST specified by hLst is attached to this TOOLBAR control. The value of ListType& specifies the type of IMAGELIST:

Default images

Disabled images

Hot images

The graphical images contained in the IMAGELIST are displayed on the TOOLBAR buttons. Up to three IMAGELIST structures may be attached to each TOOLBAR control. The image to be displayed is determined by the specification made in TOOLBAR ADD BUTTON, and the current state of the button. When the TOOLBAR control is destroyed, any attached IMAGELIST is automatically destroyed.

TOOLBAR SET STATE hDlg , ID , [BYCMD] item& , state&

The state descriptor bits for the specified button are applied from the expression state& . The parameter item& tells which button to set -- it may be positional, or it may be the command id number when used with BYCMD. The descriptor bits state& may consist of:

%TBSTATE_DISABLED

The button is disabled and grayed. (value=0)

%TBSTATE_CHECKED

The button is checked.

%TBSTATE_PRESSED

The button is pressed.

%TBSTATE_ENABLED

The button is enabled.

%TBSTATE_HIDDEN

The button is hidden.

%TBSTATE_INDETERMINATE

The button is indeterminate and grayed.

%TBSTATE_MARKED

The button is highlighted.

See also

  • DIALOG SHOW MODAL
  • DIALOG SHOW MODELESS
  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD TOOLBAR
  • CONTROL SET FONT
  • IMAGELIST ADD BITMAP
  • PBXB64 Compiler Help


#TOOLS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#TOOLS

Enable or disable integrated development tool code in compiled code.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#TOOLS [ON|+ | OFF|-]

Description

Enable or disable integrated development tool code in compiled code.

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The #TOOLS metastatement allows integrated development tools like TRACE , PROFILE , and CALLSTK to be readily disabled, ensuring that extra code and data is not compiled into the final (distribution) version of an application. #TOOLS defaults to ON, and may appear only once in the source code, before any statement that generates executable code.

See also

  • CALLSTK$
  • CALLSTKCOUNT
  • FUNCNAME$
  • PROFILE
  • TRACE
  • PBXB64 Compiler Help


TRACE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TRACE

Capture a representation of the precise flow of execution in a module.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TRACE NEW fname$
TRACE ON
TRACE PRINT string_expr
TRACE OFF
TRACE CLOSE

Description

Capture a representation of the precise flow of execution in a module.

Kind: Statement | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The TRACE statement is used to generate a trace file detailing program flow as execution passes through Labels , plus entry and exit of all Subs , Functions , Methods , and Properties , along with details of passed parameters, etc. All trace details are written to a named disk file fname$ .

TRACE also logs PowerBASIC run-time errors as they occur, to assist with locating program errors. TRACE can be dynamically started and stopped with the TRACE ON and TRACE OFF statements to enable the programmer to check specific portions of a program without generating volumes of irrelevant trace data.

The five general forms of the TRACE statement are described as follow:

TRACE NEW fname$

TRACE NEW causes a standard sequential trace file (of the specified file name fname$ ) to be created, deleting any previous file of the same name.

TRACE ON

When a subsequent TRACE ON is then executed, PowerBASIC begins to write pertinent trace information to the trace file. It will contain a chronological list of every call to an internal procedure, the associated parameter values, and the point at which it was exited. Further, it will list a label name each time that program execution flows through the label position.

In a test or debugging situation, TRACE, CALLSTK , and CALLSTK$ allow you to easily answer that age-old programming question, "How did I get here?". TRACE details the entry and exit of every procedure in your program, while CALLSTK simply lists the stack frames that exist above the current level. TRACE is particularly valuable in pinpointing the area of a program where a fatal machine crash occurs.

TRACE PRINT string_expr

TRACE PRINT writes the value of string_expr to the trace file. It can be used to record the value of important variables or other information of importance.

TRACE OFF

TRACE OFF temporarily stops output to the trace file. The trace can be subsequently restarted with another TRACE ON statement. An implied TRACE OFF is performed when you exit the procedure in which the current TRACE ON was executed.

TRACE CLOSE

TRACE CLOSE permanently detaches the trace file from the stream of trace data.

The TRACE statement can easily create a huge trace file, so caution must be exercised. Use TRACE ON at the lowest procedure level possible, to keep the output size within reason.

If PBMAIN contains TRACE NEW and TRACE ON statements, and subsequently calls SUB AAA(x&), which in turn calls SUB BBB(y&,a$), which then calls SUB CCC(z&), which encounters a run-time error 5 , the trace file might look something like this:

Trace Begins...

AAA(3)

BBB(4,string data)

CCC(5)

TRACE PRINT printed this user data from CCC()

ERROR 151 was generated in this thread

CCC Exit

BBB Exit

AAA Exit

Numeric parameters are displayed in decimal, while pointer and array parameters display a decimal representation of the offset of the target value.

Restrictions

TRACE can be invaluable during debugging , but it generates substantial additional code that should be avoided in the final release version of an application. If the source code contains #TOOLS OFF , all TRACE statements which remain in the program are ignored by the compiler, and the parameters and expressions are excluded from the compiled program.

To conserve memory requirements in the code, long labels are truncated to 13 characters; however, procedure names are not truncated.

The TRACE statement is "Thread-Aware", displaying only Sub, Function, Method, Property, or Label details from the thread in which it was executed. You can execute TRACE multiple times, or even in multiple concurrent threads. However, you must use caution to ensure that each thread uses a unique name for its own trace file.

See also

  • #TOOLS
  • CALLSTK$
  • CALLSTKCOUNT
  • FUNCNAME$
  • PROFILE
  • PBXB64 Compiler Help


TREEVIEW DELETE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TREEVIEW DELETE

A

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TREEVIEW DELETE hDlg , id& , hItem
TREEVIEW GET BOLD hDlg , id& , hItem TO datav&
TREEVIEW GET CHECK hDlg , id& , hItem TO datav&
TREEVIEW GET CHILD hDlg , id& , hItem TO datav&
TREEVIEW GET COUNT hDlg , id& TO datav&
TREEVIEW GET EXPANDED hDlg , id& , hItem TO datav&
TREEVIEW GET NEXT hDlg , id& , hItem TO datav&
TREEVIEW GET PARENT hDlg , id& , hItem TO datav&
TREEVIEW GET PREVIOUS hDlg , id& , hItem TO datav&
TREEVIEW GET ROOT hDlg , id& TO datav&
TREEVIEW GET SELECT hDlg , id& TO datav&
TREEVIEW GET TEXT hDlg , id& , hItem TO txtv$
TREEVIEW GET USER hDlg , id& , hItem TO datav&
TREEVIEW INSERT ITEM hDlg , id& , hPrnt , hIAftr , image& , simage& , txt$ TO hItem
TREEVIEW RESET hDlg , id&
TREEVIEW SELECT hDlg , id& , hItem
TREEVIEW SET BOLD hDlg , id& , hItem , flag&
TREEVIEW SET CHECK hDlg , id& , hItem , flag&
TREEVIEW SET EXPANDED hDlg , id& , hItem , flag&
TREEVIEW SET IMAGELIST hDlg , id& , hLst
TREEVIEW SET TEXT hDlg , id& , hItem , txt$
TREEVIEW SET USER hDlg , id& , hItem , NumExpr
TREEVIEW UNSELECT hDlg , id&
hItem

Description

A

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

TREEVIEW DELETE hDlg , id& , hItem

The data item specified by the handle hItem is deleted from the TREEVIEW control.

TREEVIEW GET BOLD hDlg , id& , hItem TO datav&

The bold attribute for the data item hItem is retrieved and assigned to the variable datav& . If the item is bold, the value true (-1) is assigned. If not bold, the value false (0) is assigned.

TREEVIEW GET CHECK hDlg , id& , hItem TO datav&

The checkmark attribute for the data item hItem is retrieved and assigned to the variable datav& . If the checkbox is checked, the value true (-1) is assigned. If not checked, the value false (0) is assigned.

TREEVIEW GET CHILD hDlg , id& , hItem TO datav&

The parent data item specified by hItem is scanned for child data items. If any are found, the handle of the first child is assigned to the variable specified by datav& . If none are found, the value zero (0) is assigned to datav& .

TREEVIEW GET COUNT hDlg , id& TO datav&

The number of data items in the TREEVIEW is retrieved, and assigned to the long integer variable specified by datav& .

TREEVIEW GET EXPANDED hDlg , id& , hItem TO datav&

The expanded attribute for the data item hItem is retrieved and assigned to the variable datav& . If the item is expanded, displaying its child data items, the value true (-1) is assigned. If the item is collapsed, the value false (0) is assigned.

TREEVIEW GET NEXT hDlg , id& , hItem TO datav&

The data item specified by hItem is scanned for sibling data items. The handle of the next sibling is assigned to the variable specified by datav& . If no next sibling is found, the value zero (0) is assigned to datav& .

TREEVIEW GET PARENT hDlg , id& , hItem TO datav&

The data item specified by hItem is scanned for its parent data item. The handle of the parent is assigned to the variable specified by datav& . If no parent is found, the value zero (0) is assigned to datav& .

TREEVIEW GET PREVIOUS hDlg , id& , hItem TO datav&

The data item specified by hItem is scanned for sibling data items. The handle of the previous sibling is assigned to the variable specified by datav& . If no previous sibling is found, the value zero (0) is assigned to datav& .

TREEVIEW GET ROOT hDlg , id& TO datav&

The handle of the very first data item (topmost) in the TREEVIEW is retrieved, and assigned to the variable specified by datav& .

TREEVIEW GET SELECT hDlg , id& TO datav&

The handle of the data item currently selected in the TREEVIEW is retrieved, and assigned to the variable specified by datav& . If there is no current selection, the value zero (0) is assigned.

TREEVIEW GET TEXT hDlg , id& , hItem TO txtv$

The text of a specific data item (specified by the handle hItem ) is retrieved from the TREEVIEW control and assigned to the string variable designated by txtv$ .

TREEVIEW GET USER hDlg , id& , hItem TO datav&

Each item in a TREEVIEW may have a long integer user value associated with it at the discretion of the programmer. This user value is assigned with TREEVIEW SET USER and retrieved with TREEVIEW GET USER. The parameter hItem specifies the handle of the user item to be accessed. The returned user value is assigned to the long integer variable specified by datav& . In addition to these TREEVIEW user values, every DDT control offers an additional eight user values which can be accessed with CONTROL GET USER and CONTROL SET USER .

TREEVIEW INSERT ITEM hDlg , id& , hPrnt , hIAftr , image& , selimage& , txt$ TO hItem

A new data item is added to this TREEVIEW control. The parameter hPrnt specifies the parent of this item, or zero if item is to be inserted at the root. The parameter hIAftr specifies the handle of the item after which this new item is to be inserted, or %TVI_FIRST (at the beginning), %TVI_LAST (at the end), %TVI_SORT (alphabetical order). If an IMAGELIST has been attached, the parameters image& and selimage& specify which image should be displayed (1=first, 2=second, etc.) for normal and selected items. If no image is needed, the value(s) 0 should be used. The parameter txt$ designates the text string which should be displayed. If the operation is successful, the handle to the new data item is assigned to the variable designated by hItem . If the operation fails, the value zero is assigned to hItem .

TREEVIEW RESET hDlg , id&

All data items are deleted from the specified TREEVIEW control.

TREEVIEW SELECT hDlg , id& , hItem

The data item specified by the handle hItem is chosen as selected text for the TREEVIEW control, and the selected text is scrolled into a visible position.

TREEVIEW SET BOLD hDlg , id& , hItem , flag&

The bold attribute for the data item specified by hItem is set based upon the value of the flag& parameter. If flag& is true (non-zero), it is displayed in bold format. If flag& is false (zero), it is displayed in normal format.

TREEVIEW SET CHECK hDlg , id& , hItem , flag&

The optional checkbox for the data item specified by hItem is set based upon the value of the flag& parameter. If flag& is true (non-zero), it is checked. If flag& is false (zero), it is unchecked.

TREEVIEW SET EXPANDED hDlg , id& , hItem , flag&

The expanded attribute for the data item specified by hItem is set based upon the value of the flag& parameter. If flag& is true (non-zero), it is displayed in expanded format, with its child items visible. If flag& is false (zero), it is displayed in collapsed format.

TREEVIEW SET IMAGELIST hDlg , id& , hLst

The IMAGELIST specified by hLst is attached to this TREEVIEW control. The images it contains are displayed as needed with each data item. When the TREEVIEW control is destroyed, any attached IMAGELIST is automatically destroyed.

TREEVIEW SET TEXT hDlg , id& , hItem , txt$

The text of a specific data item (specified by the handle hItem ) is replaced by the text in the string expression txt$ .

TREEVIEW SET USER hDlg , id& , hItem , NumExpr

Each item in a TREEVIEW may have a long integer user value associated with it at the discretion of the programmer. This user value is assigned with TREEVIEW SET USER, and retrieved with TREEVIEW GET USER. The parameter hItem specifies the handle of the user item to be accessed, while NumExpr is the user value saved for later retrieval. In addition to these TREEVIEW user values, every DDT control offers an additional eight user values which can be accessed with CONTROL GET USER and CONTROL SET USER.

TREEVIEW UNSELECT hDlg , id&

All items in the TREEVIEW control are set to an unselected state.

See also

  • Dynamic Dialog Tools (DDT)
  • CONTROL ADD TREEVIEW
  • CONTROL SET COLOR
  • CONTROL SET FONT
  • IMAGELIST ADD BITMAP
  • PBXB64 Compiler Help


Tricks in preserving registers - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Tricks in preserving registers

When you are developing mixed assembler /API code, and you do not know what registers are used in the API functions, you can draw upon two pairs of assembler instructions that preserve all of the usua

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

When you are developing mixed assembler /API code, and you do not know what registers are used in the API functions, you can draw upon two pairs of assembler instructions that preserve all of the usua

Kind: Keyword | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The first pair of mnemonics, PUSHAD and POPAD, save and restore the registers in a block. These mnemonics allow you to do things like display the value of a register in the middle of assembler code with a MessageBox API call.

Back to command index


Tricks of the stack - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Tricks of the stack

The stack is very flexible in what can be pushed and popped. There are a few tricks that are very useful when using the stack, you can push a 32-bit value and then pop two 16-bit values.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The stack is very flexible in what can be pushed and popped. There are a few tricks that are very useful when using the stack, you can push a 32-bit value and then pop two 16-bit values.

Kind: Keyword | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

' Push a 32 bit value onto the stack

' Now pop two 16 bit values off the stack

Back to command index


TRIGAMMA - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TRIGAMMA

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = TRIGAMMA( x )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TRIM$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

TRIM$

Removes leading and trailing characters or substrings.

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

NewString$ = TRIM$( OldString$ [, [ANY] CharsToTrim$ ])
NewString$ = TRIM$( NumrExpr [, Digits& ])

Description

Removes leading and trailing characters or substrings.

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

TRIM$ combines the functionality of LTRIM$ and RTRIM$ into a single function . OldString$ is the string expression from which to remove characters, and CharsToTrim$ is the string expression to remove leading and trailing occurrences. If CharsToTrim$ is not specified, TRIM$ removes leading and trailing spaces.

If the ANY keyword is included, CharsToTrim$ specifies a list of single characters to be searched for individually, a match on any one of which as a leading or trailing character will cause the character to be removed from the result.

NumrExpr

If a numeric expression is provided as the parameter, it is converted to a string (just like STR$ ), but with no leading or trailing spaces.

digits&

The maximum number of significant digits, in the range of 1 to 18. If not included, PowerBASIC supplies a default value of 7 for single precision values, or 16 for more precise values. Use care that digits& is large enough to contain the integral part of a number, or scientific notation must be used to estimate it. For example, TRIM$(123.456, 2) returns "1.2E+2", while FORMAT$ (123.456, 5) returns the string "123.45".

Restrictions

TRIM$ is case sensitive, so capitalization matters.

See also

  • CLIP$
  • FORMAT$
  • INSTR
  • LCASE$
  • LTRIM$
  • MCASE$
  • MID$
  • REMOVE$
  • REPLACE
  • RIGHT$
  • RTRIM$
  • SHRINK$
  • TALLY
  • UCASE$
  • UNWRAP$
  • VERIFY
  • PBXB64 Compiler Help


TRUE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TRUE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

IF flag = TRUE THEN

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TRY/END TRY - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Control Flow PBXB64 Compiler Help

TRY/END TRY

A structured method of trapping and responding to

Chapter: Control Flow | Certification: [CERTIFIED TESTED]

Syntax

TRY
[ statements ]
[EXIT TRY]
CATCH
[ error handling statements ]
[FINALLY
[ statements ]]
END TRY

Description

A structured method of trapping and responding to

Kind: Keyword | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Statements in the TRY section are executed normally. The first time a run-time error occurs, control is transferred to the CATCH section. If no run-time errors are generated in the TRY section, the CATCH section is skipped entirely.

Then, regardless of error status, the FINALLY section is executed, if it is present. Error trapping and control transfer are disabled in the CATCH and FINALLY sections, so you would normally use conventional "IF ERR = " tests to check the success of error-prone operations in those sections.

However, TRY structures can be nested to any level, so it may be desirable to use another TRY block within these clauses.

Restrictions

CATCH is a mandatory section of this structure, although the FINALLY section is optional.

Because of the nesting requirements, the ERR value is local to the TRY structure. Upon exit, the prior ERR value is restored, so be sure to save the value of ERR if it will be needed outside of the TRY structure.

To leave the TRY structure, execution must pass normally through END TRY, or by an EXIT TRY statement. Leaving a TRY block any other way is strongly discouraged because error trapping will remain disabled, and the previous ERR value will not be restored. Future versions of PowerBASIC may disallow such practices.

ON ERROR GOTO is invalid within a TRY structure, but may be used within the same Sub / Function / Method / Property .

See also

  • #DEBUG ERROR
  • ERL system variable
  • ERR system variable
  • ERROR$
  • Error Overview
  • Error Trapping
  • ON ERROR
  • PBXB64 Compiler Help


TURTLE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TURTLE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

GRAPHIC WINDOW titel$, x, y, breite, hoehe [TO handle]
TURTLE befehl [argumente]

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT ADDTEXT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT ADDTEXT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result$ = TXT.ADDTEXT(text$, suffix$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT ATTRIBUTE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT ATTRIBUTE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

attr& = TXT.ATTRIBUTE(text$, name$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT CLOSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT CLOSE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

TXT.CLOSE handle&

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT COLOR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT COLOR

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text$ = TXT.COLOR(text$, color&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT COUNT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT COUNT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

count& = TXT.COUNT(handle&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT DELETE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT DELETE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result$ = TXT.DELETE(text$, start&, count&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT FIND - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT FIND

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

pos& = TXT.FIND(text$, find$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT FONT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT FONT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text$ = TXT.FONT(text$, face$, size&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT INDEX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT INDEX

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

idx& = TXT.INDEX(text$, find$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT INPUT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT INPUT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

TXT.INPUT handle&, target$

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT INSERT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT INSERT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result$ = TXT.INSERT(text$, position&, insert$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT LINE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT LINE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

line$ = TXT.LINE(text$, line&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT OPEN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT OPEN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

TXT.OPEN path$, mode$ TO handle&

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT PRINT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT PRINT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

TXT.PRINT handle&, text$

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT pseudo-object - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT pseudo-object

Status: implemented as PB frontend pseudo-object method dispatch.

Chapter: General Reference

Description

Status: implemented as PB frontend pseudo-object method dispatch.

The TXT. form is recognized by the expression parser and dispatched through the TXT method handler. Available members and their argument contracts are determined by that handler; invalid members or signatures must be treated as compiler diagnostics.

Back to command index


TXT REPLACE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT REPLACE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result$ = TXT.REPLACE(text$, old$, new$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT SELECT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT SELECT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

part$ = TXT.SELECT(text$, start&, count&)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TXT SELTEXT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TXT SELTEXT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text$ = TXT.SELTEXT(text$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TYPE/END TYPE - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Declarations PBXB64 Compiler Help

TYPE/END TYPE

Define a

Chapter: Declarations | Certification: [CERTIFIED TESTED]

Syntax

TYPE MyType [BYTE | WORD | DWORD | QWORD] [FILL]
[ MemberName [( subscripts )] AS] TypeName
[ MemberName [(subscripts)] AS TypeName ]
[...]
END TYPE

Description

Define a

Kind: Structure | Category: Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The TYPE statement has the following parts:

The beginning of a User-Defined Type definition.

MyType

The name of the User-Defined Type, which must conform to standard variable naming conventions.

Member alignment

TYPE definitions may optionally specify an alignment of BYTE (the default), WORD , DWORD , or QWORD , as well as FILL characteristics. With standard alignment, each member of a Type Structure will be located on the specified boundary. For example, with DWORD, up to 3 bytes may be skipped between members to accomplish alignment.

However, when a user-defined type is defined as a member of a larger user-defined type, this "sub-type" retains its original size and alignment, just as first declared.

Each member will be aligned on a BYTE boundary - no padding or alignment is applied to the structure. This is the default alignment method.

Each member will be aligned on a WORD boundary. Any odd byte between members of TYPE will be automatically skipped and ignored. The UDT structure may also be padded with one trailing byte to ensure the total structure size is a multiple of 2 bytes.

Each member will be aligned on a DWORD boundary. Up to three bytes will be skipped to accomplish this alignment. The UDT structure is also padded with up to three trailing bytes to ensure the total structure size is a multiple of 4 bytes.

QWORD alignment is included for compatibility with Windows, it cannot be fully implemented in a 32-bit operating system. With QWORD, individual members are 64-bit aligned for the appropriate structure size, but variables of that type may only be aligned on 32-bit boundaries, as stack pointer alignment is not guaranteed.

If the FILL option is specified, such as TYPE xxx DWORD FILL, the following rules apply:

1. No bytes are skipped if the next member of the Type will fit entirely into that space to be skipped.

2. Fixed-length strings are considered to be an array of bytes, so no bytes are skipped preceding them.

3. The total size of an array is considered to determine if FILL should affect its placement within the structure. For example, with DWORD FILL, an array of two integers would be started on a 4-byte boundary, even if two or three bytes must be skipped.

Type members

MemberName

The name of a member of the User-Defined Type. This too must follow the standard variable naming conventions.

subscripts

The dimensions of a member array . Arrays of one and two dimensions are supported, but must be defined with constant or numeric literal values. That is, the total size of a UDT must be known at compile-time, so items like dynamic strings , which vary in size, cannot be part of a TYPE structure. A STRING PTR can, however, since a pointer is implemented as a DWORD.

Like conventional arrays, the default lower array boundary is zero, but positive non-zero values may be used to specify a specific range of subscript index values for the array, separated from the upper array boundary subscript with the TO keyword. Additionally, both the lower and upper subscript index values must be zero or greater (ie, negative subscript values are not permitted). Examples of valid syntax follow:

TYPE MYTYPE

id AS INTEGER ' Scalar UDT member

Styles(6) AS DWORD ' 7 elements (0 TO 6)

Yrs(1980 TO 2010) AS LONG ' 31 elements

Team(100 TO 101) AS BYTE ' 2 elements

Rating(1 TO 10) AS DWORD ' 10 elements

X(1 TO 5, 0 TO 5) AS EXT ' 30 elements (5x6)

Y(4,3) AS QUAD ' 20 elements (5x4)

END TYPE

Individual UDT structures can be up to 16 MB each. A single member element of a UDT may also occupy the entire 16 MB. For example, arrays within a UDT, nul-terminated strings , and fixed-length strings . UDT member arrays are not resizable at runtime. Additionally, the cannot be used directly on a UDT member array. Instead, use DIM..AT to declare a conventional array at the same memory address as the UDT member array, and the ARRAY statement can then be used on that array.

TypeName

One of the supported data types, including User-Defined Types and Unions , with the exception of arrays.

END TYPE

Marks the end of the User-Defined Type definition.

It is often very convenient to be able to refer to several different types of things as a single unit or data structure. For example, in an accounting program, an account number and amount are part of what makes up a single journal entry. The TYPE/END TYPE block statements make it easy to create a single UDT that holds such information.

TYPE JournalType DWORD ' type name and alignment

AccountNumber AS LONG ' member name and data type

Amount AS CUR ' this is another one

END TYPE ' end of type declaration

DIM JournalEntry AS JournalType ' declare a record

TYPE/END TYPE blocks must be defined outside of a Sub , Function , or Class and may be defined only once in any program. It is usually easiest to put your TYPE/END TYPE block definitions in an Include file and use the #INCLUDE metastatement in any module that may need to use them.

TYPE/END TYPE blocks do not declare any variables; instead, they simply define a new type. You can declare variables of that type using the DIM or REDIM statements, or any statement that lets you use an AS clause:

DIM TypeVariable as TypeVariableType

Once you have a User-Defined Type variable declared, you can access its member elements using the following format:

TypeVariable.Element

For example, to change the account number in the JournalEntryType type, you might use a statement like:

JournalEntry.AccountNumber = 1000

A User-Defined Type can be used like any built-in PowerBASIC type. For example, you can define an array of record variables:

DIM JournalEntries(1 TO 100) AS JournalEntryType

or even create a procedure that accepts a record variable:

SUB PrintJournalEntry(aJournalEntry AS JournalEntryType)

' Print journal

END SUB

You can also use pointers in a TYPE definition. Note that the first member in the next example is auto-aligned to start on a DWORD boundary, and three bytes are skipped so that the second member is also aligned on a DWORD boundary:

TYPE MyType DWORD

Count AS BYTE ' Aligned to a DWORD boundary

y AS INTEGER PTR ' Aligned to next DWORD boundary

z AS STRING PTR

END TYPE

Since pointers are stored as a DWORD, their length is 4 bytes when used in a TYPE/END TYPE, regardless of the length of their target. To access the target of a pointer, you must place the at-sign in front of the TYPE/END TYPE member, not the name of the TYPE itself:

iResult% = @MyType.y ' Invalid

iResult% = MyType.@y ' Valid

You can also declare a variable that is a pointer to a TYPE:

TYPE MyData

Val1 AS INTEGER

Val2 AS INTEGER

Val3 AS INTEGER

Val4 AS INTEGER

END TYPE

DIM Info AS MyData PTR

Info = VARPTR(YourData)

Message$ = HEX$(@Info.Val1) + $CRLF + _

HEX$(@Info.Val2) + $CRLF + _

HEX$(@Info.Val3) + $CRLF + _

HEX$(@Info.Val4)

Note that the target specifier is in front of the TYPE name since it is the pointer. Val1, Val2, Val3, and Val4 represent offsets from that pointer. PowerBASIC does support a pointer within a structure pointer, but you should be very careful in their use. Changing the structure pointer itself could make all member pointers invalid. See the topic on pointers for more information.

Bit Variables

TYPE structures may contain bit variables, which are named BIT (unsigned values) or SBIT (signed values). Each bit variable may occupy from 1 to 31 bits, and they may be packed one after another up to a total of 32 bits per bit field. The size of a bit variable is defined as follows:

var AS BIT * nlit [IN BYTE|WORD|DWORD]

where the term "* nlit" defines the number of bits (1 to 31), and the optional term "IN BYTE|WORD|DWORD", if present, defines the start of a new bit field of 1, 2, or 4 bytes. For example:

TYPE ABCD

Valu2 AS BIT * 31 IN DWORD

Sign1 AS SBIT * 1

nybl2 AS BIT * 4 IN BYTE

nybl1 AS BIT * 4

END TYPE

The example TYPE structure above is 5 bytes in size, containing a 4-byte bit field and a 1-byte bit field. In this case, each contains two bit-variables of varying size. The range of values which may be stored depends upon the number of bits available. For example, "BIT * 4" has a range of 0 to 15, "SBIT * 1" has a range of -1 to 0, and "SBIT * 5" has a range of -16 to +15.

Structures within structures

Structures (TYPE/UNION) may be embedded within another structure, for simplification in referencing deeply nested items, by simply stating the structure name alone at the appropriate position. The internal alignment of the member structure is precisely maintained regardless of other alignment specifications, to foster inheritance issues. For example:

TYPE ABCD3

A AS LONG

C AS LONG

END TYPE

TYPE ABCD2

D AS DWORD

E AS DOUBLE

END TYPE

UNION ABCD1

F AS DWORD

G AS LONG

H AS SINGLE

END UNION

In this case, you could access the lone Single-precision float member of this structure very simply. Assuming DIM X AS ABCD3, you could reference the Single-precision Union member with the statement X.H, instead of the extended syntax X.ABCD2.ABCD1.H

For related information, please refer to the UNION/END UNION and User-Defined Types and Unions sections.

Restrictions

When measuring the size of a padded (aligned) UDT structure with the LEN or SIZEOF statements, the measured length includes any padding that was added to the structure. For example, the following UDT structure:

TYPE LengthTestType DWORD

a AS INTEGER

END TYPE

' more code here

DIM abc AS LengthTestType

x& = LEN(abc)

Returns a length of 4 bytes in x& , since the UDT was padded with 2 additional bytes to enforce DWORD alignment. Note that the LEN and SIZEOF of individual UDT members will return the true size of the member without regard to padding or alignment. In the previous example, LEN(abc.a) returns 2.

Individual UDT structures can be up to 16 MB each. Arrays within a UDT, nul-terminated strings and fixed-length strings may occupy the full 16 MB structure size limit.

Field strings and dynamic strings cannot be used in UDT or UNION structures. Attempting to do so results in a compile-time Error 485 ("Dynamic/Field strings not allowed").

See also

  • DIM
  • LEN
  • REDIM
  • LET statement (with Types)
  • SIZEOF
  • TYPE SET
  • UNION/END UNION
  • User-Defined Types (UDTs)
  • Unions
  • PBXB64 Compiler Help


TYPE SET - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

TYPE SET

Assign the value of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

TYPE SET typevar = { typevar | ByteStringExpr$ } [USING ustring_expression ]

Description

Assign the value of a

Kind: Statement | Category: Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

TYPE SET is primarily designed to assign the value of a User-Defined Type (UDT) to a different class of User-Defined Type. Additionally, TYPE SET can be used to assign a string expression ( ByteStringExpr$ ) to a UDT, though it is generally not appropriate to assign a wide Unicode string.

Any Byte positions remaining after the assignment are filled (padded) in the target typevar with the first character of the USING string expression, or binary zeros if not specified.

See also

  • CSET$
  • LET statement (with Types)
  • LSET$
  • RSET$
  • TYPE/END TYPE
  • PBXB64 Compiler Help


UBOUND - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UBOUND

Return the largest possible

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

y = UBOUND( array [( dimension )])
y = UBOUND( array , dimension )

Description

Return the largest possible

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

array is the array of interest. dimension is an integeral value or expression from 1 up to the number of dimensions in array; it specifies which dimension's upper bound value will be returned. If you omit dimension, it defaults to 1 (the first dimension). To find the lower bound of an array's dimension, use the LBOUND function. Use LBOUND and UBOUND together to determine an array's size. UBOUND of an undimensioned array returns -1, so that UBOUND(array) - LBOUND(array) + 1 yields zero (0) for such an array.

Restrictions

UBOUND cannot be used on arrays within User-Defined Types .

See also

  • ARRAYATTR
  • DIM
  • LBOUND
  • REDIM
  • PBXB64 Compiler Help


UCASE$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

UCASE$

Return an all-uppercase (capitalized) version of a string

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

s$ = UCASE$( string_expression [,ANSI | OEM])

Description

Return an all-uppercase (capitalized) version of a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

UCASE$ returns a string equivalent to string_expression , except that lowercase letters in string_expression are converted to uppercase. The optional ANSI or OEM parameter specifies whether the conversion is made using the ANSI charset for the system, or the original IBM OEM charset. If no charset is specified, PowerBASIC for Windows uses the system ANSI charset, while PB/CC uses the IBM OEM charset. Only "International" characters in the range of CHR$ (128) to CHR$(255) are affected by this parameter.

The OEM charset is based upon the original IBM OEM charset to ensure compatibility with programs written for all previous versions of the PowerBASIC compiler.

See also

  • ASC
  • LCASE$
  • MCASE$
  • PBXB64 Compiler Help


UCODE$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UCODE$

Translates

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

a$ = UCODE$( AnsiStrExpression [, CodePage& ])

Description

Translates

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This version of PowerBASIC handles all conversions between ANSI strings and UNICODE strings automatically. For example:

MyWideString$$ = MyAnsiString$

In this case, the ANSI characters are transparently converted to WIDE UNICODE characters when they are stored in MyWideString$ . You should not insert a UCODE$ function here. The simple fact that the variables are of differing types (ANSI/WIDE) causes the compiler to make all conversions for you, whenever they are needed.

Of course, this automatic conversion was not available in previous versions of the compiler. In the past, there were no WIDE UNICODE variables offered, so it was necessary to force wide characters into standard byte strings when UNICODE was needed. The ACODE$ and UCODE$ functions are used for this purpose alone: to support legacy programs which calculated strings in this fashion.

New PowerBASIC programs and updates to your older PowerBASIC programs should use the new WIDE UNICODE variables which are now available.

UCODE$ presumes that the AnsiStrExpression contains ANSI byte characters stored in an ANSI byte string. It converts them into WIDE UNICODE characters and returns them as an ANSI byte string. To convert a UNICODE byte string into an ANSI byte string, use the ACODE$ function.

If the optional parameter CodePage& is present, it represents the code page to be used for the conversion process. If not given, the default code page for the locale of the executing computer is used.

Unicode strings require two bytes to represent a Unicode character, whereas ANSI strings (the native PowerBASIC string format) use one byte to represent a character. Therefore, UCODE$ returns a string that has double the byte count of the ANSI string, yet represents the same number of characters.

See also

  • ACODE$
  • UCODEPAGE
  • PBXB64 Compiler Help


UCODEPAGE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UCODEPAGE

Set the default codepage used for

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

UCODEPAGE ANSI|OEM| NumExpr [TO PrevPage& ]

Description

Set the default codepage used for

Kind: Statement | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

PowerBASIC will make many conversions between ANSI and UNICODE (wide character) strings . UCODEPAGE specifies the CodePage to be used for these translations. The default is UCODEPAGE ANSI which will use the system ANSI codepage for your computer. UCODEPAGE OEM will use the system OEM codepage for your computer, while a numeric expression can specify a particular CodePage of your choice.

If the optional TO clause is used, the number of the previous default CodePage is assigned to the long integer variable specified by PrevPage& . By saving the previous codepage, you can later restore it, if that's appropriate.

This statement does not change the CodePage in use by your computer. It tells which codepage PowerBASIC should use for ANSI/UNICODE conversions.

By default, the system ANSI CodePage, is used to map the character translation, and this generally works very well, as it represents the usual codepage for your primary language. However, if you are compiling a CONSOLE application which makes use of the high-order ANSI codes, CHR$ (128) through CHR$(255) for line drawing and a few international characters, you should declare an OEM CodePage by placing UCODEPAGE OEM at the start of your MAIN function.

The CodePage specification is maintained on a thread-by-thread basis. At program start, the default is the system ANSI CodePage. If a new thread is launched, it inherits the CodePage in use by the main thread.

See also

  • ACODE$
  • UCODE$
  • PBXB64 Compiler Help


UDP CLOSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UDP CLOSE

Close a previously opened

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

UDP CLOSE [#] fNum&

Description

Close a previously opened

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Close the previously opened UDP/IP port specified by fNum& .

See also

  • TCP and UDP Communications
  • TCP CLOSE
  • UDP NOTIFY
  • UDP OPEN
  • UDP RECV
  • UDP SEND
  • PBXB64 Compiler Help


UDP NOTIFY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UDP NOTIFY

Designate which

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

UDP NOTIFY [#] fNum& , {SEND | RECV | CLOSE} TO hWnd& AS wMsg&

Description

Designate which

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Designates which events (SEND, RECV, and CLOSE) will generate a notification wMsg& message, to be sent to the window/dialog procedure (CALLBACK), identified by the window handle hWnd& .

Your program defines the wMsg& value, and this value should be equal or larger than %WM_USER + 500, to avoid conflict with common Windows callback message values.

When the nominated Callback Function receives the wMsg& notification, the wParam& parameter identifies the operating system's handle of the socket (see FILEATTR ). The low-order Word of lParam& specifies the code of the event (see table below), and the high-order Word of lParam& contains the error code (if any).

LO(WORD, lParam& )

Definition

%FD_READ

Data is available to be read from the socket.

%FD_WRITE

The socket is ready for data to be written.

%FD_CLOSE

The socket has been closed.

Notification messages do not arrive in unabated or continuous streams. That is, once a particular notification message arrives, it will not be sent again until the initial message is acted upon. For example, if an %FD_READ notification is received for a particular socket, it will not be resent until after a UDP RECV statement is executed.

The Winsock error codes are listed in WINSOCK2.INC, prefixed with %WSAE .

See also

  • FILEATTR
  • TCP and UDP Communications
  • TCP NOTIFY
  • UDP CLOSE
  • UDP OPEN
  • UDP RECV
  • UDP SEND
  • PBXB64 Compiler Help


UDP OPEN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UDP OPEN

Create a socket for an application to communicate with a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

UDP OPEN [PORT p& ] AS [#] fNum& [TIMEOUT timeoutval& ]

Description

Create a socket for an application to communicate with a

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Open a UDP socket (port or service) for UDP communication. FNum& is a file number such as #1, or a variable with a value obtained using the FREEFILE function.

If PORT p& is specified, the socket is opened as a server that can receive UDP data. Use the UDP NOTIFY statement to receive server notifications from the socket so that the data can be retrieved. Common port numbers include 7 (Echo, see RFC 862); 37 (Time, see RFC868); and 123 (NTP - RFC1305).

TIMEOUT

The TIMEOUT option allows you to specify how long, in milliseconds ( mSec ), a UDP SEND/RECV operation should wait for completion. If the specified number of milliseconds elapses, the UDP operation will fail, and the ERR system variable will be set to indicate a run-time Error 24 ("Device timeout"). The default timeout is 60000 milliseconds (60 seconds).

See also

  • TCP and UDP Communications
  • FREEFILE
  • TCP OPEN
  • UDP CLOSE
  • UDP NOTIFY
  • UDP RECV
  • UDP SEND
  • PBXB64 Compiler Help


UDP RECV - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UDP RECV

Receive data from a previously opened

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

UDP RECV [#] fNum& , FROM ip& , pNum& , Buffer$

Description

Receive data from a previously opened

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Receive any bytes from the previously opened UDP port specified by fNum& , and place them into Buffer$ . The IP address that sent the UDP packet is placed into the ip& variable, and the port number is placed into the pNum& variable .

ip& and pNum& may be subsequently used to send data back in response to data received.

UDP RECV is a blocking statement. That is, execution does not continue until either data is retrieved from the socket, or the timeout period expires.

If a timeout occurs, a run-time Error 24 ("Device timeout") is generated and placed in the ERR system variable. See UDP OPEN to specify the UDP socket timeout value.

See also

  • TCP and UDP Communications
  • TCP RECV
  • UDP CLOSE
  • UDP NOTIFY
  • UDP OPEN
  • UDP SEND
  • PBXB64 Compiler Help


UDP SEND - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UDP SEND

Send a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

UDP SEND [#] fNum& , AT ip& , pNum& , string_expression

Description

Send a string

Kind: Statement | Category: Communications

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Write the specified string_expression to the UDP/IP port pNum& at the IP address specified in ip& , using the UDP connection specified by fNum& .

See also

  • TCP and UDP Communications
  • TCP SEND
  • UDP CLOSE
  • UDP NOTIFY
  • UDP OPEN
  • UDP RECV
  • PBXB64 Compiler Help


UDT Examples - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UDT Examples

Complete, copy-pasteable examples for TYPE/END TYPE, member access, arrays of UDTs, nested UDTs, bit fields, and UNION.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Complete, copy-pasteable examples for TYPE/END TYPE, member access, arrays of UDTs, nested UDTs, bit fields, and UNION.

Kind: Examples | Category: Basic Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Example

#COMPILE EXE
#DIM ALL

TYPE StudentRec
  ID        AS LONG
  Name      AS STRING * 32
  Score     AS SINGLE
END TYPE

FUNCTION PBMAIN() AS LONG
  LOCAL s AS StudentRec
  s.ID    = 42
  s.Name  = "Alice Smith"
  s.Score = 95.5

  PRINT s.ID; ", "; s.Name; ", "; s.Score

  FUNCTION = 0
END FUNCTION

See also

  • TYPE/END TYPE
  • User-Defined Types (UDTs)
  • UNION/END UNION
  • DIM
  • LEN
  • SIZEOF
  • PBXB64 Compiler Help


UINT128 / U128 - 128-bit Unsigned Integer - PBXB64 Compiler Help

Home › Data Types › Wide Integer Types PBXB64 Compiler Help

UINT128 / U128 - 128-bit Unsigned Integer

A 128-bit unsigned integer with full inline arithmetic support. The range is 0 to 3.4&times;1038 (0 to 2128-1).

Chapter: Wide Integer Types | Certification: [CERTIFIED TESTED]

Description

A 128-bit unsigned integer with full inline arithmetic support. The range is 0 to 3.4×1038 (0 to 2128-1).

Kind: Data Type | Category: Numeric Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Declaration

LOCAL a AS UINT128
LOCAL b AS U128

Size and Alignment

  • Size: 16 bytes (2 × 64-bit words)
  • Alignment: 16 bytes

Arithmetic Operations

All operations are inline native x64 code - no runtime library calls:

Operation | Implementation
ADD, SUB | Carry-chain across two 64-bit words using CMP_LT
AND, OR, XOR | Independent word-wise operations
SHL, SHR | Cross-word shift with carry propagation
MUL | UMULH opcode - schoolbook algorithm (lo×lo, UMULH, cross-terms)
DIV, REM | Inline IR decomposition with __udivti3 local implementation
CMP | Lexicographic unsigned compare across both words

Example

FUNCTION PBMAIN() AS LONG
  LOCAL a AS UINT128
  LOCAL b AS UINT128
  LOCAL c AS UINT128

  a = 18446744073709551615   ' 2^64 - 1
  b = 1
  c = a + b                  ' 2^64 — fits in 128 bits
  PRINT c

  FUNCTION = 0
END FUNCTION

See also

  • INT128 / I128 - 128-bit Signed Integer
  • UINT256 / U256 - 256-bit Unsigned Integer
  • UINT512 / U512 - 512-bit Unsigned Integer
  • Double-word (???)
  • Quad integers (&&)
  • PBXB64 Compiler Help


UINT256 / U256 - 256-bit Unsigned Integer - PBXB64 Compiler Help

Home › Data Types › Wide Integer Types PBXB64 Compiler Help

UINT256 / U256 - 256-bit Unsigned Integer

A 256-bit unsigned integer with inline ADD/SUB/CMP/AND/OR/XOR/SHL and optimized runtime MUL/DIV/REM. The range is 0 to approximately 1.16&times;1077 (0 to 2256&minus;1).

Chapter: Wide Integer Types | Certification: [CERTIFIED TESTED]

Description

A 256-bit unsigned integer with inline ADD/SUB/CMP/AND/OR/XOR/SHL and optimized runtime MUL/DIV/REM. The range is 0 to approximately 1.16×1077 (0 to 2256−1).

Kind: Data Type | Category: Numeric Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Declaration

LOCAL a AS UINT256
LOCAL b AS U256

Size and Alignment

  • Size: 32 bytes (4 × 64-bit words)
  • Alignment: 16 bytes
  • Stack slot: One 32-byte frame object

Arithmetic Operations

All operations are native x64 code. Simple operations (ADD, SUB, CMP, AND, OR, XOR, SHL) are emitted as inline instruction sequences. Multiplication and division use optimized C runtime helpers compiled into the user executable.

Operation | Implementation | Performance
ADD | Carry-chain across four 64-bit words using ADC (add-with-carry) | Inline, 4 instructions
SUB | Borrow-chain across four 64-bit words using SBB (subtract-with-borrow) | Inline, 4 instructions
AND, OR, XOR | Independent word-wise operations across four 64-bit words | Inline, 4 instructions each
SHL | Cross-word shift with carry propagation: word shift + bit shift | Inline, ~10 instructions
SHR | Logical right shift: zero-fill propagation across words | Inline, ~10 instructions
CMP | Lexicographic unsigned compare across all words (MSB to LSB) | Inline, ~6 instructions
NEG | Two's complement: bitwise NOT + increment with carry | Inline, ~8 instructions
MUL | Schoolbook multiplication using unsigned __int128 (128-bit) accumulator for cross-terms; 4×4 word matrix | Runtime call bestof_u256_mul
DIV | Long division with bit-by-bit trial subtraction | Runtime call bestof_u256_div
REM | Same division algorithm, returns remainder | Runtime call bestof_u256_rem

Implementation Details

Addition and Subtraction

The compiler emits an inline carry-chain using ADC (add-with-carry) for addition and SBB (subtract-with-borrow) for subtraction across four 64-bit words:

; ADD (a + b -> out)
mov  rax, [a+0]   ; load low word
add  rax, [b+0]   ; add low word
mov  [out+0], rax ; store low result
mov  rax, [a+8]
adc  rax, [b+8]   ; add-with-carry
mov  [out+8], rax
mov  rax, [a+16]
adc  rax, [b+16]
mov  [out+16], rax
mov  rax, [a+24]
adc  rax, [b+24]
mov  [out+24], rax

Multiplication

Multiplication uses a schoolbook algorithm. For each pair of 64-bit words a[i] × b[j], the 128-bit product is accumulated into a temporary 512-bit array, then the low 256 bits are stored as the result. The runtime function is bestof_u256_mul.

Division and Remainder

Division uses unsigned long division with trial subtraction. The algorithm aligns the divisor to the most significant bit of the dividend, then iterates bit-by-bit, subtracting when the current remainder is greater than or equal to the aligned divisor. The runtime functions are bestof_u256_div and bestof_u256_rem.

Performance Note: DIV and REM are the slowest operations. For divisions by powers of 2, use right-shift (SHR) instead, which is fully inline and much faster. Unsigned SHR is logical (zero-fill), making it ideal for extracting bit fields.

Limitations

  • Division by zero is not trapped by the compiler; it produces a zero quotient and zero remainder at runtime.
  • Right-shift (SHR) is logical (zero-fill), unlike signed integers which use arithmetic (sign-fill) shift.
  • Only integer literal values that fit in the compiler's internal representation can be assigned at compile time. Very large values (over ~263) must be built up through arithmetic or shift operations.

Example

FUNCTION PBMAIN() AS LONG
  LOCAL a AS UINT256
  LOCAL b AS UINT256
  LOCAL c AS UINT256

  a = 340282366920938463463374607431768211455  ' 2^128 - 1
  b = 1
  c = a + b                                  ' 2^128 — wraps naturally in 256 bits
  PRINT c

  c = c - b                                  ' back to 2^128 - 1
  PRINT c

  FUNCTION = 0
END FUNCTION

See also

  • UINT128 / U128 - 128-bit Unsigned Integer
  • UINT512 / U512 - 512-bit Unsigned Integer
  • INT256 / I256 - 256-bit Signed Integer
  • Double-word (???)
  • Quad integers (&&)
  • PBXB64 Compiler Help


UINT512 / U512 - 512-bit Unsigned Integer - PBXB64 Compiler Help

Home › Data Types › Wide Integer Types PBXB64 Compiler Help

UINT512 / U512 - 512-bit Unsigned Integer

A 512-bit unsigned integer with inline ADD/SUB/CMP/AND/OR/XOR/SHL and optimized runtime MUL/DIV/REM. The range is 0 to approximately 1.34&times;10154 (0 to 2512&minus;1).

Chapter: Wide Integer Types | Certification: [CERTIFIED TESTED]

Description

A 512-bit unsigned integer with inline ADD/SUB/CMP/AND/OR/XOR/SHL and optimized runtime MUL/DIV/REM. The range is 0 to approximately 1.34×10154 (0 to 2512−1).

Kind: Data Type | Category: Numeric Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Declaration

LOCAL a AS UINT512
LOCAL b AS U512

Size and Alignment

  • Size: 64 bytes (8 × 64-bit words)
  • Alignment: 32 bytes
  • Stack slot: One 64-byte frame object

Arithmetic Operations

All operations are native x64 code. Simple operations (ADD, SUB, CMP, AND, OR, XOR, SHL) are emitted as inline instruction sequences. Multiplication and division use optimized C runtime helpers compiled into the user executable.

Operation | Implementation | Performance
ADD | Carry-chain across eight 64-bit words using ADC (add-with-carry) | Inline, 8 instructions
SUB | Borrow-chain across eight 64-bit words using SBB (subtract-with-borrow) | Inline, 8 instructions
AND, OR, XOR | Independent word-wise operations across eight 64-bit words | Inline, 8 instructions each
SHL | Cross-word shift with carry propagation: word shift + bit shift | Inline, ~20 instructions
SHR | Logical right shift: zero-fill propagation across words | Inline, ~20 instructions
CMP | Lexicographic unsigned compare across all words (MSB to LSB) | Inline, ~12 instructions
NEG | Two's complement: bitwise NOT + increment with carry | Inline, ~16 instructions
MUL | Schoolbook multiplication using unsigned __int128 (128-bit) accumulator for cross-terms; 8×8 word matrix | Runtime call bestof_u512_mul
DIV | Long division with bit-by-bit trial subtraction | Runtime call bestof_u512_div
REM | Same division algorithm, returns remainder | Runtime call bestof_u512_rem

Implementation Details

Addition and Subtraction

The compiler emits an inline carry-chain using ADC (add-with-carry) for addition and SBB (subtract-with-borrow) for subtraction across eight 64-bit words:

; ADD (a + b -> out) — 512-bit, 8 words
mov  rax, [a+0]   ; word 0
add  rax, [b+0]
mov  [out+0], rax
mov  rax, [a+8]   ; word 1
adc  rax, [b+8]
mov  [out+8], rax
; ... repeated for words 2 through 7
mov  rax, [a+56]  ; word 7
adc  rax, [b+56]
mov  [out+56], rax

Multiplication

Multiplication uses a schoolbook algorithm. For each pair of 64-bit words a[i] × b[j], the 128-bit product is accumulated into a temporary 1024-bit array (16 words), then the low 512 bits are stored as the result. The runtime function is bestof_u512_mul.

For an 8×8 word multiplication, this requires 64 individual 64×64 multiplications, each producing a 128-bit partial product that is accumulated into the result array with carry propagation.

Division and Remainder

Division uses unsigned long division with trial subtraction. The algorithm aligns the divisor to the most significant bit of the dividend, then iterates bit-by-bit, shifting the divisor right by one bit each iteration and subtracting when the current remainder is greater than or equal to the aligned divisor. The runtime functions are bestof_u512_div and bestof_u512_rem.

Performance Note: DIV and REM are the slowest operations for 512-bit values due to the large word count (8 words). For divisions by powers of 2, use right-shift (SHR) instead, which is fully inline and orders of magnitude faster. Unsigned SHR is logical (zero-fill), making it ideal for extracting bit fields.

Limitations

  • Division by zero is not trapped by the compiler; it produces a zero quotient and zero remainder at runtime.
  • Right-shift (SHR) is logical (zero-fill), unlike signed integers which use arithmetic (sign-fill) shift.
  • Only integer literal values that fit in the compiler's internal representation can be assigned at compile time. Very large values (over ~263) must be built up through arithmetic or shift operations.
  • 512-bit variables occupy 64 bytes of stack space each. Functions with many 512-bit locals may exceed default stack limits.

Example

FUNCTION PBMAIN() AS LONG
  LOCAL a AS UINT512
  LOCAL b AS UINT512
  LOCAL c AS UINT512

  a = 115792089237316195423570985008687907853269984665640564039457584007913129639935
  ' 2^256 - 1
  b = 1
  c = a + b                                    ' 2^256 — wraps naturally in 512 bits
  PRINT c

  c = c - b                                    ' back to 2^256 - 1
  PRINT c

  FUNCTION = 0
END FUNCTION

See also

  • UINT256 / U256 - 256-bit Unsigned Integer
  • UINT128 / U128 - 128-bit Unsigned Integer
  • INT512 / I512 - 512-bit Signed Integer
  • Double-word (???)
  • Quad integers (&&)
  • PBXB64 Compiler Help


UNB - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNB

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

LOCAL b AS UNB

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNBASE64 - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNBASE64

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

plain$ = UNBASE64$(encoded$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNC

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

LOCAL c AS UNC

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNESCAPE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNESCAPE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text$ = UNESCAPE$(escaped$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNF - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNF

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

LOCAL f AS UNF

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFABS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFABS

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFABS$( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFACOS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFACOS

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFACOS$( wert )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFASIN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFASIN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFASIN$( wert )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFATAN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFATAN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFATAN$( wert )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFCOS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFCOS

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFCOS$( wert )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFEXP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFEXP

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFEXP$( wert )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFIPOW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFIPOW

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFIPOW$( base, exponent )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFLOG - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFLOG

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFLOG$( wert )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFNEG - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFNEG

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFNEG$( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFPI - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFPI

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFPI$()

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFSIN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFSIN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFSIN$( wert )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFSQRT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFSQRT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFSQRT$( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFTAN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFTAN

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFTAN$( wert )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNFTRUNC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNFTRUNC

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text = UNFTRUNC$( value )

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNHEX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNHEX

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result$ = UNHEX$(hex$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNI - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNI

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

LOCAL i AS UNI

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNION - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Declarations PBXB64 Compiler Help

UNION

Category: PowerBASIC compatibility reference

Chapter: Declarations

Syntax

UNION UnionName
    MemberName [()] AS TypeName
    [ MemberName [()] AS TypeName ]
END UNION

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNION/END UNION - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNION/END UNION

Create a new

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

UNION UnionName
MemberName [( subscripts )] AS TypeName
[ MemberName [( subscripts )] AS TypeName ]
[...]
END UNION

Description

Create a new

Kind: Structure | Category: Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A union is a type - very similar to a User-Defined Type - except that its elements overlap in memory. While this may seem strange at first, it has enormous potential.

For example, say you are designing an accounting program. You want to make it general purpose so it has widespread appeal. But everyone does their accounting differently; for example, some people use account numbers that are plain integral values, while others may use alphanumeric account names. Using a Union makes this easy. Another common use of a Union is variable type conversion. The is best described by way of an example:

UNION VarConvert

iLong AS LONG

iDword AS DWORD

sStr AS STRING * 4

END UNION

DIM x AS VarConvert, y AS DWORD, z AS STRING

x.iLong = 123456&

y = x.iDword

z = x.sStr

Like a User-Defined Type, a Union may also contain arrays , and these follow the same rules as User-Defined Type member arrays (see Type Members for syntax rules and additional examples). The following example demonstrates the use of a Union member array:

UNION Arrs

a1(1 TO 1024) AS BYTE

st AS ASCIIZ * 10

END UNION

FUNCTION PBMAIN

DIM a AS Arrs

a.a1(1) = 72

a.a1(2) = 101

a.a1(3) = 108

a.a1(4) = 108

a.a1(5) = 111

a.a1(6) = 33

' At this point, a.st contains "Hello!"

END FUNCTION

Bit Variables

UNION structures may contain bit variables, which are named BIT (unsigned values) or SBIT (signed values). Each bit variable may occupy from 1 to 31 bits, and they may be packed one after another up to a total of 32 bits per bit field. The size of a bit variable is defined as follows:

var AS BIT * nlit [IN BYTE|WORD|DWORD]

where the term "* nlit" defines the number of bits (1 to 31), and the optional term "IN BYTE|WORD|DWORD", if present, defines the start of a new bit field of 1, 2, or 4 bytes. For example:

UNION ABCDE

Odd1 AS BIT * 1 IN DWORD

Value1 AS LONG

END UNION

The example UNION structure above is 4 bytes in size, containing a 1-byte bit field and a 4-byte LONG.

UNION abcde

Part1 AS BIT * 8 IN DWORD

Part2 AS BIT * 16

END UNION

The example union above is 4 bytes in size, containing an 8-bit field and an overlapping 16-bit field.

Structures within structures

Structures (TYPE/UNION) may be embedded within another structure, for simplification in referencing deeply nested items, by simply stating the structure name alone at the appropriate position. The internal alignment of the member structure is precisely maintained regardless of other alignment specifications, to foster inheritance issues. For example:

TYPE ABCD3

A AS LONG

C AS LONG

END TYPE

TYPE ABCD2

D AS DWORD

E AS DOUBLE

END TYPE

UNION ABCD1

F AS DWORD

G AS LONG

H AS SINGLE

END UNION

In this case, you could access the lone Single-precision float member of this structure very simply. Assuming DIM X AS ABCD3, you could reference the Single-precision Union member with the variable name X.H, instead of the extended syntax X.ABCD2.ABCD1.H

Restrictions

A Union can contain elements of dissimilar sizes. The size of a Union structure is always determined by the longest member element. This is usually an important consideration when using a Union within another Union or UDT structure, in order to determine the size of the final structure.

For related information, please refer to the TYPE/END TYPE , User-Defined Types and Unions sections.

Field strings cannot be used in UDT or UNION structures. Attempting to do so results in a compile-time Error 485 ("Dynamic/Field strings not allowed").

See also

  • DIM
  • LEN
  • LET statement (with Types)
  • SIZEOF
  • TYPE/END TYPE
  • User-Defined Types (UDTs)
  • Unions
  • PBXB64 Compiler Help


Storage requirements and restrictions - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Storage requirements and restrictions

A single Union structure is limited to 16 MB (16,777,216 bytes). Locally dimensioned Union structures are limited to the amount of free stack space available, typically less than 1 MB. If larger UDT s

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A single Union structure is limited to 16 MB (16,777,216 bytes). Locally dimensioned Union structures are limited to the amount of free stack space available, typically less than 1 MB. If larger UDT s

Kind: Structure | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

User-Defined Types (UDTs)

Back to command index


Unions - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Unions

If you have ever programmed in Pascal or C, you may be familiar with the concept of a Union. A Union is similar in some ways to a User-Defined Type . Both have data fields that can be made up of any o

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

If you have ever programmed in Pascal or C, you may be familiar with the concept of a Union. A Union is similar in some ways to a User-Defined Type . Both have data fields that can be made up of any o

Kind: Structure | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

While the concept may appear abstract, Unions provide an avenue to freely convert data from one format to another, simply by writing the data into the Union as one data format, and reading the data back as another. Combining the versatility of a UDT with the flexibility of a Union can extend this functionality dramatically, such as splitting data into its component parts.

For example, the following definition would create a Union called WordFld and a WordFld variable called MyVar :

Back to command index


#UNIQUE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#UNIQUE

Specify whether unique

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#UNIQUE VAR [ON|OFF]

Description

Specify whether unique

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

By default (#UNIQUE VAR OFF), it is possible to use the same name for more than one variable in your program. For example, you might use abc%, abc#, and abc$ in the same function using default typing defined by the Type ID character. You could even create a local variable named "counters" and a global variable also named "counters".

So, when you reference a variable name in your program, which variable is actually used? Depending upon location of the reference, the compiler chooses the variable with the smallest scope. The precedence of variable scopes is:

1- Local or Static

2- Instance

3- Global or Threaded

When #UNIQUE VAR is OFF, PowerBASIC first tries to find a LOCAL or STATIC . Next, an INSTANCE , and finally a GLOBAL or THREADED . It selects the first one it finds, in that sequence. Of course, you cannot use the same name for a LOCAL and a STATIC, unless you use a Type ID character to differentiate them. You can never use the same name for a GLOBAL and a THREADED, as it would be impossible to tell them apart. While this offers the most flexibility, it can be confusing, and can lead to the creation of insidious, hard-to-find errors in your program. When you reference the wrong variable by accident, the results can be disastrous. If #UNIQUE VAR is enabled, PowerBASIC will require that all variable names be unique. The can make your job a good deal easier, as it removes the ambiguity found with identifier reuse. There are a few exceptions to the uniqueness rule, which are designed to improve readability in your code:

1- Local, Static, and Parameter names may be reused in other Subs, Functions, and Methods.

2- Instance names may reused in other Classes.

3- Scalar and array names may co-exist if they they are the same data type and scope.

See also

  • DIM
  • DEFBYT
  • GLOBAL
  • LOCAL
  • REDIM
  • STATIC
  • OPTION EXPLICIT
  • PBXB64 Compiler Help


UNL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNL

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

LOCAL n AS UNL

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNLOCK - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNLOCK

Remove

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

UNLOCK [#] filenum& [, { record&& | start&& TO finish && }]

Description

Remove

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

UNLOCK restores access to a record, range of records , byte , or range of bytes locked by the LOCK statement, in file opened as file number filenum& .

If the file was opened in random-access mode, record&& , start&& , and finish && specify record numbers.

When used with binary mode files, record&& , start&& , and finish && specify byte positions, starting from either one (the default) or zero, depending on the BASE setting given when the file was Opened.

If a record is specified, only that record (or byte) is unlocked. Otherwise, a range of records (or bytes) is unlocked, from start&& to finish && . If no records are specified, or if the file was opened in sequential mode, the entire file is unlocked.

All records (or bytes) to be unlocked must have been previously locked using the LOCK statement. Multiple locks may be placed on a file, and locks may be unlocked in any order. However, the parameters used for each UNLOCK statement must exactly match those used for the previous corresponding LOCK statement.

All locked records (or bytes) must be unlocked using the UNLOCK statement before the file can be closed.

If an unlock attempt fails, PowerBASIC sets the ERR system variable to reflect a run-time Error 70 ("Permission denied"), or Error 75 ("Path/file access error").

See also

  • LOCK
  • OPEN
  • PBXB64 Compiler Help


UNMACRO - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNMACRO

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

UNMACRO macroname

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNQ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNQ

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

LOCAL q AS UNQ

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNTIL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNTIL

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

DO
LOOP UNTIL done

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNWRAP$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

UNWRAP$

Remove paired characters from the beginning and end of a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = UNWRAP$( StringExpression , LeftChar$ , RightChar$ )

Description

Remove paired characters from the beginning and end of a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The UNWRAP$ function removes the characters in LeftChar$ from the beginning of StringExpression , if there is an exact match. It then removes the characters in RightChar$ from the end, if there is an exact match. The remaining character are then returned. For example:

UNWRAP$("<MyWord>", "<", ">") returns "MyWord"

UNWRAP$ is particularly useful for removing parentheses, quotes, brackets, etc. from a text item.

See also

  • EXTRACT$
  • LTRIM$
  • MID$
  • REMOVE$
  • REPLACE
  • RTRIM$
  • SHRINK$
  • TRIM$
  • WRAP$
  • PBXB64 Compiler Help


URLDECODE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

URLDECODE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

text$ = URLDECODE$(url$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


URLENCODE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

URLENCODE

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

url$ = URLENCODE$(text$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


URLHOST - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

URLHOST

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result$ = URLHOST$(url$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


URLPATH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

URLPATH

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result$ = URLPATH$(url$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


URLPORT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

URLPORT

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result = URLPORT(url$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


URLQUERY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

URLQUERY

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

result$ = URLQUERY$(url$)

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


User-Defined Types (UDTs) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

User-Defined Types (UDTs)

Arrays are useful when you need to treat a set of similar variables as a unit. For instance, ten test scores or ten student names. But what if you need to store several unrelated data types and be abl

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Arrays are useful when you need to treat a set of similar variables as a unit. For instance, ten test scores or ten student names. But what if you need to store several unrelated data types and be abl

Kind: Keyword | Category: Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Once created, you can define as many variables of your new Type as you please. Moreover, since User-Defined Types can be associated with a random file's buffer, this provides you with a whole new way to access your random files.

PowerBASIC's User-Defined Type is similar to a C struct or Pascal record. The elements of a User-Defined Type may include any of PowerBASIC's data types, with the exception of dynamic (variable-length) strings , field strings , and arrays of dynamic strings.

To get an idea of the power of the User-Defined Type, imagine you are a teacher who needs a program to keep track of student grades. Since your school is on a very tight budget (and what schools aren't these days?), you decide to write the program yourself in PowerBASIC. For each student in the class you need to track the following information:

Currently these records are being kept in a small file box. The information about each student is contained on a single file card. How do you transfer this information to the computer? Simple. Define a Student Record Type that will contain all the information about a single student.

Back to command index


USING$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

USING$

Format one or more expressions into a string using a format mask.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

sResult$ = USING$( fmtmask$ , expr [, expr [, ...]])

Description

Format one or more expressions into a string using a format mask.

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The rules of formatting are based upon the PRINT USING statement supported in many DOS versions of BASIC, including PowerBASIC for DOS.

Since USING$ is implemented as a function, it allows far more versatility than PRINT USING because it is not necessary to output a value to gain the benefit of this unique functionality. USING$ offers a wider range of applications than FORMAT$ because it can format both numeric and string expressions, and can take multiple arguments.

fmtmask$ - A string expression, string variable, or string literal consisting of format characters that will determine how the complete expression should be formatted. This expression is termed the mask. There may be as many format masks in fmtmask$, arranged in the same order as the expr arguments are specified.

expr - A string or numeric expression, variable, or literal value to be formatted. The mask characters available depend on whether expr is a string or numeric.

String Format Codes

When expr is a string, the following format codes apply within fmtmask$:

Character | Definition
! | The first character of the string is returned.
\ spaces \ | If backslashes enclose n spaces, n + 2 characters of the string expression are returned.
& | The entire string is returned.
\ | The first two characters are returned (when used as a single pair).
_ | Escape (underscore) character. The following character is interpreted as a literal character instead of a mask format character.

Numeric Format Codes

When expr is numeric, the following format codes apply within fmtmask$:

Character | Definition
# | A numeric digit position, which is space-filled to the left, and zero-filled to the right of the decimal point. If the number is negative, a minus sign occupies a digit position.
. | The decimal point is placed at this position.
, | A numeric digit position, which signifies that whole number digits should be displayed with a comma each three digits.
$$ | Two numeric digit positions which cause a dollar sign to be inserted immediately before the number.
*x | Two numeric digit positions which cause leading blank spaces in the field to be replaced with the character x. For example, two asterisks ** convert leading spaces to asterisks, and *= converts leading spaces to equals characters. The *x mask characters also act as two digit (#) placeholders. Your mask must contain at least three characters to use this.
+ | A plus at the start of the field causes the sign of the value (+ or -) to be inserted before the number. A plus at the end of the field causes the sign to be added after the number.
- | A minus at the end of the field causes a minus sign to be added after a negative number, or a space to be added after a positive number. A minus at the start of the field is treated as a literal character.
^^^ – ^^^^^^ | Numbers can be formatted in scientific notation by including three to six carets (^) in the format string. Each caret corresponds to a numeric digit position in the exponent: one for E, one for the exponent sign, and one to four for the actual digits of the exponent value.
_ | Escape (underscore) character. The following character is interpreted as a literal character instead of a mask format character. To include a literal underscore in the format mask, use two underscore characters (__).

All characters in the format mask string that are not identified above are copied into the output string just as they are encountered. You can override or escape any special format code by preceding it with an underscore character (_) and it will be copied as any other literal character. This provides the flexibility to include literal string text within the formatted return string.

Restrictions

  • The returned string is limited to an absolute length limit of 1024 bytes.
  • By specifying a single mask in fmtmask$, all expr arguments are subjected to the single mask.
  • If there are fewer expr arguments than matching format masks in fmtmask$, parsing of the fmtmask$ halts after the last referenced mask position, and subsequent characters are ignored. This is consistent with the behavior of PRINT USING$ in PB/DOS.
  • If a numeric argument overflows its mask (i.e., there are more digits than digit positions), the resulting string will occupy as many spaces as needed to represent the number. In such cases, PB/DOS includes a leading "%" symbol to indicate mask overflow; however, PowerBASIC for Windows does not return the additional "%" overflow character.
  • The semicolon (;) and zero (0) characters are reserved for future use, so it would be prudent to escape such literal characters in USING$ masks to maintain future compatibility.

Example

FUNCTION PBMAIN() AS LONG
    LOCAL s AS STRING
    s = USING$("##,###.##", 12345.67)
    ' s = "12,345.67"

    s = USING$("$$###.00", 42.5)
    ' s = "$  42.50"

    s = USING$("_!_&", "Hello", "World")
    ' s = "!HWorld"

    FUNCTION = 0
END FUNCTION

See also

  • GRAPHIC PRINT
  • XPRINT PRINT
  • FORMAT$
  • STR$
  • PBXB64 Compiler Help


Using arrays of User-Defined Types - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Using arrays of User-Defined Types

You can create arrays of User-Defined Types just as you can create arra ys of integers or strings or any of PowerBASIC's other data types. For example:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

You can create arrays of User-Defined Types just as you can create arra ys of integers or strings or any of PowerBASIC's other data types. For example:

Kind: Keyword | Category: Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

DIM Class(1 TO 30) AS StudentRecord

To access the individual elements of the Class array, you use subscript index values just as you do with any other array. The third student record is Class(3) , for instance. The period separator and the field name follows the array subscript:

Class(3).FullName.First

This would access the first name of the third student in the class array. Think of it this way: the array is made up of elements of the Type Student Record , so the subscript belongs with the name of the variable as a whole.

Back to command index


Using assembly-language in your code - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Using assembly-language in your code

PowerBASIC provides a number of ways in which you can use assembly-language. You can write the whole program using the Inline Assembler . You can write entire Subs , Functions , Methods , and Properti

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

PowerBASIC provides a number of ways in which you can use assembly-language. You can write the whole program using the Inline Assembler . You can write entire Subs , Functions , Methods , and Properti

Kind: Keyword | Category: Inline Assembler

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

To write good assembler code, you must be aware of certain items:

Inline Assembler code syntax

Back to command index


Using ESP and EBP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Using ESP and EBP

It is possible in PowerBASIC to write your own procedure within an existing Sub , Function , Method , or Property by manually coding the stack entry and exit. This is a complicated area of assembler c

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

It is possible in PowerBASIC to write your own procedure within an existing Sub , Function , Method , or Property by manually coding the stack entry and exit. This is a complicated area of assembler c

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

' Other PowerBASIC code here

! JMP label ; Jump over the procedure

Back to command index


Using User-Defined Types with procedures - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Using User-Defined Types with procedures

Subroutines , functions , Methods , and Properties can process User-Defined Types as well as any other data type. This topic covers the following topics:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Subroutines , functions , Methods , and Properties can process User-Defined Types as well as any other data type. This topic covers the following topics:

Kind: Keyword | Category: Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Passing fields as arguments

Members in User-Defined Types that are one of the built-in PowerBASIC types ( INTEGER , WORD , STRING , and so on) can be passed to procedures and functions as if they were simple variables. For example, given the User-Defined Type PatientRecord , as follows:

FullName AS STRING * 32

Back to command index


Utf8ToChr$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Utf8ToChr$

Translates a byte string of

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

a$$ = Utf8ToChr$( UtfExpr$ )

Description

Translates a byte string of

Kind: Function | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

UtfExpr$ contains a series of bytes in UTF-8 format. Utf8ToChr$ translates it into either ANSI multi-byte equivalent characters or WIDE (16-bit) Unicode characters, depending upon the context of the source code. PowerBASIC will always choose the correct form with no intervention needed by the programmer.

See also

  • ChrToOem$
  • ChrToUtf8$
  • OemToChr$
  • PBXB64 Compiler Help


#UTILITY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

#UTILITY

Compiler directive to allow external utility programs to read text inserted on the #UTILITY line.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

#UTILITY "any text for an external program"

Description

Compiler directive to allow external utility programs to read text inserted on the #UTILITY line.

Kind: Directive | Category: Preprocessor

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]


VAL - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › String Processing PBXB64 Compiler Help

VAL

Convert a text stri

Chapter: String Processing | Certification: [CERTIFIED TESTED]

Syntax

VAL StrgExpr [, offset ] TO ValueVar [, DigitsVar& , UnusedVar& ]

Description

Convert a text stri

Kind: Statement | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The VAL statement converts a string argument to a number, but adds additional information about the conversion. Both Leading and trailing white-space characters (spaces, tabs, carriage-returns, and linefeeds) are skipped and ignored. If no number is found, the value zero (0) is returned. Format characters (like commas) are not allowed, and will cause early termination of the evaluation.

VAL interprets the letters "e" and "d" (and "E" and "D") as the symbols for exponentiation and scientific notation:

VAL "10.101e3" TO i& ' 10101 ~ 10.101*(10^3)

VAL "2D4" TO j& ' 20000 ~ 2 * (10 ^ 4)

Hexadecimal, Binary and Octal conversions

VAL can also be used to convert string arguments that are in the form of Hexadecimal, Binary and Octal numbers. Hexadecimal values should be prefixed with "&H" and Binary with "&B". Octal values may be prefixed "&O", "&Q" or just "&". If the StrgExpr contains a leading zero, the result is returned as an unsigned value; otherwise, a signed value is returned. For example:

VAL "&HF5F3" TO i& ' Hex, returns -2573 (signed)

VAL "&H0F5F3" TO j& ' Hex, returns 62963 (unsigned)

VAL "&B0100101101" TO x& ' Binary, returns 301 (unsigned)

VAL "&O4574514" TO y& ' Octal, returns 1243468 (signed)

Valid hex characters include 0 to 9, A to F (and a to f). Valid Octal characters include 0 to 7, and binary 0 to 1.

Use the STR$ , DEC$ , FORMAT$ , and USING$ functions to convert numeric values into decimal strings. Use BIN$ , HEX$ and OCT$ to convert them to Binary, Hexadecimal, and Octal representations.

Offset

If the optional Offset parameter is included, it indicates the position in the string where the conversion should begin. If not given, it defaults to one (1), and begins at the first character.

ValueVar

A numeric variable which receives the result of the conversion.

DigitsVar

An optional long integer variable which receives the count of the number of significant digits found in the evaluation. If this value is zero (0), no valid number was found and zero (0) was also assigned to ValueVar .

UnUsedVar

An optional long integer variable which receives the count of the unused characters. Since the evaluation skips both leading and trailing white-space, a non-zero value indicates that additional characters of some significance may be present. You can use RIGHT$(StrgExpr, UnUsedVar) to separate the unused characters.

Restrictions

VAL stops analyzing string_expression when non-numeric characters are encountered. When dealing with Hexadecimal, Binary, and Octal number systems, the period character is classified as non-numeric. This is because PowerBASIC only supports floating-point formats for the decimal number system. VAL accepts the period character as a decimal place for all decimal number system values.

VAL does not analyze trailing type-specifiers for decimal strings. For example, VAL("9.1&") is evaluated as 9.1 rather than 9 because the "&" suffix is treated as a non-numeric character, not a type-specifier. However, type suffixes may be used with binary, octal, and hex values.

See also

  • BIN$
  • DEC$
  • FORMAT$
  • HEX$
  • OCT$
  • STR$
  • USING$
  • PBXB64 Compiler Help


Variable scope - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Variable scope

The scope of a variable is defined as its visibility and its lifetime. Visibility means what parts of your program can access it. Lifetime defines when it is created and when it is destroyed. In Power

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The scope of a variable is defined as its visibility and its lifetime. Visibility means what parts of your program can access it. Lifetime defines when it is created and when it is destroyed. In Power

Kind: Keyword | Category: Variables & Scope

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Numeric variables are initialized to zero (0). Dynamic strings , Field strings , and nul-terminated strings are initialized to a length of zero (no characters). Fixed-length strings and UDTs are filled with CHR$ (0). PowerBASIC automatically destroys every variable at the appropriate time, so you never need worry about this type of memory leak.

Local variables are only accessible within a single SUB , FUNCTION , METHOD , or PROPERTY . They are automatically created and initialized each time you enter the procedure. They are automatically destroyed when you exit the procedure. This is the default variable scope unless you declare otherwise.

Back to command index


Variables - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Variables

Variables repre sent numeric or string values. Unlike constants, the value of a variable can change during program execution. Like labels , variable names must begin with a letter and can contain up t

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Variables repre sent numeric or string values. Unlike constants, the value of a variable can change during program execution. Like labels , variable names must begin with a letter and can contain up t

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

The Single-precision variables, EndOfMonthTotals and emt, both require exactly four bytes of run-time storage. A good rule of thumb is to preserve a balance, keeping variable names short enough so that statements can fit on one line. Many programmers use single-letter variables for loop counters (i, j, k, l and x, y, z are favorites). However, you can use names like count, total, index, and so on for greater clarity, especially if you have nested loops.

PowerBASIC has many built-in variable types: Dynamic string ; Fixed-length string ; nul-terminated string ; Field , Integer ; Long integer ; Quad integer ; Byte , Word ; Double word ; Single ; Double ; and Extended floating point ; Currency and CurrencyX ; Variant , Object , Guid , plus Pointer , arrays , and Bit and Sbit bitfield subtypes .

Declaring a variable as a specific type:

Use the DIM statement to declare a variable and use the AS type syntax:

Back to command index


VARIANT$/VARIANT$$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

VARIANT$/VARIANT$$

Returns the byte string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

AnsiVar = VARIANT$( VrntVar )
WideVar = VARIANT$$( VrntVar )
TypeVar = VARIANT$(BYTE, VrntVar )

Description

Returns the byte string

Kind: Function | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

VARIANT$ extracts a string from a variant variable if a dynamic string (VT_BSTR) is found there. If the variant contains any other VT type , an empty string is returned. By definition, a BSTR is a wide Unicode string. It is generally safe to assume this is the case, unless the variant was created by PowerBASIC and you know the internal format is bytes rather than wide Unicode words.

The first form of VARIANT$ converts the wide Unicode contents to ANSI , returning it as an ANSI string. The second form of VARIANT$$ returns the contents directly as a wide Unicode string. Of course, in all assignment and parameter situations, PowerBASIC will automatically handle any conversions needed between ANSI and WIDE string values. For that reason, no additional code should be added to this operation for ANSI/WIDE conversion. Also, keep in mind that the correct choice of function can improve the performance of your program.

If the BYTE option is specified, you are telling PowerBASIC that the string contains a set of BYTES rather than wide Unicode words. This would be the case if you stored a User-Defined Type in a variant:

LET VariantVar = ThisUDTVar AS STRING

ThatUDTVar = VARIANT$(BYTE, VariantVar )

This form of VARIANT$ always returns the contents as an ANSI byte string. This result can be assigned to an ANSI string variable or a User-Defined Type.

Legacy

Older legacy programs were forced to store Unicode characters in an ANSI string variable because wide string variables were not yet available. These programs should continue to use VARIANT$ with ACODE$ and variant assignment with UCODE$ until the program logic is updated to use wide Unicode variables.

See also

  • DIM
  • LET statement (with Variants)
  • OBJECT
  • VARIANTVT
  • PBXB64 Compiler Help


VARIANTVT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

VARIANTVT

Determine the internal data type of the data stored in a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

numericvar = VARIANTVT( vrntvar )

Description

Determine the internal data type of the data stored in a

Kind: Function | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The VARIANTVT function returns the internal VT data type stored in the Variant. The entire range of %VT_ prefixed values are documented by the OLE ( COM ) specification and are available in WIN32API.INC.

The most important values in this limited context include %VT_EMPTY (=0) and %VT_BSTR (=8), since most of the others are numeric formats automatically resolved by the LET (with Variants) statement and VARIANT# function.

Result

Equate

Content Type

%VT_EMPTY

An Empty Variant

%VT_NULL

Null value

%VT_I2

Integer

%VT_I4

Long-Integer

%VT_R4

Single

%VT_R8

Double

%VT_CY

Currency

%VT_DATE

%VT_BSTR

Dynamic String

%VT_DISPATCH

IDispatch

%VT_ERROR

Error Code

%VT_BOOL

Boolean

%VT_VARIANT

Variant

%VT_UNKNOWN

IUnknown

%VT_DECIMAL

Decimal

%VT_I1

Byte (signed)

%VT_UI1

Byte (unsigned)

%VT_UI2

%VT_UI4

%VT_I8

Quad (signed)

%VT_UI8

Quad (unsigned)

%VT_INT

Long-Integer

%VT_UINT

%VT_VOID

A C-style void type

%VT_HRESULT

COM result code

%VT_PTR

Pointer

%VT_SAFEARRAY

VB Array

%VT_CARRAY

A C-style array

%VT_USERDEFINED

User Defined Type

%VT_LPSTR

%VT_LPWSTR

Unicode string

%VT_RECORD

%VT_FILETIME

A FILETIME value

%VT_BLOB

An arbitrary block of memory

%VT_STREAM

A stream of bytes

%VT_STORAGE

Name of the storage

%VT_STREAMED_OBJECT

A stream that contains an object

%VT_STORED_OBJECT

A storage object

%VT_BLOB_OBJECT

A block of memory that represents an object

%VT_CF

Clipboard format

%VT_CLSID

Class ID

&H1000

%VT_VECTOR

An array with a leading count

&H2000

%VT_ARRAY

&H4000

%VT_BYREF

A reference value

If a Variant contains a complete array , the Variant type is determined by adding the base type to the array modifier. That is, for a string array , it would be %VT_BSTR plus %VT_ARRAY (= &H2008).

Quad arrays within Variants are not supported by most versions of Windows. The result from VARIANTVT can be used to see whether such an array was created properly.

See also

  • DIM
  • Just what is COM?
  • OBJECT
  • LET statement (with Variants)
  • VARIANT$/VARIANT$$
  • What Is an Object Anyway?
  • PBXB64 Compiler Help


VARPTR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

VARPTR

Return the 32-bit address of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

y = VARPTR( variable )

Description

Return the 32-bit address of a

Kind: Function | Category: Memory & Pointers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

VARPTR returns a complete 32-bit address to the specified variable as a Double-word (DWORD) value. variable is any string , numeric , structure variable ( User-Defined Type or Union ), or element of an array . VARPTR returns a pointer (32-bit address in memory) where the variable data is stored.

VARPTR may also be used to locate an array descriptor, as well as the array data itself. To find the address of an array descriptor, use the array name with empty parentheses: VARPTR( x( ) ).

When you use VARPTR to get the address of a dynamic (variable length) string , keep in mind that the value being returned is the address of the string handle , not the actual data in the string. This can be useful for manipulating a dynamic string array using indexed-pointers, For example:

DIM A$(100), b$, pA AS STRING PTR, x&

' Assume A$() is filled here

pA = VARPTR(a$(0)) ' 1st element handle

FOR X& = 0 TO 100

B$ = B$ + @pA[x&] + ","

NEXT x&

You can use STRPTR to find the address of the string's data. When used with pointers, VARPTR returns the address of the pointer itself.

Restrictions

VARPTR cannot be used on Register variables , because Register variables are stored in internal processor registers rather than application memory. VARPTR can be used on UDT and Union variables, but not the UDT definition name. For example:

TYPE MyType

ABC AS LONG

END TYPE

' more code here

DIM x AS MyTYPE, y&

y& = VARPTR(x) ' This is legal

y& = VARPTR(MyType) ' This is not

See also

  • CODEPTR
  • PEEK
  • Pointers (@)
  • POKE
  • STRPTR
  • PBXB64 Compiler Help


VERIFY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

VERIFY

Determine whether each character of a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

x = VERIFY([ start& ,] MainString , MatchString )

Description

Determine whether each character of a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

VERIFY returns zero if each character in MainString is present in MatchString . If not, it returns the position of the first non-matching character in MainString .

This function is very useful for determining if a string contains only numeric digits, for example.

VERIFY is case-sensitive, so capitalization matters.

Restrictions

If start& evaluates to a position outside of the string on either side, or if start& is zero, VERIFY returns zero.

See also

  • INSTR
  • LCASE$
  • LTRIM$
  • MID$
  • REMOVE$
  • REPLACE
  • RIGHT$
  • RTRIM$
  • TALLY
  • TRIM$
  • UCASE$
  • PBXB64 Compiler Help


Version History - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Version History

Release history and version milestones for the PBXB64 compiler. The Z-series are internal Z-milestones (development drops). The V-series are user-facing release drops. Each row in the table below corresponds to a tag in the repository's version history.

Chapter: General Reference

Description

Release history and version milestones for the PBXB64 compiler. The Z-series are internal Z-milestones (development drops). The V-series are user-facing release drops. Each row in the table below corresponds to a tag in the repository's version history.

Current Version: 0.50.0-V8.1 (Release V8.1) — 2026-06-18
Implementation: Pure C11 (no C++ dependencies)
Target: Windows x64 PE32+ / COFF object files
Languages: PowerBASIC-compatible BASIC, B64, C17, inline ASM
Test matrix: 1591/1591 (0 expected fails) — 250 assembly, 53 PB link+run, 13 B64 link+run, 84 C compile, 2 C link+run

Version Milestones

Milestone | Date | Lane | Key Features
Z58 | 2026 | B64 | --emit-ir / --dump-ir are split. Integer global initializers emit bytes into .data / .rdata.
Z58–Z60 | 2026 | PB | All PB statement handlers rewritten to use pb_try_eval_expr() instead of pb_eval_expr(). Real handlers for DIALOG, CONTROL, TCP/UDP, HOST, THREAD, REGISTER, COMM, MOUSEPTR, PROCESS, LPRINT, XPRINT, GUI, DISPLAY, FONT, MENU, GRAPHIC.
Z60 | 2026 | all | 4-track known-limitation sweep. B64 examples 11/11, PB Link+Run 6/6, C compile 63/63, C link+run 1/1. Runtime stubs replaced with real Win32 calls.
Z61 | 2026 | PB / link | Win64 multi-arg ABI fix (5+ args), IR_OP_REM correctness (CQO/IDIV implicit readers), FOR loop body const-fold fix, link-symbol sweep (25 missing runtime symbols added). Float FOR loop, negative STEP, CURRENCY type coverage.
Z64 | 2026 | all | 25-bug sweep. 318/318 tests green. V3 release.
Z65 | 2026 | H-Lib | 10 native H-Lib container families: Arr, Stk, Que, Lst, Str, 2D, Hsh, Tre, DTre, Tri. Method-dispatch syntax, auto-init on entry, auto-finalize on scope exit. 12 container test files pass.
Z66 | 2026 | runtime | MinGW snprintf crash fix, build script robustness, user-runtime helper object (c_runtime_user.c). P0 runtime: ERROR$, UCODE$ / UCODEPAGE, PRINT USING.
Z67 | 2026 | H-Lib | H-Lib Phase 7 — UDT payload containers. AS LNARR OF MyType, AS LNLST OF MyType, etc. Container + UDT integration.
Z68 | 2026 | C | H-Lib Phase 8 — C-frontend parity. core/include/c17/pbxb64/hlib.h exposes c_hlib_lnarr_* symbols. C Link+Run lane 1/1 → 2/2.
Z69 | 2026 | PB / H-Lib | SortUsing callbacks + CODEPTR. Comparator-driven sort with CODEPTR(CompareFn). Real function-address extraction in IR.
Z70 | 2026 | PB / V | VARIANT completeness sweep. Variant scalars/arrays, deep-copy lifecycle, FOR-loop memory-corruption fix. Variant stress test.
Z71 | 2026 | H-Lib | H-Lib Phase 10 — [] subscript access. a[1] = 100, n = h["k"]. sys_date_time_environ_command runtime completion.
Z72 | 2026 | H-Lib | H-Lib Phase 11 — Heap, Deque, Set, Graph container families.
Z73 | 2026 | H-Lib | H-Lib Phase 12 — Multiset, UnionFind, LRU, Ring, SkipList, B+Tree, Quadtree, Bloom, Safe container families. 23 families total.
Z74 | 2026 | PB | Generated PB system regression sweep. Hardened DATE$/TIME$, COMMAND$/ENVIRON$, MOUSEPTR, PROCESS PRIORITY, UCODE$/UCODEPAGE. Float-register-lifetime bug fixed.
Z75 | 2026 | PB | Real RND, RANDOMIZE, INKEY$, WAITKEY$ user runtime. LCG-based RNG with deterministic seed; Win32 console-input reads (PeekConsoleInputA / ReadConsoleInputA).
Z76 | 2026 | all | V5 ship-readiness sweep. INTEGER byte-size consistency, removed stale core/source/include/compiler/frontend/pb_ast.h. RESET, LIKE, FRAC, TIX, RND/RANDOMIZE replaced with real implementations. 1591/1591 tests, 0 expected fails.
V6 | 2026-06-14 | dist | First public release of the V-series distribution. UPX-compressed single-binary PBXB64.exe (~919 KB), includes PBXB64_Help.chm.
V7 | 2026-06-15 | dist | Updated H-Lib coverage and command-line option documentation. -E preprocessor mode, -I / -isystem search paths.
V8 | 2026-06-17 | core | Wide-integer 128/256/512-bit native types (INT128 / UINT128 / INT256 / UINT256 / INT512 / UINT512) with inline arithmetic. Print support for all wide-integer types. Assembler global directive fix.
V8.1 | 2026-06-18 | core | MSGBOX ? shorthand alias (PB/CC compatible). TBOX timed message box with [d] timeout marker and auto-dismiss thread.

Compiler Characteristics (V8.1)

  • Pure-C toolchain: No C++ dependencies, single C11 codebase (~245 C source files)
  • Multi-frontend: PowerBASIC (.pb), B64 (.b64), C17 (.c), inline ASM (.asm)
  • Self-contained: Parser, IR, optimizer, x64 backend, linker, runtime all in one ~919 KB binary
  • Test-driven: 1591/1591 tests passing — 250 assembly, 53 PB link+run, 13 B64 link+run, 84 C compile, 2 C link+run
  • Container library: 23 native H-Lib families with method-dispatch syntax, UDT payload support, [] subscript access, C-frontend API
  • Win64 ABI: Correct multi-argument calling (5+ args), SSE2 float operations, fixed-register spill for IDIV/CQO
  • Wide integers: 128 / 256 / 512-bit signed and unsigned, inline arithmetic, no library calls
  • Zero expected fails: All known limitations fixed and covered by the test lane

What Was Deferred (V6 and Beyond)

  • Inline #ASM PB variable binding ({ var } → [rbp-N])
  • .rc → .res pipeline for #RESOURCE
  • Full COM/OOP CLASS / INTERFACE implementation
  • Full MAT matrix runtime (already in user-runtime stubs)
  • Full PRINT USING string/date picture-mask language (numeric masks only)

See also

  • Overview
  • PBXB64 - Command-Line Options
  • PBXB64 Compiler Help


BASE64$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

BASE64$

Encode a string using standard Base64 (RFC 4648).

Chapter: URL & Encoding | Certification: [CERTIFIED TESTED]

Syntax

result$ = BASE64$(input$)

Description

Encode a string using standard Base64 (RFC 4648).

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the Base64-encoded representation of input$.

Description

Converts the input string into a standard Base64 ASCII string. The output uses the A-Za-z0-9+/ alphabet and appends = padding when required.

Parameters

Name | Type | Description
input$ | String | Data to encode.

Expected output

Output: SGVsbG8sIFdvcmxkIQ==

Example

LOCAL s$, enc$
s$ = "Hello, World!"
enc$ = BASE64$(s$)
PRINT enc$  ' SGVsbG8sIFdvcmxkIQ==

See also

  • WEB-Enhancements
  • BASE64URLSAFE$
  • UNBASE64$
  • HEX$
  • PBXB64 Compiler Help


BASE64URLSAFE$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

BASE64URLSAFE$

Encode a string using URL- and filename-safe Base64.

Chapter: URL & Encoding | Certification: [CERTIFIED TESTED]

Syntax

result$ = BASE64URLSAFE$(input$)

Description

Encode a string using URL- and filename-safe Base64.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the URL-safe Base64 representation.

Description

Same as BASE64$ but replaces + with - and / with _, and omits padding characters. Suitable for embedding in URLs and query parameters.

Parameters

Name | Type | Description
input$ | String | Data to encode.

Example

LOCAL s$, enc$
s$ = "Hello? World<>"
enc$ = BASE64URLSAFE$(s$)
PRINT enc$

See also

  • WEB-Enhancements
  • BASE64$
  • UNBASE64$
  • URLENCODE$
  • PBXB64 Compiler Help


WEB-Enhancements - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Keyword Reference (A-Z) PBXB64 Compiler Help

WEB-Enhancements

Network-aware string, encoding, hashing, JSON and HTTP helpers.

Chapter: Keyword Reference (A-Z)

Description

Network-aware string, encoding, hashing, JSON and HTTP helpers.

Kind: Function library | Category: Web & Network

PBXB64 Status: AVAILABLE (V10+)

Overview

The WEB-Enhancements library provides 30 built-in functions for common web and data-processing tasks. All functions are available directly in PB source without external DLL dependencies.

Tier 1 — Encoding (9 functions)

Function | Returns | Description
BASE64$(s$) | String | Base64-encode a string.
BASE64URLSAFE$(s$) | String | Base64-encode with URL-safe alphabet (no +/ padding).
UNBASE64$(s$) | String | Decode a Base64 string.
HEX$(s$) | String | Hex-encode raw bytes.
UNHEX$(s$) | String | Decode a hex string.
URLENCODE$(s$) | String | Percent-encode a URL component.
URLDECODE$(s$) | String | Percent-decode a URL component.
ESCAPE$(s$) | String | JSON-escape a string (\" \\ \n \r \t).
UNESCAPE$(s$) | String | Remove JSON escape sequences.

Tier 2 — Hashing (6 functions)

Function | Returns | Description
MD5$(s$) | String | MD5 digest as 32-char lowercase hex.
SHA1$(s$) | String | SHA-1 digest as 40-char lowercase hex.
SHA256$(s$) | String | SHA-256 digest as 64-char lowercase hex.
SHA512$(s$) | String | SHA-512 digest as 128-char lowercase hex.
HMACSHA256$(key$, data$) | String | HMAC-SHA256 as 64-char lowercase hex.
HMACSHA512$(key$, data$) | String | HMAC-SHA512 as 128-char lowercase hex.

Tier 3 — URL Parsing (5 functions)

Function | Returns | Description
URLHOST$(url$) | String | Extract host from a URL.
URLPATH$(url$) | String | Extract path from a URL.
URLQUERY$(url$) | String | Extract query string from a URL.
URLPORT(url$) | Long | Extract port number from a URL.
HEADERBUILD$(key$, value$) | String | Build an HTTP header line.

Tier 4+5 — JSON (11 functions)

Function | Returns | Description
JSONNEW(type) | Long | Create a JSON handle. type = 5 for object, 6 for array.
JSONFREE(h) | Long | Free a JSON handle.
JSONTYPE$(h) | String | Return type name (null, bool, int, float, string, array, object).
JSONPARSE(txt$) | Long | Parse a JSON string into a handle.
JSONSETINT(h, path$, v) | Long | Set integer value at path.
JSONSETSTRING(h, path$, v$) | Long | Set string value at path.
JSONGETSTR(h, path$) | String | Get string value at path.
JSONGETINT(h, path$) | Long | Get integer value at path.
JSONGETFLOAT(h, path$) | Double | Get float value at path.
JSONGETBOOL(h, path$) | Long | Get boolean value at path (0/1).
JSONREMOVE(h, path$) | Long | Remove key at path.
JSONSTRINGIFY$(h, pretty) | String | Serialize JSON handle to string.

Tier 6 — HTTP Client (3 functions)

Function | Returns | Description
HTTPOPEN(url$, timeout_ms) | Long | Open an HTTP handle.
HTTPREQUEST(h, method$, path$, headers$, body$) | String | Send an HTTP request and return the response body.
HTTPCLOSE(h) | Long | Close an HTTP handle.

Tier 7 — Multipart Form-Data Builder (6 functions)

Function | Returns | Description
MULTIPARTNEW() | Long | Create a new multipart builder handle.
MULTIPARTFREE(h) | Long | Free a multipart builder and all its parts.
MULTIPARTADDFIELD(h, name$, value$) | Long | Add a text form field (0 = success, -1 = error).
MULTIPARTADDFILE(h, name$, filename$, filepath$) | Long | Add a file upload part from disk.
MULTIPARTBODY$(h) | String | Serialize all parts to multipart/form-data body.
MULTIPARTHEADER$(h) | String | Return the Content-Type header with boundary.

Example

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN() AS LONG
  LOCAL enc$, dec$, h, status, val

  ' Base64
  enc$ = BASE64$("Hello, World!")
  IF enc$ <> "SGVsbG8sIFdvcmxkIQ==" THEN FUNCTION = 1

  ' URL encode
  enc$ = URLENCODE$("a b=c")
  IF enc$ <> "a%20b%3Dc" THEN FUNCTION = 2

  ' JSON
  h = JSONNEW(5)
  status = JSONSETINT(h, "a", 42)
  status = JSONSETSTRING(h, "b", "hello")
  val = JSONGETINT(h, "a")
  IF val <> 42 THEN FUNCTION = 3
  enc$ = JSONSTRINGIFY$(h, 0)
  JSONFREE(h)

  FUNCTION = 0
END FUNCTION

See also

  • TCP and UDP Communications
  • Printing Commands
  • PBXB64 Compiler Help
Back to top


ESCAPE$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

ESCAPE$

JSON-escape a string.

Chapter: URL & Encoding | Certification: [CERTIFIED TESTED]

Syntax

result$ = ESCAPE$(input$)

Description

JSON-escape a string.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String with JSON special characters escaped.

Description

Escapes the characters required by JSON strings: double quote becomes \", backslash becomes \\, and control characters become \n, \r, \t, etc.

Parameters

Name | Type | Description
input$ | String | String to escape.

Example

LOCAL s$, esc$
s$ = "Line1" + $LF + "Line2"
esc$ = ESCAPE$(s$)
PRINT esc$   ' Line1\nLine2  (newline escaped)

See also

  • WEB-Enhancements
  • UNESCAPE$
  • JSONSETSTRING
  • PBXB64 Compiler Help


HEADERBUILD$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HEADERBUILD$

Build a single HTTP header line.

Chapter: HTTP | Certification: [CERTIFIED TESTED]

Syntax

result$ = HEADERBUILD$(key$, value$)

Description

Build a single HTTP header line.

Kind: Function | Category: Web & Network > URL Parsing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String in the form Key: Value .

Description

Concatenates a header key and value with a colon separator and CRLF terminator. Useful for assembling headers before calling HTTPREQUEST.

Parameters

Name | Type | Description
key$ | String | Header name.
value$ | String | Header value.

Expected output

Output: Content-Type: application/json (with trailing CRLF)

Example

LOCAL hdr$
hdr$ = HEADERBUILD$("Content-Type", "application/json")
PRINT hdr$  ' Content-Type: application/json

See also

  • WEB-Enhancements
  • HTTPOPEN
  • HTTPREQUEST
  • PBXB64 Compiler Help


HEX$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

HEX$

Encode a string as lowercase hexadecimal.

Chapter: URL & Encoding | Certification: [CERTIFIED TESTED]

Syntax

result$ = HEX$(input$)

Description

Encode a string as lowercase hexadecimal.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing two lowercase hex digits for each input byte.

Description

Performs a byte-by-byte hex encoding. The result length is always twice the input length and uses the characters 0-9a-f.

Parameters

Name | Type | Description
input$ | String | Data to encode.

Expected output

Output: 414243

Example

LOCAL s$, h$
s$ = "ABC"
h$ = HEX$(s$)
PRINT h$  ' 414243

See also

  • WEB-Enhancements
  • UNHEX$
  • BASE64$
  • PBXB64 Compiler Help


HMACSHA256$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › Hashing & HMAC PBXB64 Compiler Help

HMACSHA256$

Compute an HMAC-SHA256 authentication code.

Chapter: Hashing & HMAC | Certification: [CERTIFIED TESTED]

Syntax

result$ = HMACSHA256$(key$, data$)

Description

Compute an HMAC-SHA256 authentication code.

Kind: Function | Category: Web & Network > Hashing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing a 64-character lowercase hex HMAC.

Description

Computes HMAC-SHA256 using key$ and data$, returning a 64-character hex string. Provided as a deterministic stub in the current implementation.

Parameters

Name | Type | Description
key$ | String | Secret key.
data$ | String | Message to authenticate.

Expected output

Output: a 64-character lowercase hex string.

Example

LOCAL h$
h$ = HMACSHA256$("secret", "message")
PRINT h$  ' 64 hex chars

See also

  • WEB-Enhancements
  • SHA256$
  • HMACSHA512$
  • PBXB64 Compiler Help


HMACSHA512$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › Hashing & HMAC PBXB64 Compiler Help

HMACSHA512$

Compute an HMAC-SHA512 authentication code.

Chapter: Hashing & HMAC | Certification: [CERTIFIED TESTED]

Syntax

result$ = HMACSHA512$(key$, data$)

Description

Compute an HMAC-SHA512 authentication code.

Kind: Function | Category: Web & Network > Hashing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing a 128-character lowercase hex HMAC.

Description

Computes HMAC-SHA512 using key$ and data$, returning a 128-character hex string. Provided as a deterministic stub in the current implementation.

Parameters

Name | Type | Description
key$ | String | Secret key.
data$ | String | Message to authenticate.

Expected output

Output: a 128-character lowercase hex string.

Example

LOCAL h$
h$ = HMACSHA512$("secret", "message")
PRINT h$  ' 128 hex chars

See also

  • WEB-Enhancements
  • SHA512$
  • HMACSHA256$
  • PBXB64 Compiler Help


HTTPCLOSE - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTPCLOSE

Close an HTTP client handle.

Chapter: HTTP | Certification: [CERTIFIED TESTED]

Syntax

status = HTTPCLOSE(handle)

Description

Close an HTTP client handle.

Kind: Function | Category: Web & Network > HTTP Client

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer status (non-zero on success).

Description

Releases the resources associated with an HTTP handle opened by HTTPOPEN.

Parameters

Name | Type | Description
handle | Long | HTTP handle.

Example

LOCAL h AS LONG
h = HTTPOPEN("https://example.com", 3000)
IF h <> 0 THEN
  HTTPCLOSE h
  PRINT "closed"
END IF

See also

  • WEB-Enhancements
  • HTTPOPEN
  • HTTPREQUEST
  • PBXB64 Compiler Help


HTTPOPEN - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTPOPEN

Open an HTTP client handle.

Chapter: HTTP | Certification: [CERTIFIED TESTED]

Syntax

handle = HTTPOPEN(url$, timeout_ms)

Description

Open an HTTP client handle.

Kind: Function | Category: Web & Network > HTTP Client

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer handle, or 0 on failure.

Description

Initialises an HTTP request context for the given base URL and timeout. The returned handle is used with HTTPREQUEST and must be closed with HTTPCLOSE. Provided as a stub in the current implementation.

Parameters

Name | Type | Description
url$ | String | Base URL.
timeout_ms | Long | Timeout in milliseconds.

Example

LOCAL h AS LONG
h = HTTPOPEN("https://api.example.com", 5000)
IF h <> 0 THEN
  PRINT "HTTP handle opened"
  HTTPCLOSE h
END IF

See also

  • WEB-Enhancements
  • HTTPREQUEST
  • HTTPCLOSE
  • PBXB64 Compiler Help


HTTPREQUEST - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › HTTP PBXB64 Compiler Help

HTTPREQUEST

Send an HTTP request and return the response.

Chapter: HTTP | Certification: [CERTIFIED TESTED]

Syntax

response$ = HTTPREQUEST(handle, method$, path$, headers$, body$)

Description

Send an HTTP request and return the response.

Kind: Function | Category: Web & Network > HTTP Client

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the server response, or empty on error.

Description

Sends an HTTP request using the handle returned by HTTPOPEN. method$ is typically "GET", "POST", "PUT", or "DELETE". Provided as a stub in the current implementation.

Parameters

Name | Type | Description
handle | Long | HTTP handle from HTTPOPEN.
method$ | String | HTTP method.
path$ | String | Request path (may include query string).
headers$ | String | Header block, e.g. from HEADERBUILD$.
body$ | String | Request body, or empty string.

Example

LOCAL h AS LONG
LOCAL resp$, hdrs$
h = HTTPOPEN("https://api.example.com", 5000)
hdrs$ = HEADERBUILD$("Content-Type", "application/json")
resp$ = HTTPREQUEST(h, "GET", "/status", hdrs$, "")
PRINT resp$
HTTPCLOSE h

See also

  • WEB-Enhancements
  • HTTPOPEN
  • HTTPCLOSE
  • HEADERBUILD$
  • PBXB64 Compiler Help


JSONFREE - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONFREE

Release a JSON handle.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

status = JSONFREE(handle)

Description

Release a JSON handle.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer status (non-zero on success).

Description

Frees the memory associated with a JSON handle created by JSONNEW or JSONPARSE. After freeing, the handle must not be used again.

Parameters

Name | Type | Description
handle | Long | JSON handle to free.

Example

LOCAL h AS LONG
h = JSONNEW(5)
JSONSETINT h, "x", 1
PRINT JSONSTRINGIFY$(h, 0)  ' {"x":1}
JSONFREE h

See also

  • WEB-Enhancements
  • JSONNEW
  • JSONPARSE
  • PBXB64 Compiler Help


JSONGETBOOL - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONGETBOOL

Read a boolean value from a JSON object or array.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

value = JSONGETBOOL(handle, path$)

Description

Read a boolean value from a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer 1 for true, 0 for false or missing/non-boolean.

Description

Retrieves the boolean value at path$. JSON true returns 1 and false returns 0.

Parameters

Name | Type | Description
handle | Long | JSON handle.
path$ | String | Key name or array index.

Expected output

Output: 1 then 0

Example

LOCAL h AS LONG
LOCAL txt$, ok AS LONG, q AS STRING
q = CHR$(34)
txt$ = "{" + q + "active" + q + ":true," + q + "deleted" + q + ":false}"
h = JSONPARSE(txt$)
IF h = 0 THEN FUNCTION = 1
ok = JSONGETBOOL(h, "active")
IF ok <> 1 THEN FUNCTION = 2    ' true returns 1
ok = JSONGETBOOL(h, "deleted")
IF ok <> 0 THEN FUNCTION = 3    ' false returns 0
JSONFREE h

See also

  • WEB-Enhancements
  • JSONGETINT
  • JSONGETSTR
  • PBXB64 Compiler Help


JSONGETFLOAT - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONGETFLOAT

Read a floating-point value from a JSON object or array.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

value## = JSONGETFLOAT(handle, path$)

Description

Read a floating-point value from a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Double-precision floating-point value, or 0.0 if the path is missing or not a number.

Description

Retrieves the numeric value at path$ as a DOUBLE. Integer values are returned as floating-point.

Parameters

Name | Type | Description
handle | Long | JSON handle.
path$ | String | Key name or array index.

Expected output

Output: 3.14159

Example

LOCAL h AS LONG
LOCAL txt$, q AS STRING
LOCAL pi AS DOUBLE
q = CHR$(34)
txt$ = "{" + q + "pi" + q + ":3.14159}"
h = JSONPARSE(txt$)
IF h = 0 THEN FUNCTION = 1
pi = JSONGETFLOAT(h, "pi")
IF pi < 3.14 OR pi > 3.15 THEN FUNCTION = 2
JSONFREE h

See also

  • WEB-Enhancements
  • JSONGETINT
  • JSONSETSTRING
  • PBXB64 Compiler Help


JSONGETINT - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONGETINT

Read an integer value from a JSON object or array.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

value = JSONGETINT(handle, path$)

Description

Read an integer value from a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer value, or 0 if the path is missing or not a number.

Description

Retrieves the integer stored at path$. Floating-point values are truncated to integer.

Parameters

Name | Type | Description
handle | Long | JSON handle.
path$ | String | Key name or array index.

Expected output

Output: 42 then 3

Example

LOCAL h AS LONG
LOCAL txt$, v AS LONG, q AS STRING
q = CHR$(34)
txt$ = "{" + q + "x" + q + ":42," + q + "y" + q + ":3.14}"
h = JSONPARSE(txt$)
IF h = 0 THEN FUNCTION = 1
v = JSONGETINT(h, "x")
IF v <> 42 THEN FUNCTION = 2
v = JSONGETINT(h, "y")
IF v <> 3 THEN FUNCTION = 3   ' 3.14 truncated to 3
JSONFREE h

See also

  • WEB-Enhancements
  • JSONSETINT
  • JSONGETFLOAT
  • JSONGETBOOL
  • PBXB64 Compiler Help


JSONGETSTR - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONGETSTR

Read a string value from a JSON object or array.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

value$ = JSONGETSTR(handle, path$)

Description

Read a string value from a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String value, or empty if the path is missing or not a string.

Description

Retrieves the string stored at path$. JSON escape sequences are decoded into literal characters.

Parameters

Name | Type | Description
handle | Long | JSON handle.
path$ | String | Key name or array index.

Expected output

Output: PBXB64

Example

LOCAL h AS LONG
LOCAL txt$, name$, q AS STRING
q = CHR$(34)
txt$ = "{" + q + "name" + q + ":" + q + "PBXB64" + q + "}"
h = JSONPARSE(txt$)
IF h = 0 THEN FUNCTION = 1
name$ = JSONGETSTR(h, "name")
IF name$ <> "PBXB64" THEN FUNCTION = 2
JSONFREE h

See also

  • WEB-Enhancements
  • JSONSETSTRING
  • JSONGETINT
  • JSONPARSE
  • PBXB64 Compiler Help


JSONNEW - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONNEW

Create a new JSON value handle.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

handle = JSONNEW(type)

Description

Create a new JSON value handle.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer handle to the newly created JSON value.

Description

Allocates a JSON value. Pass 5 to create an empty object or 6 to create an empty array. The handle must later be released with JSONFREE.

Parameters

Name | Type | Description
type | Long | 5 = object, 6 = array.

Example

LOCAL hObj, hArr AS LONG
hObj = JSONNEW(5)  ' object
hArr = JSONNEW(6)  ' array
JSONFREE hObj
JSONFREE hArr

See also

  • WEB-Enhancements
  • JSONFREE
  • JSONPARSE
  • JSONSETINT
  • PBXB64 Compiler Help


JSONPARSE - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONPARSE

Parse a JSON text string into a handle.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

handle = JSONPARSE(jsonText$)

Description

Parse a JSON text string into a handle.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer handle to the parsed JSON value, or 0 on parse failure.

Description

Parses a JSON document supplied as a string and returns a handle. The returned handle must be freed with JSONFREE.

Parameters

Name | Type | Description
jsonText$ | String | Valid JSON text.

Expected output

Output: PBXB64

Example

LOCAL h AS LONG
LOCAL txt$
LOCAL q AS STRING
q = CHR$(34)   ' double-quote character
txt$ = "{" + q + "name" + q + ":" + q + "PBXB64" + q + "," + q + "version" + q + ":10}"
h = JSONPARSE(txt$)
IF h = 0 THEN FUNCTION = 1
IF JSONGETSTR(h, "name") <> "PBXB64" THEN FUNCTION = 2
JSONFREE h

See also

  • WEB-Enhancements
  • JSONSTRINGIFY$
  • JSONFREE
  • PBXB64 Compiler Help


JSONREMOVE - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONREMOVE

Remove a key from a JSON object or an element from a JSON array.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

status = JSONREMOVE(handle, path$)

Description

Remove a key from a JSON object or an element from a JSON array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer: 0 on success, -1 on failure (bad handle or path).

Description

Deletes the member at path$. For objects this removes the named key; for arrays it removes the element at the given index.

Parameters

Name | Type | Description
handle | Long | JSON object or array handle.
path$ | String | Key name or array index.

Example

LOCAL h AS LONG
h = JSONNEW(5)
JSONSETINT h, "a", 1
JSONSETINT h, "b", 2
JSONREMOVE h, "a"
PRINT JSONSTRINGIFY$(h, 0)  ' {"b":2}
JSONFREE h

See also

  • WEB-Enhancements
  • JSONSETINT
  • JSONSETSTRING
  • PBXB64 Compiler Help


JSONSETBOOL - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONSETBOOL

Set a boolean value in a JSON object or array.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

status = JSONSETBOOL(handle, path$, value)

Description

Set a boolean value in a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer: 0 on success, -1 on failure (bad handle or path).

Description

Stores a boolean at the specified path. value is treated as true if nonzero, false if zero. For objects, path$ is a key name; for arrays, a numeric index such as "0".

Parameters

Name | Type | Description
handle | Long | JSON object or array handle.
path$ | String | Key name or array index.
value | Long | 0 = false, nonzero = true.

Example

LOCAL h AS LONG
LOCAL st AS LONG
h = JSONNEW(5)
st = JSONSETBOOL(h, "active", 1)
IF st <> 0 THEN FUNCTION = 1
IF JSONGETBOOL(h, "active") <> 1 THEN FUNCTION = 2   ' true is returned as 1
JSONFREE h

See also

  • WEB-Enhancements
  • JSONSETINT
  • JSONSETSTRING
  • JSONSETFLOAT
  • JSONSETNULL
  • JSONGETBOOL
  • PBXB64 Compiler Help


JSONSETFLOAT - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONSETFLOAT

Set a floating-point value in a JSON object or array.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

status = JSONSETFLOAT(handle, path$, value#)

Description

Set a floating-point value in a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer: 0 on success, -1 on failure (bad handle or path).

Description

Stores a double-precision floating-point value at the specified path. For objects, path$ is a key name; for arrays, a numeric index such as "0".

Parameters

Name | Type | Description
handle | Long | JSON object or array handle.
path$ | String | Key name or array index.
value# | Double | Floating-point value to store.

Example

LOCAL h AS LONG
LOCAL pf AS DOUBLE
h = JSONNEW(5)
IF JSONSETFLOAT(h, "pi", 3.14159) <> 0 THEN FUNCTION = 1
pf = JSONGETFLOAT(h, "pi")
IF pf < 3.14 OR pf > 3.15 THEN FUNCTION = 2
JSONFREE h

See also

  • WEB-Enhancements
  • JSONSETINT
  • JSONSETSTRING
  • JSONSETBOOL
  • JSONSETNULL
  • JSONGETFLOAT
  • PBXB64 Compiler Help


JSONSETINT - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONSETINT

Set an integer value in a JSON object or array.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

status = JSONSETINT(handle, path$, value)

Description

Set an integer value in a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer: 0 on success, -1 on failure (bad handle or path).

Description

Stores an integer at the specified path. For objects, path$ is a key name. For arrays, path$ is a numeric index such as "0".

Parameters

Name | Type | Description
handle | Long | JSON object or array handle.
path$ | String | Key name or array index.
value | Long/Quad | Integer to store.

Example

LOCAL h AS LONG
h = JSONNEW(5)
JSONSETINT h, "answer", 42
JSONSETINT h, "count", 7
PRINT JSONSTRINGIFY$(h, 0)  ' {"answer":42,"count":7}
JSONFREE h

See also

  • WEB-Enhancements
  • JSONSETSTRING
  • JSONGETINT
  • JSONREMOVE
  • PBXB64 Compiler Help


JSONSETNULL - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONSETNULL

Set a JSON null in a JSON object or array.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

status = JSONSETNULL(handle, path$)

Description

Set a JSON null in a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer: 0 on success, -1 on failure (bad handle or path).

Description

Stores a JSON null at the specified path. For objects, path$ is a key name; for arrays, a numeric index such as "0".

Parameters

Name | Type | Description
handle | Long | JSON object or array handle.
path$ | String | Key name or array index to set to null.

Example

LOCAL h AS LONG
LOCAL s$
h = JSONNEW(5)
IF JSONSETNULL(h, "deleted") <> 0 THEN FUNCTION = 1
s$ = JSONSTRINGIFY$(h, 0)
IF INSTR(s$, "null") = 0 THEN FUNCTION = 2
JSONFREE h

See also

  • WEB-Enhancements
  • JSONSETINT
  • JSONSETSTRING
  • JSONSETBOOL
  • JSONSETFLOAT
  • JSONREMOVE
  • PBXB64 Compiler Help


JSONSETSTRING - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONSETSTRING

Set a string value in a JSON object or array.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

status = JSONSETSTRING(handle, path$, value$)

Description

Set a string value in a JSON object or array.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer: 0 on success, -1 on failure (bad handle or path).

Description

Stores a string at the specified path. The string is automatically JSON-escaped when the value is serialized.

Parameters

Name | Type | Description
handle | Long | JSON object or array handle.
path$ | String | Key name or array index.
value$ | String | String to store.

Example

LOCAL h AS LONG
h = JSONNEW(5)
JSONSETSTRING h, "name", "PBXB64"
JSONSETSTRING h, "line", "Hello World"
PRINT JSONSTRINGIFY$(h, 0)   ' contains name and line keys
JSONFREE h

See also

  • WEB-Enhancements
  • JSONSETINT
  • JSONGETSTR
  • ESCAPE$
  • PBXB64 Compiler Help


JSONSTRINGIFY$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONSTRINGIFY$

Serialize a JSON handle to a string.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

text$ = JSONSTRINGIFY$(handle, pretty)

Description

Serialize a JSON handle to a string.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the JSON text.

Description

Converts a JSON handle back to text. Pass 0 for compact output or a non-zero value for pretty-printed output with indentation and line breaks.

Parameters

Name | Type | Description
handle | Long | JSON handle.
pretty | Long | 0 = compact, non-zero = pretty-printed.

Expected output

Output: {"name":"PBXB64","version":10}

Example

LOCAL h AS LONG
LOCAL txt$
h = JSONNEW(5)
JSONSETSTRING h, "name", "PBXB64"
JSONSETINT h, "version", 10
txt$ = JSONSTRINGIFY$(h, 0)
PRINT txt$  ' {"name":"PBXB64","version":10}
JSONFREE h

See also

  • WEB-Enhancements
  • JSONPARSE
  • JSONNEW
  • PBXB64 Compiler Help


JSONTYPE$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › JSON PBXB64 Compiler Help

JSONTYPE$

Return the type name of a JSON value.

Chapter: JSON | Certification: [CERTIFIED TESTED]

Syntax

type$ = JSONTYPE$(handle)

Description

Return the type name of a JSON value.

Kind: Function | Category: Web & Network > JSON

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing one of: null, bool, int, float, string, array, object.

Description

Inspects the JSON value referenced by handle and returns its type as a lowercase string.

Parameters

Name | Type | Description
handle | Long | JSON handle.

Expected output

Output: object

Example

LOCAL h AS LONG
h = JSONNEW(5)
PRINT JSONTYPE$(h)  ' object
JSONFREE h

See also

  • WEB-Enhancements
  • JSONNEW
  • JSONPARSE
  • PBXB64 Compiler Help


MD5$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › Hashing & HMAC PBXB64 Compiler Help

MD5$

Compute an MD5 digest of a string.

Chapter: Hashing & HMAC | Certification: [CERTIFIED TESTED]

Syntax

result$ = MD5$(input$)

Description

Compute an MD5 digest of a string.

Kind: Function | Category: Web & Network > Hashing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing a 32-character lowercase hex digest.

Description

Returns the MD5 message digest of input$ as a 32-character hex string. Provided as a deterministic stub in the current implementation.

Parameters

Name | Type | Description
input$ | String | Data to hash.

Expected output

Output: a 32-character lowercase hex string.

Example

LOCAL h$
h$ = MD5$("abc")
PRINT h$  ' 32 hex chars

See also

  • WEB-Enhancements
  • SHA1$
  • SHA256$
  • SHA512$
  • PBXB64 Compiler Help


SHA1$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › Hashing & HMAC PBXB64 Compiler Help

SHA1$

Compute a SHA-1 digest of a string.

Chapter: Hashing & HMAC | Certification: [CERTIFIED TESTED]

Syntax

result$ = SHA1$(input$)

Description

Compute a SHA-1 digest of a string.

Kind: Function | Category: Web & Network > Hashing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing a 40-character lowercase hex digest.

Description

Returns the SHA-1 message digest of input$ as a 40-character hex string. Provided as a deterministic stub in the current implementation.

Parameters

Name | Type | Description
input$ | String | Data to hash.

Expected output

Output: a 40-character lowercase hex string.

Example

LOCAL h$
h$ = SHA1$("abc")
PRINT h$  ' 40 hex chars

See also

  • WEB-Enhancements
  • MD5$
  • SHA256$
  • PBXB64 Compiler Help


SHA256$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › Hashing & HMAC PBXB64 Compiler Help

SHA256$

Compute a SHA-256 digest of a string.

Chapter: Hashing & HMAC | Certification: [CERTIFIED TESTED]

Syntax

result$ = SHA256$(input$)

Description

Compute a SHA-256 digest of a string.

Kind: Function | Category: Web & Network > Hashing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing a 64-character lowercase hex digest.

Description

Returns the SHA-256 message digest of input$ as a 64-character hex string. Provided as a deterministic stub in the current implementation.

Parameters

Name | Type | Description
input$ | String | Data to hash.

Expected output

Output: a 64-character lowercase hex string.

Example

LOCAL h$
h$ = SHA256$("abc")
PRINT h$  ' 64 hex chars

See also

  • WEB-Enhancements
  • SHA1$
  • SHA512$
  • HMACSHA256$
  • PBXB64 Compiler Help


SHA512$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › Hashing & HMAC PBXB64 Compiler Help

SHA512$

Compute a SHA-512 digest of a string.

Chapter: Hashing & HMAC | Certification: [CERTIFIED TESTED]

Syntax

result$ = SHA512$(input$)

Description

Compute a SHA-512 digest of a string.

Kind: Function | Category: Web & Network > Hashing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing a 128-character lowercase hex digest.

Description

Returns the SHA-512 message digest of input$ as a 128-character hex string. Provided as a deterministic stub in the current implementation.

Parameters

Name | Type | Description
input$ | String | Data to hash.

Expected output

Output: a 128-character lowercase hex string.

Example

LOCAL h$
h$ = SHA512$("abc")
PRINT h$  ' 128 hex chars

See also

  • WEB-Enhancements
  • SHA256$
  • HMACSHA512$
  • PBXB64 Compiler Help


UNBASE64$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

UNBASE64$

Decode a Base64-encoded string.

Chapter: URL & Encoding | Certification: [CERTIFIED TESTED]

Syntax

result$ = UNBASE64$(base64$)

Description

Decode a Base64-encoded string.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the decoded bytes.

Description

Reverses BASE64$ and BASE64URLSAFE$. Both standard and URL-safe alphabets are accepted. Padding is optional. Invalid characters are ignored.

Parameters

Name | Type | Description
base64$ | String | Base64 text to decode.

Expected output

Output: Hello, World!

Example

LOCAL enc$, dec$
enc$ = "SGVsbG8sIFdvcmxkIQ=="
dec$ = UNBASE64$(enc$)
PRINT dec$  ' Hello, World!

See also

  • WEB-Enhancements
  • BASE64$
  • BASE64URLSAFE$
  • PBXB64 Compiler Help


UNESCAPE$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

UNESCAPE$

Remove JSON escape sequences from a string.

Chapter: URL & Encoding | Certification: [CERTIFIED TESTED]

Syntax

result$ = UNESCAPE$(input$)

Description

Remove JSON escape sequences from a string.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String with JSON escape sequences converted back to literal characters.

Description

Reverses ESCAPE$. Recognises \", \\, \/, \b, \f, \n, \r, \t, and \uHHHH.

Parameters

Name | Type | Description
input$ | String | JSON-escaped string.

Example

LOCAL esc$, s$
esc$ = "Tab" + CHR$(92) + "tHere"   ' builds the literal: Tab\tHere
s$ = UNESCAPE$(esc$)
PRINT s$   ' Tab<TAB>Here

See also

  • WEB-Enhancements
  • ESCAPE$
  • URLDECODE$
  • PBXB64 Compiler Help


UNHEX$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

UNHEX$

Decode a hexadecimal string.

Chapter: URL & Encoding | Certification: [CERTIFIED TESTED]

Syntax

result$ = UNHEX$(hex$)

Description

Decode a hexadecimal string.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the raw bytes represented by the hex text.

Description

Converts pairs of hex digits back into bytes. Both uppercase and lowercase hex are accepted. Whitespace and non-hex characters are ignored.

Parameters

Name | Type | Description
hex$ | String | Hex text to decode.

Expected output

Output: Hello

Example

LOCAL h$, s$
h$ = "48 65 6C 6C 6F"
s$ = UNHEX$(h$)
PRINT s$  ' Hello

See also

  • WEB-Enhancements
  • HEX$
  • BASE64$
  • PBXB64 Compiler Help


URLDECODE$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

URLDECODE$

Percent-decode a URL-encoded string.

Chapter: URL & Encoding | Certification: [CERTIFIED TESTED]

Syntax

result$ = URLDECODE$(input$)

Description

Percent-decode a URL-encoded string.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String with percent escapes replaced by their original characters.

Description

Reverses URLENCODE$. Any sequence of the form %HH is converted back to the corresponding byte. Plus signs (+) are left as-is.

Parameters

Name | Type | Description
input$ | String | URL-encoded string.

Expected output

Output: a b=c

Example

LOCAL enc$, dec$
enc$ = "a%20b%3Dc"
dec$ = URLDECODE$(enc$)
PRINT dec$  ' a b=c

See also

  • WEB-Enhancements
  • URLENCODE$
  • UNESCAPE$
  • PBXB64 Compiler Help


URLENCODE$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

URLENCODE$

Percent-encode a string for use in a URL.

Chapter: URL & Encoding | Certification: [CERTIFIED TESTED]

Syntax

result$ = URLENCODE$(input$)

Description

Percent-encode a string for use in a URL.

Kind: Function | Category: Web & Network > Encoding

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String with unsafe characters replaced by %HH escape sequences.

Description

Encodes characters that are not unreserved URL characters (alphanumerics, hyphen, underscore, period, tilde) as percent-encoded bytes using uppercase hex digits.

Parameters

Name | Type | Description
input$ | String | String to encode.

Expected output

Output: a%20b%3Dc%26d%3F

Example

LOCAL s$, enc$
s$ = "a b=c&d?"
enc$ = URLENCODE$(s$)
PRINT enc$  ' a%20b%3Dc%26d%3F

See also

  • WEB-Enhancements
  • URLDECODE$
  • BASE64URLSAFE$
  • PBXB64 Compiler Help


URLHOST$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

URLHOST$

Extract the host component from a URL.

Chapter: URL & Encoding | Certification: [CERTIFIED TESTED]

Syntax

result$ = URLHOST$(url$)

Description

Extract the host component from a URL.

Kind: Function | Category: Web & Network > URL Parsing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the host, or empty if no host is present.

Description

Parses a URL and returns the host portion. For http://example.com:8080/path the result is example.com.

Parameters

Name | Type | Description
url$ | String | URL to parse.

Expected output

Output: www.example.com

Example

LOCAL url$, host$
url$ = "https://www.example.com:8080/path?x=1"
host$ = URLHOST$(url$)
PRINT host$  ' www.example.com

See also

  • WEB-Enhancements
  • URLPATH$
  • URLQUERY$
  • URLPORT
  • PBXB64 Compiler Help


URLPATH$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

URLPATH$

Extract the path component from a URL.

Chapter: URL & Encoding | Certification: [CERTIFIED TESTED]

Syntax

result$ = URLPATH$(url$)

Description

Extract the path component from a URL.

Kind: Function | Category: Web & Network > URL Parsing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the path, including the leading slash.

Description

Parses a URL and returns the path. For http://example.com:8080/api/v1?x=1 the result is /api/v1.

Parameters

Name | Type | Description
url$ | String | URL to parse.

Expected output

Output: /v1/users

Example

LOCAL url$, path$
url$ = "https://api.example.com/v1/users?id=42"
path$ = URLPATH$(url$)
PRINT path$  ' /v1/users

See also

  • WEB-Enhancements
  • URLHOST$
  • URLQUERY$
  • URLPORT
  • PBXB64 Compiler Help


URLPORT - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

URLPORT

Extract the port number from a URL.

Chapter: URL & Encoding | Certification: [CERTIFIED TESTED]

Syntax

result = URLPORT(url$)

Description

Extract the port number from a URL.

Kind: Function | Category: Web & Network > URL Parsing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

Long integer port number, or 0 if no explicit port is present.

Description

Parses a URL and returns the explicit port. For http://example.com:8080/path the result is 8080. If no port is specified, returns 0.

Parameters

Name | Type | Description
url$ | String | URL to parse.

Expected output

Output: 8443

Example

LOCAL url$, p AS LONG
url$ = "https://example.com:8443/secure"
p = URLPORT(url$)
PRINT p  ' 8443

See also

  • WEB-Enhancements
  • URLHOST$
  • URLPATH$
  • URLQUERY$
  • PBXB64 Compiler Help


URLQUERY$ - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Web APIs › URL & Encoding PBXB64 Compiler Help

URLQUERY$

Extract the query string from a URL.

Chapter: URL & Encoding | Certification: [CERTIFIED TESTED]

Syntax

result$ = URLQUERY$(url$)

Description

Extract the query string from a URL.

Kind: Function | Category: Web & Network > URL Parsing

PBXB64 Status: AVAILABLE (V10+)

PBXB64 Certification: [CERTIFIED TESTED]

Returns

String containing the query string without the leading ?, or empty if none.

Description

Parses a URL and returns the query portion. For http://example.com/path?x=1&y=2 the result is x=1&y=2.

Parameters

Name | Type | Description
url$ | String | URL to parse.

Expected output

Output: q=PBXB64&lang=en

Example

LOCAL url$, q$
url$ = "https://example.com/search?q=PBXB64&lang=en"
q$ = URLQUERY$(url$)
PRINT q$  ' q=PBXB64&lang=en

See also

  • WEB-Enhancements
  • URLHOST$
  • URLPATH$
  • URLPORT
  • PBXB64 Compiler Help


WEND - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

WEND

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

WHILE x < 10
  INCR x
WEND

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


What Are Connection Points? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

What Are Connection Points?

Describes COM connection points and event callbacks.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Describes COM connection points and event callbacks.

Kind: Conceptual | Category: COM, Objects, and OOP

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


What Does a Class Look Like? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

What Does a Class Look Like?

Describes class definition syntax and structure.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Describes class definition syntax and structure.

Kind: Conceptual | Category: COM, Objects, and OOP

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


What Does an Interface Look Like? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

What Does an Interface Look Like?

Explains interface declarations and usage.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Explains interface declarations and usage.

Kind: Conceptual | Category: COM, Objects, and OOP

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


What Is a COM Component? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

What Is a COM Component?

Overview of COM components and how to use them from PBXB64.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Overview of COM components and how to use them from PBXB64.

Kind: Conceptual | Category: COM, Objects, and OOP

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


What is a Dll? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

What is a Dll?

A Dynamic Link Library (DLL) is a Windows executable library module containing one or more Subs , Functions , or classes that can be called by executables or other DLLs. Unlike executables, DLLs do no

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

A Dynamic Link Library (DLL) is a Windows executable library module containing one or more Subs , Functions , or classes that can be called by executables or other DLLs. Unlike executables, DLLs do no

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

To get a better idea of how a DLL works, it helps to understand the difference between static and dynamic linking. Static linking is the process of writing one or more modules, and then linking them, along with whatever other run-time, third-party, etc., libraries that may be needed to create a complete, stand-alone executable program. When a program uses a Sub or Function from a static-link library, a copy of that Sub or Functions code is statically linked into the programs executable file.

If two programs that are running concurrently use the same routine from a library, they would each have their own copy of that routine. It would be more efficient if the two programs could share a single copy of the routine. DLLs provide that capability by resolving your application's references to external procedures at run-time.

In contrast to a static-link library, the code in a DLL is not linked into a program that uses the DLL. Instead, a DLLs code and resources are in a separate executable file, usually with a .DLL extension. This file must be present when the application runs. You will still have to write one or more modules to implement the functions that are specific to your application.

However, the linking process is divided into two stages. You first place DECLARE statements into your application to temporarily satisfy the references your program makes to the DLL services, in order to create an EXE (or DLL) file. The second stage happens at run-time, when your program calls one of the DLLs services.

Back to command index


What Is a Resource File? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

What Is a Resource File?

Overview of Windows resource files and how to include them.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Overview of Windows resource files and how to include them.

Kind: Conceptual | Category: Preprocessor and Metastatements

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


What Is an HRESULT? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

What Is an HRESULT?

Explains HRESULT return codes and error handling in COM.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Explains HRESULT return codes and error handling in COM.

Kind: Conceptual | Category: COM, Objects, and OOP

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


What Is an Object Anyway? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

What Is an Object Anyway?

Explains COM objects, interfaces, and object-oriented concepts in PBXB64.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Explains COM objects, interfaces, and object-oriented concepts in PBXB64.

Kind: Conceptual | Category: COM, Objects, and OOP

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


What is an SLL? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

What is an SLL?

An SLL is a Static Link Library. It consists of a set of Classes , Subs , and Functions which are compiled into a machine-code library. Since it is a library, the code cannot be executed standalone. I

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

An SLL is a Static Link Library. It consists of a set of Classes , Subs , and Functions which are compiled into a machine-code library. Since it is a library, the code cannot be executed standalone. I

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

A Static Link Library is the perfect vehicle for third-party code, because it creates a single final module while not requiring source code to be distributed. It allows you to create a group of your own libraries, which you know function correctly and don't require any further debugging. It also offers big advantages to larger group programming projects to control distribution of various elements.

Creating a Static Link Library

Back to command index


What is DISPATCH? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

What is DISPATCH?

The DISPATCH INTERFACE is a slower form of interface , originally introduced as a part of Microsoft Visual Basic. An implementation of COM DISPATCH support was introduced in a prior version of PowerBA

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

The DISPATCH INTERFACE is a slower form of interface , originally introduced as a part of Microsoft Visual Basic. An implementation of COM DISPATCH support was introduced in a prior version of PowerBA

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

When you use DISPATCH, the compiler actually passes the name of the METHOD you wish to execute as a text string. The parameters can also be passed in the same way. The object must then look up the names, and decide which METHOD to execute, and which parameters to use, based upon the text strings provided. As if that weren't enough, DISPATCH requires that all parameters and return values be passed as VARIANT variables, with all those conversions the responsibility of the programmer. That's right, you. This is a slow process. However, DISPATCH is flexible, convenient, and forgiving. Further, you'll find that many scripting languages and application use DISPATCH as their sole method of operation, so continued support is absolutely necessary.

What is an object, anyway?

Back to command index


What is inheritance? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

What is inheritance?

Inheritance is all about code reuse. You can reuse the definitions of an interface , or you can reuse complete sections of code.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Inheritance is all about code reuse. You can reuse the definitions of an interface , or you can reuse complete sections of code.

Kind: Keyword | Category: COM & Objects

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

INTERFACE INHERITANCE is defined by COM standards, and available for use by any COM object . This form of inheritance applies only to the definition of each item in an interface, rather than the underlying code. Interface inheritance gives you the option to use one interface in multiple classes (objects). Because the interface definition remains identical in each instance, you can often use the identical (or similar) code to manipulate different objects. With this form of inheritance, the programmer must provide appropriate code for each of the Methods and Properties in every implementation of the interface.

IMPLEMENTATION INHERITANCE is the process whereby a CLASS derives all of the functionality of an interface implemented elsewhere. That is, the derived class now has all the methods and properties of this new, extended version of a Base Class ! This form of inheritance is offered by PowerBASIC, even though it is not required by the COM Specification.

You can extend the functionality of an interface you created earlier by adding new methods and properties to the derived interface/class. The syntax for adding extra methods (not in the Base Class) is the same as adding methods to a standard class -- just add methods and properties, as always.

You can add to, or replace, the functionality of a particular method or property by coding a replacement which is preceded by the word OVERRIDE . The overriding method must have the same name and signature (parameters, return value, etc.) as the one it replaces. When you implement a new method in a derived class, you may call a method in the Base Class by using the pseudo-object MYBASE . This allows you to extend the original functionality, or replace it entirely.

Back to command index


WHILE - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Control Flow PBXB64 Compiler Help

WHILE

Loop while a condition is true

Chapter: Control Flow | Certification: [CERTIFIED TESTED]

Syntax

WHILE condition
  [statements]
WEND

Description

Loop while a condition is true

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The WHILE...WEND statement executes a block of statements as long as condition is true. The condition is tested before each iteration, so the body may execute zero times.

Generated Assembly

Compile with:

PBXB64 example.pb --asmout example.asm
    mov rbx, 1
    mov [rbp-24], rbx
    xor rbx, rbx
    mov [rbp-32], rbx
pb_while_cond_PBMAIN_0:
    mov r10, [rbp-24]
    mov rbx, r10
    cmp rbx, 5
    setle r10
    mov rbx, r10
    test rbx, rbx
    jne pb_while_body_PBMAIN_1
    jmp pb_while_end_PBMAIN_2
pb_while_body_PBMAIN_1:
    mov r10, [rbp-32]
    mov rbx, r10
    mov r10, [rbp-24]
    add rbx, r10
    mov [rbp-32], rbx
    mov r10, [rbp-24]
    mov rbx, r10
    add rbx, 1
    mov [rbp-24], rbx
    jmp pb_while_cond_PBMAIN_0
pb_while_end_PBMAIN_2:

Notes

Use EXIT LOOP or EXIT DO to leave a WHILE loop early.

Example

FUNCTION PBMAIN () AS LONG
    LOCAL n AS LONG
    LOCAL sum AS LONG
    n = 1
    sum = 0
    WHILE n <= 5
        sum = sum + n
        n = n + 1
    WEND
    FUNCTION = sum
END FUNCTION

See also

  • DO
  • LOOP
  • EXIT
  • ITERATE
  • BASIC Control Flow


WHILE/WEND statements - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

WHILE/WEND statements

Define a block of program statements that are executed repeatedly for as long as certain conditions are met.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

WHILE integer_expression
[ statements ]
[EXIT LOOP]
WEND

Description

Define a block of program statements that are executed repeatedly for as long as certain conditions are met.

Kind: Statement | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If integer_expression is TRUE (it evaluates to a non-zero value), all of the statements between the WHILE and the terminating WEND are executed. PowerBASIC then jumps back to the WHILE statement and repeats the test. If it is still TRUE, PowerBASIC executes the enclosed statements again. This process is repeated until the test expression evaluates to zero, or an EXIT statement is encountered. In either case, execution passes to the statement following WEND.

If integer_expression evaluates to FALSE (zero) on the first pass, none of the statements in the loop are executed.

Loops built with WHILE/WEND statements can be nested (enclosed within each other). Each WEND matches the most recent unmatched WHILE.

One use of a WHILE/WEND loop is to input data from a file until the end of the file is reached:

i& = 0

WHILE ISFALSE EOF(1)

INCR i&

LINE INPUT #1, FileTxt$(i&)

Although the compiler does not care, it's a good idea to indent the statements between WHILE and WEND, to clarify the structure of the loop you have constructed.

Note that the following code creates in infinite loop:

WHILE -1

[ statements ]

To exit a WHILE/WEND loop prematurely, use the EXIT LOOP statement.

PowerBASIC's DO/LOOP construct offers a more flexible way to build conditional loops.

Also see the discussion on the IF statement for notes on PowerBASIC's Short-circuit evaluation and its possible side effects.

Example

#COMPILE EXE
#DIM ALL
' controlflow_while_wend
FUNCTION PBMAIN() AS LONG
  LOCAL i AS LONG
  LOCAL s AS LONG
  i = 1
  s = 0
  WHILE i <= 5
    s = s + i
    i = i + 1
  WEND
  IF (s) <> (15) THEN FUNCTION = 1: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION

See also

  • #OPTIMIZE
  • DO/LOOP statements
  • EXIT
  • FOR EACH/NEXT statements
  • FOR/NEXT statements
  • ITERATE
  • IF/END IF


Why use Dlls? - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Why use Dlls?

There are a number of mitigating reasons to create a DLL. Among them are:

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

There are a number of mitigating reasons to create a DLL. Among them are:

Kind: Keyword | Category: General

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Parts of your code, while functional, might not execute as fast as you would like. Once you've isolated the bottleneck area(s), a machine code DLL is an obvious choice for optimizing just those areas of your application that are running too slowly.

Unlike conventional libraries, when a DLL is loaded into memory by the operating system, its Subs and Functions are accessible by all other programs (or DLLs). Only one copy of the DLL needs to be present in memory. This is possible because the library is not linked into any one of the programs permanently. It is present, in memory, making its services available to any program (or other DLL) which may need them.

You might have a set of procedures that are common to a number of different applications. Instead of having those procedures appear in every application that needs them, it is better to put them in a DLL where they can be accessed by all the applications. This reduces the size of your executables while giving you the flexibility of updating the DLL itself, without having to re-compile every application that uses its services.

A DLL can be updated and redistributed without having to re-compile any of the applications (or other DLLs) that use its services.

Back to command index


Win32 API Include Updates - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Win32 API Include Updates

Notes on Win32 API include file updates.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Notes on Win32 API include file updates.

Kind: Conceptual | Category: Development

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

This topic provides background information and practical guidance. For detailed syntax, see the related command pages.

See also

  • PBXB64 Compiler Help


WINDOW GET HANDLE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

WINDOW GET HANDLE

Manipulate a Window in the program, which may include setting or retrieving data. The target window may be of any class, including a CONTROL

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

WINDOW GET HANDLE hWin , ID& TO DataVar&
WINDOW GET ID hWin TO DataVar&
WINDOW GET PARENT hWin TO DataVar&
WINDOW GET STYLE hWin TO DataVar&
WINDOW GET STYLEX hWin TO DataVar&
WINDOW GET USER hWin TO DataVar&

Description

Manipulate a Window in the program, which may include setting or retrieving data. The target window may be of any class, including a CONTROL

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The WINDOW statement may be used with any type of window in your program, including a Control or Dialog. Generally speaking, the window to be manipulated or tested is identified by its handle ( hWin ), which is often obtained at the time it is created. However, since a control is usually accessed by a "Parent / ID" combination, you must use WINDOW GET HANDLE or CONTROL HANDLE to retrieve its handle for this purpose. If the operation fails, the value zero (0) is assigned to the result variable.

WINDOW GET HANDLE hWin , ID& TO DataVar&

This statement retrieves the handle of a Window, translating from the parent handle and the specific integral control ID given at the time it was created. hWin is the handle of the parent, ID& is the control ID, and DataVar& represents the variable which receives the desired window handle.

WINDOW GET ID

hWin To DataVar&

The integral ID of the window hWin is retrieved and assigned to the variable designated by DataVar& . Generally, only a CONTROL will have an ID, so windows of other classes will normally return the value zero.

WINDOW GET PARENT hWin To DataVar&

The handle of the parent is retrieved and assigned to the variable designated by DataVar& .

WINDOW GET STYLE hWin TO DataVar&

The window style value of the window specified by the handle hWin is retrieved and assigned to the variable designated by DataVar& .

WINDOW GET STYLEX hWin TO DataVar&

The extended window style value of the window specified by the handle hWin is retrieved and assigned to the variable designated by DataVar& .

WINDOW GET USER hWin TO DataVar&

The 32-bit user data value associated with the window specified by the handle hWin is retrieved and assigned to the variable designated by DataVar& . This particular user data value is associated with every window in your program, and is maintained by the Windows operating system. It is separate and apart from user data maintained by DDT for each dialog and control created with DDT.

See also

  • CONTROL HANDLE
  • WINDOW SET ID
  • PBXB64 Compiler Help


WINDOW SET ID - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

WINDOW SET ID

Manipulate a Window in the program, which may include setting or retrieving data. The target window may be of any class, including a CONTROL

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

WINDOW SET ID hWin , NewVal& TO OldValVar&
WINDOW SET STYLE hWin , NewVal& TO OldValVar&
WINDOW SET STYLEX hWin , NewVal& TO OldValVar&
WINDOW SET USER hWin , NewVal& TO OldValVar&

Description

Manipulate a Window in the program, which may include setting or retrieving data. The target window may be of any class, including a CONTROL

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The WINDOW SET statement may be used with any type of window in your program, including a Control or Dialog. However, you must use care due to possible side effects. Generally speaking, the window to be manipulated is identified by its handle ( hWin ), which is often obtained at the time it is created. However, since a control is usually accessed by a "Parent / ID" combination, you must use WINDOW GET HANDLE or CONTROL HANDLE to retrieve its handle for this purpose.

WINDOW SET ID hWin , NewVal& To OldValVar&

The integral ID of the window hWin is changed to NewVal& . The prior ID value is assigned to the variable designated by OldValVar& . If the operation fails, the value zero (0) is assigned to OldValVar& . As a general rule, you should not change the ID of a Window, Dialog, or Control created with DDT as it will cause unpredictable results.

WINDOW SET STYLE hWin , NewVal& TO OldValVar&

The window style value of the window hWin is changed to NewVal& . The prior style value is assigned to the variable designated by OldValVar& . If the operation fails, the value zero (0) is assigned to OldValVar& .

WINDOW SET STYLEX hWin , NewVal& TO OldValVar&

The extended window style value of the window hWin is changed to NewVal& . The prior extended style value is assigned to the variable designated by OldValVar& . If the operation fails, the value zero (0) is assigned to OldValVar& .

WINDOW SET USER hWin , NewVal& TO OldValVar&

The 32-bit user data value associated with the window specified by the handle hWin is changed to NewVal& . The prior user data value is assigned to the variable designated by OldValVar& . This particular user data value is associated with every window in your program, and is maintained by the Windows operating system. It is separate and apart from user data maintained by DDT for each dialog and control created with DDT. If the operation fails, the value zero (0) is assigned to OldValVar& . However, this is not a certain indication of failure, since the prior user value might have been zero.

See also

  • CONTROL HANDLE
  • WINDOW GET HANDLE
  • PBXB64 Compiler Help


WINMAIN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

WINMAIN

WINMAIN (or its synonym

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

FUNCTION {WINMAIN | MAIN} ( _
BYVAL hInstance AS DWORD, _
BYVAL hPrevInst AS DWORD, _
BYVAL lpszCmdLine AS WSTRINGZ PTR, _
BYVAL nCmdShow AS LONG ) AS LONG

Description

WINMAIN (or its synonym

Kind: Function | Category: Procedures

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Return value: The return value assigned to WINMAIN is optional, but by convention, the return value is derived from the wParam& parameter of a %WM_QUIT message. Typically, a GUI-based application uses the WINMAIN function to create the initial GUI application window, and then enters a message loop. This loop should terminate when a %WM_QUIT message is received, and the wParam& parameter of that message should be passed on as the return value for WINMAIN. If WINMAIN terminates before entering the message loop, WINMAIN should return zero. Console applications may use the return value to set an error level that can be passed back to the calling application, in the range 0 to 255 inclusive. Batch files may act on the result through the IF [NOT] ERRORLEVEL batch command. If the parameters passed to WINMAIN are not required by the application itself, the PBMAIN function may be used in place of WINMAIN.

The WINMAIN function is called by Windows when an executable application first loads and begins to run. It is often referred to as the "entry point" for the application. When the execution of WINMAIN is completed, the application is deemed to be finished, and Windows releases the application memory back to the heap. WINMAIN receives the following parameters:

hInstance

The executable's (EXE) instance handle . Each instance of a Windows application has a unique handle. It is used as a parameter to a number of Windows API functions which may need to distinguish between multiple instances of an application.

hPrevInst

Not used by 32-bit Windows. It is present merely for compatibility with existing 16-bit code, and always returns zero in 32-bit applications.

lpszCmdLine

A pointer to an nul-terminated string that contains a command-line. Note that the string passed in lpszCmdLine is not the same as the string returned by the GetCommandLine API call. The string in lpszCmdLine contains the command-line arguments only (like COMMAND$ ), but GetCommandLine returns the program name (including path) followed by the arguments.

nCmdShow

Specifies how to display the application's main window. For example, the calling application can specify %SW_NORMAL or %SW_MINIMIZE, etc. It is up to the programmer to honor this parameter, and to do so is recommended.

Restrictions

Pointers may not be passed BYREF , so the lpszCmdLine parameter of WINMAIN must be declared to be passed BYVAL .

See also

  • PBMAIN
  • PBXB64 Compiler Help


Word (??) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Word (??)

Words are 16-bit (two byte ) unsigned integers with a range of 0 to 65535 ( 0 to 2^16-1). The type-specifier character for a Word is: ??.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

Words are 16-bit (two byte ) unsigned integers with a range of 0 to 65535 ( 0 to 2^16-1). The type-specifier character for a Word is: ??.

Kind: Keyword | Category: Data Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Word variables are identified by following the variable name with two question marks (i.e., var?? ), or by using the DEFWRD statement as described in the previous discussion of Integers. You can also declare word variables using the WORD keyword with the DIM statement. For example:

Word values effectively extend the positive range for Integer, but still only require two bytes for storage.

A C/C++ UINT16 and a Delphi word are equivalent to a PowerBASIC Word.

Example

#COMPILE EXE
#DIM ALL
' numeric_type_long
FUNCTION PBMAIN() AS LONG
  LOCAL a AS LONG
  a = 10
  IF (a) <> (10) THEN FUNCTION = 1: EXIT FUNCTION
  a = a + 5
  IF (a) <> (15) THEN FUNCTION = 2: EXIT FUNCTION
  a = a * 2
  IF (a) <> (30) THEN FUNCTION = 3: EXIT FUNCTION
  FUNCTION = 0
END FUNCTION


WRAP$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

WRAP$

Add paired characters to the beginning and end of a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

s$ = WRAP$( StringExpression , LeftChar$ , RightChar$ )

Description

Add paired characters to the beginning and end of a string

Kind: Function | Category: String Functions

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The WRAP$ function prepends LeftChar$ to the StringExpression, then appends RightChar$, and returns the total result. For example:

WRAP$("MyWord", "<", ">") returns "<MyWord>"

It is particularly useful for enclosing text with parenthesess, quotes, brackets, etc.

See also

  • BUILD$
  • IStringBuilderA.Add method
  • STRINSERT$
  • UNWRAP$
  • PBXB64 Compiler Help


WRITE# - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

WRITE#

Output data to a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

WRITE # filenum&
WRITE # filenum& , [ expression [{;|,} expression ] ...] [;|,]

Description

Output data to a

Kind: Statement | Category: File I/O

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

WRITE# is similar to PRINT# , except WRITE# inserts a comma in the output file between each expression. It encloses

data within quotation marks, and adds no leading or trailing spaces around numeric values.

WRITE# is the preferred method of writing data to a sequential file, since it formats the output to be readable by the INPUT# statement. In other words, INPUT# respects the delimiter characters that separate items in a line of text, as created by WRITE#.

WRITE# with a file number and a comma but no expressions, outputs a carriage return to the file.

To read a delimited file without regard to the delimiter characters, use the LINE INPUT# statement.

Restrictions

For best results, strings should not contain quotation marks, as these may interfere with the expected output format.

Each expression in the WRITE# statement must be separated from other expressions by a comma or semicolon. If you include a trailing comma or semicolon, the final carriage return / line feed is suppressed and replaced with a comma delimiter. This allows you to append data to the sequential record by executing another WRITE statement.

See also

  • GET
  • GET$
  • GET$$
  • INPUT#
  • LINE INPUT#
  • OPEN
  • PRINT#
  • PUT
  • PUT$
  • PUT$$
  • SETEOF
  • PBXB64 Compiler Help


Writing an error handler - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Writing an error handler

When an error occurs and an error trap invokes your error-handling routine, the first thing the code should do is to determine which error occurred. PowerBASIC's ERR and ERRCLEAR functions return the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Description

When an error occurs and an error trap invokes your error-handling routine, the first thing the code should do is to determine which error occurred. PowerBASIC's ERR and ERRCLEAR functions return the

Kind: Keyword | Category: Control Flow

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Setting an error trap

Back to command index


WSTRING - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

WSTRING

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

LOCAL w AS WSTRING

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


WSTRINGZ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

WSTRINGZ

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

LOCAL wz AS WSTRINGZ * 16

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


XOR - PBXB64 Compiler Help

Home › Language Frontends › BASIC Frontend › Operators PBXB64 Compiler Help

XOR

The XOR operator works as both a logical and a bitwise

Chapter: Operators | Certification: [CERTIFIED TESTED]

Syntax

p XOR q

Description

The XOR operator works as both a logical and a bitwise

Kind: Operator | Category: Operators

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XOR as a logical operator

XOR returns FALSE (zero) if and only if both its operands have the same value. Here is XOR's truth table:

Truth table

x XOR y

See also

  • Arithmetic Operators
  • AND
  • EQV
  • IMP
  • NOT
  • OR
  • PBXB64 Compiler Help


XPRINT ARC - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT ARC

Draw an arc on a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT ARC ( x1! , y1! ) - ( x2! , y2! ), arcStart! , arcEnd! [, r gbColor& ]

Description

Draw an arc on a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

An arc is a section of a circle or an ellipse. To specify a particular arc, you would first define the full circle or ellipse of which it is a part, and then specify the points on the ellipse where the arc starts and stops.

The full circle or ellipse is defined by its bounding rectangle, which is the smallest rectangle which can be drawn around the circle or ellipse. For example, if the circle is centered at position (400,400), with a radius of 100 pixels, the upper left corner (x1,y1) of the bounding rectangle is (300,300), and the lower right corner (x2,y2) is (500,500).

The start point and end point of the arc are specified by their angle, which must be given in radians. A complete circle or ellipse is 2*pi radians. On a 12-hour clock-face, the values 0 and 2*pi both refer to the position of 3 o'clock, while the value 1*pi refers to the position of 9 o'clock. Other positions are specified by a radian value relative to these. In PowerBASIC, arcs are always drawn counter-clockwise from the starting point to the ending point.

Prior to any XPRINT operations, a host printer must first be selected with XPRINT ATTACH . The coordinate points are specified in pixels (or world coordinates, if those were chosen with XPRINT SCALE ). Line width can be set using XPRINT WIDTH . If line width is set to 1 (the default), the line style can be set with XPRINT STYLE . Because of the nature of an arc, XPRINT ARC neither uses, nor updates, (last point referenced). If executed without a host printer attached, error 57 is generated.

x1! , y1!

The upper left corner of the bounding rectangle of the full circle or ellipse.

x2! , y2!

The lower right corner of the bounding rectangle of the full circle or ellipse.

ArcStart!

The starting angle of the arc, in radians, from 0 to 2*pi.

ArcEnd!

The ending angle of the arc, in radians, from 0 to 2*pi radians. Note that arcs are always drawn counter-clockwise from arcStart! to arcEnd! . Compared with a 12-hour clock-face, 0 or 2*pi radians is at 3 o'clock, and 1*pi radians is at 9 o'clock.

rgbColor&

Optional RGB color for the arc. If omitted (or -1), the current foreground color for the host printer page is used.

See also

  • Built In RGB Color Equates
  • XPRINT ATTACH
  • XPRINT COLOR
  • XPRINT ELLIPSE
  • XPRINT PIE
  • XPRINT STYLE
  • XPRINT WIDTH
  • PBXB64 Compiler Help


XPRINT ATTACH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT ATTACH

Connect a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT ATTACH {DEFAULT | PrinterName$ } [, JobName$ ]
XPRINT ATTACH CHOOSE [USING Flags& ] [, JobName$ ]

Description

Connect a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT ATTACH connects to a host-based (Windows-only or GDI-based) printer for use with subsequent XPRINT operations. Host-based printing is device-independent and performed through the Windows printing system and printer driver. Device independence can be achieved because the printer driver handles the task of converting text into the manufacturers proprietary binary format used by the printer.

To send device-dependent print data (such as plain text) to a line printer device, use the LPRINT ATTACH statement instead.

XPRINT ATTACH allows you to change the printer device used by XPRINT operation. When executed, the current connection (if any) is closed and the new connection is established.

DEFAULT

If DEFAULT is specified, the default printer (as set in the Printers applet in Control Panel) is used. For example:

XPRINT ATTACH DEFAULT

CHOOSE

If CHOOSE is specified, the Choose Printer common dialog is opened, allowing the user to select from the list of installed printers. For example:

XPRINT ATTACH CHOOSE

With CHOOSE, you may elect to include an optional numeric expression called Flags& . This value consists of one or more of the following equates to control the execution of the Printer Dialog:

%PD_ALLPAGES

"All Pages" button is the default.

%PD_SELECTION

"Selection" button is the default.

%PD_PAGENUMS

"Numbered Pages" button is the default. (Only one of the above is allowed)

%PD_NOSELECTION

Disables the "Selection" button.

%PD_NOPAGENUMS

Disables the "Numbered Pages" button.

%PD_COLLATE

"Collate" option is checked.

%PD_PRINTTOFILE

"Print To File" option is checked.

%PD_DISABLEPRINTTOFILE

Disables the "Print To File" option.

%PD_HIDEPRINTTOFILE

Hides the "Print To File" option.

PrinterName$

The name of the printer to attach (as shown in the Printers applet in Control Panel, or returned by the PRINTER$ function). printername$ must be a valid device name and cannot exceed 259 characters in length. For example:

XPRINT ATTACH "HP LaserJet 5MP"

JobName$

The name of the print job. This will be shown in the print spooler. If you do not supply a name, "Printjob" is used by default.

If XPRINT ATTACH is not successful, XPRINT$ returns an empty string . Error 68 ("device unavailable") is generated if an invalid printer was specified. No error is generated if the user cancels the Choose Printer dialog (with XPRINT ATTACH CHOOSE). Therefore, for host-based printing, applications should always use XPRINT ATTACH to explicitly select the intended host-based printer, then test for a successful selection with the XPRINT$ and ERR functions to ensure the host-based printer selection was successful.

Unlike direct printing (LPRINT ATTACH), host-based printing is handled by a printer driver and the operating system's spooler subsystem. Therefore, spooler settings such as "work offline" in the Printer Properties dialog will not impede the creation of a spooled print job. Once all the data has been sent to the printer, detach the printer so other applications can use it., with the XPRINT CLOSE statement.

Host-based printers use proprietary control protocols, unlike line printers, so it is usually not possible to send them printer-dependent control codes. To attach a line printer, use LPRINT ATTACH instead of XPRINT ATTACH.

Note: You can enumerate the available printers with the PRINTERCOUNT and PRINTER$ functions.

See also

  • LPRINT ATTACH
  • PRINTER$
  • XPRINT CANCEL
  • XPRINT CLOSE
  • XPRINT$
  • XPRINT GET PAGES
  • XPRINT(SELECTION)
  • PBXB64 Compiler Help


XPRINT BOX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT BOX

Draw a box with square or rounded corners on a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT BOX ( x1! , y1! ) - ( x2! , y2! ) [, [ corner& ] [, [ rgbColor& ] [, [ fillcolor& ] [, [ fillstyle& ]]]]]

Description

Draw a box with square or rounded corners on a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Prior to any XPRINT operations, a host printer must first be selected with XPRINT ATTACH . The coordinate points are specified in pixels (or world coordinates, if those were chosen with XPRINT SCALE ). Line width can be set using XPRINT WIDTH . If line width is set to 1 (the default), the line style can be set with XPRINT STYLE . Because of the nature of a box, XPRINT BOX neither uses, nor updates, (last point referenced). If executed without a host printer attached, error 57 is generated.

Windows graphic conventions consider the bottom and right coordinates of a BOX to be exclusive. The pixels at the bottom and right edges are not drawn unless OVERLAP MODE is enabled. See XPRINT SET OVERLAP for details.

x1! , y1!

The upper left corner of the box.

x2! , y2!

The lower right corner of the box.

corner&

The percentage of roundness of the corners, in the range of 0 to 100. A value of zero creates square corners, while 100 creates a circle/oval. A value of 20 being most common for a pleasant, rounded appearance. If corner& is omitted, the default is 0, which creates a rectangle with square corners.

rgbColor&

Optional RGB color of the box edge. If omitted (or -1), the edge color defaults to the current foreground color for the host printer page.

fillcolor&

Optional RGB color of the box interior. If fillcolor& is omitted (or -2), the interior of the box is not filled, allowing the background to show through. If fillcolor& is -1, the interior is painted with the same color as the edge. Otherwise, fillcolor& specifies the RGB color to be used.

fillstyle&

Optional fill style (pattern) to be used. If fillstyle& is omitted, the default fill style is solid (0). If a hatch pattern is chosen (1 to 6), the foreground color is specified by the fillcolor& , while the background is specified by the default background color for the host printer page. The optional fillstyle& may be:

Solid (default)

Horizontal Lines

Vertical Lines

Upward Diagonal Lines

Downward Diagonal Lines

Crossed Lines

Diagonal Crossed Lines

See also

  • Built In RGB Color Equates
  • XPRINT ATTACH
  • XPRINT COLOR
  • XPRINT LINE
  • XPRINT SET OVERLAP
  • XPRINT STYLE
  • XPRINT WIDTH
  • PBXB64 Compiler Help


XPRINT CANCEL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT CANCEL

Cancel a print job on the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT CANCEL

Description

Cancel a print job on the

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT CANCEL deletes the current print job and detaches the host printer, as long as XPRINT CLOSE has not yet been executed. This function is generally used to abort the print process when an error occurs.

See also

  • XPRINT ATTACH
  • XPRINT CLOSE
  • PBXB64 Compiler Help


XPRINT(COL) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(COL)

Sets or retrieves the next print position (LPR - Last Point Referenced), based upon the row and column position of a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT CELL = RowValue& , ColValue&
XPRINT CELL TO RowVar& , ColVar&
XPRINT COL TO ColVar&
XPRINT ROW TO RowVar&
Function Form:
ColVar& = XPRINT(COL)
RowVar& = XPRINT(ROW)

Description

Sets or retrieves the next print position (LPR - Last Point Referenced), based upon the row and column position of a

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT CELL is used to set or retrieve the print position, based upon the row and column position of a Text Cell. That is the row and column position where the next printed text will be displayed. RowValue& specifies the horizontal screen row (starting at 1) at which to position the cursor. ColValue& specifies the vertical screen column (starting at 1) at which to position the cursor. Since row and column numbers start at one (1), the upper left corner of the page is considered to be cell 1,1.

The first form of XPRINT CELL moves the print position to the desired row and column. If a value given is zero (0), that parameter is ignored and that position is not changed. The second form of XPRINT CELL retrieves the current print position, and assigns the values to the variables specified by RowVar& and ColVar& .

The remaining forms allow you to retrieve just a single value, either row or column, and are supported in both statement and function form.

See also

  • XPRINT(Cell.Size.X)
  • XPRINT SET FONT
  • XPRINT SET WORDWRAP
  • XPRINT SET WRAP
  • XPRINT SPLIT
  • PBXB64 Compiler Help


XPRINT(Cell.Size.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(Cell.Size.X)

Retrieve the character

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT CELL SIZE TO WidthVar , HeightVar!
Function Form:
WidthVar! = XPRINT(Cell.Size.X)
HeightVar! = XPRINT(Cell.Size.Y)

Description

Retrieve the character

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT CELL SIZE retrieves the size of one character cell, for the current font , on the attached printer . The returned cell size is specified in PAGE UNITS , and allows you to calculate the number of text lines which will fit in a particular space. The height value is the size of the displayed character, including external leading (if any) for this particular font.

If the font is a fixed-width font, like Courier New or Lucida Console,the sizes returned are as exact as possible, given the fractional rounding approximations necessary for some scaled units. If the font is proportional, like Arial or Times New Roman, the width will be the average size for the entire font.

External leading is the vertical distance from the bottom of one character to the top of the character below it. This value is specified by the font in use. It may vary from zero to a larger value, depending upon the font and point size. To retrieve the exact height of characters without external leading, use XPRINT CHR SIZE .

See also

  • XPRINT(COL)
  • XPRINT(Chr.Size.X)
  • XPRINT SET FONT
  • XPRINT(TEXT.SIZE.X...)
  • PBXB64 Compiler Help


XPRINT(Chr.Size.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(Chr.Size.X)

Retrieve the character size for the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT CHR SIZE TO WidthVar! , HeightVar!
Function Form:
WidthVar! = XPRINT(Chr.Size.X)
HeightVar! = XPRINT(Chr.Size.Y)

Description

Retrieve the character size for the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The character size is specified in the same terms ( pixels or scaled units ) as originally stated. The height value retrieved is the actual size of the printed character without including any external leading for this particular font.

If the font is a fixed-width font, like Courier New or Lucida Console, the sizes returned are as exact as possible, given the fractional rounding approximations possible when converting from pixels to other coordinates. If the font is proportional, like Arial or Times New Roman, the width will be the average size for the entire font.

External leading is the vertical distance from the bottom of one character to the top of the character below it. This value is specified by the font in use. It may vary from zero to a larger value, depending upon the font and point size. To retrieve the total row height including external leading, use XPRINT CELL SIZE.

See also

  • XPRINT PRINT
  • XPRINT ATTACH
  • XPRINT(Cell.Size.X)
  • XPRINT SET FONT
  • XPRINT(TEXT.SIZE.X...)
  • PBXB64 Compiler Help


XPRINT CLOSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT CLOSE

Detach a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT CLOSE

Description

Detach a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT CLOSE detaches the printer from the current process, and allows printing to a HOST printer to begin. If XPRINT CLOSE is not executed, printed data may be lost.

See also

  • XPRINT ATTACH
  • XPRINT CANCEL
  • PBXB64 Compiler Help


XPRINT Code Group - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT Code Group

The XPRINT

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT DirectorWord [ params ]
XPRINT DirectorWord [ params ] TO ReturnVariable(s)
Function Form:
ReturnVariable = XPRINT( DirectorWord [, params ] )
ReturnVariable$ = XPRINT$( DirectorWord [, params ] )

Description

The XPRINT

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Some of the functionality of the XPRINT group was available in prior versions of PowerBASIC, but it has now been expanded. Some XPRINT Procedures (namely those which return a single value) may be used in two forms, a statement with a TO clause, or a function which may be used as a term in an expression:

XPRINT GET LINES TO LineCountVar&

LineCountVar& = XPRINT(LINES)

The two examples above are functionally identical. The choice is simply a matter of your personal preference. If you use the second form (as a function which returns a value), it can be a term in any expression of any complexity. When a function form is available, it is labeled with the prefix "Function Form".

Some XPRINT procedures return two or more values. As it is not possible to simultaneously inject multiple terms into a valid expression, the function option is not available for them.

PIXELS and POINTS

For the purposes of this discussion on XPRINT, the terms PIXELS and POINTS are considered to be synonyms. They may be used interchangeably.

XPRINT STREAM

The XPRINT Stream is the connection between XPRINT code and a host printer page. The XPrint Stream is created when you attach a particular printer with XPRINT ATTACH . From that moment forward, all XPrint code acts on that selected printer. This continues until such time as you end your print job with XPRINT CLOSE .

PAGE UNITS

PAGE UNITS are used to measure the size of a graphical item, or to define a particular position on an XPrint page. You can define page units to be points or scaled units of your choice.

Initially, each XPrint session begins with Page Units set to points. You can change this to scaled world coordinates of your choice with XPRINT SCALE .

By default, the upper left corner of a printer page is considered to be the X,Y position 0,0 and grows larger to the right or downward. The X axis is horizontal, while the Y axis is vertical. Whenever an X,Y position is given, the X value is stated first.

XPRINT POSITION (POS)

Each time you draw text or graphics, it is displayed at the current XPrint position (POS). Upon completion, the POS is updated to the last point referenced. You can draw a relative distance from the POS (using a STEP option), or set an entirely new position with XPRINT SET POS .

TEXT CELL (ROW/COLUMN POSITION)

For ease of programming, a few procedures specify text position by row and column. In this case, the position is measured in text cells, which is the space occupied by one character. This works well with fixed width fonts, which is recommended. If a variable width font is chosen, PowerBASIC must use the average character size for these calculations, which can give imprecise results.

For compatibility with most current and prior versions of BASIC (PowerBASIC included), code which references text rows and columns names the vertical term first (ROWS, COLUMNS). Rows and columns are always numbered from one upward.

See also

  • Printing Overview
  • Printing Commands
  • PBXB64 Compiler Help


XPRINT COLOR - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT COLOR

Set the foreground

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT COLOR foreground& [, background& ]

Description

Set the foreground

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Colors are expressed as RGB values, or use -1 for the default color. If the background parameter is -2, the background is made transparent. If either parameter is -3, the existing color is not changed. A host printer must first be connected with XPRINT ATTACH . If a host printer is not attached, error 57 is generated.

See also

  • Built In RGB Color Equates
  • XPRINT PRINT
  • XPRINT ATTACH
  • PBXB64 Compiler Help


XPRINT COPY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT COPY

Copy a bitma

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT COPY hbmpSource??? , id& [, style& ]
XPRINT COPY hbmpSource??? , id& TO ( x! , y! ) [, style& ]
XPRINT COPY hbmpSource??? , id& , ( x1! , y1! )-( x2! , y2! ) TO ( x! , y! ) [, style% ]

Description

Copy a bitma

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

You can copy a complete bitmap, or a portion of it, to the host printer page. The expression hbmpSource??? specifies the handle of the source bitmap or window. The expression id& is the unique control i dentifier in the range 1 to 65535, as assigned with the CONTROL ADD GRAPHIC statement. id& must be 0 for a GRAPHIC WINDOW or a bitmap . The destination of the copy operation is the host printer page. You must use care that your parameters are valid for the specified bitmaps, or results of the operation are undefined.

The first form of the XPRINT COPY statement copies the complete bitmap, positioning it at (0,0), which is the upper left corner of the destination.

The second form of XPRINT COPY also copies the complete bitmap, but positions it at the point specified by the parameter ( x! , y! ).

The third form copies a portion of the bitmap, positioning it at the point specified by the parameter ( x! , y! ). If style& is included, it is one of the following values:

%mix_Blackness

Pixel is always 0 (black).

%mix_NotMergeSrc

Pixel is the inverse of the MergeSrc color.

%mix_MaskNotSrc

Pixel is a combination of the colors common to both the pixel and the inverse of the source.

%mix_NotCopySrc

Pixel is the inverse of the pen color.

%mix_MaskSrcNot

Pixel is a combination of the colors common to both the source and the inverse of the pixel.

%mix_Not

Pixel is the inverse of the pixel color.

%mix_XorSrc

Pixel is a combination of the colors in the source and in the pixel, but not in both.

%mix_NotMaskSrc

Pixel is the inverse of the MaskSrc color.

%mix_MaskSrc

Pixel is a combination of the colors common to both the source and the pixel.

%mix_NotXorSrc

Pixel is the inverse of the XorSrc color.

%mix_Nop

Pixel remains unchanged.

%mix_MergeNotSrc

Pixel is a combination of the source color and the inverse of the pixel color.

%mix_CopySrc

Pixel is the source color (default).

%mix_MergeSrcNot

Pixel is a combination of the source color and the inverse of the pixel color.

%mix_MergeSrc

Pixel is a combination of the source color and the pixel color.

%mix_Whiteness

Pixel is always 1 (white).

A host printer must first be connected with XPRINT ATTACH . If a host printer is not attached, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT RENDER
  • XPRINT STRETCH
  • XPRINT SET STRETCHMODE
  • PBXB64 Compiler Help


XPRINT ELLIPSE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT ELLIPSE

Draw an ellipse or a circle on a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT ELLIPSE ( x1! , y1! ) - ( x2! , y2! ) [, [ rgbColor& ] [, [ fillcolor &] [, [ fillstyle& ]]]]

Description

Draw an ellipse or a circle on a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A host printer must first be connected with XPRINT ATTACH . The coordinate points are specified in pixels (or world coordinates, if those were defined with an XPRINT SCALE statement). Line width can be set using XPRINT WIDTH . If line width is set to 1 (the default), the line style can be set with XPRINT STYLE . Because of the nature of an ellipse, which has no obvious beginning or end, XPRINT ELLIPSE neither uses, nor updates, the last point referenced (POS). If executed without a host printer attached, error 57 is generated.

The coordinate pair define an invisible bounding rectangle which would enclose the ellipse to be drawn. It tells both the size and the proportions of the ellipse. Windows graphic conventions consider the bottom and right coordinates of it to be exclusive. The pixels at the bottom and right edges are ignored, unless Overlap Mode is enabled. See XPRINT SET OVERLAP for details.

x1! , y1!

The upper left corner of the bounding rectangle.

x2! , y2!

The lower right corner of the bounding rectangle.

rgbColor&

Optional RGB color of the ellipse edge. If omitted (or -1), the edge color defaults to the current foreground color for the host printer page.

fillcolor&

Optional RGB color of the ellipse interior. If fillcolor& is omitted (or -2), the interior of the ellipse is not filled, allowing the background to show through. If fillcolor& is -1, the interior is painted with the same color as the edge. Otherwise, fillcolor& specifies the RGB color to be used.

fillstyle&

Optional fill style (pattern) to be used. If fillstyle& is omitted, the default fill style is solid (0). If a hatch pattern is chosen (1 to 6), the foreground color is specified by the fillcolor& , while the background is specified by the default background color for the host printer page. The optional fillstyle& may be:

Solid (default)

Horizontal Lines

Vertical Lines

Upward Diagonal Lines

Downward Diagonal Lines

Crossed Lines

Diagonal Crossed Lines

See also

  • Built In RGB Color Equates
  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT COLOR
  • XPRINT LINE
  • XPRINT PIE
  • XPRINT SET OVERLAP
  • XPRINT STYLE
  • XPRINT WIDTH
  • PBXB64 Compiler Help


XPRINT FORMFEED - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT FORMFEED

Start a new page for the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT FORMFEED

Description

Start a new page for the

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT FORMFEED causes the current print page to be ejected, and a new page started. If XPRINT FORMFEED is unsuccessful, an error is generated. Note that some printers do not eject a page if it is blank.

See also

  • XPRINT ATTACH
  • XPRINT CLOSE
  • PBXB64 Compiler Help


XPRINT$ - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT$

Retrieve the name of the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET ATTACH TO PrinterVar$
Function Form:
PrinterVar$ = XPRINT$(ATTACH)
PrinterVar$ = XPRINT$

Description

Retrieve the name of the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET ATTACH returns the name of the attached host printer, which is the printer that would be used by XPRINT statements. If there is no attached host printer, an empty string is returned. XPRINT$ is typically used to detect if an XPRINT ATTACH operation was successful.

See also

  • XPRINT ATTACH
  • PBXB64 Compiler Help


XPRINT(CANVAS.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(CANVAS.X)

Retrieves the writable size of the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET CANVAS TO WidthVar! , HeightVar!
Function Form:
WidthVar! = XPRINT(CANVAS.X)
HeightVar! = XPRINT(CANVAS.Y)

Description

Retrieves the writable size of the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET CANVAS retrieves the logical size of the client area (printable area) for the attached host printer. This is the size of the page, minus the unprintable margins, without any reductions for a CLIP area. The size is specified in Page Units , so it could return scaled values if they were applied with XPRINT SCALE . This is very similar to XPRINT GET CLIENT , with the single exception that scaled values (set by XPRINT SCALE) are returned if they have been utilized. If executed without a host printer attached, error 57 is generated.

See also

  • XPRINT(Client.X)
  • XPRINT(Clip.X)
  • XPRINT(SIZE.X)
  • XPRINT GET SCALE
  • XPRINT SCALE
  • PBXB64 Compiler Help


XPRINT(Client.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(Client.X)

Retrieves the size of the client area (printable area) on the host printer page.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET CLIENT To WidthVar! , HeightVar!
Function Form:
WidthVar! = XPRINT(Client.X)
HeightVar! = XPRINT(Client.Y)

Description

Retrieves the size of the client area (printable area) on the host printer page.

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET CLIENT retrieves the physical size of the client area (printable area) for the attached host printer. The size is always specified in Pixels (points). This is very similar to XPRINT GET CANVAS , with the single exception that scaled values (set by XPRINT SCALE ) are not utilized. If executed without a host printer attached, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT(CANVAS.X)
  • XPRINT(Clip.X)
  • XPRINT GET MARGIN
  • XPRINT(PPI.X)
  • XPRINT(SIZE.X)
  • PBXB64 Compiler Help


XPRINT(Clip.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(Clip.X)

Retrieves the size of the clip area on the selected printer.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET CLIP TO WidthVar! , HeightVar!
Function Form:
WidthVar! = XPRINT(Clip.X)
HeightVar! = XPRINT(Clip.Y)

Description

Retrieves the size of the clip area on the selected printer.

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The clip area of the printer is that space where print operations can be written. That is, the clip area is that portion of the client area which is not protected (clipped) by the XPRINT SET CLIP statement.

XPRINT GET CLIP retrieves the size of the clip area, and assigns these values to the variables specified by WidthVar! and HeightVar! . The size is specified in PAGE UNITS ( pixels /points or scaled units). If no printer is selected, the values 0,0 are returned.

See also

  • XPRINT(CANVAS.X)
  • XPRINT(Client.X)
  • XPRINT SET CLIP
  • PBXB64 Compiler Help


XPRINT(COLLATE) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(COLLATE)

Retrieves the XPRINT

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET COLLATE TO CollateVar&
Function Form:
CollateVar& = XPRINT(COLLATE)

Description

Retrieves the XPRINT

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT allows you to set the collate status, if the printer driver supports both multiple copies and collate capability. XPRINT GET COLLATE retrieves the collate status, assigning the value to the long integer variable specified by CollateVar& . The following equates are predefined in the compiler to symbolically represent the possible collate status:

%DMCOLLATE_FALSE = 0

%DMCOLLATE_TRUE = 1

If this statement is executed without a host printer attached , error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT SET COLLATE
  • PBXB64 Compiler Help


XPRINT(COLORMODE) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(COLORMODE)

Retrieves the XPRINT

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET COLORMODE TO ColorVar&
Function Form:
ColorVar& = XPRINT(COLORMODE)

Description

Retrieves the XPRINT

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT allows you to set the color or monochrome print mode if the printer driver supports it. XPRINT GET COLORMODE retrieves the colormode status, assigning the value to the long integer variable specified by ColorVar& . The value zero may be returned if colormode is not supported by the printer driver. The following equates are predefined in the compiler to symbolically represent the possible status:

%DMCOLOR_MONOCHROME = 1

%DMCOLOR_COLOR = 2

If this statement is executed without a host printer attached , error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT SET COLORMODE
  • PBXB64 Compiler Help


XPRINT(COPIES) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(COPIES)

Retrieves the XPRINT

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET COPIES TO CopyVar&
Function Form:
CopyVar& = XPRINT(COPIES)

Description

Retrieves the XPRINT

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT allows you to set the number of copies to be automatically printed, if it is supported by the printer driver. XPRINT GET COPIES retrieves the copy count, assigning the value to the long integer variable specified by CopyVar& . The default value is one (1). If this statement is executed without a host printer attached, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT SET COPIES
  • PBXB64 Compiler Help


XPRINT(DC) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(DC)

Retrieve the handle of the device context (DC) for the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET DC TO hDC
Function Form:
hDC = XPRINT(DC)

Description

Retrieve the handle of the device context (DC) for the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

If no host printer is currently attached , zero is returned. The DC handle may be used with various Windows API functions to perform specialized operations on the host printer page.

See also

  • XPRINT ATTACH
  • PBXB64 Compiler Help


XPRINT(DUPLEX) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(DUPLEX)

Retrieve the XPRINT

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET DUPLEX TO DuplexVar&
Function Form:
DuplexVar& = XPRINT(DUPLEX)

Description

Retrieve the XPRINT

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT allows you to get/set the duplex status, if the printer supports printing on both sides of a page. XPRINT GET DUPLEX retrieves the duplex status, assigning the value to the long integer variable specified by DuplexVar& . The following equates are predefined in the compiler to symbolically represent the possible duplex status:

%DMDUP_SIMPLEX = 1 (single sided printing)

%DMDUP_VERTICAL = 2 (page flipped on the vertical edge)

%DMDUP_HORIZONTAL = 3 (page flipped on the horizontal edge)

If the printer does not support duplex printing, the value zero (0) is returned. If this statement is executed without a host printer attached , error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT SET DUPLEX
  • PBXB64 Compiler Help


XPRINT(LINES) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(LINES)

Retrieve the number of lines that can be printed.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET LINES To LineVar&
Function Form:
LineVar& = XPRINT(LINES)

Description

Retrieve the number of lines that can be printed.

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET LINES retrieves the number of lines of text which can be printed on the host printer page, given the current selected font . Since XPRINT statements do not generate an automatic formfeed when text is printed on the last line, this statement can be used to determine when your program should execute an XPRINT FORMFEED to move to the next printed page on a host printer. If executed without a host printer attached, error 57 is generated.

See also

  • XPRINT PRINT
  • XPRINT ATTACH
  • XPRINT SET FONT
  • XPRINT FORMFEED
  • PBXB64 Compiler Help


XPRINT GET MARGIN - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT GET MARGIN

Retrieve the margin sizes for the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET MARGIN TO nLeft! , nTop! , nRight! , nBottom!

Description

Retrieve the margin sizes for the

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET MARGIN retrieves the size of the margins (the non-printable area) of the printer page. This is important because some printers do not provide equal margins on each side of the page. This is more common on the vertical coordinate, but could be found in either or both directions. The size of the four margins are specified in pixels (or world coordinates, if those were defined with an XPRINT SCALE statement). If executed without a host printer attached, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT(Client.X)
  • XPRINT(PPI.X)
  • XPRINT(SIZE.X)
  • PBXB64 Compiler Help


XPRINT(MIX) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(MIX)

Retrieve the color mix mode for a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET MIX To MixVar&
Function Form:
MixVar& = XPRINT(MIX)

Description

Retrieve the color mix mode for a

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Prior to any XPRINT operations, a host printer must first be selected with XPRINT ATTACH . There are 16 mix modes available to use for mixing the drawing color with the color that already exists at the drawing location. The mix mode equates are predefined in PowerBASIC. If executed without a host printer attached, error 57 is generated.

%MIX_BLACKNESS

Pixel is always 0 (black).

%MIX_NOTMERGESRC

Pixel is the inverse of the MergeSrc color.

%MIX_MASKNOTSRC

Pixel is a combination of the colors common to both the pixel and the inverse of the source.

%MIX_NOTCOPYSRC

Pixel is the inverse of the pen color.

%MIX_MASKSRCNOT

Pixel is a combination of the colors common to both the source and the inverse of the pixel.

%MIX_NOT

Pixel is the inverse of the pixel color.

%MIX_XORSRC

Pixel is a combination of the colors in the source and in the pixel, but not in both.

%MIX_NOTMASKSRC

Pixel is the inverse of the MaskSrc color.

%MIX_MASKSRC

Pixel is a combination of the colors common to both the source and the pixel.

%MIX_NOTXORSRC

Pixel is the inverse of the XorSrc color.

%MIX_NOP

Pixel remains unchanged.

%MIX_MERGENOTSRC

Pixel is a combination of the source color and the inverse of the pixel color.

%MIX_COPYSRC

Pixel is the source color (default).

%MIX_MERGESRCNOT

Pixel is a combination of the source color and the inverse of the pixel color.

%MIX_MERGESRC

Pixel is a combination of the source color and the pixel color.

%MIX_WHITENESS

Pixel is always 1 (white).

See also

  • XPRINT ATTACH
  • XPRINT SET MIX
  • PBXB64 Compiler Help


XPRINT(ORIENTATION) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(ORIENTATION)

Retrieve the paper

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET ORIENTATION To OrentVar&
Function Form:
OrentVar& = XPRINT(ORIENTATION)

Description

Retrieve the paper

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET ORIENTATION retrieves the orientation of the paper in the host printer, assigning the value to the long integer variable specified by OrentVar& . The value 1 indicates portrait mode, while 2 indicates landscape mode. If the printer does not support paper orientation, 0 is returned. If a host printer is not attached, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT SET ORIENTATION
  • PBXB64 Compiler Help


XPRINT(OVERLAP) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(OVERLAP)

Retrieves the status of XPrint

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET OVERLAP To OverlapVar&
Function Form:
OverlapVar& = XPRINT(OVERLAP)

Description

Retrieves the status of XPrint

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET OVERLAP retrieves the status of overlap mode and assigns it to the variable specified by OverlapVar& . If Overlap Mode is enabled, the value true (non-zero) is assigned. If it's disabled, the value false (zero) is assigned instead. The value returned reflects the status of the host printer which is currently attached to the XPrint stream .

With Overlap Mode, you can control how PowerBASIC treats XPrint operations which involve a bounding rectangle (RECT structure) in their definition. Windows maintains unique conventions for a RECT. The bottom and right coordinates of a RECT are exclusive. In other words, the pixels at the bottom and right edges lie immediately outside the rectangle. They are ignored. For example:

XPRINT BOX (0,0) - (50,50)

In this case, a box is drawn from 0,0 to 49,49. The final pixels at the bottom and right edge are simply not drawn. However, if Overlap Mode is enabled with XPRINT SET OVERLAP , the box is drawn from 0,0 to 50,50.

The Overlap Mode affects all XPRINT functions which take a bounding rectangle as a parameter. This includes XPRINT SCALE , XPRINT BOX , XPRINT ELLIPSE , XPRINT LINE , XPRINT POLYLINE , etc.

See also

  • XPRINT SET OVERLAP
  • PBXB64 Compiler Help


XPRINT GET PAGES - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT GET PAGES

Retrieves the XPRINT

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET PAGES TO FromPage& , ToPage&

Description

Retrieves the XPRINT

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

You may elect to limit a particular print job to a subset of the total number of pages. This can be accomplished under program control by executing XPRINT SET PAGES , or the user can make the appropriate choice in the Print Dialog which is displayed when XPRINT ATTACH is executed with the CHOOSE option. When the pages are limited in this way, PowerBASIC handles all the details of print suppression for you.

Normally, XPRINT pages are numbered from one. The parameter FromPage& specifies the first page of the full report which will be printed, while ToPage& specifies the last page.

If XPRINT GET PAGES is executed without a host printer attached, an error 57 is generated.

See also

  • XPRINT PREVIEW
  • XPRINT(SELECTION)
  • XPRINT SET PAGES
  • PBXB64 Compiler Help


XPRINT(PAPER) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(PAPER)

Retrieves the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET PAPER TO PaperVar&
Function Form:
PaperVar& = XPRINT(PAPER)

Description

Retrieves the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET PAPER retrieves the paper style for which the host printer is currently configured. The paper style is identified by an integral value which is assigned to the long integer variable specified by PaperVar&. The following equates are predefined in the compiler, and represent the most common paper styles:

%DMPAPER_LETTER = 1 Letter 8.5 x 11 inches

%DMPAPER_TABLOID = 3 Tabloid 11 x 17 inches

%DMPAPER_LEDGER = 4 Ledger 17 x 11 inches

%DMPAPER_LEGAL = 5 Legal 8.5 x 14 inches

%DMPAPER_STATEMENT = 6 Statement 5.5 x 8.5 inches

%DMPAPER_EXECUTIVE = 7 Executive 7.25 x 10.5 inches

%DMPAPER_A3 = 8 A3 297 x 420 mm

%DMPAPER_A4 = 9 A4 210 x 297 mm

%DMPAPER_A5 = 11 A5 148 x 210 mm

%DMPAPER_B4 = 12 B4 250 x 354 mm

%DMPAPER_B5 = 13 B5 182 x 257 mm

%DMPAPER_FOLIO = 14 Folio 8.5 x 13 inches

%DMPAPER_QUARTO = 15 Quarto 215 x 275 mm

%DMPAPER_10X14 = 16 10x14 10 x 14 inches

%DMPAPER_11X17 = 17 11x17 11 x 17 inches

%DMPAPER_NOTE = 18 Note 8.5 x 11 inches

%DMPAPER_ENV_9 = 19 9 Envlp 3.875 x 8.875 inches

%DMPAPER_ENV_10 = 20 10 Envlp 4.125 x 9.5 inches

Other paper style codes may be defined by Windows or printer suppliers. You can use XPRINT GET PAPERS to obtain a list of all the paper styles supported by the attached host printer.

If the printer does not support paper style changes, the value zero is returned. If executed without a host printer attached, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT$(PAPERS)
  • XPRINT SET PAPER
  • PBXB64 Compiler Help


XPRINT$(PAPERS) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT$(PAPERS)

Retrieves a list of supported

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET PAPERS TO PapersVar$
Function Form:
PapersVar$ = XPRINT$(PAPERS)

Description

Retrieves a list of supported

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET PAPERS retrieves a string which contains a list of all of the paper types supported by the attached host printer. This string is assigned to the string variable specified by PapersVar$.

The string contains a comma-delimited list of papertype , papername ... repeated as many times as necessary. For example:

"1,Letter,5,Legal,7,Executive,20,Envelope #10"

You can use PARSECOUNT to determine the number of delimited fields in the string, and PARSE$() to easily extract the type numbers and names. The following equates are predefined in the compiler, and represent the most common paper styles:

%DMPAPER_LETTER = 1 Letter 8.5 x 11 inches

%DMPAPER_TABLOID = 3 Tabloid 11 x 17 inches

%DMPAPER_LEDGER = 4 Ledger 17 x 11 inches

%DMPAPER_LEGAL = 5 Legal 8.5 x 14 inches

%DMPAPER_STATEMENT = 6 Statement 5.5 x 8.5 inches

%DMPAPER_EXECUTIVE = 7 Executive 7.25 x 10.5 inches

%DMPAPER_A3 = 8 A3 297 x 420 mm

%DMPAPER_A4 = 9 A4 210 x 297 mm

%DMPAPER_A5 = 11 A5 148 x 210 mm

%DMPAPER_B4 = 12 B4 250 x 354 mm

%DMPAPER_B5 = 13 B5 182 x 257 mm

%DMPAPER_FOLIO = 14 Folio 8.5 x 13 inches

%DMPAPER_QUARTO = 15 Quarto 215 x 275 mm

%DMPAPER_10X14 = 16 10x14 10 x 14 inches

%DMPAPER_11X17 = 17 11x17 11 x 17 inches

%DMPAPER_NOTE = 18 Note 8.5 x 11 inches

%DMPAPER_ENV_9 = 19 9 Envlp 3.875 x 8.875 inches

%DMPAPER_ENV_10 = 20 10 Envlp 4.125 x 9.5 inches

Other paper style codes may be defined by Windows or printer suppliers. If executed without a host printer attached, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT SET PAPER
  • PBXB64 Compiler Help


XPRINT(PIXEL...) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(PIXEL...)

Retrieves the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET PIXEL [STEP] (x!, y!) TO PixelVar&
Function Form:
PixelVar& = XPRINT(PIXEL [STEP], x! , y! )

Description

Retrieves the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Not all printer drivers support the ability to retrieve the color of a pixel. If this feature is not supported, or if the coordinates are outside the printer client area, an invalid color value of -1 is returned. If no host printer is attached, error 57 is generated.

See also

  • Built In RGB Color Equates
  • XPRINT ATTACH
  • XPRINT COLOR
  • XPRINT SET PIXEL
  • PBXB64 Compiler Help


XPRINT(POS.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(POS.X)

Retrieves the last point referenced (POS) by an XPRINT

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET POS TO XVar! , YVar!
Function Form:
XVar! = XPRINT(POS.X)
YVar! = XPRINT(POS.Y)

Description

Retrieves the last point referenced (POS) by an XPRINT

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET POS allows you to retrieve the last point referenced (POS) by XPRINT statements. The coordinate points are specified in Page Units . If executed without a host printer attached , an error 57 is generated, and the values 0,0 are returned.

See also

  • XPRINT ATTACH
  • XPRINT SET POS
  • PBXB64 Compiler Help


XPRINT(PPI.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(PPI.X)

Retrieves the resolution of the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET PPI TO XVar& , YVar&
Function Form:
XVar& = XPRINT(PPI.X)
YVar& = XPRINT(PPI.Y)

Description

Retrieves the resolution of the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET PPI retrieves the resolution (points per inch) of the host printer page. The resolution is always specified in pixels, regardless of any XPRINT SCALE option. If executed without a host printer attached, error 57 is generated, and the values 0,0 are returned. This statement is particularly useful in drawing items such as rulers and graphs to a particular physical size. There are 25.4 millimeters per inch, so just divide by 25.4 to convert from pixels per inch to pixels per millimeter.

See also

  • XPRINT ATTACH
  • XPRINT(Client.X)
  • XPRINT GET MARGIN
  • XPRINT(SIZE.X)
  • PBXB64 Compiler Help


XPRINT(QUALITY) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(QUALITY)

Retrieves the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET QUALITY To QualVar&
Function Form:
QualVar& = XPRINT(QUALITY)

Description

Retrieves the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET QUALITY retrieves the print quality setting for the host printer. The value 1 is draft mode, 2 is low resolution, 3 is medium resolution, and 4 is high resolution. If the printer does not support print quality settings, 0 is returned. If no host printer is attached, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT SET QUALITY
  • PBXB64 Compiler Help


XPRINT GET SCALE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT GET SCALE

Retrieve the current

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET SCALE TO x1! , y1! , x2! , y2!

Description

Retrieve the current

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT SCALE allows you to define your own world coordinate system for subsequent XPR INT statements. World coordinates may be floating point values, with the only requirement that x1! not equal x2!, and y1! not equal y2!.

XPRINT GET SCALE retrieves the coordinate limits, which may be either custom world coordinates (if an XPRINT SCALE has been executed), or else default pixel coordinates. This allows you to save and restore a previous set of coordinates.

See also

  • XPRINT SCALE
  • PBXB64 Compiler Help


XPRINT(SELECTION) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(SELECTION)

Retrieves the status of the SELECTION flag.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET SELECTION TO SelectVar&
Function Form:
SelectVar& = XPRINT(SELECTION)

Description

Retrieves the status of the SELECTION flag.

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

You may elect to limit a particular print job to just that part of the total which is selected/highlighted. If so, it is the programmer's responsibility to limit XPRINT output to just the selected region.

The selection flag can only be set by the user in the Print Dialog which is displayed when XPRINT ATTACH is executed with the CHOOSE option. It cannot be set under program control. This flag is maintained only to give the programmer information about the user's request. If you do not wish to honor this option, you should disable it in XPRINT ATTACH CHOOSE.

If XPRINT GET SELECTION is executed without a host printer attached, an error 57 is generated.

See also

  • XPRINT ATTACH
  • PBXB64 Compiler Help


XPRINT(SIZE.X) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(SIZE.X)

Retrieve the total size of the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET SIZE TO WidthVar& , HeightVar&
Function Form:
WidthVar& = XPRINT(SIZE.X)
HeightVar& = XPRINT(SIZE.Y)

Description

Retrieve the total size of the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET SIZE allows you to retrieve the full size of the host printer page, including both the printable client area and any unprintable margins. The sizes are specified in pixels (points). If no host printer is attached, error 57 is generated, and the values 0,0 are returned.

See also

  • XPRINT ATTACH
  • XPRINT(Client.X)
  • XPRINT GET MARGIN
  • XPRINT(MIX)
  • XPRINT(PPI.X)
  • PBXB64 Compiler Help


XPRINT(STRETCHMODE) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(STRETCHMODE)

Retrieves the default bitmap stretching mode for the attached

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET STRETCHMODE TO ModeVar&
Function Form:
ModeVar& = XPRINT(STRETCHMODE)

Description

Retrieves the default bitmap stretching mode for the attached

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

There are several operations in PowerBASIC which involve stretching or condensing images on bitmaps, most notably XPRINT STRETCH . As individual points must be added or removed, there is a good chance that the quality of the image will be degraded. However, if you describe the nature of the image by defining a StretchMode, you can substantially enhance the appearance.

The default StretchMode is maintained individually for each DC. You can retrieve the default mode with this statement, or set it with XPRINT SET STRETCHMODE . Of course, you can also override the default StretchMode when you execute one of the affected statements.

The 4 stretch mode equates are predefined in PowerBASIC.

%BLACKONWHITE

This is the default Windows stretch mode, and is most appropriate for monochrome bitmaps, or those with blocks of color. Performs a boolean OR of eliminated and existing pixels. It preserves black pixels at the expense of white pixels.

%WHITEONBLACK

Performs a boolean OR of eliminated and existing pixels. It preserves white pixels at the expense of black pixels.

%COLORONCOLOR

Deletes eliminated lines of pixels without trying to preserve their information.

%HALFTONE

This provides the highest quality for complex color bitmaps. The average color of the destination pixel block is kept approximately the same as the source pixel block.

See also

  • XPRINT COPY
  • XPRINT RENDER
  • XPRINT STRETCH
  • XPRINT SET STRETCHMODE
  • PBXB64 Compiler Help


XPRINT(TRAY) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(TRAY)

Retrieves the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET TRAY TO TrayVar&
Function Form:
TrayVar& = XPRINT(TRAY)

Description

Retrieves the

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET TRAY retrieves the paper tray which is active on the host printer . A descriptive value is assigned to the long integer variable specified by TrayVar& . The following equates are predefined in the compiler, and represent the most common paper trays:

%DMBIN_UPPER = 1

%DMBIN_MIDDLE = 3

%DMBIN_MANUAL = 4

%DMBIN_ENVELOPE = 5

%DMBIN_ENVMANUAL = 6

%DMBIN_AUTO = 7

%DMBIN_TRACTOR = 8

%DMBIN_SMALLFMT = 9

%DMBIN_LARGEFMT = 10

%DMBIN_LARGECAPACITY = 11

%DMBIN_CASSETTE = 14

%DMBIN_FORMSOURCE = 15

Other tray codes may be defined by Windows or printer suppliers, so your program should be written to consider that possibility. You can use XPRINT GET TRAYS to obtain a list of all the paper trays supported by the attached host printer.

If the printer does not support the tray change requested, error 5 is generated. If executed without a host printer attached, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT$(TRAYS)
  • XPRINT SET TRAY
  • PBXB64 Compiler Help


XPRINT$(TRAYS) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT$(TRAYS)

Retrieves a list of supported

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET TRAYS TO TrayVar$
Function Form:
TrayVar$ = XPRINT$(TRAYS)

Description

Retrieves a list of supported

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET TRAYS retrieves a string which contains a list of all of the paper trays supported by the attached host printer. This string is assigned to the string variable specified by TrayVar$.

The string contains a comma-delimited list of traytype, trayname... repeated as many times as necessary. For example:

"1,Upper,2,Lower,5,Envelope"

You can use PARSECOUNT to determine the number of delimited fields in the string, and PARSE$() to easily extract the tray numbers and names. The following equates are predefined in the compiler, and represent the most common trays:

%DMBIN_UPPER = 1

%DMBIN_MIDDLE = 3

%DMBIN_MANUAL = 4

%DMBIN_ENVELOPE = 5

%DMBIN_ENVMANUAL = 6

%DMBIN_AUTO = 7

%DMBIN_TRACTOR = 8

%DMBIN_SMALLFMT = 9

%DMBIN_LARGEFMT = 10

%DMBIN_LARGECAPACITY = 11

%DMBIN_CASSETTE = 14

%DMBIN_FORMSOURCE = 15

Other paper style codes may be defined by Windows or printer suppliers. If executed without a host printer attached, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT(TRAY)
  • XPRINT SET TRAY
  • PBXB64 Compiler Help


XPRINT(WORDWRAP) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(WORDWRAP)

Retrieves the status of XPRINT

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET WORDWRAP TO WrapVar&
Function Form:
WrapVar& = XPRINT(WORDWRAP)

Description

Retrieves the status of XPRINT

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET WORDWRAP retrieves the status of wordwrap mode and assigns it to the variable specified by WrapVar& . If WordWrap Mode is enabled, the value true (non-zero) is assigned. If it's disabled, the value false (zero) is assigned instead. The value returned reflects the status of the attached printer.

With WordWrap Mode, you can control how PowerBASIC prints text on an XPRINT page when it reaches the end of a line. Since XPRINT operates on a full page basis, the default is to ignore text which is printed past the end of the line. This can be modified under program control by using XPRINT SET WORDWRAP .

When WordWrap mode is enabled, it affects only XPRINT print operations. If XPRINT print attempts to display a word beyond the end of a row, the entire word is automatically wrapped to the first column of the next row.

See also

  • XPRINT(COL)
  • XPRINT(WRAP)
  • XPRINT SET WORDWRAP
  • XPRINT SET WRAP
  • XPRINT SPLIT
  • PBXB64 Compiler Help


XPRINT(WRAP) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(WRAP)

Retrieves the status of XPRINT

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT GET WRAP TO WrapVar&
Function Form:
WrapVar& = XPRINT(WRAP)

Description

Retrieves the status of XPRINT

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT GET WRAP retrieves the status of wrap mode and assigns it to the variable specified by WrapVar& . If Wrap Mode is enabled, the value true (non-zero) is assigned. If it's disabled, the value false (zero) is assigned instead. The value returned reflects the status of the attached printer.

With Wrap Mode, you can control how PowerBASIC prints text on an XPRINT page when it reaches the end of a line. Since XPRINT operates on a full page basis, the default is to ignore text which is printed past the end of the line. This can be modified under program control by using XPRINT SET WRAP .

When Wrap Mode is enabled, it affects only XPRINT print operations. If XPRINT print attempts to display a character beyond the end of a row, it is automatically wrapped to the first column of the next row.

See also

  • XPRINT(COL)
  • XPRINT(WORDWRAP)
  • XPRINT SET WORDWRAP
  • XPRINT SET WRAP
  • XPRINT SPLIT
  • PBXB64 Compiler Help


XPRINT IMAGELIST - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT IMAGELIST

Prints an image from an

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT IMAGELIST ( x! , y! ), hLst , index& , overlay& , style&

Description

Prints an image from an

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

One of the images stored in an IMAGELIST is printed on the attached host printer. The parameters x! , y! define the upper left corner of the position of the image. hLst is the handle of the IMAGELIST and index& is the selector of the image to be displayed (1=first, 2=second, etc.). If overlay& is non-zero, it specifies an overlay image to be added to the printed image from the image list. The parameter style& may be one of the following style bits:

%ILD_NORMAL

Draws the image using the background color of the image list. If the background color is the default value %CLR_NONE (defined in the Commctrl.inc file), the image is drawn transparently.

%ILD_TRANSPARENT

Draws the image transparently if there is a mask.

%ILD_MASK

Draws the mask.

%ILD_BLEND25

If there is a mask, the image is drawn blending 25% with the system highlight color.

%ILD_BLEND50

If there is a mask, the image is drawn blending 50% with the system highlight color.

See also

  • XPRINT ATTACH
  • IMAGELIST ADD BITMAP
  • PBXB64 Compiler Help


XPRINT LINE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT LINE

Draw a line on a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT LINE [STEP] [( x1! , y1! )] - [STEP] ( x2! , y2! )[, rgbColor& ]

Description

Draw a line on a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The line is drawn from the first point, up to, but not including the second point. Coordinate points are specified in pixels, unless optional world coordinates have been defined with an XPRINT SCALE statement. Line width can be set using XPRINT WIDTH . If line width is set to 1 (the default), the line style can be set with XPRINT STYLE . If executed without a host printer attached, error 57 is generated.

Windows graphic conventions consider the final x2 and y2 coordinates to be exclusive. Therefore, by default, the final pixel is not drawn unless Overlap Mode is enabled. See XPRINT SET OVERLAP for details.

x1! , y1!

Optional values which define the starting point of the line. If this optional first point is omitted, the line begins at the last point referenced (POS ) in a preceding statement. If the first STEP option is included, the x1! and y1! starting coordinates are relative to the last point referenced (POS) on the host printer page.

x2! , y2!

The ending point of the line. If the second STEP option is included, the x2! and y2! ending coordinates are relative to the starting coordinates.

rgbColor&

Optional RGB color value for the line. If rgbColor& is omitted (or -1), the line color defaults to the current foreground color for the host printer page.

See also

  • Built In RGB Color Equates
  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT BOX
  • XPRINT COLOR
  • XPRINT ELLIPSE
  • XPRINT PIE
  • XPRINT POLYGON
  • XPRINT POLYLINE
  • XPRINT SET MIX
  • XPRINT SET OVERLAP
  • XPRINT STYLE
  • XPRINT WIDTH
  • PBXB64 Compiler Help


XPRINT PIE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT PIE

Draw a pie section on a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT PIE ( x1! , y1! ) - ( x2! , y2! ), arcStart! , arcEnd! [, [ rgbColor& ] [, [ fillcolor& ] [, [ fillstyle& ]]]]

Description

Draw a pie section on a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

A pie section is an arc, with a line drawn from each end point to the center of the circle or ellipse. To specify a pie section, you would first define the full circle or ellipse of which it is a part, and then specify the points on the ellipse where the arc starts and stops.

The full circle or ellipse is defined by its bounding rectangle, which is defined as the smallest rectangle which can be drawn around the circle or ellipse. For example, if the circle is centered at position (400,400), with a radius of 100 pixels, the upper left corner (x1,y1) of the bounding rectangle is (300,300), and the lower right corner (x2,y2) is (500,500).

The start point and end point of the arc are specified by their angle, which must be given in radians. A complete circle or ellipse is 2*pi radians. On a 12-hour clock-face, the values 0 and 2*pi both refer to the position of 3 o'clock, while the value 1*pi refers to the position of 9 o'clock. Other positions are specified by a radian value relative to these. In PowerBASIC, arcs are always drawn counter-clockwise from the starting point to the ending point.

Prior to any XPRINT operations, a host printer must first be selected with XPRINT ATTACH . The coordinate points are specified in pixels (or world coordinates, if those were chosen with XPRINT SCALE ). Line width can be set using XPRINT WIDTH . If line width is set to 1 (the default), the line style can be set with XPRINT STYLE . Because of the nature of a pie section, XPRINT PIE neither uses, nor updates, (last point referenced). If executed without a host printer attached, error 57 is generated.

x1! , y1!

The upper left corner of the bounding rectangle of the full circle or ellipse.

x2! , y2!

The lower right corner of the bounding rectangle of the full circle or ellipse.

ArcStart!

The starting angle of the arc, in radians, from 0 to 2*pi.

ArcEnd!

The ending angle of the arc, in radians, from 0 to 2*pi radians. Note that arcs are always drawn counter-clockwise from arcStart! to arcEnd! . Compared with a 12-hour clock-face, 0 or 2*pi radians is at 3 o'clock, and 1*pi radians is at 9 o'clock.

rgbColor&

Optional RGB color of the pie edge. If omitted (or -1), the edge color defaults to the current foreground color for the host printer page.

fillcolor&

Optional RGB color of the pie interior. If fillcolor& is omitted (or -2), the interior of the pie is not filled, allowing the background to show through. If fillcolor& is -1, the interior is painted with the same color as the edge. Otherwise, fillcolor& specifies the RGB color to be used.

fillstyle&

Optional fill style (pattern) to be used. If fillstyle& is omitted, the default fill style is solid (0). If a hatch pattern is chosen (1 to 6), the foreground color is specified by the fillcolor& , while the background is specified by the default background color for the host printer page. The optional fillstyle& may be:

Solid (default)

Horizontal Lines

Vertical Lines

Upward Diagonal Lines

Downward Diagonal Lines

Crossed Lines

Diagonal Crossed Lines

See also

  • Built In RGB Color Equates
  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT BOX
  • XPRINT COLOR
  • XPRINT ELLIPSE
  • XPRINT LINE
  • XPRINT STYLE
  • XPRINT WIDTH
  • PBXB64 Compiler Help


XPRINT POLYGON - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT POLYGON

Draw a polygon on a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT POLYGON points [, [ rgbColor& ] [, [ fillcolor& ] [, [ fillstyle& ] [, fillmode& ]]]]

Description

Draw a polygon on a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The coordinate points are specified in pixels, unless optional world coordinates have been defined with an XPRINT SCALE statement. Line width can be set using XPRINT WIDTH . If line width is set to 1 (the default), the line style can be set with XPRINT STYLE . XPRINT POLYGON neither uses, nor updates, the last point referenced (POS ). If executed without a host printer attached, error 57 is generated.

points

User-defined type that defines the number of vertices and the location of each. There must be at least two, and no more than 1024 vertices. The first member is a long integer point count, followed directly by the appropriate number of single precision floats to specify the actual coordinates. Floating point coordinates are required, because of the possibility of their use as world coordinates with XPRINT SCALE. You can use a type with a scalar list, like this:

TYPE PolyPoints

count as long

x1 as single

y1 as single

x2 as single

y2 as single

x3 as single

y3 as single

END TYPE

Or, you can create an array using point types, like this:

TYPE PolyPoint

x as single

y as single

END TYPE

TYPE PolyArray

count as long

xy(1 TO 3) as PolyPoint

END TYPE

rgbColor&

Optional RGB color of the polygon edge. If omitted (or -1), the edge color defaults to the current foreground color for the host printer page.

fillcolor&

Optional RGB color of the polygon interior. If fillcolor& is omitted (or -2), the interior of the ellipse is not filled, allowing the background to show through. If fillcolor& is -1, the interior is painted with the same color as the edge. Otherwise, fillcolor& specifies the RGB color to be used.

fillstyle&

Optional fill style (pattern) to be used. If fillstyle& is omitted, the default fill style is solid (0). If a hatch pattern is chosen (1 to 6), the foreground color is specified by the fillcolor& , while the background is specified by the default background color for the host printer page. The optional fillstyle& may be:

Solid (default)

Horizontal Lines

Vertical Lines

Upward Diagonal Lines

Downward Diagonal Lines

Crossed Lines

Diagonal Crossed Lines

fillmode&

If fillmode& is missing (or zero), the winding mode is selected. This fills any region with a non-zero winding value. If fillmode& is non-zero, the alternate mode is selected. This fills the area between odd-numbered and even-numbered polygon sides on each scan line. That is, it fills the area between the first side and the second side, between the third side and fourth side, etc.

See also

  • Built In RGB Color Equates
  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT BOX
  • XPRINT COLOR
  • XPRINT ELLIPSE
  • XPRINT LINE
  • XPRINT POLYLINE
  • PBXB64 Compiler Help


XPRINT POLYLINE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT POLYLINE

Draw a series of connected lines on a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT POLYLINE points [ , rgbColor& ]

Description

Draw a series of connected lines on a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The coordinate points are specified in pixels, unless optional world coordinates have been defined with an XPRINT SCALE statement. Line width can be set using XPRINT WIDTH . If line width is set to 1 (the default), the line style can be set with XPRINT STYLE . XPRINT POLYLINE neither uses, nor updates, the last point referenced (POS ). If executed without a host printer attached, error 57 is generated.

Windows graphic conventions consider the final x2 and y2 coordinates to be exclusive. Therefore, by default, the final pixel is not drawn unless Overlap Mode is enabled. See XPRINT SET OVERLAP for details.

points

User-defined type that defines the number of vertices and the location of each. There must be at least two, and no more than 1024 vertices. The first member is a long integer point count, followed directly by the appropriate number of single precision floats to specify the actual coordinates. Floating point coordinates are required, because of the possibility of their use as world coordinates with SCALE. You can use a type with a scalar list, like this:

TYPE PolyPoints

count as long

x1 as single

y1 as single

x2 as single

y2 as single

x3 as single

y3 as single

END TYPE

Or, you can create an array using point types, like this:

TYPE PolyPoint

x as single

y as single

END TYPE

TYPE PolyArray

count as long

xy(1 TO 3) as PolyPoint

END TYPE

rgbColor&

Optional RGB color of the polygon edge. If omitted (or -1), the edge color defaults to the current foreground color for the host printer page.

See also

  • Built In RGB Color Equates
  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT BOX
  • XPRINT COLOR
  • XPRINT ELLIPSE
  • XPRINT LINE
  • XPRINT POLYGON
  • XPRINT SET OVERLAP
  • XPRINT STYLE
  • XPRINT WIDTH
  • PBXB64 Compiler Help


XPRINT PREVIEW - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT PREVIEW

Display a replica of a printed document on the screen.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT PREVIEW hWin , ID [, CALL xxx ]
XPRINT PREVIEW CLOSE

Description

Display a replica of a printed document on the screen.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Print Preview is a powerful concept which should be considered in most application programs which provide printed reports. Briefly, the idea involves displaying a printed report on the screen before it is committed to printing on paper.

XPRINT PREVIEW allows you to redirect output from XPRINT statements to a graphic , control , or window so that it may be displayed on the screen. When XPRINT PREVIEW CLOSE is executed, XPRINT output reverts back to the host printer so that a repeat of the XPRINT code is now sent to the printer for completion of the printed report.

XPRINT PREVIEW selects the graphic target, and should be executed directly after the printer is selected with XPRINT ATTACH . The target is identified by the handle and ID given when it was created. You can optionally specify a callback function which is called upon every execution of an XPRINT FORMFEED or XPRINT CLOSE.

XPRINT PREVIEW must be executed immediately after XPRINT ATTACH or an error 98 "XPrint Preview Error" will be generated at run time. No XPRINT statements (other than the XPRINT$ function) may be executed between XPRINT ATTACH and XPRINT PREVIEW.

If you include the CallBack option, the callback procedure must be a simple SUB with no parameters and no return value. It is called automatically by the XPRINT engine at the completion of each preview page (upon execution of XPRINT FORMFEED or XPRINT PREVIEW CLOSE. This Sub can perform all sorts of housekeeping help, such as copying the preview bitmap for separate storage, counting pages in the report, or most anything else needed by your program. Copying the bitmap is important in multi-page reports as XPRINT FORMFEED erases the graphic target for preview of the next page.

See also

  • XPRINT ATTACH
  • XPRINT CLOSE
  • XPRINT FORMFEED
  • PBXB64 Compiler Help


XPRINT PRINT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT PRINT

Output text to be printed on the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT PRINT [ EXPRLIST ] [POS( n )] [SPC( n )] [TAB( n )] [,] [;]...
XPRINT [ EXPRLIST ] [POS( n )] [SPC( n )] [TAB( n )] [,] [;]...

Description

Output text to be printed on the

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Prior to any XPRINT operations, you should be certain that a printer has been selected with XPRINT ATTACH . The text foreground and background color are set with XPRINT COLOR . Text which extends beyond the bounds of the page is clipped. The size of the text to be printed can be determined in advance with XPRINT TEXT SIZE , and formatted to fit a particular field with XPRINT SPLIT . Drawing begins at the last point referenced by another statement, or the point specified by XPRINT SET POS . The upper left corner of the text is positioned at the POS.

XPRINT PRINT has the following parts, which may occur in any order and quantity, within a single statement:

EXPRLIST

String and/or numeric expression(s) which are written to the page. A semicolon can be used as separator between multiple expressions in the same statement. Upon completion, the POS is moved to the left margin of the next line.

POS( n )

An optional function used to set the POS to the horizontal page unit ( pixel , scaled unit, etc.) specified by the numeric argument, Multiple uses of the POS function is permitted in a single statement. The vertical position is unchanged.

SPC( n )

An optional function used to insert n spaces into the printed output. Multiple uses of SPC is permitted in a single statement. Values of n less than 1 are ignored.

TAB( n )

An optional function used to tab to the n th column before printing the next expression. Multiple use of TAB is permitted in a single statement. Since TAB references columns, rather than pixels, it can give unpredictable results when used with a variable width font . It is best used with a fixed width font.

Special characters that determine the position of the next text item printed. A semicolon (;) means the next text item is printed immediately; a comma (,) means the next text item is printed at the start of the next print zone. Print zones begin every 14 columns.

If the final argument is a semicolon or comma, the POS is maintained at the current location, rather than the default action of moving to the start of the next line. For example:

XPRINT PRINT "Hello";

XPRINT PRINT " world!";

...produces the contiguous result "Hello world!"

If you omit all arguments, XPRINT PRINT just moves the POS to the left margin of the next line. Any control codes, such as Carriage Return, Line-Feed, and Backspace are not interpreted. They will display as symbols in the current selected font.

USING$ is a separate function, which may be included in the ExprList . See the USING$() function for more information.

It is not possible to print a User-Defined Type (UDT), a Variant , an object variable, or an entire array . Individual member values must be extracted with the appropriate function before they can be displayed.

See also

  • FONT NEW
  • LPRINT$
  • XPRINT ATTACH
  • XPRINT(COL)
  • XPRINT(Chr.Size.X)
  • XPRINT COLOR
  • XPRINT CLOSE
  • XPRINT SET FONT
  • XPRINT(POS.X)
  • XPRINT SET POS
  • XPRINT SET WORDWRAP
  • XPRINT SET WRAP
  • XPRINT SPLIT
  • XPRINT(TEXT.SIZE.X...)
  • PBXB64 Compiler Help


XPRINT RENDER - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT RENDER

Render an image on a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT RENDER BmpName$ , ( x1! , y1! )-( x2! , y2! )

Description

Render an image on a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Renders an image (bitmap or icon), loaded from a resource or a disk file, to a host printer page. The parameter BmpName$ contains the name of the image to be loaded. If BmpName$ contains a period, it is presumed to be the name of a disk file. Otherwise, an attempt is made to load it from the program's resource data; if not found, it is then presumed to be a disk file. The parameters x1!,y1! define the upper left corner of the destination rectangle, while x2!,y2! define the lower right corner of that rectangle. If the destination rectangle is larger or smaller than the original, the image is stretched or condensed to the requested size. If XPRINT RENDER is unsuccessful, an appropriate error is generated.

The following code will retrieve the natural size of an image in a bitmap file, in pixels:

nFile& = FREEFILE

OPEN "myimage.bmp" FOR BINARY AS nFile&

GET #nFile&, 19, nWidth&

GET #nFile&, 23, nHeight&

CLOSE nFile&

See also

  • XPRINT ATTACH
  • XPRINT COPY
  • XPRINT STRETCH
  • XPRINT SET STRETCHMODE
  • PBXB64 Compiler Help


XPRINT SCALE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SCALE

Define a custom world coordinate system for a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SCALE ( x1! , y1! )-( x2! , y2! )
XPRINT SCALE PIXELS

Description

Define a custom world coordinate system for a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT SCALE lets you define your own world coordinate system f or all subsequent XPRINT statements. World coordinates may be floating point values, with the only requirement that x1! not equal x2!, and y1! not equal y2!. If either pair are equal, an error 5 is generated. The custom coordinates remain with the printer page until XPRINT SCALE is repeated, or the host printer is detached. If executed without a host printer attached, error 57 is generated.

If x2! is greater than x1! , coordinates grow larger as they move to the right. Otherwise, they grow larger as they move to the left.

If y2! is greater than y1! , coordinates grow larger as they move downward. Otherwise, they grow larger as they move upward.

By default, the position x2 !/ y2! translates to the first pixel which is outside of the client area , and therefore not drawn. However, if OVERLAP MODE is enabled by XPRINT SET OVERLAP , x2!/y2! translates to the final pixel in the client area and is drawn.

XPRINT SCALE PIXELS sets or resets the coordinate system to pixel coordinates.

Note: XPRINT SCALE will not work with negative numeric values - all numeric arguments must be positive.

See also

  • XPRINT ATTACH
  • XPRINT GET SCALE
  • XPRINT SET OVERLAP
  • PBXB64 Compiler Help


XPRINT SET CLIP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET CLIP

Establishes margins around the outer edges of the print page.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET CLIP LeftMargin! , TopMargin! , RightMargin! , BottomMargin!

Description

Establishes margins around the outer edges of the print page.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This statement establishes margins on any or all sides of the selected printer . All subsequent XPRINT operations are "clipped" on these boundaries, so that no additional text or graphics are written in these protected areas.

Each of the 4 parameters is specified in the PAGE UNITS currently in effect. However, as this changes the target space available to you, the page units are immediately set to pixels/points. The upper left corner of the clip area is now addressed as point (0,0), while the right and bottom limits are reduced by the size of the margins. If you would prefer to use new Scaled Page Units for this revised clip area, you must executes a new XPRINT SCALE .

XPRINT SET CLIP is particularly useful for displaying text, where enclosing "white space" improves the appearance a good deal.

You can disable a clip area by executing XPRINT SET CLIP 0,0,0,0.

See also

  • XPRINT(CANVAS.X)
  • XPRINT(Client.X)
  • XPRINT GET SCALE
  • XPRINT SCALE
  • PBXB64 Compiler Help


XPRINT SET COLLATE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET COLLATE

Change the XPRINT collate status.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET COLLATE numrexp

Description

Change the XPRINT collate status.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT allows you to set the collate status, if the printer driver supports both multiple copies and collate capability. XPRINT SET COLLATE enables or disables collating, depending upon the value of the numrexp (1=true 0=false). The following equates are predefined in the compiler to symbolically represent the possible status:

%DMCOLLATE_FALSE = 0

%DMCOLLATE_TRUE = 1

If the printer does not support collating, or other values are used, error 5 is generated. If this statement is executed without a host printer attached , error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT(COLLATE)
  • PBXB64 Compiler Help


XPRINT SET COLORMODE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET COLORMODE

Changes the XPRINT colormode status.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET COLORMODE numrexp

Description

Changes the XPRINT colormode status.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT allows you to set the color or monochrome print mode if the printer driver supports it. XPRINT SET COLORMODE expects a numeric expression which evaluates to one of the following listed values. The following equates are predefined in the compiler to symbolically represent the possible status:

%DMCOLOR_MONOCHROME = 1

%DMCOLOR_COLOR = 2

If this statement is executed without a host printer attached , error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT(COLORMODE)
  • PBXB64 Compiler Help


XPRINT SET COPIES - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET COPIES

Change the XPRINT copy count.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET COPIES numrexp

Description

Change the XPRINT copy count.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT SET COPIES allows you to set the number of copies to be automatically printed, if it is supported by the printer driver. The default value is one (1). If multiple copies are not supported by the printer driver, or the count requested is greater than that supported by the printer driver, error 5 is generated. If this statement is executed without a host printer attached , error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT(COPIES)
  • PBXB64 Compiler Help


XPRINT SET DUPLEX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET DUPLEX

Change the XPRINT duplex status.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET DUPLEX numrexp

Description

Change the XPRINT duplex status.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT allows you to set the duplex status, if the printer supports printing on both sides of a page. XPRINT SET DUPLEX changes the mode to that specified by the numrexp . The following equates are predefined in the compiler to symbolically represent the possible duplex status:

%DMDUP_SIMPLEX = 1 (single sided printing)

%DMDUP_VERTICAL = 2 (page flipped on the vertical edge)

%DMDUP_HORIZONTAL = 3 (page flipped on the horizontal edge)

If the printer does not support duplex printing, error 5 is generated. If this statement is executed without a host printer attached , error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT(DUPLEX)
  • PBXB64 Compiler Help


XPRINT SET FONT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET FONT

Select a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET FONT FontHndl&

Description

Select a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

The font specified by FontHndl& is selected to be used by XPRINT statements. This is the most efficient way to change fonts and their general appearance (size, style, etc.). If you specify a FontHndl& of zero, the font is changed back to the original default font chosen by PowerBASIC.

You can predefine virtually any number of fonts and attributes by executing FONT NEW statements for each of them. That makes them ready for immediate use when selected by XPRINT SET FONT.

Prior to any XPRINT operations, a specific printer must first be selected with XPRINT ATTACH . If no specific font is selected, the default font is Courier New with no style attributes.

See also

  • FONT NEW
  • XPRINT PRINT
  • XPRINT ATTACH
  • XPRINT(Chr.Size.X)
  • XPRINT(TEXT.SIZE.X...)
  • PBXB64 Compiler Help


XPRINT SET MIX - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET MIX

Set the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET MIX mode&

Description

Set the

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Prior to any graphical operations, a host printer must first be selected with XPRINT ATTACH . There are 16 mix modes available to use for mixing the drawing color with the color that already exists at the drawing location. The default mix mode is 13, %mix_CopySrc. The mix mode equates are predefined in PowerBASIC.

%MIX_BLACKNESS

Pixel is always 0 (black).

%MIX_NOTMERGESRC

Pixel is the inverse of the MergeSrc color.

%MIX_MASKNOTSRC

Pixel is a combination of the colors common to both the pixel and the inverse of the source.

%MIX_NOTCOPYSRC

Pixel is the inverse of the pen color.

%MIX_MASKSRCNOT

Pixel is a combination of the colors common to both the source and the inverse of the pixel.

%MIX_NOT

Pixel is the inverse of the pixel color.

%MIX_XORSRC

Pixel is a combination of the colors in the source and in the pixel, but not in both.

%MIX_NOTMASKSRC

Pixel is the inverse of the MaskSrc color.

%MIX_MASKSRC

Pixel is a combination of the colors common to both the source and the pixel.

%MIX_NOTXORSRC

Pixel is the inverse of the XorSrc color.

%MIX_NOP

Pixel remains unchanged.

%MIX_MERGENOTSRC

Pixel is a combination of the source color and the inverse of the pixel color.

%MIX_COPYSRC

Pixel is the source color (default).

%MIX_MERGESRCNOT

Pixel is a combination of the source color and the inverse of the pixel color.

%MIX_MERGESRC

Pixel is a combination of the source color and the pixel color.

%MIX_WHITENESS

Pixel is always 1 (white).

See also

  • XPRINT ATTACH
  • XPRINT(MIX)
  • PBXB64 Compiler Help


XPRINT SET ORIENTATION - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET ORIENTATION

Set the paper orientation for a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET ORIENTATION orent&

Description

Set the paper orientation for a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT SET ORIENTATION sets the orientation of the paper in the host printer. The value 1 indicates portrait mode, while 2 indicates landscape mode. If a host printer is not attached, or does not support setting the orientation, error 57 is generated.

See also

  • FONT NEW
  • XPRINT ATTACH
  • XPRINT(ORIENTATION)
  • XPRINT SET FONT
  • PBXB64 Compiler Help


XPRINT SET OVERLAP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET OVERLAP

Enables or disables XPRINT Overlap Mode.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET OVERLAP [ NumrExpr& ]

Description

Enables or disables XPRINT Overlap Mode.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT SET OVERLAP enables or disables overlap mode for the host printer which is currently attached to the XPRINT stream . It has no effect on any other XPRINT target. If NumrExpr& is true (non-zero), overlap mode is enabled. If false (zero), overlap mode is disabled. If NumrExpr& is missing, the default is to enable Overlap Mode.

With Overlap Mode, you can control how PowerBASIC treats XPRINT operations which involve a bounding rectangle (RECT structure) in their definition. Windows maintains unique conventions for a RECT. The bottom and right coordinates of a RECT are exclusive. In other words, the pixels at the bottom and right edges lie immediately outside the rectangle. They are ignored. For example:

XPRINT BOX (0,0) - (50,50)

In this case, a box is drawn from 0,0 to 49,49. The final pixels at the bottom and right edge are simply not drawn. However, if Overlap Mode is enabled, the box is drawn from 0,0 to 50,50.

The Overlap Mode affects all XPRINT functions which take a bounding rectangle as a parameter. This includes XPRINT SCALE , XPRINT BOX , XPRINT ELLIPSE , XPRINT LINE , XPRINT POLYLINE , etc.

See also

  • XPRINT BOX
  • XPRINT ELLIPSE
  • XPRINT(OVERLAP)
  • XPRINT LINE
  • XPRINT POLYLINE
  • XPRINT SCALE
  • PBXB64 Compiler Help


XPRINT SET PAGES - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET PAGES

Sets the XPRINT page number limits for this

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET PAGES FromPage& , ToPage&

Description

Sets the XPRINT page number limits for this

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

You may elect to limit a particular print job to a subset of the total number of pages. This can be accomplished under program control by executing XPRINT SET PAGES, or the user can make the appropriate choice in the Print Dialog which is displayed when XPRINT ATTACH is executed with the CHOOSE option. When the pages are limited in this way, PowerBASIC handles all the details of print suppression for you.

Normally, XPRINT pages are numbered from one. The parameter FromPage& specifies the first page of the full report which will be printed, while ToPage& specifies the last page.

If XPRINT SET PAGES is executed without a host printer attached, an error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT GET PAGES
  • XPRINT SET COPIES
  • PBXB64 Compiler Help


XPRINT SET PAPER - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET PAPER

Sets a new

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET PAPER papertype&

Description

Sets a new

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT SET PAPER changes the paper style for the host printer to that designated by papertype& . The paper style is identified by an integral value given in the expression papertype&. The following equates are predefined in the compiler, and represent the most common paper styles:

%DMPAPER_LETTER = 1 Letter 8.5 x 11 inches

%DMPAPER_TABLOID = 3 Tabloid 11 x 17 inches

%DMPAPER_LEDGER = 4 Ledger 17 x 11 inches

%DMPAPER_LEGAL = 5 Legal 8.5 x 14 inches

%DMPAPER_STATEMENT = 6 Statement 5.5 x 8.5 inches

%DMPAPER_EXECUTIVE = 7 Executive 7.25 x 10.5 inches

%DMPAPER_A3 = 8 A3 297 x 420 mm

%DMPAPER_A4 = 9 A4 210 x 297 mm

%DMPAPER_A5 = 11 A5 148 x 210 mm

%DMPAPER_B4 = 12 B4 250 x 354 mm

%DMPAPER_B5 = 13 B5 182 x 257 mm

%DMPAPER_FOLIO = 14 Folio 8.5 x 13 inches

%DMPAPER_QUARTO = 15 Quarto 215 x 275 mm

%DMPAPER_10X14 = 16 10x14 10 x 14 inches

%DMPAPER_11X17 = 17 11x17 11 x 17 inches

%DMPAPER_NOTE = 18 Note 8.5 x 11 inches

%DMPAPER_ENV_9 = 19 9 Envlp 3.875 x 8.875 inches

%DMPAPER_ENV_10 = 20 10 Envlp 4.125 x 9.5 inches

Other paper style codes may be defined by Windows or printer suppliers. You can use XPRINT GET PAPERS to obtain a list of all the paper styles supported by the attached host printer.

If the printer does not support the paper style specified, error 5 is generated. If executed without a host printer attached, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT(PAPER)
  • XPRINT$(PAPERS)
  • PBXB64 Compiler Help


XPRINT SET PIXEL - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET PIXEL

Set the

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET PIXEL [STEP] ( x! , y! ) [, rgbColor& ]

Description

Set the

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT SET PIXEL draws a single pixel on the host printer page. The optional color parameter is an RGB value; if not included, the color defaults to the current foreground color for the host printer. If the STEP option is included, the x! and y! coordinates are relative to the last point referenced (POS ). The coordinate points are specified in pixels, unless world coordinates were set with an XPRINT SCALE statement. If no host printer is attached, error 57 is generated.

See also

  • Built In RGB Color Equates
  • XPRINT ATTACH
  • XPRINT COLOR
  • XPRINT(PIXEL...)
  • PBXB64 Compiler Help


XPRINT SET POS - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET POS

Set the last point referenced (POS) by an XPRINT

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET POS [STEP] ( x! , y! )

Description

Set the last point referenced (POS) by an XPRINT

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT SET POS allows you to set the last point referenced (POS) by XPRINT statements. If the STEP option is included, the x! and y! coordinates are relative to the prior POS. The coordinate points are specified in pixels (or world coordinates, if those were defined with an XPRINT SCALE statement). If executed without a host printer attached, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT(POS.X)
  • PBXB64 Compiler Help


XPRINT SET QUALITY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET QUALITY

Set the print quality for a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET QUALITY qual&

Description

Set the print quality for a

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT SET QUALITY sets the print quality setting for the host printer. The value 1 is draft mode, 2 is low resolution, 3 is medium resolution, and 4 is high resolution. It should be noted that some printers only allow higher resolutions to be set from the printer dialog (in XPRINT ATTACH CHOOSE ). If no host printer is attached, or the printer does not support print quality settings, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT(QUALITY)
  • PBXB64 Compiler Help


XPRINT SET STRETCHMODE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET STRETCHMODE

Sets the default bitmap stretching mode for the current

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET STRETCHMODE ModeExpr

Description

Sets the default bitmap stretching mode for the current

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

There are several operations in PowerBASIC which involve stretching or condensing images on bitmaps, most notably XPRINT STRETCH . As individual pixels must be added or removed, there is a good chance that the quality of the image will be degraded. However, if you describe the nature of the image by defining a StretchMode, you can substantially enhance the appearance.

The default StretchMode is maintained individually for each DC. You can set the default mode with this statement, or retrieve it with XPRINT GET STRETCHMODE . Of course, you can also override the default StretchMode when you execute one of the affected statements.

The 4 stretch mode equates are predefined in PowerBASIC.

%BLACKONWHITE

This is the default Windows stretch mode, and is most appropriate for monochrome bitmaps, or those with blocks of color. Performs a boolean OR of eliminated and existing pixels. It preserves black pixels at the expense of white pixels.

%WHITEONBLACK

Performs a boolean OR of eliminated and existing pixels. It preserves white pixels at the expense of black pixels.

%COLORONCOLOR

Deletes eliminated lines of pixels without trying to preserve their information.

%HALFTONE

This provides the highest quality for complex color bitmaps. The average color of the destination pixel block is kept approximately the same as the source pixel block.

See also

  • XPRINT COPY
  • XPRINT(STRETCHMODE)
  • XPRINT RENDER
  • XPRINT STRETCH
  • PBXB64 Compiler Help


XPRINT SET TRAY - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET TRAY

Sets a new active

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET TRAY numrexp

Description

Sets a new active

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT SET TRAY changes the active paper tray on the host printer to that specified by numrexp . The following equates are predefined in the compiler, and represent the most common paper trays:

%DMBIN_UPPER = 1

%DMBIN_MIDDLE = 3

%DMBIN_MANUAL = 4

%DMBIN_ENVELOPE = 5

%DMBIN_ENVMANUAL = 6

%DMBIN_AUTO = 7

%DMBIN_TRACTOR = 8

%DMBIN_SMALLFMT = 9

%DMBIN_LARGEFMT = 10

%DMBIN_LARGECAPACITY = 11

%DMBIN_CASSETTE = 14

%DMBIN_FORMSOURCE = 15

Other tray codes may be defined by Windows or printer suppliers, so your program should be written to consider that possibility. You can use XPRINT GET TRAYS to obtain a list of all the paper trays supported by the attached host printer.

If the printer does not support the tray change requested, error 5 is generated. If executed without a host printer attached, error 57 is generated.

See also

  • XPRINT ATTACH
  • XPRINT(TRAY)
  • XPRINT$(TRAYS)
  • PBXB64 Compiler Help


XPRINT SET WORDWRAP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET WORDWRAP

Enables or disables XPRINT WordWrap Mode.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET WORDWRAP [ NumrExpr& ]

Description

Enables or disables XPRINT WordWrap Mode.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT SET WORDWRAP enables or disables WordWrap mode for the host printer which is currently attached to the XPRINT stream . It has no effect on any other printer. If NumrExpr& is true (non-zero), WordWrap mode is enabled. If false (zero), WordWrap mode is disabled. If NumrExpr& is missing, the default is to enable WordWrap Mode.

With WordWrap Mode, you can control how PowerBASIC prints text on an XPRINT page when it reaches the end of a line. Since a host printer operates on a full page basis, the default is to ignore text which is printed past the end of the line.

When WordWrap mode is enabled, it affects only XPRINT PRINT operations. If XPRINT PRINT attempts to display a word beyond the end of a row, the entire word is automatically wrapped to the first column of the next row.

See also

  • XPRINT(COL)
  • XPRINT(WORDWRAP)
  • XPRINT PRINT
  • XPRINT SET WRAP
  • XPRINT SPLIT
  • PBXB64 Compiler Help


XPRINT SET WRAP - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SET WRAP

Enables or disables XPrint Wrap Mode.

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SET WRAP [ NumrExpr& ]

Description

Enables or disables XPrint Wrap Mode.

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT SET WRAP enables or disables wrap mode for the host printer which is currently attached to the XPrint stream . It has no effect on any other printer. If NumrExpr& is true (non-zero), wrap mode is enabled. If false (zero), wrap mode is disabled. If NumrExpr& is missing, the default is to enable Wrap Mode.

With Wrap Mode, you can control how PowerBASIC prints text on an XPRINT PAGE when it reaches the end of a line. Since a host printer operates on a full page basis, the default is to ignore text which is printed past the end of the line.

When Wrap Mode is enabled, it affects only XPRINT PRINT operations. If XPRINT PRINT attempts to display a character beyond the end of a row, it is automatically wrapped to the first column of the next row.

See also

  • XPRINT(COL)
  • XPRINT(WRAP)
  • XPRINT PRINT
  • XPRINT SET WORDWRAP
  • XPRINT SPLIT
  • PBXB64 Compiler Help


XPRINT SPLIT - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT SPLIT

Splits a string

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT SPLIT [WORD] MainStr , Part1Len TO Part1Var , Part2Var

Description

Splits a string

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

Generally speaking, XPRINT SPLIT allows you to determine how much text will fit on a line (or a line section), so you don't overrun the end. This is critical with variable-width fonts . Since these text characters have different widths, you cannot rely on a simple character count.

XPRINT SPLIT separates the MainStr string expression into two parts, which are then assigned to the two string variables specified by Part1Var and Part2Var . The numeric expression Part1Len specifies the maximum width of the print field, using page units (pixels/points, scaled units). After completion of XPRINT SPLIT, the Part1Var will contain those characters which can be safely printed in the print field. The Part2Var will contain the remaining characters, which might be printed on following lines.

Since this operation creates a "line break" not contemplated in the original text, you may have to modify the results in order to obtain the best appearance. For example, it's usually best to remove any leading spaces from Part2Var before printing it.

If the WORD option is included, PowerBASIC guarantees that Part1 will not end on a partial word. This may require that Part1Len is adjusted to a smaller value. In that case, Part2Var would be assigned these characters to compensate.

See also

  • XPRINT(COL)
  • XPRINT SET FONT
  • XPRINT SET WORDWRAP
  • XPRINT SET WRAP
  • PBXB64 Compiler Help


XPRINT STRETCH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT STRETCH

Copy and resize a bitmap

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT STRETCH hBmp , ID , ( x1 , y1 )-( x2 , y2 ) TO ( x3 , y3 )-( x4 , y4 ) [, Mix , Stretch ]
XPRINT STRETCH PAGE hBmp , ID [, Mix , Stretch ]

Description

Copy and resize a bitmap

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

You can copy a complete bitmap, or a portion of it, to the XPRINT page, while resizing it to a larger or smaller size. The handle variable hBmp specifies the handle of the source bitmap or window . The parameter ID is the control identifier (1 to 65535) assigned with CONTROL ADD GRAPHIC . ID must be zero (0) for a GRAPHIC WINDOW or a bitmsp . The destination of the stretch operation is always the attached XPRINT page. The bitmap is automatically resized to fit the destination parameters. You must use care that your parameters are valid for the specified bitmaps, or result of the operation is undefined.

The second form, XPRINT STRETCH PAGE, is a shortcut for copying a complete bitmap to the clip or client area of the host printer page. The image is automatically stretched or condensed to fit the target appropriately.

If the Mix parameter is included, it is one of the values in the following table. If not specified, a default of %MIX_COPYSRC is presumed. There are 16 mix modes available to use for mixing drawing colors with the colors which already exist at the at the drawing location. The mix mode equates are predefined in PowerBASIC.

%mix_Blackness

Pixel is always 0 (black).

%mix_NotMergeSrc

Pixel is the inverse of the MergeSrc color.

%mix_MaskNotSrc

Pixel is a combination of the colors common to both the pixel and the inverse of the source.

%mix_NotCopySrc

Pixel is the inverse of the pen color.

%mix_MaskSrcNot

Pixel is a combination of the colors common to both the source and the inverse of the pixel.

%mix_Not

Pixel is the inverse of the pixel color.

%mix_XorSrc

Pixel is a combination of the colors in the source and in the pixel, but not in both.

%mix_NotMaskSrc

Pixel is the inverse of the MaskSrc color.

%mix_MaskSrc

Pixel is a combination of the colors common to both the source and the pixel.

%mix_NotXorSrc

Pixel is the inverse of the XorSrc color.

%mix_Nop

Pixel remains unchanged.

%mix_MergeNotSrc

Pixel is a combination of the source color and the inverse of the pixel color.

%mix_CopySrc

Pixel is the source color (default).

%mix_MergeSrcNot

Pixel is a combination of the source color and the inverse of the pixel color.

%mix_MergeSrc

Pixel is a combination of the source color and the pixel color.

%mix_Whiteness

Pixel is always 1 (white).

Stretch

If the Stretch parameter is included, it is one of the values in the following table. If not included, or it is the value zero (0), the stretch mode is unchanged. An appropriate choice of stretch mode can substantially enhance the quality of bitmaps which are changed in size. The stretch mode equates are predefined in PowerBASIC.

%BLACKONWHITE

This is the default Windows stretch mode, and is most appropriate for monochrome bitmaps, or those with blocks of color. Performs a boolean OR of eliminated and existing pixels. It preserves black pixels at the expense of white pixels.

%WHITEONBLACK

Performs a boolean OR of eliminated and existing pixels. It preserves white pixels at the expense of black pixels.

%COLORONCOLOR

Deletes eliminated lines of pixels without trying to preserve their information.

%HALFTONE

This provides the highest quality for complex color bitmaps. The average color of the destination pixel block is kept approximately the same as the source pixel block.

See also

  • XPRINT COPY
  • XPRINT RENDER
  • XPRINT SET MIX
  • XPRINT SET STRETCHMODE
  • PBXB64 Compiler Help


XPRINT STYLE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT STYLE

Set the line style to be used by various XPRINT

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT STYLE linestyle&

Description

Set the line style to be used by various XPRINT

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT STYLE determines the line style which will be used when drawing various graphical objects, while the width value is set to 1. When the width value is greater than one, Windows always interprets the style as 0 (solid).

Available line styles are:

Solid (default)

DashDot

DashDotDot

See also

  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT BOX
  • XPRINT ELLIPSE
  • XPRINT LINE
  • XPRINT PIE
  • XPRINT WIDTH
  • PBXB64 Compiler Help


XPRINT(TEXT.SIZE.X...) - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT(TEXT.SIZE.X...)

Calculate the size of text to be printed on a

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT TEXT SIZE txt$ To nWidth! , nHeight!
Function Form:
WidthVar! = XPRINT(TEXT.SIZE.X, txt$ )
HeightVar! = XPRINT(TEXT.SIZE.Y, txt$ )

Description

Calculate the size of text to be printed on a

Kind: Function | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

This statement calculates the total size of the printed text, based upon the current font for the host printer. The sizes returned are specified in Page Units .

This allows you to easily calculate the appropriate print position, particularly when using a proportional font. If this statement is executed without a host printer attached , error 57 is generated.

See also

  • XPRINT(Cell.Size.X)
  • XPRINT(Chr.Size.X)
  • XPRINT SET FONT
  • PBXB64 Compiler Help


XPRINT WIDTH - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XPRINT WIDTH

Set the graphic line width to be used by various XPRINT

Chapter: General Reference | Certification: [CERTIFIED TESTED]

Syntax

XPRINT WIDTH ncPixels&

Description

Set the graphic line width to be used by various XPRINT

Kind: Statement | Category: UI, Graphics & DDT

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Description

XPRINT WIDTH determines the line width which will be used when drawing various graphical objects. The default width is 1 pixel. The width is always specified in pixels, regardless of any XPRINT SCALE option. When the width is set to a value greater than 1, XPRINT STYLE parameters are always interpreted as 0 (solid).

See also

  • XPRINT ARC
  • XPRINT ATTACH
  • XPRINT BOX
  • XPRINT ELLIPSE
  • XPRINT LINE
  • XPRINT PIE
  • XPRINT STYLE
  • PBXB64 Compiler Help


XTHREAD CREATE - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

XTHREAD CREATE

Create a Windows thread with multiple arguments.

Chapter: General Reference

Syntax

XTHREAD CREATE FuncName(arg1, arg2, ...) TO hThread

Description

Create a Windows thread with multiple arguments.

Kind: Statement | Category: Threading

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED COMPILE-ONLY]

Description

XTHREAD CREATE is a multi-argument variant of THREAD CREATE. While THREAD CREATE only accepts a single BYVAL LONG parameter, XTHREAD CREATE supports up to six arguments of mixed types (LONG or STRING).

The function name is specified without quotation marks. The function must be declared or defined before the XTHREAD CREATE statement. Arguments are passed BYVAL automatically.

On success, the thread handle is stored in the variable specified after TO. On failure, the variable receives zero (0).

The thread handle can be used with all standard thread statements: THREAD CLOSE, THREAD STATUS, THREAD SUSPEND, and THREAD RESUME.

Restrictions

A maximum of six arguments is supported. Argument types are limited to LONG and STRING. The target function must be located in the same compiled module.

Example

#COMPILE EXE
#DIM ALL

DECLARE FUNCTION MultiAdd(BYVAL a AS LONG, BYVAL b AS LONG, BYVAL c AS LONG) AS LONG

FUNCTION MultiAdd(BYVAL a AS LONG, BYVAL b AS LONG, BYVAL c AS LONG) AS LONG
    FUNCTION = a + b + c
END FUNCTION

FUNCTION PBMAIN() AS LONG
    LOCAL h AS LONG
    LOCAL r AS LONG

    XTHREAD CREATE MultiAdd(10, 20, 30) TO h
    THREAD CLOSE h TO r

    IF r <> 60 THEN FUNCTION = 1 ELSE FUNCTION = 0
END FUNCTION

See also

  • THREAD CREATE
  • THREAD CLOSE
  • THREAD STATUS
  • THREAD SUSPEND
  • THREAD RESUME
  • THREAD SET PRIORITY
  • THREADID
  • THREADCOUNT
  • THREADED
  • THREAD Code Group


COBOL Frontend - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Overview PBXB64 Compiler Help

COBOL Frontend

PBXB64 V15 provides a bounded native COBOL frontend. Qualified cases cover program structure, data descriptions, DISPLAY/BINARY/PACKED values, exact 40-digit movement and arithmetic, comparisons, DIVIDE ... GIVING, DIVIDE ... REMAINDER, ON SIZE ERROR, ROUNDED, mixed-scale COMPUTE, EVALUATE, SEARCH with VARYING/AT END, OCCURS including DEPENDING ON and INDEXED BY, CALL ... BY VALUE / BY CONTENT / RETURNING, and selected console, string, and file operations.

Chapter: Overview

Description

PBXB64 V15 provides a bounded native COBOL frontend. Qualified cases cover program structure, data descriptions, DISPLAY/BINARY/PACKED values, exact 40-digit movement and arithmetic, comparisons, DIVIDE ... GIVING, DIVIDE ... REMAINDER, ON SIZE ERROR, ROUNDED, mixed-scale COMPUTE, EVALUATE, SEARCH with VARYING/AT END, OCCURS including DEPENDING ON and INDEXED BY, CALL ... BY VALUE / BY CONTENT / RETURNING, and selected console, string, and file operations.

LINKAGE SECTION with PROCEDURE DIVISION USING emits an externally visible function with by-reference pointer parameters. CALL "name" USING ... uses the same ABI. Embedded #COBOL USING in a PowerBASIC host passes host variables by reference into the COBOL block.

Boundary

This is not a complete COBOL implementation. Unsupported error phrases and data-clause combinations fail explicitly; full file record semantics, SORT/MERGE, RETURN/RELEASE, START/DELETE/REWRITE, ALTER, true CONTINUE, EXIT PROGRAM/EXIT PERFORM, and Declaratives remain outside the qualified surface.


ACCEPT - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Console & Strings PBXB64 Compiler Help

ACCEPT

Category: COBOL reference

Chapter: COBOL Console & Strings

Syntax

ACCEPT WS-NAME.
ACCEPT WS-DATE FROM DATE.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ADD - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Arithmetic & Data Movement PBXB64 Compiler Help

ADD

Category: COBOL reference

Chapter: COBOL Arithmetic & Data Movement

Syntax

ADD WS-A TO WS-B.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


AND - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

AND

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

IF WS-A > 0 AND WS-B > 0

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ARITHMETIC DATA MOVEMENT - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Overview PBXB64 Compiler Help

ARITHMETIC DATA MOVEMENT

Category: COBOL reference

Chapter: Overview

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


AT END - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

AT END

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

AT END MOVE 999 TO OUT-VAL

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CALL - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Calls & Parameters PBXB64 Compiler Help

CALL

Category: COBOL reference

Chapter: COBOL Calls & Parameters

Syntax

CALL "cobol-host" USING ARG1 GIVING RESULT.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CALLS PARAMETERS - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Overview PBXB64 Compiler Help

CALLS PARAMETERS

Category: COBOL reference

Chapter: Overview

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CLOSE - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL File I/O PBXB64 Compiler Help

CLOSE

Category: COBOL reference

Chapter: COBOL File I/O

Syntax

CLOSE TEST-FILE.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


COMPUTE - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Arithmetic & Data Movement PBXB64 Compiler Help

COMPUTE

Category: COBOL reference

Chapter: COBOL Arithmetic & Data Movement

Syntax

COMPUTE WS-A = (2.00 + 3.00) * 4.00.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CONDITION NAME 88 - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Data Description PBXB64 Compiler Help

CONDITION NAME 88

Category: COBOL reference

Chapter: COBOL Data Description

Syntax

88 IS-OK VALUE 1.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CONSOLE STRINGS - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Overview PBXB64 Compiler Help

CONSOLE STRINGS

Category: COBOL reference

Chapter: Overview

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CONTINUE - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

CONTINUE

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

CONTINUE.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CONTROL FLOW - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Overview PBXB64 Compiler Help

CONTROL FLOW

Category: COBOL reference

Chapter: Overview

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CONVERTING - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Console & Strings PBXB64 Compiler Help

CONVERTING

Category: COBOL reference

Chapter: COBOL Console & Strings

Syntax

INSPECT WS-C CONVERTING "AB" TO "XY".

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


COPY - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Copybooks PBXB64 Compiler Help

COPY

Category: COBOL reference

Chapter: COBOL Copybooks

Syntax

COPY CUSTREC.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


COPY REPLACING - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Copybooks PBXB64 Compiler Help

COPY REPLACING

Category: COBOL reference

Chapter: COBOL Copybooks

Syntax

COPY REPLTEST REPLACING REPL-NAME BY CUST-NAME.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


COPYBOOKS - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Overview PBXB64 Compiler Help

COPYBOOKS

Category: COBOL reference

Chapter: Overview

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


DATA DESCRIPTION - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Overview PBXB64 Compiler Help

DATA DESCRIPTION

Category: COBOL reference

Chapter: Overview

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


DATA DIVISION - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Divisions PBXB64 Compiler Help

DATA DIVISION

Category: COBOL reference

Chapter: COBOL Divisions

Syntax

DATA DIVISION.
WORKING-STORAGE SECTION.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


DELIMITED BY - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Console & Strings PBXB64 Compiler Help

DELIMITED BY

Category: COBOL reference

Chapter: COBOL Console & Strings

Syntax

STRING SRC-A SRC-B DELIMITED BY "," INTO DEST.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


DEPENDING ON - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

DEPENDING ON

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

GO TO P1, P2, P3 DEPENDING ON IDX.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


DISPLAY - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Console & Strings PBXB64 Compiler Help

DISPLAY

Category: COBOL reference

Chapter: COBOL Console & Strings

Syntax

DISPLAY "TOTAL=" WS-TOTAL.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


DIVIDE - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Arithmetic & Data Movement PBXB64 Compiler Help

DIVIDE

Category: COBOL reference

Chapter: COBOL Arithmetic & Data Movement

Syntax

DIVIDE WS-B BY WS-D GIVING WS-E.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


DIVISIONS - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Overview PBXB64 Compiler Help

DIVISIONS

Category: COBOL reference

Chapter: Overview

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ELSE - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

ELSE

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

ELSE

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


EMBEDDED BASIC - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Overview PBXB64 Compiler Help

EMBEDDED BASIC

Category: COBOL reference

Chapter: Overview

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


EMBEDDED END - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Embedded COBOL in BASIC PBXB64 Compiler Help

EMBEDDED END

Category: COBOL reference

Chapter: Embedded COBOL in BASIC

Syntax

#COBOL END

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


EMBEDDED START - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Embedded COBOL in BASIC PBXB64 Compiler Help

EMBEDDED START

Category: COBOL reference

Chapter: Embedded COBOL in BASIC

Syntax

#COBOL

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


EMBEDDED USING - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Embedded COBOL in BASIC PBXB64 Compiler Help

EMBEDDED USING

Category: COBOL reference

Chapter: Embedded COBOL in BASIC

Syntax

#COBOL USING var1, var2, ...

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


END EVALUATE - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

END EVALUATE

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

END-EVALUATE.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


END IF - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

END IF

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

END-IF.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


END SEARCH - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

END SEARCH

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

END-SEARCH

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ENVIRONMENT DIVISION - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Divisions PBXB64 Compiler Help

ENVIRONMENT DIVISION

Category: COBOL reference

Chapter: COBOL Divisions

Syntax

ENVIRONMENT DIVISION.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


EVALUATE - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

EVALUATE

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

EVALUATE WS-DAY
    WHEN 1 DISPLAY "MONDAY"
    WHEN OTHER DISPLAY "OTHER"
END-EVALUATE.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


EXIT PERFORM - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

EXIT PERFORM

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

EXIT PERFORM

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


EXTERNAL - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Data Description PBXB64 Compiler Help

EXTERNAL

Category: COBOL reference

Chapter: COBOL Data Description

Syntax

01 SHARED-COUNT PIC S9(9) VALUE 41 EXTERNAL.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FILE IO - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › Overview PBXB64 Compiler Help

FILE IO

Category: COBOL reference

Chapter: Overview

Syntax

IDENTIFICATION DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FILE SECTION - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL File I/O PBXB64 Compiler Help

FILE SECTION

Category: COBOL reference

Chapter: COBOL File I/O

Syntax

FILE SECTION.
FD TEST-FILE.
01 TEST-REC PIC X(12).

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


GIVING - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Calls & Parameters PBXB64 Compiler Help

GIVING

Category: COBOL reference

Chapter: COBOL Calls & Parameters

Syntax

CALL "cobol-host" USING ARG1 GIVING RESULT.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


GLOBAL - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Data Description PBXB64 Compiler Help

GLOBAL

Category: COBOL reference

Chapter: COBOL Data Description

Syntax

01 SHARED-COUNT PIC S9(9) VALUE 41 GLOBAL.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


GO TO - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

GO TO

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

GO TO DONE.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


GOBACK - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

GOBACK

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

GOBACK.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


IDENTIFICATION DIVISION - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Divisions PBXB64 Compiler Help

IDENTIFICATION DIVISION

Category: COBOL reference

Chapter: COBOL Divisions

Syntax

IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


IF - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

IF

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

IF WS-AVG > 30000.00

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INITIALIZE - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Arithmetic & Data Movement PBXB64 Compiler Help

INITIALIZE

Category: COBOL reference

Chapter: COBOL Arithmetic & Data Movement

Syntax

INITIALIZE WS-NUM WS-TXT.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


INSPECT - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Console & Strings PBXB64 Compiler Help

INSPECT

Category: COBOL reference

Chapter: COBOL Console & Strings

Syntax

INSPECT WS-S REPLACING ALL "A" BY "X".

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MOVE - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Arithmetic & Data Movement PBXB64 Compiler Help

MOVE

Category: COBOL reference

Chapter: COBOL Arithmetic & Data Movement

Syntax

MOVE 1234 TO WS-SMALL.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MOVE CORRESPONDING - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Arithmetic & Data Movement PBXB64 Compiler Help

MOVE CORRESPONDING

Category: COBOL reference

Chapter: COBOL Arithmetic & Data Movement

Syntax

MOVE CORRESPONDING REC-A TO REC-B.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MULTIPLY - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Arithmetic & Data Movement PBXB64 Compiler Help

MULTIPLY

Category: COBOL reference

Chapter: COBOL Arithmetic & Data Movement

Syntax

MULTIPLY 1.005 BY WS-R ROUNDED.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


NOT - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

NOT

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

IF NOT WS-A = 0

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


NOT AT END - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

NOT AT END

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

NOT AT END MOVE 1 TO WS-GOTDATA

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


OCCURS - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Data Description PBXB64 Compiler Help

OCCURS

Category: COBOL reference

Chapter: COBOL Data Description

Syntax

01 WS-LIST PIC 9(3) OCCURS 5 TIMES.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


OPEN - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL File I/O PBXB64 Compiler Help

OPEN

Category: COBOL reference

Chapter: COBOL File I/O

Syntax

OPEN OUTPUT TEST-FILE.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


OR - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

OR

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

IF WS-A = 1 OR WS-B = 1

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PERFORM - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

PERFORM

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

PERFORM FILL VARYING WS-I FROM 1 BY 1 UNTIL WS-I > 5.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PIC - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Data Description PBXB64 Compiler Help

PIC

Category: COBOL reference

Chapter: COBOL Data Description

Syntax

01 WS-AMOUNT PIC 9(6)V99 VALUE 0.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PROCEDURE DIVISION - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Divisions PBXB64 Compiler Help

PROCEDURE DIVISION

Category: COBOL reference

Chapter: COBOL Divisions

Syntax

PROCEDURE DIVISION.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


QUALIFIED NAMES - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Data Description PBXB64 Compiler Help

QUALIFIED NAMES

Category: COBOL reference

Chapter: COBOL Data Description

Syntax

MOVE FLD-X OF REC-A TO WS-OUT.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


READ - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL File I/O PBXB64 Compiler Help

READ

Category: COBOL reference

Chapter: COBOL File I/O

Syntax

READ TEST-FILE INTO WS-IN AT END MOVE 0 TO WS-GOTDATA END-READ.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


REDEFINES - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Data Description PBXB64 Compiler Help

REDEFINES

Category: COBOL reference

Chapter: COBOL Data Description

Syntax

01 WS-B REDEFINES WS-A PIC 9(4).

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


REPLACING - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Console & Strings PBXB64 Compiler Help

REPLACING

Category: COBOL reference

Chapter: COBOL Console & Strings

Syntax

INSPECT WS-R REPLACING ALL "AB" BY "XY".

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ROUNDED - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Arithmetic & Data Movement PBXB64 Compiler Help

ROUNDED

Category: COBOL reference

Chapter: COBOL Arithmetic & Data Movement

Syntax

MULTIPLY 1.005 BY WS-R ROUNDED.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SEARCH - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

SEARCH

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

SEARCH TBL VARYING IDX
    AT END MOVE 999 TO OUT-VAL
    WHEN TBL(IDX) = 450 MOVE TBL(IDX) TO OUT-VAL
END-SEARCH.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SECTION - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Divisions PBXB64 Compiler Help

SECTION

Category: COBOL reference

Chapter: COBOL Divisions

Syntax

MAIN-SECTION SECTION.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SELECT ASSIGN - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL File I/O PBXB64 Compiler Help

SELECT ASSIGN

Category: COBOL reference

Chapter: COBOL File I/O

Syntax

SELECT TEST-FILE ASSIGN TO "tmp_fileio.txt".

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SET - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Arithmetic & Data Movement PBXB64 Compiler Help

SET

Category: COBOL reference

Chapter: COBOL Arithmetic & Data Movement

Syntax

SET IS-OK TO TRUE.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


STOP RUN - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

STOP RUN

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

STOP RUN.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


STRING - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Console & Strings PBXB64 Compiler Help

STRING

Category: COBOL reference

Chapter: COBOL Console & Strings

Syntax

STRING "HELLO" " " "WORLD" DELIMITED BY SIZE INTO WS-OUT.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SUBTRACT - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Arithmetic & Data Movement PBXB64 Compiler Help

SUBTRACT

Category: COBOL reference

Chapter: COBOL Arithmetic & Data Movement

Syntax

SUBTRACT 1.50 FROM WS-A.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TALLYING - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Console & Strings PBXB64 Compiler Help

TALLYING

Category: COBOL reference

Chapter: COBOL Console & Strings

Syntax

INSPECT WS-S TALLYING WS-CNT FOR ALL "A".

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNSTRING - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Console & Strings PBXB64 Compiler Help

UNSTRING

Category: COBOL reference

Chapter: COBOL Console & Strings

Syntax

UNSTRING WS-SRC DELIMITED BY "," INTO WS-A WS-B.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


USAGE - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Data Description PBXB64 Compiler Help

USAGE

Category: COBOL reference

Chapter: COBOL Data Description

Syntax

01 WS-A PIC 9(5) USAGE COMP VALUE 100.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


USING - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Calls & Parameters PBXB64 Compiler Help

USING

Category: COBOL reference

Chapter: COBOL Calls & Parameters

Syntax

CALL "name" USING BY VALUE 160 GIVING WS-R.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


VALUE - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Data Description PBXB64 Compiler Help

VALUE

Category: COBOL reference

Chapter: COBOL Data Description

Syntax

01 WS-COUNT PIC 9(3) VALUE 5.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


WHEN - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

WHEN

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

WHEN 3 DISPLAY "WEDNESDAY"

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


WHEN OTHER - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Control Flow PBXB64 Compiler Help

WHEN OTHER

Category: COBOL reference

Chapter: COBOL Control Flow

Syntax

WHEN OTHER DISPLAY "WEEKEND"

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


WITH POINTER - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL Console & Strings PBXB64 Compiler Help

WITH POINTER

Category: COBOL reference

Chapter: COBOL Console & Strings

Syntax

STRING SRC DELIMITED BY SIZE INTO DEST WITH POINTER PTR.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


WRITE - PBXB64 Compiler Help

Home › Language Frontends › COBOL Frontend › COBOL File I/O PBXB64 Compiler Help

WRITE

Category: COBOL reference

Chapter: COBOL File I/O

Syntax

WRITE TEST-REC FROM WS-SRC.

Description

Category: COBOL reference

V15 status

This is a source reference for the bounded native COBOL frontend. Only forms covered by the canonical COBOL lanes are qualified; unsupported combinations must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


BASIC Datatypes - PBXB64 Compiler Help

Home › Data Types › BASIC Data Types PBXB64 Compiler Help

BASIC Datatypes

This page documents the PowerBASIC-compatible scalar and string types supported by PBXB64. For wide integers (128/256/512-bit), unlimited precision (UNL), scientific types (UNF family, DECIMAL128), and container types, see the Datatypes overview.

Chapter: BASIC Data Types

Description

This page documents the PowerBASIC-compatible scalar and string types supported by PBXB64. For wide integers (128/256/512-bit), unlimited precision (UNL), scientific types (UNF family, DECIMAL128), and container types, see the Datatypes overview.

Integral types

Signed and unsigned integers at fixed widths. The suffix column shows the traditional PB sigil for inline declaration.

Type | Size | Suffix | Signed | Range | Alias
BYTE | 1 byte | ? | signed | -128 .. 127 | -
WORD | 2 bytes | ?? | unsigned | 0 .. 65,535 | -
INTEGER | 2 bytes | % | signed | -32,768 .. 32,767 | INT
LONG | 4 bytes | & | signed | -2,147,483,648 .. 2,147,483,647 | -
DWORD | 4 bytes | ??? | unsigned | 0 .. 4,294,967,295 | -
QUAD | 8 bytes | && | signed | -2^63 .. 2^63-1 | -
UINT64 | 8 bytes | - | unsigned | 0 .. 2^64-1 | -
Note on INTEGER: In classic PowerBASIC, INTEGER is a 16-bit type. PBXB64 allocates 8 bytes of slot storage for INTEGER locals to keep the Win64 stack aligned and simplify the backend, but the value range remains 16-bit. Use LONG when you need a full 32-bit integer.

Floating-point types

IEEE 754 binary floating-point. SINGLE is 32-bit, DOUBLE is 64-bit (the default for fractional literals), and EXTENDED is the 80-bit x87 format (10 bytes stored).

Type | Size | Suffix | Significand | Exponent range | Approx range
SINGLE | 4 bytes | ! | 24 bits (~7 digits) | -45 .. +38 | +/- 3.4e38
DOUBLE | 8 bytes | # | 53 bits (~15 digits) | -324 .. +308 | +/- 1.8e308
EXTENDED | 10 bytes | ## | 64 bits (~19 digits) | -4951 .. +4932 | +/- 1.2e4932
Binary rounding: SINGLE/DOUBLE cannot represent most decimal fractions exactly (e.g. 0.1 is periodic in binary). For financial or exact-decimal work, use DECIMAL128 or CURRENCY.

Fixed-point types

Type | Size | Suffix | Scaling | Significand range
CURRENCY | 8 bytes | @ | / 10000 (4 dp) | +/- 922,337,203,685,477.5807
CURRENCYX | 16 bytes | ?# | / 10000 (4 dp) | +/- 9.9 * 10^15

CURRENCYX is a PBXB64 extension: a 128-bit fixed-point type that doubles the range of CURRENCY while keeping the same 4-decimal-place scaling.

String types

Type | Suffix | Character set | Storage | Notes
STRING | $ | ANSI (8-bit) | dynamic heap | Default string type.
STRINGZ | - | ANSI (8-bit) | fixed buffer | NUL-terminated; for Win32 API.
ASCIIZ | - | ANSI (8-bit) | fixed buffer | Alias of STRINGZ.
WSTRING | - | UTF-16 (16-bit) | dynamic heap | Wide string for Unicode APIs.
WSTRINGZ | - | UTF-16 (16-bit) | fixed buffer | NUL-terminated wide string.
STRING * N | - | ANSI (8-bit) | fixed N bytes | Fixed-length; truncated to N.

Other scalar types

Type | Size | Description
VARIANT | 16 bytes | Tagged union: int/float/string/date/null. Typed extraction via VARIANT#/$/%.
GUID | 16 bytes | 128-bit globally unique identifier.
OBJECT | 8 bytes | COM object interface pointer.
ANY | - | Untyped pointer; accepts any variable by reference.
BYTE PTR / LONG PTR ... | 8 bytes | Typed pointer (@ sigil).

Composite types

  • User-Defined Type (TYPE): record of named fields, heterogeneous types, supports nesting.
  • UNION: fields share storage.
  • Arrays: DIM a(1 TO 10) AS LONG (fixed) or REDIM (dynamic, optional PRESERVE).

Declaration examples

LOCAL count AS LONG
LOCAL price AS CURRENCY
LOCAL rate AS DOUBLE
LOCAL name AS STRING
DIM matrix(1 TO 3, 1 TO 3) AS DOUBLE
REDIM items(100) AS STRING
REDIM PRESERVE items(200) AS STRING

TYPE Point
    x AS LONG
    y AS LONG
END TYPE
LOCAL p AS Point
p.x = 10

LOCAL v AS VARIANT
v = 42
PRINT VARIANT#(v)     ' 42

Default initialization

  • Numeric scalars initialize to 0.
  • Strings initialize to "" (empty).
  • VARIANT initializes to empty.
  • Container types auto-call .New on entry and .Final on scope exit.

See also

  • Datatypes Overview
  • Wide Integer Types (INT128/256/512)
  • UNL - Unlimited-Precision Integer
  • UNF Family - Scientific Numeric Types
  • DECIMAL128 - IEEE 754 Decimal


DECIMAL128 - IEEE 754 Decimal - PBXB64 Compiler Help

Home › Data Types › BASIC Data Types PBXB64 Compiler Help

DECIMAL128 - IEEE 754 Decimal

DECIMAL128 is the IEEE 754-2008 decimal128 format: a 128-bit decimal floating-point type that represents decimal fractions exactly (unlike binary DOUBLE, which cannot represent 0.1 without rounding error). It is intended for financial and scientific computations where decimal precision is mandatory.

Chapter: BASIC Data Types

Description

DECIMAL128 is the IEEE 754-2008 decimal128 format: a 128-bit decimal floating-point type that represents decimal fractions exactly (unlike binary DOUBLE, which cannot represent 0.1 without rounding error). It is intended for financial and scientific computations where decimal precision is mandatory.

Kind: Data Type | Category: Numeric Types

PBXB64 Status: AVAILABLE (science runtime)

PBXB64 Certification: [SCIENCE TIER]

Storage layout

  • Size: 16 bytes (128 bits)
  • Precision: 34 decimal digits of significand
  • Exponent range: -6143 to +6144
  • Format: IEEE 754-2008 decimal128 (coefficient + biased exponent, with sign)

Why DECIMAL128?

Binary floating-point types (SINGLE, DOUBLE) cannot represent most decimal fractions exactly. For example, in DOUBLE:

d# = 0.1 + 0.2
PRINT d#      ' 0.30000000000000004  (not exactly 0.3)

DECIMAL128 stores the number as a decimal coefficient and exponent, so 0.1 + 0.2 is exactly 0.3. This matters for:

  • Financial software - cents must total exactly.
  • Billing / tax - rounding rules must apply to exact decimals.
  • Scientific measurement - when recorded values are themselves decimal.

Relationship to CURRENCY

Type | Size | Precision | Scaling | Range
CURRENCY | 8 bytes | 15 digits | fixed /10000 | +/- 922 trillion
CURRENCYX | 16 bytes | 19 digits | fixed /10000 | +/- 9.9 * 10^15
DECIMAL128 | 16 bytes | 34 digits | dynamic exponent | +/- 9.99e6144

CURRENCY/CURRENCYX are fixed-point (always 4 decimal places). DECIMAL128 is floating-point with a dynamic exponent, giving it a much wider range at the cost of variable precision.

Runtime support

DECIMAL128 operations are provided by the science runtime (pb_science_decimal128.o), linked into user executables that use the type. The supported operations include:

  • Arithmetic: add, subtract, multiply, divide (correctly rounded per IEEE 754).
  • Comparison: equal, less-than, greater-than (including NaN/Infinity handling).
  • Conversion: to/from DOUBLE, STRING, integer types.
  • Rounding modes: round-to-nearest-even (default), toward-zero, toward-infinity.

Limitations in PBXB64

  • DECIMAL128 literals are parsed at compile time from decimal text. Very large exponents may lose precision if the literal exceeds 34 significant digits.
  • Direct mixing of DECIMAL128 and binary floating-point in a single expression requires an explicit conversion to avoid silent precision loss.
  • The science runtime adds roughly 40 KB to the user executable.

Example

' Financial calculation - exact decimal arithmetic
LOCAL price AS DECIMAL128
LOCAL total AS DECIMAL128
price = 19.99
total = price * 3        ' exactly 59.97
PRINT total              ' 59.97 (no binary rounding error)

See also

  • BASIC Datatypes
  • UNF Family - Scientific Numeric Types
  • UNL - Unlimited-Precision Integer
  • Datatypes Overview


Datatypes Overview - PBXB64 Compiler Help

Home › Data Types › BASIC Data Types PBXB64 Compiler Help

Datatypes Overview

PBXB64 supports a rich type system spanning four domains. This section documents every type the compiler accepts, its storage layout, value range, suffix character, and the runtime operations available on it.

Chapter: BASIC Data Types

Description

PBXB64 supports a rich type system spanning four domains. This section documents every type the compiler accepts, its storage layout, value range, suffix character, and the runtime operations available on it.

Type domains

Domain | Sub-section | What it covers
BASIC numeric & string types | BASIC Datatypes | The PowerBASIC-compatible scalars: BYTE, WORD, DWORD, INTEGER, LONG, QUAD, SINGLE, DOUBLE, EXTENDED, CURRENCY, CURRENCYX, STRING, WSTRING, VARIANT, GUID, pointer types.
Wide integer types | Wide Integer Types | Fixed-width 128/256/512-bit integers (INT128/UINT128 through INT512/UINT512) with inline native x64 arithmetic.
Unlimited / scientific types | UNL - Unlimited Integer, UNF Family, DECIMAL128 | Arbitrary-precision and exact-decimal types: UNL (unlimited integer), the UNF family (scientific fixed-point), and IEEE 754 DECIMAL128.
H-Lib container types | H-Lib Native Containers | The 23 native container families (LNARR, LNHSH, LNTRE, ...) exposed as PB-level types with method-dispatch syntax. Container variables are auto-initialized and auto-finalized.

Type system at a glance

Every PBXB64 type falls into one of these categories:

  • Integral scalars - BYTE (8), WORD (16), DWORD (32), INTEGER (16, PB-compatible alias of LONG in PBXB64), LONG (32), QUAD (64), signed and unsigned where noted.
  • Floating-point scalars - SINGLE (32-bit IEEE 754), DOUBLE (64-bit IEEE 754), EXTENDED (80-bit x87).
  • Fixed-point scalars - CURRENCY (64-bit / 10^4), CURRENCYX (128-bit / 10^4, PBXB64 extension).
  • Wide integers - INT128/UINT128, INT256/UINT256, INT512/UINT512.
  • Unlimited / scientific - UNL (arbitrary precision), UNF family, DECIMAL128 (IEEE 754-2008).
  • String types - STRING (dynamic, ANSI), STRINGZ (NUL-terminated), WSTRING (dynamic, UTF-16), WSTRINGZ (wide NUL-terminated), ASCIIZ.
  • Composite types - user-defined TYPE/UNION, fixed and dynamic arrays, VARIANT, OBJECT, GUID.
  • Pointer types - typed pointers (@), ANY (untyped), CODEPTR function pointers.
  • Container types - the 23 H-Lib families (Arr, Stk, Que, Lst, ...).

Declaration syntax

LOCAL i AS LONG
LOCAL d AS DOUBLE
LOCAL big AS INT128
LOCAL huge AS UNL
LOCAL exact AS DECIMAL128
LOCAL name AS STRING
LOCAL pts AS LNARR OF Point    ' container of UDT
DIM arr(1 TO 10) AS LONG

Type suffixes

PBXB64 honours the traditional PB sigil suffixes for backward compatibility:

Suffix | Type | Example
% | INTEGER | v% = 5
& | LONG | v& = 100000
! | SINGLE | f! = 1.5
# | DOUBLE | d# = 3.14
$ | STRING | s$ = "hi"
?? | WORD | w?? = 60000
??? | DWORD | dw??? = 4000000000
&& | QUAD | q&& = 2^40
??? | DWORD | (same as above)
?# | CURRENCYX | c?# = 9.99
Hierarchy of numeric, string and composite data types in PBXB64.

Hierarchy of numeric, string and composite data types in PBXB64.

See also

  • BASIC Datatypes
  • Wide Integer Types (INT128/256/512)
  • UNL - Unlimited-Precision Integer
  • UNF Family - Scientific Numeric Types
  • DECIMAL128 - IEEE 754 Decimal
  • H-Lib Native Containers
  • BASIC Variables & Scope
  • PBXB64 Compiler Help


UNB - Big Float (Arbitrary Precision) - PBXB64 Compiler Help

Home › Data Types › UN Family (UNB/UNC/UNF/UNI/UNL/UNQ) PBXB64 Compiler Help

UNB - Big Float (Arbitrary Precision)

UNB (Unum Big-float) is an arbitrary-precision floating-point type that grows its mantissa dynamically. Unlike UNF (fixed 60-bit mantissa), UNB can carry any number of mantissa limbs, making it suitable for computations requiring hundreds or thousands of digits of precision.

Chapter: UN Family (UNB/UNC/UNF/UNI/UNL/UNQ)

Description

UNB (Unum Big-float) is an arbitrary-precision floating-point type that grows its mantissa dynamically. Unlike UNF (fixed 60-bit mantissa), UNB can carry any number of mantissa limbs, making it suitable for computations requiring hundreds or thousands of digits of precision.

Kind: Data Type | Category: Numeric Types

PBXB64 Status: AVAILABLE (science runtime)

PBXB64 Certification: [SCIENCE TIER]

Storage layout

Property | Value
Base size | 16+ bytes (header + heap-grown mantissa)
Mantissa | Array of mp_v_t (128-bit) limbs, heap-allocated
Exponent | 64-bit signed (effectively unlimited range)
Precision | Dynamic - set by the caller or grown as needed
Sign | Separate flag (sign/magnitude)

How it differs from UNF

Property | UNF | UNB
Mantissa width | Fixed 60 bits | Dynamic (any number of limbs)
Storage | 16 bytes (stack) | 16+ bytes (heap for mantissa)
Decimal digits | ~19 | Unlimited (caller-specified)
Exponent range | -128 .. 127 | -2^63 .. 2^63-1
Speed | Fast (inline __int128) | Slower (heap, multi-limb)
Use case | General scientific | Pi to 1000 digits, cryptography

Operations

Category | Operations
Arithmetic | add, sub, mul, div (with caller-specified precision)
Roots | sqrt, nroot (nth root)
Comparison | eq, cmp
Conversion | to/from UNF, STRING, DOUBLE
Precision control | set_precision, get_precision

Implementation

UNB uses the multi-precision helpers in unf_mp.h (the mp_v_t = __int128 type and associated operations). The mantissa is stored as a heap-allocated array of 128-bit limbs. Schoolbook multiplication is used for small precisions; Karatsuba multiplication kicks in above a threshold.

Example

LOCAL pi AS UNB
pi = UNB_PI(100)          ' compute pi to 100 decimal digits
PRINT pi                  ' 3.14159265358979... (100 digits)

See also

  • UNF - Unum Float (16-byte)
  • UNF Family - Scientific Numeric Types
  • UNL - Unlimited-Precision Integer
  • UNC - Complex Number


UNC - Complex Number - PBXB64 Compiler Help

Home › Data Types › UN Family (UNB/UNC/UNF/UNI/UNL/UNQ) PBXB64 Compiler Help

UNC - Complex Number

UNC is a complex number type composed of two UNF values: a real part and an imaginary part. It enables bit-exact complex arithmetic for signal processing, quantum mechanics, and electrical engineering applications.

Chapter: UN Family (UNB/UNC/UNF/UNI/UNL/UNQ)

Description

UNC is a complex number type composed of two UNF values: a real part and an imaginary part. It enables bit-exact complex arithmetic for signal processing, quantum mechanics, and electrical engineering applications.

Kind: Data Type | Category: Numeric Types

PBXB64 Status: AVAILABLE (science runtime)

PBXB64 Certification: [SCIENCE TIER]

Storage layout

Property | Value
Size | 32 bytes
Layout | { UNF re; UNF im; }
Real part (re) | 16-byte UNF (60-bit mantissa, 19 digits)
Imaginary part (im) | 16-byte UNF (60-bit mantissa, 19 digits)
Value | z = re + im*i

Operations

Category | Operations
Arithmetic | add, sub, mul, div (complex, exact)
Magnitude | abs (= sqrt(re^2 + im^2)), arg (= atan2(im, re))
Conjugate | conj (negates im)
Powers | sqrt, exp, log, pow (principal branch)
Trigonometric | sin, cos, tan, sinh, cosh, tanh
Conversion | to/from polar form (r, theta), to/from string

Use cases

  • DSP / FFT - complex multiplication is exact; no accumulated rounding in long transforms.
  • Quantum computing simulation - state vectors require high-precision complex amplitudes.
  • AC circuit analysis - impedance calculations with exact phase.
  • Control theory - pole/zero analysis with precise complex roots.

Example

LOCAL z1 AS UNC
LOCAL z2 AS UNC
z1 = CMPLX(3.0, 4.0)       ' 3 + 4i
z2 = CMPLX(1.0, -1.0)      ' 1 - i
PRINT z1 + z2              ' 4 + 3i
PRINT UNCABS(z1)           ' 5.0  (magnitude)

See also

  • UNF - Unum Float (16-byte)
  • UNF Family - Scientific Numeric Types
  • UNB - Big Float (Arbitrary Precision)
  • UNI - Interval Arithmetic
  • UNQ - Quaternion


UNF - Unum Float (16-byte) - PBXB64 Compiler Help

Home › Data Types › UN Family (UNB/UNC/UNF/UNI/UNL/UNQ) PBXB64 Compiler Help

UNF - Unum Float (16-byte)

UNF (Unum Float) is the base scalar of the PBXB64 scientific numeric type system. It is a 16-byte floating-point type with a 60-bit signed mantissa and an 8-bit signed exponent, computed entirely with pure __int128 integer arithmetic. No floating-point hardware participates in computations - the IEEE boundary is explicit and confined to unf_conv.h.

Chapter: UN Family (UNB/UNC/UNF/UNI/UNL/UNQ)

Description

UNF (Unum Float) is the base scalar of the PBXB64 scientific numeric type system. It is a 16-byte floating-point type with a 60-bit signed mantissa and an 8-bit signed exponent, computed entirely with pure __int128 integer arithmetic. No floating-point hardware participates in computations - the IEEE boundary is explicit and confined to unf_conv.h.

Kind: Data Type | Category: Numeric Types

PBXB64 Status: AVAILABLE (frontend + runtime)

PBXB64 Certification: [SCIENCE TIER]

Storage layout

Property | Value
Size | 16 bytes
C type | struct unf { int64_t m; int8_t e; } (padded to 16)
Value formula | u = m * 2^e
Mantissa (m) | 60-bit signed (2^59 <= |m| < 2^60 when normalized)
Exponent (e) | 8-bit signed (-128 .. +127)
Decimal precision | ~19 significant digits
Smallest positive | ~ 1.3e-20
Largest finite | ~ 1.8e+57

Special values

Value | Encoding | Predicate
+0 (canonical zero) | m = 0, e = 0 | unf_is_zero()
NaN | m = INT64_MIN | unf_is_nan()
+Infinity | e = INT8_MIN, m = 0 | unf_is_inf()

NaN propagates through all arithmetic (IEEE 754 semantics). Infinity propagates with correct sign handling.

Operations

Category | Operations | Implementation
Basic | neg, abs, copysign, normalize | unf_basic.h
Arithmetic | add, sub, mul, div, sqrt | unf_arith.h
Comparison | eq, lt, cmp (returns -1/0/+1) | unf_compare.h
Trigonometric | sin, cos, tan, asin, acos, atan, atan2 | unf_trig.h (Taylor + argument reduction)
Exponential | exp, log, log2, pow | unf_exp.h (Newton-Raphson)
Conversion | from_d, to_d, from_str, to_str | unf_conv.h (the only float boundary)
Constants | pi, e, sqrt(2), ln(2), log2(e) | unf_const.h

Why pure integer arithmetic?

Every operation reduces to multi-precision integer math (mp_v_t = __int128) on the mantissas, with explicit exponent tracking. This gives:

  • Bit-exact reproducibility across platforms (no FPU rounding-mode dependence).
  • No hidden rounding - every result is the exact integer-precise value, rounded only at the explicit conversion boundary.
  • Auditability - the entire computation path is deterministic integer math.

Conversion to/from DOUBLE

Conversion happens only at the explicit boundary in unf_conv.h:

LOCAL d AS DOUBLE
LOCAL u AS UNF
d = 3.14159265358979
u = d                ' DOUBLE to UNF (explicit conversion)
d = u                ' UNF to DOUBLE (explicit conversion)

Conversions are correctly rounded (round-to-nearest-even).

Example

LOCAL a AS UNF
LOCAL b AS UNF
a = 2.5
b = 4.0
PRINT a * b          ' 10 (exact, no IEEE rounding)

See also

  • UNF Family - Scientific Numeric Types
  • UNC - Complex Number
  • UNB - Big Float (Arbitrary Precision)
  • UNI - Interval Arithmetic
  • UNQ - Quaternion
  • DECIMAL128 - IEEE 754 Decimal
  • Datatypes Overview


UNF Family - Scientific Numeric Types - PBXB64 Compiler Help

Home › Data Types › BASIC Data Types PBXB64 Compiler Help

UNF Family - Scientific Numeric Types

The UNF family is PBXB64's scientific numeric type system: exact and extended numeric representations built on pure integer arithmetic. Unlike IEEE 754 binary floats, these types avoid hidden rounding by using integer-precision mantissas throughout - floating-point hardware is touched only at the explicit conversion boundary.

Chapter: BASIC Data Types

Description

The UNF family is PBXB64's scientific numeric type system: exact and extended numeric representations built on pure integer arithmetic. Unlike IEEE 754 binary floats, these types avoid hidden rounding by using integer-precision mantissas throughout - floating-point hardware is touched only at the explicit conversion boundary.

Kind: Data Type Family | Category: Numeric Types

PBXB64 Status: AVAILABLE (science runtime)

PBXB64 Certification: [SCIENCE TIER]

The base type: UNF (Unum Float)

UNF is a 16-byte floating-point type with a 60-bit signed mantissa and an 8-bit signed exponent. Internally it uses pure __int128 arithmetic - the only <math.h> calls are inside unf_conv.h (the explicit IEEE to UNF boundary).

Property | Value
Storage | 16 bytes
Layout | int64_t m (60-bit signed mantissa) + int8_t e (exponent)
Value | u = m * 2^e
Mantissa normalization | 2^59 <= |m| < 2^60 (60 bits of significance)
Exponent range | -128 .. +127
Decimal precision | ~19 significant digits
Smallest positive | ~ 1.3e-20
Largest finite | ~ 1.8e+57
Special values | +0, NaN (m = INT64_MIN), +Infinity (e = INT8_MIN)

Family members

Type | Size | Meaning | Components
UNF | 16 bytes | Unum Float - the base scalar | mantissa+exponent
UNC | 32 bytes | Complex number | { re: UNF, im: UNF }
UNB | 16+ bytes | Big float (arbitrary precision) | heap-grown mantissa
UNI | 32 bytes | Interval arithmetic | { lo: UNF, hi: UNF }
UNQ | 64 bytes | Quaternion | { w, x, y, z: UNF }

Design principles

  • Pure integer arithmetic. All operations (add, sub, mul, div, sqrt, sin, cos, exp, log) are computed on __int128 magnitudes with explicit exponent tracking. No floating-point instructions participate.
  • IEEE boundary is explicit. The only place floating-point hardware is used is unf_conv.h, converting between IEEE 754 double and UNF. All other code paths are bit-exact and reproducible across platforms.
  • Transcendentals via series. sin, cos, exp, log use Taylor series and Newton-Raphson refinement, argument-reduced for accuracy.
  • NaN / Infinity propagation. Every arithmetic operation checks for the special sentinels and propagates them correctly (IEEE 754 semantics).

When to use UNF vs other numeric types

Need | Use
Speed, approximate decimals OK | DOUBLE
Exact decimal for money (4 dp) | CURRENCY / CURRENCYX
Exact decimal, dynamic exponent, 34 digits | DECIMAL128
Reproducible bit-exact float math, 19 digits | UNF
Arbitrary precision (no limit) | UNL
Interval bounds with error tracking | UNI
Quaternion / 3D rotation | UNQ

Implementation

The UNF family is a header-only library under core/source/runtime/unf/:

  • unf.h - core type and umbrella include
  • unf_arith.h - add, sub, mul, div, sqrt
  • unf_compare.h - equality and ordering
  • unf_conv.h - IEEE 754 to UNF conversion (the only float boundary)
  • unf_trig.h - sin, cos, tan and inverses
  • unf_exp.h - exp, log, pow
  • unf_const.h - pi, e, sqrt(2), ln(2)
  • unf_mp.h - multi-precision helpers for UNB

Example

LOCAL a AS UNF
LOCAL b AS UNF
a = 2.5
b = 4.0
PRINT a * b      ' 10  (exact, no IEEE rounding)

See also

  • Datatypes Overview
  • UNL - Unlimited-Precision Integer
  • DECIMAL128 - IEEE 754 Decimal
  • BASIC Datatypes


UNI - Interval Arithmetic - PBXB64 Compiler Help

Home › Data Types › UN Family (UNB/UNC/UNF/UNI/UNL/UNQ) PBXB64 Compiler Help

UNI - Interval Arithmetic

UNI is an interval arithmetic type: a pair of UNF bounds [lo, hi] representing a range of possible values. Every operation produces a new interval that is guaranteed to contain the true result, making UNI ideal for verified computation and error-bound tracking.

Chapter: UN Family (UNB/UNC/UNF/UNI/UNL/UNQ)

Description

UNI is an interval arithmetic type: a pair of UNF bounds [lo, hi] representing a range of possible values. Every operation produces a new interval that is guaranteed to contain the true result, making UNI ideal for verified computation and error-bound tracking.

Kind: Data Type | Category: Numeric Types

PBXB64 Status: AVAILABLE (science runtime)

PBXB64 Certification: [SCIENCE TIER]

Storage layout

Property | Value
Size | 32 bytes
Layout | { UNF lo; UNF hi; }
Invariant | lo <= hi always holds after normalization

Interval semantics

An interval [a, b] represents the set of all real numbers x such that a <= x <= b. Operations are defined to preserve containment:

Operation | Result
[a,b] + [c,d] | [a+c, b+d]
[a,b] - [c,d] | [a-d, b-c]
[a,b] * [c,d] | [min(ac,ad,bc,bd), max(ac,ad,bc,bd)]
[a,b] / [c,d] | recip([c,d]) * [a,b] (if 0 not in [c,d])

Each bound is computed with outward rounding: lo rounds toward negative infinity, hi rounds toward positive infinity. This guarantees the result interval always contains the exact mathematical result.

Operations

Category | Operations
Arithmetic | add, sub, mul, div (containment-preserving)
Bounds | width (= hi - lo), midpoint, contains
Set ops | intersect, hull (smallest interval containing both)
Comparison | overlaps, subset, disjoint
Functions | sin, cos, exp, log (interval extensions)

Use cases

  • Verified numerics - prove a result is within a known bound.
  • Error propagation - track how measurement uncertainty flows through computation.
  • Rigorous root-finding - branch-and-prune with guaranteed exclusion.
  • Geometric predicates - exact orientation/intersection tests.

Example

LOCAL x AS UNI
x = INTERVAL(1.0, 1.1)    ' x in [1.0, 1.1]
PRINT x * x               ' [1.0, 1.21] (guaranteed to contain true result)
PRINT UNIWIDTH(x * x)     ' 0.21 (error bound width)

See also

  • UNF - Unum Float (16-byte)
  • UNF Family - Scientific Numeric Types
  • UNC - Complex Number
  • UNQ - Quaternion


UNL - Unlimited-Precision Integer - PBXB64 Compiler Help

Home › Data Types › BASIC Data Types PBXB64 Compiler Help

UNL - Unlimited-Precision Integer

UNL is a variable-length signed integer type. Magnitude is stored in little-endian order, 7 bits per byte. The sign is encoded separately (sign/magnitude, not two's complement).

Chapter: BASIC Data Types | Certification: [CERTIFIED TESTED]

Description

UNL is a variable-length signed integer type. Magnitude is stored in little-endian order, 7 bits per byte. The sign is encoded separately (sign/magnitude, not two's complement).

Kind: Data Type | Category: Numeric Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Byte layout

  • Byte 0: bit 0 = sign (1 = negative, 0 = positive); bits 1-7 = least-significant 7 magnitude bits. No continuation bit on byte 0.
  • Byte 1 and above: bit 7 = continuation (1 = another byte follows, 0 = this is the final byte); bits 0-6 = next 7 magnitude bits. No sign bit on these bytes.

Storage

  • Slot floor: 5 bytes (35 magnitude bits, maximum value ≈ 34 billion).
  • Storage grows one byte at a time as the value requires; the runtime imposes no hard ceiling.
  • Compiler-managed slot ceiling: UNL_MAX_ALLOCATED = 256 bytes (practical frame/stack limit, not a runtime limit).
  • Zero is encoded as a single 0x00 byte (sign=0, no continuation).
  • Each additional byte adds 7 magnitude bits: 5 bytes = 35 bits, 6 = 42, 7 = 49, ... 10 bytes = 68 bits, ... 37 bytes = 256 bits (level of UINT256), 73 bytes = 512 bits.

Value range

Because storage grows dynamically, UNL can represent any integer magnitude. The only practical limit is the 256-byte slot ceiling (255 bytes × 7 bits + 7 bits = 1792 magnitude bits, roughly 5.4 × 10^539). For values beyond that, increase UNL_MAX_ALLOCATED at compile time.

Why sign/magnitude, not two's complement?

UNL uses sign/magnitude encoding (sign bit independent of the magnitude digits). This makes negation a single bit flip, simplifies absolute-value and comparison, and keeps the encoding self-synchronizing (you can tell the sign from byte 0 alone without decoding the full magnitude). Two's complement on a variable-length encoding would require sign-extending every byte, which is more expensive.

Public runtime API

All operations are exposed as bestof_unl_* functions resolved at user-link time:

Category | Functions
Arithmetic | bestof_unl_add, _sub, _mul, _div, _rem, _neg
Bitwise | bestof_unl_and, _or, _xor, _not, _shl, _shr
Comparison | bestof_unl_cmp (returns -1 / 0 / +1)
String I/O | bestof_unl_to_str, _to_str_heap, _from_str
Conversion | bestof_unl_from_i64, _from_u64, _to_i64, _to_u64
Utility | bestof_unl_copy, _is_zero, _sign, _abs, _max_bytes

The _w suffixed wrappers (e.g. bestof_unl_add_w) take fixed 256-byte buffers and no length arguments, for Win64 ABI compatibility (no stack arguments beyond the 4 register arguments).

Performance notes

  • Operations on small values (those that fit in the 5-byte floor) are comparable in cost to QUAD arithmetic.
  • An optional native x64 implementation (unl_math.asm) provides hand-tuned routines for the hot paths (add_cc, sub_cc, mul, cmp, neg).
  • String conversion (to_str/from_str) is O(n^2) in the number of magnitude bytes for very large values; for typical financial magnitudes this is negligible.

Example

FUNCTION PBMAIN() AS LONG
    LOCAL a AS UNL
    LOCAL b AS UNL
    a = "123456789012345678901234567890"
    b = "987654321098765432109876543210"
    PRINT a + b          ' 1111111110111111111011111111110
    PRINT a * b          ' enormous, exact
    FUNCTION = 0
END FUNCTION

See also

  • Datatypes Overview
  • UNF Family - Scientific Numeric Types
  • DECIMAL128 - IEEE 754 Decimal
  • Wide Integer Types (INT128/256/512)
  • BASIC Datatypes


UNQ - Quaternion - PBXB64 Compiler Help

Home › Data Types › UN Family (UNB/UNC/UNF/UNI/UNL/UNQ) PBXB64 Compiler Help

UNQ - Quaternion

UNQ is a quaternion type composed of four UNF components (w, x, y, z). It represents a hypercomplex number used for 3D rotations, rigid-body dynamics, and quantum mechanics. All quaternion arithmetic is computed with the same bit-exact integer precision as the base UNF type.

Chapter: UN Family (UNB/UNC/UNF/UNI/UNL/UNQ)

Description

UNQ is a quaternion type composed of four UNF components (w, x, y, z). It represents a hypercomplex number used for 3D rotations, rigid-body dynamics, and quantum mechanics. All quaternion arithmetic is computed with the same bit-exact integer precision as the base UNF type.

Kind: Data Type | Category: Numeric Types

PBXB64 Status: AVAILABLE (science runtime)

PBXB64 Certification: [SCIENCE TIER]

Storage layout

Property | Value
Size | 64 bytes
Layout | { UNF w; UNF x; UNF y; UNF z; }
Scalar part (w) | 16-byte UNF
Vector part (x, y, z) | 3 x 16-byte UNF
Value | q = w + xi + yj + zk

Quaternion algebra

The multiplication rule follows Hamilton's product:

i*i = j*j = k*k = ijk = -1
ij = k,  jk = i,  ki = j
ji = -k, kj = -i, ik = -j

Operations

Category | Operations
Arithmetic | add, sub, mul (Hamilton product), div
Norm | abs (= sqrt(w^2+x^2+y^2+z^2)), normalize (unit quaternion)
Conjugate | conj (negates x, y, z)
Inverse | inv (= conj / abs^2)
Rotation | from_axis_angle, to_matrix, slerp
Interpolation | slerp (spherical linear interpolation)

Use cases

  • 3D graphics / robotics - quaternions avoid gimbal lock and are more efficient than rotation matrices for interpolation (slerp).
  • Rigid-body dynamics - angular velocity integration.
  • Quantum mechanics - spin-1/2 state representation.
  • Computer vision - camera orientation, SLAM.

Why UNF-based quaternions?

Standard float/double quaternions accumulate rounding error during repeated rotations (e.g. in animation loops), causing drift away from the unit sphere. UNQ's 60-bit mantissa and bit-exact arithmetic keep rotations stable over long sequences.

Example

LOCAL q AS UNQ
q = QUAT_FROM_AXIS(0.0, 0.0, 1.0, 1.5707963)  ' 90 deg around Z
PRINT q                 ' w=0.707..., z=0.707... (unit quaternion)

See also

  • UNF - Unum Float (16-byte)
  • UNF Family - Scientific Numeric Types
  • UNC - Complex Number
  • UNI - Interval Arithmetic


Wide Integer Types (INT128/256/512) - PBXB64 Compiler Help

Home › Data Types › Wide Integer Types PBXB64 Compiler Help

Wide Integer Types (INT128/256/512)

PBXB64 adds fixed-width wide integer types beyond the standard 8/16/32/64-bit range. These types are implemented with inline native x64 code for arithmetic, bitwise, and comparison operations - no runtime library calls for the hot paths. They are used for cryptography, hashing, large counters, and scientific computing where 64-bit overflow would otherwise occur.

Chapter: Wide Integer Types | Certification: [CERTIFIED TESTED]

Description

PBXB64 adds fixed-width wide integer types beyond the standard 8/16/32/64-bit range. These types are implemented with inline native x64 code for arithmetic, bitwise, and comparison operations - no runtime library calls for the hot paths. They are used for cryptography, hashing, large counters, and scientific computing where 64-bit overflow would otherwise occur.

Kind: Data Type Family | Category: Numeric Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported types

Type | Alias | Size | Signed | Range | Decimal digits
INT128 | I128 | 16 bytes | yes | -2^127 .. 2^127-1 | ~38
UINT128 | U128 | 16 bytes | no | 0 .. 2^128-1 | ~39
INT256 | I256 | 32 bytes | yes | -2^255 .. 2^255-1 | ~77
UINT256 | U256 | 32 bytes | no | 0 .. 2^256-1 | ~78
INT512 | I512 | 64 bytes | yes | -2^511 .. 2^511-1 | ~154
UINT512 | U512 | 64 bytes | no | 0 .. 2^512-1 | ~155

Storage layout

Wide integers are stored in little-endian byte order in contiguous memory. INT128/UINT128 occupy 16 bytes (two 64-bit limbs); INT256/UINT256 occupy 32 bytes (four limbs); INT512/UINT512 occupy 64 bytes (eight limbs). Locals are stack-aligned to 16 bytes.

Supported operations

Category | Operations | Notes
Arithmetic | +, -, *, \ (int div), MOD | 128-bit mul uses mul/imul with adc; 256/512 use schoolbook.
Bitwise | AND, OR, XOR, NOT | Operate limb-by-limb.
Shifts | SHL, SHR, SAR | Use shld/shrd for cross-limb shifts.
Comparison | =, <>, <, <=, >, >= | Returns -1 (true) / 0 (false).
Conversion | to/from STRING, QUAD, LONG | Decimal string parse/format.

Declaration and use

LOCAL a AS INT128
LOCAL b AS U128
LOCAL c AS INT256
LOCAL d AS UINT512

a = 2^100              ' fits in INT128 (max ~3.4e38)
b = 2^128 - 1          ' largest UINT128
c = a * a              ' 2^200, still fits in INT256
d = c * c              ' 2^400, fits in INT512

PRINT a                ' decimal string output
IF a > b THEN PRINT "a is bigger"

When to use wide integers vs UNL

Need | Use | Why
Fixed-width, known bound ≤ 512 bits | INT128..UINT512 | Faster: no allocation, no length tracking, inline asm.
Unbounded magnitude | UNL | Grows as needed; slower per-op but no overflow ever.
Cryptographic 256-bit (e.g. secp256k1) | UINT256 | Exact fit, constant-time-able.
SHA-512 intermediate states | UINT512 | Matches the algorithm's native width.

Relationship to QUAD and CURRENCY

QUAD (64-bit signed) is the largest standard PBXB64 integer. The wide types extend upward from QUAD:

QUAD (64-bit) < INT128 (128-bit) < INT256 (256-bit) < INT512 (512-bit)
                      |
                      +-- UNL (unbounded, grows dynamically)

See also

  • Datatypes Overview
  • BASIC Datatypes
  • UNL - Unlimited-Precision Integer
  • UNF Family - Scientific Numeric Types


PBXB64 - Example Programs - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PBXB64 - Example Programs

Complete, compilable examples for each language frontend. All examples target Windows x64 PE32+ executables.

Chapter: General Reference

Description

Complete, compilable examples for each language frontend. All examples target Windows x64 PE32+ executables.

B64 - Hello World

fn main(): i32 {
    return 42;
}
PBXB64 hello.b64 -o hello.exe

B64 - Pointers & Structs

struct Point { x: i32, y: i32 }

fn main(): i32 {
    let p: Point = Point { x: 10, y: 20 };
    let q: *Point = &p;
    q.x = 30;
    return q.x + q.y;  // Returns 50
}

BASIC - Console Output

FUNCTION PBMAIN() AS LONG
    PRINT "Hello from PBXB64!"
    PRINT "Answer:"; 42
    FUNCTION = 0
END FUNCTION

BASIC - WinAPI Integration

#INCLUDE "windows_core.pbi"

FUNCTION PBMAIN() AS LONG
    CALL MessageBoxA(0, "Hello", "PBXB64", 0)
    FUNCTION = 0
END FUNCTION

C - Standard I/O & Preprocessor

#include <stdio.h>
#define VERSION "V8"

int main(void) {
    printf("Hello from C %s\n", VERSION);
    return 0;
}
PBXB64 -I core/include/c17 -std=c17 program.c -o program.exe

C - Runtime Control Flow

int main(void) {
    int x = 2;
    switch (x) {
        case 1: return 10;
        case 2: return 20;  // Falls through to default if break missing
        default: return 0;
    }
}

PILOT - Hello World

T: "Hello from PILOT!"
E:
PBXB64 hello.pil -o hello.exe

PILOT - Variables & Conditionals

C: #A = 42
C: $MSG = "The answer is"
T: $MSG
Y: T: "Match is true"
N: T: "Match is false"
E:

PILOT - Jump & Labels

J: *target
T: "Skipped"
*target
T: "After jump"
E:

Mixed B64 + C Linking

// sum.c
int add(int a, int b) { return a + b; }

// main.b64
fn main(): i32 {
    extern "sum.c" fn add(a: i32, b: i32): i32;
    return add(10, 20);  // Returns 30
}
PBXB64 main.b64 sum.c -o mixed.exe
Pro Tip: Use --emit-ir or --emit-ast to debug compilation issues. Combine -v for verbose step-by-step output.
← PILOT Reference Back to Overview CLI Options →
PBXB64 Compiler Documentation · V8 Native Edition · Last updated 2026-01-15
For issues and contributions: smart-package.com


Forth Frontend - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Overview PBXB64 Compiler Help

Forth Frontend

PBXB64 accepts standalone .fth, .forth, and .4th sources and embedded PowerBASIC blocks delimited by #FORTH and #ENDFORTH.

Chapter: Overview

Description

PBXB64 accepts standalone .fth, .forth, and .4th sources and embedded PowerBASIC blocks delimited by #FORTH and #ENDFORTH.

The V15 dictionary registers 174 native primitives. The compiler also lowers definitions and control words handled by the parser, including colon definitions, constants, variables, CREATE/DOES>, VALUE/TO, structured branches, loops, and compile-state words.

Qualified V15 Families

  • Data and return stacks, integer arithmetic, bit operations, comparisons, cells, bytes, allocation, movement, fill, erase, and search.
  • Console and source input, counted strings, PARSE, WORD, and environment queries.
  • File creation/open/close/read/write, position/size operations, INCLUDE-FILE, and REQUIRED.
  • Execution tokens through tick, bracket-tick, and EXECUTE; CATCH/THROW exception paths.
  • Floating stack, memory, arithmetic, comparison, transcendental, and F32/F64 conversion/interoperation words.
  • IF/ELSE/THEN, CASE, begin loops, counted loops, ?DO, LEAVE, UNLOOP, and bounded RECURSE.

PowerBASIC Interoperation

Embedded blocks access mapped PB locals through PBVAR, PBADDR, PBLEN, PBVAL/PBSET, and typed I64, F64, and F32 forms. Fixed one-dimensional arrays of integer, SINGLE, and DOUBLE/EXTENDED/FLOAT element types are also mapped: PBLEN pushes the element count, PBADDR pushes the base address, and normal memory words (@, !, C@, C!, +!) access individual elements using the appropriate byte offset.

Separately compiled Forth inputs use BRIDGE@/BRIDGE!, F64/F32 bridge access, fixed-buffer address/length access, pointer slots, and the declarations BRIDGEI64, BRIDGEF64, BRIDGEF32, BRIDGEPTRDECL, and BRIDGEBUF.

Qualification

The canonical matrix contains 67 Forth link/run cases, 68 object cases, and 19 negative cases: 154 total, with 154 passing and zero expected failures.

Boundary

This is a tested native subset, not a complete ANS Forth or Forth-2012 claim. Dynamic execution and exception handling use bounded runtime helpers where required. Multi-dimensional arrays, dynamic arrays, and arrays of STRING or UDT elements are not yet bridged.


ARITHMETIC BITWISE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Overview PBXB64 Compiler Help

ARITHMETIC BITWISE

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

: WORD ( stack -- stack ) ... ;

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


COMPARISONS CONSTANTS - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Overview PBXB64 Compiler Help

COMPARISONS CONSTANTS

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

: WORD ( stack -- stack ) ... ;

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CONTROL FLOW - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Overview PBXB64 Compiler Help

CONTROL FLOW

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

: WORD ( stack -- stack ) ... ;

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


DEFINITIONS COMPILE STATE - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Overview PBXB64 Compiler Help

DEFINITIONS COMPILE STATE

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

: WORD ( stack -- stack ) ... ;

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


EMBEDDED BASIC - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Overview PBXB64 Compiler Help

EMBEDDED BASIC

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

: WORD ( stack -- stack ) ... ;

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LOOPS - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Overview PBXB64 Compiler Help

LOOPS

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

: WORD ( stack -- stack ) ... ;

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MEMORY DATA OBJECTS - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Overview PBXB64 Compiler Help

MEMORY DATA OBJECTS

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

: WORD ( stack -- stack ) ... ;

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


PROGRAM CONTROL - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Overview PBXB64 Compiler Help

PROGRAM CONTROL

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

: WORD ( stack -- stack ) ... ;

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


RETURN STACK RUNTIME - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Overview PBXB64 Compiler Help

RETURN STACK RUNTIME

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

: WORD ( stack -- stack ) ... ;

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


STACK WORDS - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Overview PBXB64 Compiler Help

STACK WORDS

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

: WORD ( stack -- stack ) ... ;

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


STRINGS CONSOLE IO - PBXB64 Compiler Help

Home › Language Frontends › Forth Frontend › Overview PBXB64 Compiler Help

STRINGS CONSOLE IO

Category: PowerBASIC compatibility reference

Chapter: Overview

Syntax

: WORD ( stack -- stack ) ... ;

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


H-Lib C API - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib C API

Native C API for creating and manipulating H-Lib container objects from C code or inline assembly.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

Native C API for creating and manipulating H-Lib container objects from C code or inline assembly.

Kind: API Reference | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Overview

The H-Lib C API exposes all 23 container families as plain C functions. C callers manage handles explicitly; BASIC variables use automatic initialization and finalization.

PB method and subscript positions for Arr, Lst, Str, 2D, and slices are 1-based. Direct C API functions use their documented C index convention; do not copy a PB position into a C call without applying that API's convention.

Common Functions

  • c_hlib_<variant>_new() — allocate a new container
  • c_hlib_<variant>_final() — release container resources
  • c_hlib_<variant>_push, _pop, _get, _set — family-specific operations

See also

  • H-Lib Native Containers
  • Native H-Lib Containers - Overview
  • PBXB64 - C Language (V10)
  • PBXB64 Compiler Help


H-Lib Native Containers - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Native Containers

PBXB64 includes a native C runtime container library (c_hlib) that is automatically initialized and finalized for PB variables. Container handles are stored as LONG values.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

PBXB64 includes a native C runtime container library (c_hlib) that is automatically initialized and finalized for PB variables. Container handles are stored as LONG values.

Kind: Language feature | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE — 23 FAMILIES · 136 TYPE KEYWORDS

PBXB64 Certification: [CERTIFIED TESTED]

Three ways to use them:
· PB syntax: q.Push 5, n = q.Count (method-dispatch)
· PB subscript: a[1] = 100, n = h["key"] (subscript access)
· C frontend: c_hlib_lnarr_add(q, 5) via pbxb64/hlib.h

Supported Container Families (alphabetical, 23 total)

Family | PB Type | Description | Help page
2D Array | LN2D (+ 12 variants) | Two-dimensional dynamic array with rows, columns, and rectangular operations. | 2D methods
Array | LNARR (+ 12 variants) | Dynamic array with push, pop, insert, delete, sort, indexed access, and UDT payload. | Arr methods
Bloom Filter | LNBLOOM | Probabilistic LONG membership test with no false negatives and tunable false-positive rate. | cmd_hlib_bloom
B+ Tree | LNBPTREE | Disk-friendly ordered set with high branching factor, range queries, and bulk operations. | cmd_hlib_bptree
Deque | LNDEQUE | Double-ended queue. Push and pop from either end in O(1) time. | cmd_hlib_deque
Double Tree | WSWSDTRE | Wide-string to wide-string double-ended tree. Bidirectional ordered key-value tree. | DTre methods
Graph | LNGRAPH | Undirected graph with LONG node IDs, adjacency queries, neighbor enumeration. | cmd_hlib_graph
Hash Table | LNLNHSH (+ 12 variants) | Key-value store with O(1) hash lookup, insertion, deletion, enumeration. | Hsh methods
Heap | LNHEAP | Binary min-heap / priority queue. O(log n) push and pop. | cmd_hlib_heap
Linked List | LNLST (+ 12 variants) | Doubly-linked list with node traversal, insert before/after, removal by node. | Lst methods
LRU Cache | LNLRU | Bounded LONG-key/LONG-value cache with least-recently-used eviction. | cmd_hlib_lru
Multiset | LNMULTISET | Bag of LONG keys with multiplicity counts. Allows duplicates with count tracking. | cmd_hlib_multiset
Quadtree | LNQUAD | Spatial index for LONG bounding boxes. Efficient 2D range and point queries. | cmd_hlib_quadtree
Queue | LNQUE (+ 12 variants) | FIFO queue with push, pop, peek, front, and back operations. | Que methods
Ring | LNRING | Fixed-capacity circular buffer. Overwrites oldest elements when full. | cmd_hlib_ring
Safe | LNSAFE | Thread-safe LONG stack wrapper with mutex-protected push and pop. | cmd_hlib_safe
Set | LNSET | Sorted unique set backed by AVL tree. O(log n) add, remove, and contains. | cmd_hlib_set
SkipList | LNSKIPLIST | Probabilistic ordered set with O(log n) average-case operations. | cmd_hlib_skiplist
Stack | LNSTK (+ 12 variants) | LIFO stack with push, pop, and peek operations. | Stk methods
String Builder | SSSTR, WSSTR | Mutable string builder with append, insert, delete, replace, character access. | Str methods
Tree | LNLNTRE (+ 12 variants) | Self-balancing AVL tree with ordered key-value storage, min/max, range traversal. | Tre methods
Trie | SSSSTRI | Prefix tree (trie) mapping ANSI strings to ANSI strings. Fast prefix lookup. | Tri methods
Union-Find | LNUNIONFIND | Disjoint-set / union-find structure. Near-constant-time union and find. | cmd_hlib_unionfind

Type Variants (13 per family where applicable)

Typed families use the suffixes below. The complete set contains 136 recognized type keywords. EXTENDED and CURRENCYX are opaque high-precision values; they are not converted to or stored as ordinary DOUBLE values.

Suffix | PB Type | Size | Suffix | PB Type | Size
Bt | BYTE | 1 byte | Sn | SINGLE | 4 bytes
In | INTEGER (WORD) | 2 bytes | Db | DOUBLE | 8 bytes
Wd | WORD (DWORD) | 2 bytes | Cu | CURRENCY | 8 bytes
Dw | DWORD | 4 bytes | Cx | CURRENCYX | 16 bytes
Ln | LONG | 4 bytes | Ex | EXTENDED | 10 bytes
Qd | QUAD | 8 bytes | Ss | STRING (ANSI) | pointer-sized
 | Ws | WSTRING (Unicode) | pointer-sized

Exact typed variants

Arr: BTARR, INARR, WDARR, LNARR, DWARR, QDARR, SNARR, DBARR, CUARR, CXARR, EXARR, SSARR, WSARR, OJARR.

Stk: BTSTK, INSTK, WDSTK, LNSTK, DWSTK, QDSTK, SNSTK, DBSTK, CUSTK, CXSTK, EXSTK, SSSTK, WSSTK.

Que: BTQUE, INQUE, WDQUE, LNQUE, DWQUE, QDQUE, SNQUE, DBQUE, CUQUE, CXQUE, EXQUE, SSQUE, WSQUE.

Lst: BTLST, INLST, WDLST, LNLST, DWLST, QDLST, SNLST, DBLST, CULST, CXLST, EXLST, SSLST, WSLST, UTLST.

Str: SSSTR, WSSTR.

2D: BT2D, IN2D, WD2D, LN2D, DW2D, QD2D, SN2D, DB2D, CU2D, CX2D, EX2D, SS2D, WS2D.

Hsh: LNLNHSH, LNCUHSH, LNCXHSH, LNDBHSH, LNDWHSH, LNEXHSH, LNQDHSH, LNSSHSH, LNWSHSH, SSCUHSH, SSCXHSH, SSDBHSH, SSDWHSH, SSEXHSH, SSLNHSH, SSQDHSH, SSSSHSH, WSCUHSH, WSCXHSH, WSDBHSH, WSDWHSH, WSEXHSH, WSLNHSH, WSQDHSH, WSWSHSH, LNUTHSH.

Tre: LNLNTRE, LNCUTRE, LNCXTRE, LNDBTRE, LNDWTRE, LNEXTRE, LNQDTRE, LNSSTRE, LNWSTRE, SSCUTRE, SSCXTRE, SSDBTRE, SSDWTRE, SSEXTRE, SSLNTRE, SSQDTRE, SSSSTRE, WSCUTRE, WSCXTRE, WSDBTRE, WSDWTRE, WSEXTRE, WSLNTRE, WSQDTRE, WSWSTRE, LNUTTRE.

Specialized: WSWSDTRE, SSSSTRI, LNHEAP, LNDEQUE, LNSET, LNGRAPH, LNMULTISET, LNUNIONFIND, LNLRU, LNRING, LNSKIPLIST, LNBPTREE, LNQUAD, LNBLOOM, LNSAFE.

Common Conventions

  • Declare a container variable with LOCAL c AS LNMULTISET.
  • Declaration automatically initializes a usable container, and scope exit automatically calls Final. Explicit New/Final calls remain available.
  • Configured constructors are explicit: lru.New(capacity), ring.New(capacity), bpt.New(order), quad.New(maxDepth), and bloom.New(capacity, errorRate).
  • Call methods with dot syntax: c.Add 5 or c.Add(5).
  • Capacity, Trim, and Clone are available across all 23 families.
  • PB positions in Arr, Lst, Str, 2D, and slices are 1-based.
  • Methods returning scalar values use LONG or QUAD; methods returning containers return a new handle.

UDT Payload Containers

Container element type can be a user-defined PB TYPE:

TYPE Point
    x AS LONG
    y AS LONG
END TYPE
LOCAL a AS LNARR OF Point
LOCAL p AS Point
LOCAL q AS Point

a.New
p.x = 10 : p.y = 20
a.Push p
q = a.Get(1)              ' q is a Point; PB indices are 1-based

See also

  • Native H-Lib Containers - Overview
  • Native H-Lib Containers - Methods Reference
  • Native H-Lib Containers - Examples
  • H-Lib C API
  • H-Lib Subscript Access
  • H-Lib Container Function Params
  • PBXB64 Compiler Help


H-Lib Container Function Params - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Container Function Params

Parameter conventions used by H-Lib container methods and C API functions.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Description

Parameter conventions used by H-Lib container methods and C API functions.

Kind: Reference | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Parameter Types

  • Key parameters: type depends on container family (string, integer, etc.)
  • Value parameters: typically INT64 or pointer-sized
  • PB index parameters: 1-based integers for Arr, Lst, Str, 2D, and slices
  • Flags: bit-mask options controlling insertion/lookup behavior

Return Values

Arr, Stk, Que, and Lst Add/Push operations that return a count return the new count deterministically. String Append and AppendLine return the new length; Replace returns the number of replacements. Keyed TryGet returns the stored value or its supplied default, and Remove returns non-zero only when a key was removed.

String Arguments

For string-keyed containers, pass a const char* from C or a PB STRING expression from BASIC.

See also

  • H-Lib Native Containers
  • H-Lib C API
  • PBXB64 Compiler Help


H-Lib Subscript Access - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

H-Lib Subscript Access

How to read and write H-Lib container elements using subscript syntax.

Chapter: H-Lib Native Containers | Certification: [CERTIFIED TESTED]

Syntax

value = container(index)
container(index) = value
value = container(key)
container(key) = value

Description

How to read and write H-Lib container elements using subscript syntax.

Kind: Reference | Category: H-Lib Native Containers

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Example

FUNCTION PBMAIN() AS LONG
  LOCAL arr AS LNARR OF LONG
  arr(1) = 10
  PRINT arr(1)
  FUNCTION = 0
END FUNCTION

See also

  • H-Lib Native Containers
  • Native H-Lib Containers - Methods Reference
  • PBXB64 Compiler Help


PBXB64 - Language Frontends - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PBXB64 - Language Frontends

PBXB64 V15 provides ten registered language frontends that compile through the unified IR and x64 backend. Qualification differs by frontend; each linked reference states its tested boundary.

Chapter: General Reference

Description

PBXB64 V15 provides ten registered language frontends that compile through the unified IR and x64 backend. Qualification differs by frontend; each linked reference states its tested boundary.

B64 (Primary Systems Language)

C-like syntax with manual memory management, explicit pointers, and first-class structs. Designed for systems programming where performance and control are paramount.

fn main(): i32 {
    let x: i32 = 42;
    let p: *i32 = &x;
    *p = 100;
    return x;
}

BASIC (PowerBASIC-Compatible)

Modernized PowerBASIC dialect with V8 string lifetime management, PRINT separator semantics, and native WinAPI integration.

FUNCTION PBMAIN() AS LONG
    LOCAL s AS STRING
    s = "Hello from PBXB64"
    PRINT s
    FUNCTION = 0
END FUNCTION

C Subset (C17 with Preprocessor)

Controlled C17 subset featuring full preprocessor, switch/case/goto, ternary operator, and 26 standard library headers.

#include <stdio.h>
int main(void) {
    printf("Hello from C\n");
    return 0;
}

Assembly (Native x64)

Intel-syntax assembler with direct COFF/PE output. Supports .asm/.s files and integrates seamlessly with high-level frontends.

section .text
global main
main:
    mov eax, 42
    ret

PILOT (Educational)

Compatibility-qualified educational language with executable input, output, arithmetic, guards, jumps, nested subroutines, sound, labels, and the bidirectional V: PowerBASIC-global bridge. File extension: .pil.

T: "Hello from PILOT!"
C: #A = 42
C: $MSG = "Answer"
Y: T: $MSG
E:

PILOT Reference →

Forth

Native standalone and embedded Forth subset with 174 source-registered primitives, structured control, file and memory words, floating point, exceptions, execution tokens, and PB bridges.

Forth Reference →

COBOL

Bounded native COBOL frontend with exact wide numeric data, selected procedure/data forms, and linkage/call interoperability.

COBOL Reference →

Rust

Qualified V14-compatible Rust subset covering the documented fixed-data, function, closure, extern/static, lifetime, and worker forms.

Rust Reference →

SPR (MiniRobot)

Runtime-routed command frontend with $$ variables and the VIP. bridge to PB QUAD and STRING globals.

SPR Reference →

Logo

Object-contract-qualified Logo/turtle frontend covering the complete 62-topic V14 command set.

Logo Reference →

Cross-Language Linking: Frontends share the compiler IR and native object/link pipeline. Only bridge and ABI forms documented by the individual frontend are contractual.
← Overview B64 Reference → View Examples
PBXB64 Compiler Documentation · V15 · Last updated 2026-07-28
For issues and contributions: smart-package.com


Historical topic unavailable - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Historical topic unavailable

This link originated in legacy PowerBASIC documentation. It is not a verified PBXB64 feature page and is therefore not shipped as an implementation claim.

Chapter: General Reference

Description

This link originated in legacy PowerBASIC documentation. It is not a verified PBXB64 feature page and is therefore not shipped as an implementation claim.

Use the command index and the language references to find features that have a current PBXB64 contract and test evidence.

Return to the command index


Logo Frontend - PBXB64 Compiler Help

Home › Language Frontends › LOGO Frontend › Overview PBXB64 Compiler Help

Logo Frontend

Chapter: Overview

Description

The V15 object-contract lane covers all 62 V14 Logo help topics.

Qualification Boundary

The object contract is complete for the documented topic set. Runtime link/run qualification remains separate and must not be inferred from object compilation alone.

Back to top


MCP LOCAL TOOL ADAPTER - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

MCP LOCAL TOOL ADAPTER

Category: PowerBASIC compatibility reference

Chapter: General Reference

Syntax

FUNCTION MCP_ToolsCall(tool AS STRING, optional params AS STRING) AS STRING
FUNCTION MCP_CatalogCall(tool AS STRING, optional params AS STRING) AS STRING

Description

Category: PowerBASIC compatibility reference

V15 status

This historical reference topic is retained so the V15 help never shrinks. Current support must be read together with the V15 component status and executable validation; unsupported forms must diagnose.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


Native H-Lib Containers - Examples - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

Native H-Lib Containers - Examples

Code examples demonstrating the use of each native H-Lib container type.

Chapter: H-Lib Native Containers

Description

Code examples demonstrating the use of each native H-Lib container type.

LnArr (LONG Array)

FUNCTION PBMAIN() AS LONG
  LOCAL q AS LnArr
  LOCAL i AS LONG
  LOCAL n AS QUAD

  q.New
  q.Push 10
  q.Push 20
  q.Push 30

  n = q.Count           ' n = 3
  i = q.Get(2)          ' i = 20 (1-based PB index)
  q.Ins 1, 15           ' insert 15 at index 1
  q.Sort                ' result: 10, 15, 20, 30
  q.Del 0               ' remove first element
  i = q.Pop             ' i = 30, q now has [15, 20]
  q.Final               ' auto-cleanup
END FUNCTION

LnStk (LONG Stack)

FUNCTION PBMAIN() AS LONG
  LOCAL s AS LnStk
  LOCAL v AS LONG

  s.Push 100
  s.Push 200
  s.Push 300

  v = s.Peek            ' v = 300
  v = s.Pop             ' v = 300, stack now [100, 200]
  v = s.Pop             ' v = 200
  v = s.Pop             ' v = 100
  ' s.Count = 0
  s.Final
END FUNCTION

LnQue (LONG Queue)

FUNCTION PBMAIN() AS LONG
  LOCAL q AS LnQue
  LOCAL v AS LONG

  q.Push 10             ' enqueue
  q.Push 20
  q.Push 30

  v = q.Front           ' v = 10
  v = q.Back            ' v = 30
  v = q.Pop             ' v = 10, queue now [20, 30]
  v = q.Pop             ' v = 20
  v = q.Pop             ' v = 30
  q.Final
END FUNCTION

LnLst (LONG List)

FUNCTION PBMAIN() AS LONG
  LOCAL lst AS LnLst
  LOCAL node AS QUAD
  LOCAL v AS LONG

  lst.Add 10            ' list: [10]
  lst.Add 20            ' list: [10, 20]
  lst.AddHead 5         ' list: [5, 10, 20]
  lst.InsAfter 5, 7     ' insert 7 after value 5

  node = lst.GetHead    ' first node
  v = lst.Value(node)   ' v = 5
  node = lst.Next(node) ' advance to next node
  v = lst.Value(node)   ' v = 7

  lst.Remove(node)      ' remove node with value 7
  lst.Final
END FUNCTION

SsStr (ANSI String Builder)

FUNCTION PBMAIN() AS LONG
  LOCAL sb AS SsStr
  LOCAL s AS STRING
  LOCAL n AS QUAD

  sb.Append "Hello"
  sb.Append " World"
  n = sb.Length          ' n = 11
  s = sb.ToString        ' s = "Hello World"

  sb.Ins 6, "PBXB64 "   ' insert at position 6 (1-based)
  s = sb.ToString        ' s = "Hello PBXB64 World"

  sb.Replace "World", "Containers"
  s = sb.ToString        ' s = "Hello PBXB64 Containers"

  sb.ToUpper
  s = sb.ToString        ' s = "HELLO PBXB64 CONTAINERS"
  sb.Final
END FUNCTION

Ln2D (LONG 2D Array)

FUNCTION PBMAIN() AS LONG
  LOCAL m AS Ln2D
  LOCAL v AS LONG

  m.Resize 3, 4         ' 3 rows, 4 columns
  m.Set 1, 1, 42        ' first row and column use index 1
  v = m.Get(1, 1)       ' v = 42

  ' Rows and Cols properties
  LOCAL r, c AS QUAD
  r = m.Rows             ' r = 3
  c = m.Cols             ' c = 4

  ' Extract a row as 1D array
  LOCAL rowArr AS LnArr
  rowArr = m.GetRow(1)
  m.Final
  rowArr.Final
END FUNCTION

LnLnHsh (LONG-to-LONG Hash Table)

FUNCTION PBMAIN() AS LONG
  LOCAL h AS LnLnHsh
  LOCAL v AS LONG
  LOCAL found AS LONG

  h.Put 1, 100
  h.Put 2, 200
  h.Put 3, 300

  v = h.Get(2)           ' v = 200
  found = h.Contains(4)  ' found = 0 (false)

  h.Remove 1             ' remove key 1

  ' Enumerate keys
  LOCAL keys AS LnArr
  keys = h.Keys          ' keys = [2, 3]
  h.Final
  keys.Final
END FUNCTION

LnLnTre (LONG-to-LONG AVL Tree)

FUNCTION PBMAIN() AS LONG
  LOCAL t AS LnLnTre
  LOCAL v AS LONG
  LOCAL k AS LONG

  t.Put 50, 500
  t.Put 30, 300
  t.Put 70, 700
  t.Put 20, 200
  t.Put 40, 400

  k = t.Min              ' k = 20 (smallest key)
  k = t.Max              ' k = 70 (largest key)
  k = t.Floor(35)        ' k = 30 (floor of 35)
  k = t.Ceil(35)         ' k = 40 (ceil of 35)

  v = t.Get(30)          ' v = 300

  ' Sorted keys
  LOCAL keys AS LnArr
  keys = t.Keys          ' keys = [20, 30, 40, 50, 70]
  t.Final
  keys.Final
END FUNCTION

LNHEAP (Heap / Priority Queue)

FUNCTION PBMAIN() AS LONG
  LOCAL h AS LNHEAP
  LOCAL v AS LONG

  h = h.New
  h.Push 30
  h.Push 10
  h.Push 20

  v = h.Peek      ' v = 10 (smallest)
  v = h.Pop       ' v = 10, heap now [20, 30]
  v = h.Pop       ' v = 20
  h.Final
END FUNCTION

LNDEQUE (Double-Ended Queue)

FUNCTION PBMAIN() AS LONG
  LOCAL d AS LNDEQUE
  LOCAL v AS LONG

  d = d.New
  d.PushBack 10
  d.PushFront 5
  d.PushBack 15

  v = d.PeekFront  ' v = 5
  v = d.PeekBack   ' v = 15
  v = d.PopFront   ' v = 5
  v = d.PopBack    ' v = 15
  d.Final
END FUNCTION

LNSET (Sorted Unique Set)

FUNCTION PBMAIN() AS LONG
  LOCAL s AS LNSET
  LOCAL v AS LONG

  s = s.New
  s.Add 3
  s.Add 1
  s.Add 2
  s.Add 3        ' duplicate ignored

  v = s.Count     ' v = 3
  v = s.First     ' v = 1
  v = s.Next 1    ' v = 2
  v = s.Contains 2 ' non-zero
  s.Final
END FUNCTION

LNGRAPH (Undirected Graph)

FUNCTION PBMAIN() AS LONG
  LOCAL g AS LNGRAPH
  LOCAL n AS LONG
  LOCAL neighbors AS LNARR

  g = g.New
  g.AddNode 1
  g.AddNode 2
  g.AddNode 3
  g.AddEdge 1, 2
  g.AddEdge 2, 3

  n = g.Count       ' n = 3
  n = g.HasEdge(1, 2) ' non-zero

  neighbors = g.Neighbors 2  ' neighbors = [1, 3]
  g.Final
  neighbors.Final
END FUNCTION

LNMULTISET (Bag with Multiplicity)

FUNCTION PBMAIN() AS LONG
  LOCAL m AS LNMULTISET
  LOCAL v AS LONG

  m = m.New
  m.Add 5
  m.Add 5
  m.Add 3

  v = m.Count         ' v = 3 (total elements)
  v = m.UniqueCount   ' v = 2 (distinct values)
  v = m.Multiplicity 5 ' v = 2
  m.Remove 5          ' multiplicity becomes 1
  m.RemoveAll 5       ' completely removed
  m.Final
END FUNCTION

LNUNIONFIND (Disjoint Set)

FUNCTION PBMAIN() AS LONG
  LOCAL uf AS LNUNIONFIND
  LOCAL v AS LONG

  uf = uf.New
  uf.MakeSet 1
  uf.MakeSet 2
  uf.MakeSet 3

  v = uf.SameSet(1, 2) ' v = 0 (false)
  uf.Union 1, 2
  v = uf.SameSet(1, 2) ' v = non-zero (true)
  v = uf.Components    ' v = 2 (sets: {1,2}, {3})
  uf.Final
END FUNCTION

LNLRU (LRU Cache)

FUNCTION PBMAIN() AS LONG
  LOCAL cache AS LNLRU
  LOCAL v AS LONG

  cache = cache.New 3     ' capacity = 3
  cache.Put 1, 100
  cache.Put 2, 200
  cache.Put 3, 300
  cache.Put 4, 400       ' evicts key 1 (oldest)

  v = cache.Get 2        ' v = 200
  v = cache.Contains 1   ' v = 0 (evicted)
  v = cache.Count        ' v = 3
  cache.Final
END FUNCTION

LNRING (Circular Buffer)

FUNCTION PBMAIN() AS LONG
  LOCAL r AS LNRING
  LOCAL v AS LONG

  r = r.New 3            ' capacity = 3
  r.Push 10
  r.Push 20
  r.Push 30
  r.Push 40             ' overwrites 10

  v = r.Peek            ' v = 20 (oldest remaining)
  v = r.Pop             ' v = 20
  v = r.Full            ' v = 0 (not full)
  r.Final
END FUNCTION

LNSKIPLIST (Probabilistic Ordered Set)

FUNCTION PBMAIN() AS LONG
  LOCAL sl AS LNSKIPLIST
  LOCAL v AS LONG

  sl = sl.New
  sl.Add 50
  sl.Add 30
  sl.Add 70

  v = sl.First      ' v = 30
  v = sl.Next 30    ' v = 50
  v = sl.Contains 70 ' non-zero
  sl.Final
END FUNCTION

LNBPTREE (B+ Tree)

FUNCTION PBMAIN() AS LONG
  LOCAL t AS LNBPTREE
  LOCAL v AS LONG
  LOCAL arr AS LNARR

  t = t.New 4          ' order = 4
  t.Add 10
  t.Add 20
  t.Add 30
  t.Add 40
  t.Add 50

  v = t.First          ' v = 10
  arr = t.Range 15, 45 ' arr = [20, 30, 40]
  t.Final
  arr.Final
END FUNCTION

LNQUAD (Quadtree)

FUNCTION PBMAIN() AS LONG
  LOCAL q AS LNQUAD
  LOCAL ids AS LNARR
  LOCAL n AS LONG

  q = q.New 8          ' max depth = 8
  q.Insert 1, 0, 0, 10, 10
  q.Insert 2, 5, 5, 15, 15
  q.Insert 3, 20, 20, 30, 30

  ids = q.Query 4, 4, 12, 12  ' ids = [1, 2] (overlapping boxes)
  n = q.Count            ' n = 3
  q.Final
  ids.Final
END FUNCTION

LNBLOOM (Bloom Filter)

FUNCTION PBMAIN() AS LONG
  LOCAL b AS LNBLOOM
  LOCAL v AS LONG

  b = b.New 1000, 0.01  ' capacity 1000, 1% false-positive rate
  b.Add 42
  b.Add 99
  b.Add 123

  v = b.Contains 42     ' non-zero (definitely present)
  v = b.Contains 999    ' probably 0 (not added)
  v = b.ErrorRate       ' v = 0.01
  b.Final
END FUNCTION

LNSAFE (Thread-Safe Stack)

FUNCTION PBMAIN() AS LONG
  LOCAL s AS LNSAFE
  LOCAL v AS LONG

  s = s.New
  s.Push 100
  s.Push 200

  v = s.Peek            ' v = 200
  v = s.Pop             ' v = 200
  v = s.Count           ' v = 1
  s.Final
END FUNCTION

See also

  • Native H-Lib Containers - Overview
  • Native H-Lib Containers - Methods Reference


Native H-Lib Containers - Methods Reference - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

Native H-Lib Containers - Methods Reference

Complete reference of all methods available on native H-Lib container types. Methods are grouped by container family. All types within a family share the same method signatures.

Chapter: H-Lib Native Containers

Description

Complete reference of all methods available on native H-Lib container types. Methods are grouped by container family. All types within a family share the same method signatures.

Common Methods (all containers)

Container variables are initialized automatically and finalized automatically at scope exit. PB positions in Arr, Lst, Str, 2D, and Slice ranges are 1-based.

Method | Args | Returns | Description
.New | none | nothing | Initializes the container explicitly. Optional — declaration already initializes the container.
.Final | none | nothing | Destroys the container, releasing all internal memory. Called automatically on scope exit.
.Validate | none | LONG | Returns non-zero if the container handle is valid. Use for debug assertions.
.Clear | none | nothing | Removes all elements without deallocating the container. Capacity may be retained.
.Count | none | QUAD | Returns the number of elements currently in the container.
.Capacity | none | QUAD or LONG | Returns the current or configured capacity. Available for every family.
.Trim | none | nothing | Reduces capacity to match the current element count. Frees excess memory.
.Clone | none | container | Returns a deep copy of the container with independent storage.

Arr (Array) Methods

Applies to: LnArr, InArr, WdArr, BtArr, DwArr, QdArr, SnArr, DbArr, CuArr, CxArr, ExArr, SsArr, WsArr

Method | Args | Returns | Description
.Get | index As QUAD | element | Returns the element at the given 1-based PB index. Bounds-checked at runtime.
.Set | index As QUAD, value | nothing | Sets the element at the given index.
.Add | value | QUAD | Appends an element to the end. Returns the new count.
.Push | value | QUAD | Alias for Add. Appends to the end and returns the new count.
.Pop | none | element | Removes and returns the last element. Fails if empty.
.Peek | none | element | Returns the last element without removing it.
.Ins | index As QUAD, value | nothing | Inserts element at the given index, shifting subsequent elements right.
.Del | index As QUAD | nothing | Deletes the element at the given index, shifting subsequent elements left.
.IndexOf | value | QUAD | Returns the first index of the given value, or -1 if not found. Linear search.
.Contains | value | LONG | Returns non-zero if the value exists in the array.
.Sort | none | nothing | Sorts elements in ascending order using quicksort. For numeric types only.
.SortDesc | none | nothing | Sorts elements in descending order.
.Reverse | none | nothing | Reverses the order of all elements in-place.
.Reserve | capacity As QUAD | nothing | Pre-allocates storage for the given number of elements.

Stk (Stack) Methods

Applies to: LnStk, InStk, WdStk, BtStk, DwStk, QdStk, SnStk, DbStk, CuStk, CxStk, ExStk, SsStk, WsStk

Method | Args | Returns | Description
.Push | value | QUAD | Pushes a value onto the top of the stack. Returns new count.
.Pop | none | element | Pops and returns the top element. Fails if empty.
.Peek | none | element | Returns the top element without removing it.

Que (Queue) Methods

Applies to: LnQue, InQue, WdQue, BtQue, DwQue, QdQue, SnQue, DbQue, CuQue, CxQue, ExQue, SsQue, WsQue

Method | Args | Returns | Description
.Push | value | QUAD | Enqueues a value at the back. Returns new count.
.Pop | none | element | Dequeues and returns the front element. Fails if empty.
.Peek | none | element | Returns the front element without removing it.
.Front | none | element | Returns the front (oldest) element. Same as Peek.
.Back | none | element | Returns the back (newest) element without removing it.

Lst (List) Methods

Applies to: LnLst, InLst, WdLst, BtLst, DwLst, QdLst, SnLst, DbLst, CuLst, CxLst, ExLst, SsLst, WsLst

Method | Args | Returns | Description
.Add | value | QUAD | Appends a value to the end of the list. Returns new count.
.AddHead | value | QUAD | Prepends a value and returns the new count.
.InsBefore | nodePtr As QUAD, value | nothing | Inserts a value before the given node pointer.
.InsAfter | nodePtr As QUAD, value | nothing | Inserts a value after the given node pointer.
.Remove | nodePtr As QUAD | nothing | Removes the node at the given pointer. The node pointer becomes invalid.
.RemoveHead | none | element | Removes and returns the first element.
.RemoveTail | none | element | Removes and returns the last element.
.GetHead | none | element | Returns the first element without removing it.
.GetTail | none | element | Returns the last element without removing it.
.Next | nodePtr As QUAD | QUAD | Returns the pointer to the next node, or 0 if at end.
.Prev | nodePtr As QUAD | QUAD | Returns the pointer to the previous node, or 0 if at start.
.GetNode | index As QUAD | QUAD | Returns the node pointer at the given index.
.Value | nodePtr As QUAD | element | Returns the value stored at the given node pointer.

Str (String Builder) Methods

Applies to: SsStr, WsStr

Method | Args | Returns | Description
.Append | value (string) | QUAD | Appends text to the end. Returns new length.
.AppendLine | value (string) | QUAD | Appends text followed by a newline. Returns new length.
.Ins | pos As QUAD, value (string) | nothing | Inserts text at the given position (1-based).
.Del | pos As QUAD, len As QUAD | nothing | Deletes len characters starting at pos (1-based).
.Replace | oldStr (string), newStr (string) | QUAD | Replaces all occurrences of oldStr with newStr. Returns count of replacements.
.SubStr | pos As QUAD, len As QUAD | string | Returns a substring starting at pos with the given length.
.CharAt | pos As QUAD | character | Returns the character at the given position (1-based).
.ToUpper | none | nothing | Converts all characters to uppercase in-place.
.ToLower | none | nothing | Converts all characters to lowercase in-place.
.Trim | none | nothing | Removes leading and trailing whitespace in-place.
.ToString | none | string | Returns the current content as a standard PB string.
.Length | none | QUAD | Returns the current length of the string content.

2D (2D Array) Methods

Applies to: Ln2D, In2D, Wd2D, Bt2D, Dw2D, Qd2D, Sn2D, Db2D, Cu2D, Cx2D, Ex2D, Ss2D, Ws2D

Method | Args | Returns | Description
.Resize | rows As QUAD, cols As QUAD | nothing | Resizes the 2D array to the given dimensions. Existing data is preserved where possible.
.Get | row As QUAD, col As QUAD | element | Returns the element at the given 1-based PB row and column.
.Set | row As QUAD, col As QUAD, value | nothing | Sets the element at the given row and column.
.Rows | none | QUAD | Returns the number of rows.
.Cols | none | QUAD | Returns the number of columns.
.GetRow | row As QUAD | Arr type | Returns a 1D array (Arr) containing the given row.
.SetRow | row As QUAD, arr As Arr type | nothing | Sets the given row from a 1D array.

Hsh (Hash Table) Methods

Applies to: LnLnHsh, InInHsh, WdWdHsh, BtBtHsh, DwDwHsh, QdQdHsh, SnSnHsh, DbDbHsh, CuCuHsh, CxCxHsh, ExExHsh, SsSsHsh, WsWsHsh

Method | Args | Returns | Description
.Put | key, value | nothing | Inserts or updates the value for the given key.
.Get | key | value | Returns the value for the given key. Fails if key does not exist.
.TryGet | key, default | value | Returns the value for the key, or the default if not found.
.Remove | key | LONG | Removes the key-value pair. Returns non-zero if the key existed.
.Contains | key | LONG | Returns non-zero if the key exists in the table.
.Keys | none | Arr type | Returns an array containing all keys.
.Values | none | Arr type | Returns an array containing all values.

Tre (Tree) Methods

Applies to: LnLnTre, InInTre, WdWdTre, BtBtTre, DwDwTre, QdQdTre, SnSnTre, DbDbTre, CuCuTre, CxCxTre, ExExTre, SsSsTre, WsWsTre

Method | Args | Returns | Description
.Put | key, value | nothing | Inserts a key-value pair. If the key exists, the value is updated.
.Get | key | value | Returns the value for the given key. Fails if key does not exist.
.TryGet | key, default | value | Returns the value for the key, or the default if not found.
.Remove | key | LONG | Removes the key-value pair. Returns non-zero if the key existed.
.Contains | key | LONG | Returns non-zero if the key exists in the tree.
.Min | none | key | Returns the smallest key in the tree.
.Max | none | key | Returns the largest key in the tree.
.Floor | key | key | Returns the greatest key less than or equal to the given key.
.Ceil | key | key | Returns the smallest key greater than or equal to the given key.
.Keys | none | Arr type | Returns a sorted array of all keys (in-order traversal).
.Values | none | Arr type | Returns an array of all values in key order.

DTre (Double Tree) Methods

Applies to: WsWsDTre

Method | Args | Returns | Description
.Put | key As WSTRING, value As WSTRING | nothing | Inserts a wide-string key-value pair.
.Get | key As WSTRING | WSTRING | Returns the wide-string value for the given key.
.Contains | key As WSTRING | LONG | Returns non-zero if the key exists.
.Remove | key As WSTRING | LONG | Removes the key-value pair.
.Keys | none | WsArr | Returns a wide-string array of all keys.
.Values | none | WsArr | Returns a wide-string array of all values.

Tri (Trie) Methods

Applies to: SsSsTri

Method | Args | Returns | Description
.Put | key As STRING, value As STRING | nothing | Inserts a key-value pair into the trie.
.Get | key As STRING | STRING | Returns the value for the given key.
.Contains | key As STRING | LONG | Returns non-zero if the key exists.
.Remove | key As STRING | LONG | Removes the key-value pair.
.PrefixMatch | prefix As STRING | SsArr | Returns an array of all keys that start with the given prefix.
.AutoComplete | prefix As STRING, max As LONG | SsArr | Returns up to max keys matching the prefix (for auto-complete UI).

Heap (Priority Queue) Methods

Applies to: LNHEAP

Method | Args | Returns | Description
.New | none | LNHEAP | Allocate a new empty min-heap.
.Final | none | nothing | Free the heap.
.Validate | none | LONG | Non-zero if handle is valid.
.Clear | none | nothing | Remove all values.
.Count | none | LONG | Number of values in the heap.
.Push | value As LONG | nothing | Insert a value. O(log n).
.Pop | none | QUAD | Remove and return the smallest value. O(log n).
.Peek | none | QUAD | Return smallest value without removing it. O(1).
.Empty | none | LONG | Non-zero if the heap is empty.

Deque Methods

Applies to: LNDEQUE

Method | Args | Returns | Description
.New | none | LNDEQUE | Allocate a new empty deque.
.Final | none | nothing | Free the deque.
.Validate | none | LONG | Non-zero if handle is valid.
.Clear | none | nothing | Remove all values.
.Count | none | LONG | Number of values in the deque.
.PushFront | value As LONG | nothing | Insert a value at the front. O(1).
.PushBack | value As LONG | nothing | Insert a value at the back. O(1).
.PopFront | none | QUAD | Remove and return the front value. O(1).
.PopBack | none | QUAD | Remove and return the back value. O(1).
.PeekFront | none | QUAD | Return front value without removing it. O(1).
.PeekBack | none | QUAD | Return back value without removing it. O(1).
.Empty | none | LONG | Non-zero if the deque is empty.

Set Methods

Applies to: LNSET

Method | Args | Returns | Description
.New | none | LNSET | Allocate a new empty sorted set.
.Final | none | nothing | Free the set.
.Validate | none | LONG | Non-zero if handle is valid.
.Clear | none | nothing | Remove all values.
.Count | none | LONG | Number of unique values in the set.
.Add | value As LONG | nothing | Insert a value if not already present. O(log n).
.Remove | value As LONG | nothing | Remove a value if present. O(log n).
.Contains | value As LONG | LONG | Non-zero if the value is present. O(log n).
.First | none | QUAD | Return the smallest value (0 if empty).
.Next | value As LONG | QUAD | Return the next larger value (0 if none).
.Empty | none | LONG | Non-zero if the set is empty.
.ToArray | none | LNARR | Return a new LNARR containing all values sorted.

Graph Methods

Applies to: LNGRAPH

Method | Args | Returns | Description
.New | none | LNGRAPH | Allocate a new empty graph.
.Final | none | nothing | Free the graph.
.Validate | none | LONG | Non-zero if handle is valid.
.Clear | none | nothing | Remove all nodes and edges.
.Count | none | LONG | Number of nodes in the graph.
.Empty | none | LONG | Non-zero if the graph has no nodes.
.AddNode | id As LONG | nothing | Add a node with the given ID.
.AddEdge | u As LONG, v As LONG | nothing | Add an undirected edge between two nodes.
.RemoveNode | id As LONG | nothing | Remove a node and its incident edges.
.RemoveEdge | u As LONG, v As LONG | nothing | Remove an undirected edge.
.HasEdge | u As LONG, v As LONG | LONG | Non-zero if the edge exists.
.Neighbors | id As LONG | LNARR | Return a new LNARR of neighbor IDs.

Multiset Methods

Applies to: LNMULTISET

Method | Args | Returns | Description
.New | none | LNMULTISET | Allocate a new empty multiset.
.Final | none | nothing | Free the multiset.
.Validate | none | LONG | Non-zero if handle is valid.
.Clear | none | nothing | Remove all values and counts.
.Count | none | LONG | Total number of elements (sum of all multiplicities).
.UniqueCount | none | LONG | Number of distinct values.
.Add | value As LONG | nothing | Insert a value, incrementing its multiplicity.
.Remove | value As LONG | nothing | Decrement multiplicity, remove if count reaches zero.
.RemoveAll | value As LONG | nothing | Remove all occurrences of the value.
.Contains | value As LONG | LONG | Non-zero if the value is present.
.Multiplicity | value As LONG | LONG | Return the count of the given value (0 if absent).
.First | none | QUAD | Return the smallest value (0 if empty).
.Next | value As LONG | QUAD | Return the next larger distinct value (0 if none).
.Empty | none | LONG | Non-zero if the multiset is empty.

Union-Find Methods

Applies to: LNUNIONFIND

Method | Args | Returns | Description
.New | none | LNUNIONFIND | Allocate a new empty union-find.
.Final | none | nothing | Free the union-find.
.Validate | none | LONG | Non-zero if handle is valid.
.Clear | none | nothing | Remove all elements.
.Count | none | LONG | Number of elements.
.MakeSet | x As LONG | nothing | Add a new singleton set for x.
.Find | x As LONG | QUAD | Return the representative of x (0 if unknown).
.Union | x As LONG, y As LONG | LONG | Non-zero if the union changed anything.
.SameSet | x As LONG, y As LONG | LONG | Non-zero if x and y are in the same set.
.Empty | none | LONG | Non-zero if the union-find is empty.
.Components | none | LONG | Number of disjoint sets.

LRU Cache Methods

Applies to: LNLRU

Method | Args | Returns | Description
.New | capacity As LONG | LNLRU | Allocate a new LRU cache with the given capacity.
.Final | none | nothing | Free the cache.
.Validate | none | LONG | Non-zero if handle is valid.
.Clear | none | nothing | Remove all entries.
.Count | none | LONG | Number of entries currently in the cache.
.Capacity | none | LONG | Return the maximum capacity.
.Put | key As LONG, value As LONG | nothing | Insert or update a key-value pair. Evicts oldest if at capacity.
.Get | key As LONG | QUAD | Return the value for the key (0 if not found).
.Contains | key As LONG | LONG | Non-zero if the key is present.
.Remove | key As LONG | LONG | Remove the key-value pair. Returns non-zero if existed.
.Empty | none | LONG | Non-zero if the cache is empty.

Ring (Circular Buffer) Methods

Applies to: LNRING

Method | Args | Returns | Description
.New | capacity As LONG | LNRING | Allocate a new ring buffer with the given capacity.
.Final | none | nothing | Free the ring buffer.
.Validate | none | LONG | Non-zero if handle is valid.
.Clear | none | nothing | Remove all values (keep capacity).
.Count | none | LONG | Number of values currently in the buffer.
.Capacity | none | LONG | Return the fixed capacity.
.Push | value As LONG | nothing | Insert a value. Overwrites oldest if at capacity.
.Pop | none | QUAD | Remove and return the oldest value.
.Peek | none | QUAD | Return the oldest value without removing it.
.Empty | none | LONG | Non-zero if the ring buffer is empty.
.Full | none | LONG | Non-zero if the ring buffer is at capacity.

SkipList Methods

Applies to: LNSKIPLIST

Method | Args | Returns | Description
.New | none | LNSKIPLIST | Allocate a new empty skiplist.
.Final | none | nothing | Free the skiplist.
.Validate | none | LONG | Non-zero if handle is valid.
.Clear | none | nothing | Remove all values.
.Count | none | LONG | Number of values in the skiplist.
.Add | value As LONG | nothing | Insert a value if not already present.
.Remove | value As LONG | nothing | Remove a value.
.Contains | value As LONG | LONG | Non-zero if the value is present.
.First | none | QUAD | Return the smallest value (0 if empty).
.Next | value As LONG | QUAD | Return the next larger value (0 if none).
.Empty | none | LONG | Non-zero if the skiplist is empty.

B+ Tree Methods

Applies to: LNBPTREE

Method | Args | Returns | Description
.New | order As LONG | LNBPTREE | Allocate a new B+ tree with the given order (branching factor).
.Final | none | nothing | Free the B+ tree.
.Validate | none | LONG | Non-zero if handle is valid.
.Clear | none | nothing | Remove all values.
.Count | none | LONG | Number of values in the tree.
.Add | value As LONG | nothing | Insert a value if not already present.
.Remove | value As LONG | nothing | Remove a value.
.Contains | value As LONG | LONG | Non-zero if the value is present.
.First | none | QUAD | Return the smallest value (0 if empty).
.Next | value As LONG | QUAD | Return the next larger value (0 if none).
.Range | lo As LONG, hi As LONG | LNARR | Return all values in [lo, hi] as a sorted LNARR.
.Empty | none | LONG | Non-zero if the B+ tree is empty.

Quadtree Methods

Applies to: LNQUAD

Method | Args | Returns | Description
.New | maxDepth As LONG | LNQUAD | Allocate a new quadtree with the given max depth.
.Final | none | nothing | Free the quadtree.
.Validate | none | LONG | Non-zero if handle is valid.
.Clear | none | nothing | Remove all bounding boxes.
.Count | none | LONG | Number of bounding boxes in the quadtree.
.Insert | id As LONG, x1 As LONG, y1 As LONG, x2 As LONG, y2 As LONG | nothing | Insert a bounding box with the given ID and coordinates.
.Remove | id As LONG | LONG | Remove the bounding box with the given ID.
.Query | x1 As LONG, y1 As LONG, x2 As LONG, y2 As LONG | LNARR | Return IDs of all boxes overlapping the query rectangle.
.Empty | none | LONG | Non-zero if the quadtree is empty.

Bloom Filter Methods

Applies to: LNBLOOM

Method | Args | Returns | Description
.New | capacity As LONG, errorRate As DOUBLE | LNBLOOM | Allocate a new bloom filter for the given capacity and false-positive rate.
.Final | none | nothing | Free the bloom filter.
.Validate | none | LONG | Non-zero if handle is valid.
.Clear | none | nothing | Clear all bits in the filter.
.Add | value As LONG | nothing | Add a value to the filter.
.Contains | value As LONG | LONG | Non-zero if the value may be present (probabilistic). No false negatives.
.Capacity | none | LONG | Return the expected capacity (from constructor).
.ErrorRate | none | DOUBLE | Return the configured false-positive rate.
.Empty | none | LONG | Non-zero if the filter has no values added.

Safe (Thread-Safe) Methods

Applies to: LNSAFE

Method | Args | Returns | Description
.New | none | LNSAFE | Allocate a new thread-safe stack wrapper.
.Final | none | nothing | Free the safe container.
.Validate | none | LONG | Non-zero if handle is valid.
.Clear | none | nothing | Remove all values.
.Count | none | LONG | Number of values in the stack.
.Push | value As LONG | nothing | Thread-safe push. Acquires mutex, pushes, releases.
.Pop | none | QUAD | Thread-safe pop. Acquires mutex, pops, releases. Returns 0 if empty.
.Peek | none | QUAD | Thread-safe peek. Returns top value without removing. 0 if empty.
.Empty | none | LONG | Non-zero if the stack is empty.

See also

  • Native H-Lib Containers - Overview
  • Native H-Lib Containers - Examples


Native H-Lib Containers - Overview - PBXB64 Compiler Help

Home › Data Types › H-Lib Native Containers PBXB64 Compiler Help

Native H-Lib Containers - Overview

Native H-Lib containers are first-class data structure types built directly into the PBXB64 compiler. They provide dynamic collections with method-call syntax, automatic memory management, and scope-exit cleanup &mdash; no COM objects or external libraries required.

Chapter: H-Lib Native Containers

Description

Native H-Lib containers are first-class data structure types built directly into the PBXB64 compiler. They provide dynamic collections with method-call syntax, automatic memory management, and scope-exit cleanup — no COM objects or external libraries required.

Version: Z65+ (implemented)
Status: AVAILABLE — all 23 families implemented
Lifetime: automatic initialization and automatic .Final on scope exit
Method syntax: q.Push 10, n = q.Count

Container Families

Family | Type prefix | Description
Arr (Array) | LnArr, InArr, WdArr, BtArr, DwArr, QdArr, SnArr, DbArr, CuArr, CxArr, ExArr, SsArr, WsArr | Dynamic array with push, pop, insert, delete, sort, and indexed access.
Stk (Stack) | LnStk, InStk, WdStk, BtStk, DwStk, QdStk, SnStk, DbStk, CuStk, CxStk, ExStk, SsStk, WsStk | LIFO stack with push, pop, and peek operations. Last-in, first-out semantics.
Que (Queue) | LnQue, InQue, WdQue, BtQue, DwQue, QdQue, SnQue, DbQue, CuQue, CxQue, ExQue, SsQue, WsQue | FIFO queue with push, pop, peek, front, and back. First-in, first-out semantics.
Lst (List) | LnLst, InLst, WdLst, BtLst, DwLst, QdLst, SnLst, DbLst, CuLst, CxLst, ExLst, SsLst, WsLst | Doubly-linked list with node traversal, insert before/after, and removal by node.
Str (String Builder) | SsStr, WsStr | Mutable string builder with append, insert, delete, replace, and character-level access.
2D (2D Array) | Ln2D, In2D, Wd2D, Bt2D, Dw2D, Qd2D, Sn2D, Db2D, Cu2D, Cx2D, Ex2D, Ss2D, Ws2D | Two-dimensional dynamic array with rows, columns, and rectangular operations.
Hsh (Hash Table) | LnLnHsh, InInHsh, WdWdHsh, BtBtHsh, DwDwHsh, QdQdHsh, SnSnHsh, DbDbHsh, CuCuHsh, CxCxHsh, ExExHsh, SsSsHsh, WsWsHsh | Key-value store with O(1) hash lookup, insertion, deletion, and enumeration.
Tre (Tree) | LnLnTre, InInTre, WdWdTre, BtBtTre, DwDwTre, QdQdTre, SnSnTre, DbDbTre, CuCuTre, CxCxTre, ExExTre, SsSsTre, WsWsTre | Self-balancing AVL tree with ordered key-value storage, min/max, and range traversal.
DTre (Double Tree) | WsWsDTre | Double-ended tree mapping wide strings to wide strings. Bidirectional key-value tree.
Tri (Trie) | SsSsTri | Prefix tree (trie) mapping ANSI strings to ANSI strings. Fast prefix lookup and auto-complete.
Heap | LNHEAP | Binary min-heap / priority queue. O(log n) push and pop. Smallest value is always returned first.
Deque | LNDEQUE | Double-ended queue. Push and pop from either end in O(1) time.
Set | LNSET | Sorted unique set backed by AVL tree. O(log n) add, remove, and membership test.
Graph | LNGRAPH | Undirected graph with LONG node IDs. Supports adjacency queries and neighbor enumeration.
Multiset | LNMULTISET | Bag of LONG keys with multiplicity counts. Allows duplicate values with count tracking.
Union-Find | LNUNIONFIND | Disjoint-set / union-find structure. Near-constant-time union and find operations.
LRU Cache | LNLRU | Bounded LONG-key/LONG-value cache with least-recently-used eviction policy.
Ring | LNRING | Fixed-capacity circular buffer. Overwrites oldest elements when full.
SkipList | LNSKIPLIST | Probabilistic ordered set with O(log n) average-case operations. Skip-list balanced structure.
B+ Tree | LNBPTREE | Disk-friendly ordered set with high branching factor. Range queries and bulk operations.
Quadtree | LNQUAD | Spatial index for LONG bounding boxes. Efficient 2D range and point queries.
Bloom Filter | LNBLOOM | Probabilistic LONG membership test. No false negatives; tunable false-positive rate.
Safe | LNSAFE | Thread-safe LONG stack wrapper with mutex-protected push and pop.

Type Variants

Typed families use the 13 element types below. Together with the specialized and keyed forms, H-Lib recognizes 136 type keywords. EXTENDED and CURRENCYX remain opaque high-precision values and are not ordinary DOUBLE values.

Suffix | PB Type | Size | Suffix | PB Type | Size
Bt | BYTE | 1 byte | Sn | SINGLE | 4 bytes
In | INTEGER (WORD) | 2 bytes | Db | DOUBLE | 8 bytes
Wd | WORD (DWORD) | 2 bytes | Cu | CURRENCY | 8 bytes
Dw | DWORD | 4 bytes | Cx | CURRENCYX | 16 bytes
Ln | LONG | 4 bytes | Ex | EXTENDED | 10 bytes
Qd | QUAD | 8 bytes | Ss | STRING (ANSI) | pointer-sized
 |  | Ws | WSTRING (Unicode) | pointer-sized

Method Syntax

Containers use dot-separated method call syntax:

LOCAL q AS LnArr
q.New
q.Push 10
q.Push 20
n = q.Count    ' returns 2
v = q.Pop      ' returns 20
q.Final        ' auto-cleanup on scope exit

Properties are accessed without parentheses; methods that return values use function-call syntax. Declaration initializes the variable automatically, and .Final is called automatically when the variable goes out of scope. Explicit lifetime calls remain available.

All families provide Capacity, Trim, and Clone. PB positions in Arr, Lst, Str, 2D, and slices are 1-based. Sequence-family Add/Push operations return the new element count; String Append/AppendLine return the new string length, while Replace returns the replacement count.

Auto-Cleanup

All container types implement automatic cleanup when the declaring scope exits. This works through the same mechanism as PBXB64's existing string cleanup: the compiler emits a call to the container's .Final method at each scope-exit point. No manual memory management is required.

See also

  • Native H-Lib Containers - Methods Reference
  • Native H-Lib Containers - Examples


Overview - PBXB64 Compiler Help

Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

Overview

PBXB64 is a native Windows x64 multi-frontend compiler written in C. Its registered language frontends share the compiler IR, optimizer, x64 backend, object writer, and linker.

Chapter: General Reference

Description

PBXB64 is a native Windows x64 multi-frontend compiler written in C. Its registered language frontends share the compiler IR, optimizer, x64 backend, object writer, and linker.

Language frontends

Frontend | V15 qualification boundary
PowerBASIC-compatible BASIC | Qualified for the registered test surface; this is not a claim of complete PB11 parity.
B64 | Compatibility-qualified and frozen to its documented surface.
C | Partial C17-oriented frontend with known floating-point integration gaps.
x64 Assembly | Qualified standalone and inline assembler surface.
PILOT | Compatibility-qualified PBXB64 dialect, including A, U, S, arithmetic, and V bridges.
FORTH | Partial frontend with 174 source-registered primitives and parser-handled control/definition words.
COBOL | Bounded native subset; not a complete COBOL implementation.
Rust | Qualified for the documented V14-compatible subset.
Logo | Complete V14 object contract; runtime remains separately unqualified.
SPR | All documented routes exist; runtime and bridge qualification remain bounded.

V15 documentation contract

The English and German source trees contain the same 2,775 topic filenames. Each compiled CHM contains both complete trees, with this language as the default. Frontend status statements are derived from live source registration, canonical tests, and current component status. Help text alone is never proof that a behavior is implemented.

Key V15 additions

  • BASIC DLL/export and import-library output, StringX, REGEXPR/REGREPL, TIMEBASE, ROTATE, GUI/printer slices, SAY, COM/OOP, and IDISPINFO coverage.
  • PILOT interactive input, nested calls, beep, arithmetic, and bidirectional numeric/string PB GLOBAL bridges.
  • FORTH file I/O, allocation, floating point, CATCH/THROW, EXECUTE, PB F32/F64 interop, and external bridge families.
  • Source-current overview pages for COBOL, Rust, Logo, SPR, B64, C, and ASM.


PILOT Cookbook: Menu Navigation - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › Overview PBXB64 Compiler Help

PILOT Cookbook: Menu Navigation

A menu loop is a natural fit for PILOT's J:, M:, and *label commands once they are implemented.

Chapter: Overview

Description

A menu loop is a natural fit for PILOT's J:, M:, and *label commands once they are implemented.

Conceptual Program

*menu
T: "1) Start  2) Options  3) Quit"
A: $choice
C: #quit = ($choice = "3")
M: *done
J: *menu
*done
T: "Goodbye!"
E:

Implementation Note

Limitation: Labels and jumps are not yet implemented in native PILOT.

See also

  • Getting Started with PILOT
  • PBXB64 - PILOT Language Reference


PILOT Cookbook: Simple Quiz - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › Overview PBXB64 Compiler Help

PILOT Cookbook: Simple Quiz

This example shows how a future full PILOT implementation could present a multiple-choice quiz. Native PBXB64 currently supports only R:, T:, and E:.

Chapter: Overview

Description

This example shows how a future full PILOT implementation could present a multiple-choice quiz. Native PBXB64 currently supports only R:, T:, and E:.

Conceptual Program

R: Simple quiz demonstration
T: "What is 2 + 2?"
T: "a) 3  b) 4  c) 5"
A: $answer
C: #correct = ($answer = "b")
Y: T: "Correct!"
N: T: "Try again."
E:

Implementation Note

Limitation: Interactive input and conditional jumps are not yet implemented in native PILOT. Use BASIC or C for interactive programs today.

See also

  • Getting Started with PILOT
  • PBXB64 - PILOT Language Reference


PILOT Cookbook: Scoring Loop - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › Overview PBXB64 Compiler Help

PILOT Cookbook: Scoring Loop

This cookbook shows how C: compute commands and a loop could maintain a running score.

Chapter: Overview

Description

This cookbook shows how C: compute commands and a loop could maintain a running score.

Conceptual Program

C: #score = 0
*round
T: "Enter points (0 to finish):"
A: #points
C: #score = #score + #points
C: #done = (#points = 0)
M: *finish
J: *round
*finish
T: "Final score:"
U: *showscore
E:
*showscore
T: #score
J: *back

Implementation Note

Limitation: Compute, input, labels, jumps, subroutines, and number output are not yet implemented in native PILOT.

See also

  • Getting Started with PILOT
  • PBXB64 - PILOT Language Reference


Getting Started with PILOT - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › Overview PBXB64 Compiler Help

Getting Started with PILOT

PILOT is an educational language built into PBXB64. In the current native implementation only R:, T: with a quoted string, and E: are supported.

Chapter: Overview

Description

PILOT is an educational language built into PBXB64. In the current native implementation only R:, T: with a quoted string, and E: are supported.

Hello World

R: Hello world example
T: "Hello, PILOT!"
E:

Command Summary

  • R: remark
  • T: type/output
  • E: end program
  • A:, C:, J:, M:, Y:, N:, U:, S:, *label — documented, not yet implemented

File Extension

Save PILOT source files with the .pil extension.

See also

  • PBXB64 - PILOT Language Reference


PBXB64 - PILOT Language Reference - PBXB64 Compiler Help

Home › Language Frontends › PILOT Frontend › Overview PBXB64 Compiler Help

PBXB64 - PILOT Language Reference

PILOT is an educational programming language supported by PBXB64 via standalone .pil files. The compiler produces native Windows x64 executables from PILOT source code through the unified IR backend.

Chapter: Overview

Description

PILOT is an educational programming language supported by PBXB64 via standalone .pil files. The compiler produces native Windows x64 executables from PILOT source code through the unified IR backend.

File Extension: Save PILOT programs with the .pil extension. Compile with PBXB64 program.pil -o program.exe.

Implemented Commands

Command | Description | Status
R: | Remark (comment). Ignored by the compiler. | Full
T: | Type text. Supports string literals, $variables, and multi-part comma-separated literals. | Full
E: | End program. Returns 0 from the entry point. | Full
C: | Compute / assign. C: $var = "string" or C: #var = number. | Full
A: | Accept a complete line into $var or a signed 64-bit integer into #var. | Full
J: | Jump unconditionally to *label. | Full
M: | Match conditional jump. Jumps to *label if match slot is true. | Full
Y: | Yes guard. Execute next line only if match slot is true. | Full
N: | No guard. Execute next line only if match slot is false. | Full
U: | Call *label as a subroutine. Calls may nest; E: returns to the most recent caller. | Full
S: | Invoke the Windows sound/beep runtime helper. | Full
V: | Bind a PILOT variable to a PowerBASIC GLOBAL in both directions. | Full
*label | Label definition for J:, M:, and U: targets. | Full

Variable Types

Prefix | Type | Example
$ | String variable | $name, $message
# | Number variable (64-bit signed integer) | #count, #age

Match Slot

The match slot is an internal boolean flag used by Y:, N:, and M: commands:

  • After C: #var = value, the match slot is set to true if value is non-zero, false if zero.
  • After C: $var = "string", the match slot is set to true if the string is non-empty, false if empty.
  • After A:, the match slot is true for a non-empty string or non-zero number and false otherwise.

Number Expressions

The C: command for number variables supports:

  • Integer constants: 42, -5, 0
  • Boolean constants: TRUE (1), FALSE (0)
  • Variable references: #other
  • Signed integer arithmetic: +, -, *, /, and %, with multiplicative operators taking precedence
Boundary: Floating point, parentheses, arrays, and general BASIC expressions are outside the documented PILOT arithmetic surface.

Text Expressions

The T: and C: commands for strings support:

  • Quoted string literals: "Hello"
  • String variable references: $var
  • Multi-part comma-separated literals (T: only): T: "Hello", " ", "World"
Limitation: Mixed multi-part text (literals combined with variables) is not yet supported.

PowerBASIC Variable Bridge

V: #LOCAL|pb_global_name|QUAD
V: $LOCAL|pb_global_name|STRING

Reads import the current PB GLOBAL value. Assignments and accepted input export immediately. Multiple PILOT aliases may bind to the same PB global.

Link requirement: Pass the PowerBASIC source defining the named GLOBAL as an additional compiler input. The prefix and bridge type must match.

Entry Point

PILOT programs compile to a pilot_main function returning a 64-bit integer. The E: command emits return 0. If no E: is present, the compiler adds an implicit return at the end.

Testing

The current qualification contains 31 link/run cases plus one code-generation route gate.

← Assembly Reference View Examples → Back to Overview
PBXB64 Compiler Documentation · V15 · Last updated 2026-07-28
For issues and contributions: smart-package.com

Example

T: "Hello from PILOT"
E:


Rust Frontend - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Overview PBXB64 Compiler Help

Rust Frontend

The documented V14-compatible Rust subset is qualified by 40 link/run cases plus an extern/static host-link lane. Covered forms include ranges, unsafe blocks, inferred and uninitialized let, logical operators, fixed arrays, tuple destructuring, structs, tuple/unit/generic structs, impl methods, closures, extern/static symbols, lifetimes, and named or captured-closure thread workers.

Chapter: Overview

Description

The documented V14-compatible Rust subset is qualified by 40 link/run cases plus an extern/static host-link lane. Covered forms include ranges, unsafe blocks, inferred and uninitialized let, logical operators, fixed arrays, tuple destructuring, structs, tuple/unit/generic structs, impl methods, closures, extern/static symbols, lifetimes, and named or captured-closure thread workers.

Boundary

Cargo, traits, macros, borrow checking, full lifetime analysis, dynamic collections, and complete pattern semantics are outside the contract.


ARRAYS - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Data Types PBXB64 Compiler Help

ARRAYS

Category: Rust reference

Chapter: Rust Data Types

Syntax

let values: [i64; 4];

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CLOSURES - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Functions PBXB64 Compiler Help

CLOSURES

Category: Rust reference

Chapter: Rust Functions

Syntax

let add1 = |x: i64| x + 1;
let v = add1(41);

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CONST - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Variables & Constants PBXB64 Compiler Help

CONST

Category: Rust reference

Chapter: Rust Variables & Constants

Syntax

const ANSWER: i64 = 42;
const PI: f64 = 3.14;
const ENABLED: bool = true;

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


CONTROL FLOW - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Overview PBXB64 Compiler Help

CONTROL FLOW

Category: Rust reference

Chapter: Overview

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


ENUMS - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Structs & Enums PBXB64 Compiler Help

ENUMS

Category: Rust reference

Chapter: Rust Structs & Enums

Syntax

enum State {
    Idle,
    Running,
    Done,
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


EXTERN STATIC - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Functions PBXB64 Compiler Help

EXTERN STATIC

Category: Rust reference

Chapter: Rust Functions

Syntax

extern "C" {
    fn host_add(x: i64, y: i64) -> i64;
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FN - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Functions PBXB64 Compiler Help

FN

Category: Rust reference

Chapter: Rust Functions

Syntax

fn name(arg: Type, ...) -> ReturnType {
    return expression;
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FOR RANGES - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Control Flow PBXB64 Compiler Help

FOR RANGES

Category: Rust reference

Chapter: Rust Control Flow

Syntax

for i in 0..5 {
    total += i;
}

for i in 1..=5 {
    total += i;
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


FUNCTIONS - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Overview PBXB64 Compiler Help

FUNCTIONS

Category: Rust reference

Chapter: Overview

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


GENERICS - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Functions PBXB64 Compiler Help

GENERICS

Category: Rust reference

Chapter: Rust Functions

Syntax

fn id<T>(x: T) -> T {
    return x;
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


IF - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Control Flow PBXB64 Compiler Help

IF

Category: Rust reference

Chapter: Rust Control Flow

Syntax

if condition {
    statements;
} else {
    statements;
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


IMPL METHODS - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Functions PBXB64 Compiler Help

IMPL METHODS

Category: Rust reference

Chapter: Rust Functions

Syntax

impl Point {
    fn sum(&self) -> i64 {
        return self.0 + self.1;
    }
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LET - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Variables & Constants PBXB64 Compiler Help

LET

Category: Rust reference

Chapter: Rust Variables & Constants

Syntax

let a: i64 = 42;
let b = 42;
let mut c: i64 = 0;
let d: i64;

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


LIFETIMES - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Data Types PBXB64 Compiler Help

LIFETIMES

Category: Rust reference

Chapter: Rust Data Types

Syntax

fn pick<'a>(x: &'a i64) -> &'a i64 {
    return x;
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


MATCH - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Control Flow PBXB64 Compiler Help

MATCH

Category: Rust reference

Chapter: Rust Control Flow

Syntax

match value {
    0 => { return 10; }
    1 => { return 20; }
    _ => { return 30; }
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


OPERATORS - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Overview PBXB64 Compiler Help

OPERATORS

Category: Rust reference

Chapter: Overview

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


OPERATORS ARITHMETIC - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Overview PBXB64 Compiler Help

OPERATORS ARITHMETIC

Category: Rust reference

Chapter: Overview

Syntax

let a = x + y;
let b = x - y;
let c = x * y;
let d = x / y;
let e = x % y;

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


OPERATORS LOGICAL - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Overview PBXB64 Compiler Help

OPERATORS LOGICAL

Category: Rust reference

Chapter: Overview

Syntax

let both = a && b;
let either = a || b;
let inverse = !a;

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


POINTERS - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Overview PBXB64 Compiler Help

POINTERS

Category: Rust reference

Chapter: Overview

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


RAW POINTERS - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Pointers & Memory PBXB64 Compiler Help

RAW POINTERS

Category: Rust reference

Chapter: Rust Pointers & Memory

Syntax

let p: *mut i64;

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


STRUCTS - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Overview PBXB64 Compiler Help

STRUCTS

Category: Rust reference

Chapter: Overview

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


STRUCTS NAMED - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Structs & Enums PBXB64 Compiler Help

STRUCTS NAMED

Category: Rust reference

Chapter: Rust Structs & Enums

Syntax

struct Point {
    x: i64,
    y: i64,
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


THREAD TASKS - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Functions PBXB64 Compiler Help

THREAD TASKS

Category: Rust reference

Chapter: Rust Functions

Syntax

fn worker(x: i64) -> i64 {
    return x + 1;
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TUPLE STRUCTS - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Structs & Enums PBXB64 Compiler Help

TUPLE STRUCTS

Category: Rust reference

Chapter: Rust Structs & Enums

Syntax

struct Point(i64, i64);

fn main() -> i64 {
    let p = Point(3, 4);
    return p.0 + p.1;
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TUPLES - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Data Types PBXB64 Compiler Help

TUPLES

Category: Rust reference

Chapter: Rust Data Types

Syntax

let p: (i64, i64) = (3, 4);
let x = p.0;
let y = p.1;
let (a, b): (i64, i64) = p;

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


TYPES - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Overview PBXB64 Compiler Help

TYPES

Category: Rust reference

Chapter: Overview

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNIT STRUCTS - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Structs & Enums PBXB64 Compiler Help

UNIT STRUCTS

Category: Rust reference

Chapter: Rust Structs & Enums

Syntax

struct Marker;

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


UNSAFE - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Pointers & Memory PBXB64 Compiler Help

UNSAFE

Category: Rust reference

Chapter: Rust Pointers & Memory

Syntax

unsafe {
    *ptr = 42;
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


VARIABLES - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Overview PBXB64 Compiler Help

VARIABLES

Category: Rust reference

Chapter: Overview

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


WHILE LOOP - PBXB64 Compiler Help

Home › Language Frontends › Rust Frontend › Rust Control Flow PBXB64 Compiler Help

WHILE LOOP

Category: Rust reference

Chapter: Rust Control Flow

Syntax

let mut i: i64 = 0;
while i < 10 {
    i += 1;
}

Description

Category: Rust reference

V15 status

This topic belongs to the documented V14-compatible Rust subset. The 40 link/run cases and extern/static host-link lane define the qualified boundary.

Verification rule

Documentation is not proof of implementation. Use the named frontend validation lanes and live source as the authoritative contract.

Back to the help index


SPR Frontend - PBXB64 Compiler Help

Home › Language Frontends › SPR Frontend › Overview PBXB64 Compiler Help

SPR Frontend

All documented SPR command forms have a runtime route. Qualification includes assembly generation, generated-help linking, isolated direct execution, focused link/run behavior, external-behavior fixtures, and runtime-route auditing.

Chapter: Overview

Description

All documented SPR command forms have a runtime route. Qualification includes assembly generation, generated-help linking, isolated direct execution, focused link/run behavior, external-behavior fixtures, and runtime-route auditing.

SPR variables always use the $$NAME form. VIP.$$NAME|PB_GLOBAL|QUAD and VIP.$$NAME|PB_GLOBAL|STRING create live bidirectional bindings to separately linked PowerBASIC GLOBAL storage.

Boundary

Broader PB datatypes, PB local-variable interoperation, manual interactive-runtime coverage, and wider host coverage remain open.

Back to top


About This Help - PBXB64 Compiler Help

Home › Welcome & Getting Started › About This Help PBXB64 Compiler Help

About This Help

Information about the PBXB64 help file, its structure, and the origin of its contents.

Chapter: About This Help

Description

This help file is the main reference for PBXB64. It is organized by topic and language frontend so you can find commands, data types, and language features by what you want to do, not only by name.

How the help file is built

The help content is maintained as a structured dataset. From this dataset the HTML pages, table of contents, keyword index, and the final compiled CHM file are generated automatically. This guarantees that every language version uses the same chapter structure and that updates are applied consistently.

AI-generated content

Parts of the text and several diagrams in this help file were created or refined with artificial intelligence (ChatGPT for text, DALL-E / image-generation tools for diagrams). All generated content has been reviewed for technical accuracy, but the final responsibility for correctness lies with the PBXB64 documentation maintainers.

How to use this help file

  • Use the Contents tab to browse topics by category.
  • Use the Index tab to jump directly to a command or keyword.
  • Use the Search tab to find text across all pages.
  • Each command page shows syntax, description, verified examples, and related topics.

Feedback and updates

If you find an error or a missing topic, please report it through the PBXB64 issue tracker. Changes are always made in the underlying dataset and then rebuilt; hand-editing the compiled CHM is not supported.

The help window has Contents, Index, Search and Favorites tabs.

The help window has Contents, Index, Search and Favorites tabs.

High-level architecture of PBXB64 components visible to users.

High-level architecture of PBXB64 components visible to users.

PBXB64 feature overview poster for quick reference.

PBXB64 feature overview poster for quick reference.

Back to top


Wide Integer Types - PBXB64 Compiler Help

Home › Data Types › Wide Integer Types PBXB64 Compiler Help

Wide Integer Types

PBXB64 adds fixed-width wide integer types beyond the standard 8/16/32/64-bit numeric types. These types are implemented with inline native x64 code for arithmetic, bitwise, and comparison operations.

Chapter: Wide Integer Types | Certification: [CERTIFIED TESTED]

Description

PBXB64 adds fixed-width wide integer types beyond the standard 8/16/32/64-bit numeric types. These types are implemented with inline native x64 code for arithmetic, bitwise, and comparison operations.

Kind: Data Type Family | Category: Numeric Types

PBXB64 Status: AVAILABLE

PBXB64 Certification: [CERTIFIED TESTED]

Supported Types

Type | Alias | Size | Signed | Range
INT128 | I128 | 16 bytes | Yes | -2127 .. 2127-1
UINT128 | U128 | 16 bytes | No | 0 .. 2128-1
INT256 | I256 | 32 bytes | Yes | -2255 .. 2255-1
UINT256 | U256 | 32 bytes | No | 0 .. 2256-1
INT512 | I512 | 64 bytes | Yes | -2511 .. 2511-1
UINT512 | U512 | 64 bytes | No | 0 .. 2512-1

Declaration

LOCAL a AS INT128
LOCAL b AS U128
LOCAL c AS INT256
LOCAL d AS UINT512

Operations

All operations are inline native x64 code with no runtime library calls:

  • Arithmetic: ADD, SUB, MUL, DIV, REM
  • Bitwise: AND, OR, XOR, NOT, SHL, SHR, SAR
  • Comparison: EQ, NE, LT, LE, GT, GE

See also

  • INT128 / I128 - 128-bit Signed Integer
  • UINT128 / U128 - 128-bit Unsigned Integer
  • INT256 / I256 - 256-bit Signed Integer
  • UINT256 / U256 - 256-bit Unsigned Integer
  • INT512 / I512 - 512-bit Signed Integer
  • UINT512 / U512 - 512-bit Unsigned Integer
  • PBXB64 Compiler Help